VIII Международная конференция по электронным публикациям "EL-Pub2003"

8-10 октября 2003 г., г. Новосибирск, Академгородок

Semantic Web - будущее World Wide Web

Бархатов А.В.
Красноярский государственный университет, Интернет Центр, Красноярск

Изначально World Wide Web был создан для использования его человеком. Данные в Web, разумеется, читаются и передаются с помощью ЭВМ, однако машина не может их осмыслить, понять и делать выводы, как это может делать человек. Объем же данных в Web настолько велик, что обработать все данные вручную человек не в состоянии. Поэтому огромное количество информации либо не попадет в поле зрения людей, либо на её поиск и обработку уходит много времени.

Например, чтобы найти все адреса и телефоны ректоров вузов вашего города, или сорта вин, продаваемые в вашем районе, или фотографии всех мест, которые вы увидите в свой следующий отпуск, когда отправитесь в путешествие на автомобиле за тысячи километров от вашего дома, вам придется использовать существующие поисковые системы, которые непосредственно не предназначены для формирования таких запросов.

Текущая структура Web не позволяет разработать эффективные автоматизированные сервисы, которые могли бы решать задачи, схожие с приведёнными выше, также качественно, как и люди. Решение, предлагаемое World Wide Web Consortium (W3C), опирается на использование метаданных для описания информации, размещаемой в Web. Метаданные - это данные о данных; или, другими словами, данные, которые некоторым унифицированным образом описывают другие данные.

Новая концепция Web, которая сейчас активно развивается W3C и web-сообществом, была названа Semantic Web. Само это название, уже говорит о близости данной концепции к различным теориям представления знаний, и, в некотором смысле, Semantic Web - это децентрализованный вариант реализации базы знаний. По заявлению самого W3C, новая технология позволит более просто и качественно решать, в частности, такие задачи, как построение веб-порталов, построение мультимедийных коллекций, корпоративное управление веб-сайтами, проектирование документации, реализация интеллектуальных агентов и сервисов и проч.

Также как основа WWW - это такие протоколы и языки, как HTTP, HTML, CSS и некоторые другие, основа Semantic Web - это семейство языков Resource Description Framework (RDF), RDF Schema (RDFS) и Web Ontology Language OWL.

Базовым языком Semantic Web является язык RDF, языки же RDFS и OWL являются его расширением и дополнением, что, однако, никак не умаляет их значимости. Язык RDF является стандартом для создания таких метаданных, которые могли бы быть эффективно обработаны на ЭВМ различными приложениями.

Язык RDF - это совокупность двух концепций: модели описания метаданных и синтаксиса, позволяющего представлять конкретные метаданные в конкретном цифровом виде для дальнейшего хранения, передачи и обработки. Модель описания метаданных в RDF очень проста - RDF описывает отношения между ресурсами в виде утверждений, каждое из которых состоит из трёх элементов: субъект (subject), отношение (predicate или property) и объект (object). Например, утверждение, что ресурс http://www.example.ru/index.html имеет название "Главная страница сайта" в модели RDF описывается тройкой: http://www.example.ru/index.html, title, "Главная страница сайта". Субъект - это сам описываемый ресурс; отношение - это тот аспект ресурса, который описывается (другими словами, свойство ресурса); объект - это же конкретное значение отношения (значение свойства ресурса). Причем объект - это либо другой ресурс, либо литерал, как в приведенном выше примере.

Все ресурсы и отношения (свойства) в RDF идентифицироваться с помощью URI. Отличие URI от URL в том, что URI не указывает то, как получить ресурс, а только идентифицирует его. Это позволяет описывать с помощью RDF ресурсы, которые не могут быть получены через Интернет (например, личность, автомобиль, город и проч.). Например, утверждение, что В.Васильев является автором ресурса http://www.example.ru/ в терминах RDF в нотации N-Triples может быть выражено следующим образом:

     <http://www.example.ru/> <http://www.example.ru/terms/creator> <http://www.example.ru/persons/vasilyev>.
     <http://www.example.ru/persons/vasilyev> <http://www.example.ru/terms/name> "В.Васильев".

Исходное утверждение в модели RDF разбивается на два утверждения: (1) http://www.example.ru/ имеет автора с идентификатором http://www.example.ru/persons/vasilyev и (2) его имя "В.Васильев". RDF позволяет выразить исходное утверждение в одном RDF-утверждении:

     <http://www.example.ru/> <http://www.example.ru/terms/creator> "В.Васильев".

Однако в данном случае получаем, что автором ресурса является литерал (в данном случае последовательность символов "В.Васильев"), в то время как автор - это личность, а не набор символов; и автор, в свою очередь, также может иметь свое описание. Поэтому в данном случае рекомендуется использовать именно первый вариант с двумя RDF-утверждениями.

Использованная нотация N-Triples не является стандартной формой записи RDF-описаний. Рекомендованный синтаксис для записи RDF является RDF/XML. Вот запись всё того же утверждения в RDF/XML:

<?xml version="1.0" encoding="windows-1251"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xml:base="http://example.ru/terms/">
	<rdf:Description rdf:about="http://www.example.ru/">
	<creator>
		<rdf:Description rdf:about="http://www.example.ru/persons/vasilyev">
		<name>В.Васильев</name>
		</rdf:Description>
	</creator>
	</rdf:Description>
</rdf:RDF>

Как можно видеть, RDF/XML не очень компактен, но он и не был создан для чтения его людьми. К тому же, в RDF/XML есть ряд правил, которые позволяют во многих случаях значительно сократить запись RDF-описаний.

Набор свойств (словарь) для описания своих ресурсов авторы выбирают на свое усмотрение, но для идентификации того или иного набора свойств следует использовать URI и пространства имён в XML. В качестве примера пространств имён можно привести пространство имён терминов самого RDF: http://www.w3.org/1999/02/22-rdf-syntax-ns#, а также пространство имён терминов известного стандарта Dublin Core на описание документов: http://purl.org/dc/elements/1.1/. К примеру, URI свойства Creator из Dublin Core будет http://purl.org/dc/elements/1.1/creator.

Предполагается, что со временем web-сообществом будут формироваться различные стандарты на описание различных типов ресурсов, и хаос в именовании свойств для одинаковых классов ресурсов со временем будет сокращаться. Однако в реальности всё равно будут существовать различные альтернативные словари, в частности, более общие (такие как Dublin Core) и, наоборот, более специфичные схемы (например, GEM, The Gateway to Educational Materials). Поэтому, если, к примеру, некоторое приложение умеет работать с терминами Dublin Core, но ничего не "знает" о терминах GEM, то оно и не сможет эффективно обрабатывать метаданные с терминами GEM. Для решения этой, а также ряда других проблем и задач, разрабатываются языки RDFS и OWL.

Языки RDFS и OWL позволяют описывать различные словари RDF-терминов, а также отношения различных терминов из различных словарей. Фактически, RDFS и OWL - это набор RDF-терминов, которые позволяют описывать такие отношения.

Например, с помощью RDFS и OWL можно описать такие отношения: "ресурс http://www.example.ru/persons/vasilyev относится к классу http://www.example.ru/terms/person", "свойство http://www.example.ru/terms/creator является уточнением свойства http://purl.org/dc/elements/1.1/creator" и т.д. Для описания таких утверждений в RDFS и OWL есть такие свойства, как equivalentProperty, domain, type, inverseOf, subClassOf, comment и проч. RDFS и OWL называют языками для описания онтологий, т.к. они описывают различные сущности и отношения между ними.

Языки RDF, RDFS и OWL позволяют описывать семантику различных предметных областей в таком виде, который может использоваться различными приложениями для дальнейшей обработки и, в частности, для реализации логического вывода и проверки (доказательства) утверждений, которые явно не указаны в качестве исходных данных для приложения. Например, приложение может автоматически проверить, относится ресурс к определенному классу ресурсов или нет, эквивалентны два свойства или нет, сколько элементов содержит определенный контейнер ресурсов и проч. В частности, автоматически может быть выведен тезис о том, что "Сократ - смертен" из тезисов: "Сократ - человек" и "Человек - смертен".

В перспективе, различные выводы и доказательства предполагается делать на основе данных всего Web. Когда это произойдет, тогда Web можно будет назвать полноценным Semantic Web. В ближайшей перспективе Semantic Web позволит увеличить возможности Web в плане коммуникации и автоматизировать многие процессы, которые сейчас делаются вручную или тяжело автоматизируются. По утверждению самого W3C, идея Semantic Web - это "идея размещения данных в Web таким образом, чтобы они могли быть не только отображены, но и автоматически интегрированы, использованы повторно и обработаны различными приложениями".

Подробная информация о Semantic Web имеется на сайте W3C по адресам http://www.w3.org/2001/sw/ и http://www.w3.org/RDF/.


Ваши комментарии
Обратная связь
[ICT SBRAS]
[Головная страница]
[Конференции]

© 1996-2000, Институт вычислительных технологий СО РАН, Новосибирск
© 1996-2000, Сибирское отделение Российской академии наук, Новосибирск