Россия, г. Москва |
Языки описания онтологий. Основные синтаксические структуры: классы, отношения, аксиомы
Реификация (материализация, овеществление утверждений)
В случае, когда необходимо сделать утверждение об утверждении RDF, прибегают к так называемой реификации, или материализации утверждений. В этом случае само утверждение (или высказывание) выступает в роли объекта.
Для этого используется специальный класс rdf:Statement и его свойства rdf:subject, rdf:predicate и rdf:object. Каждое RDF-утверждение является экземпляром класса rdf:Statement. По свойствам (и их значениям) можно однозначно идентифицировать само утверждение. Обладая этой информацией, возможно фиксировать утверждения об утверждениях.
Пример. В базе данных электронного магазина хранится информация о том, что некий товар ( Т ) имеет цену х. Данное утверждение (1) (товар Т имеет цену х ) может быть выражено Ивановым Иваном Ивановичем на языке RDF. Если далее потребуется высказать утверждение (2) о том, кто именно сделал утверждение (1), можно использовать механизм реификации (рис. 6.3).
Товар Т # rdf:Property имеет цену # Цена х # --------------------------------------------- rdf:Statement Утверждение 1 * rdf:subject Т * rdf:predicate имеет_цену * rdf:object х * rdf:Statement Утверждение 1 + rdf:Property сделано + Человек Иванов Иван Иванович +
Отметим один важный момент: фиксация только тех утверждений, которые помечены " * ", не означает, что товар Т действительно имеет цену х. Даже вместе с утверждениями, помеченными " + ", вся информация, которую мы узнаём - это: "некто Иванов Иван Иванович сделал утверждение о товаре Т, что он имеет цену х ". Но не более того! Значение х цены товара Т фиксируется тройкой строк, помеченных " # ".
Понятно, что новое утверждение (высказывание об Утверждении 1) также может быть подвергнуто реификации, поскольку синтаксически не отличается от Утверждения 1 (оно также является экземпляром класса rdf:Statement ).
Далее приводится полный список классов и свойств RDF/RDFS.
Возможности и ограничения языка RDF (RDF Schema)
Сам по себе RDF не является стандартом метаданных, как, например, Dublin Core, FOAF, vCard. Все, что он "умеет", - это фиксировать утверждения о ресурсах, их свойствах и значениях этих свойств.
Важные свойства языка:
- обобщенный способ работы с метаданными;
- ориентация на программное обеспечение в качестве конечного потребителя информации;
- возможность осуществлять автоматическую обработку Web-ресурсов:
- поиск;
- каталогизацию;
- генерацию иерархических карт сайтов.
Недостатки RDF
Открытость и расширяемость RDF ведет к тому, что "кто угодно (т.е. любой пользователь RDF) может сказать что угодно (т.е. фиксировать произвольное утверждение) о чем угодно (т.е. о любом ресурсе)", используя RDF. RDF не запрещает делать бессмысленных утверждений или утверждений, не согласующихся с другими. Следовательно, нет никакой гарантии целостности и непротиворечивости RDF-описаний. Вся ответственность за проверку ложится на получателей (конечных пользователей) метаданных, т.е. на разработчиков приложений, обрабатывающих RDF-данные.
Способы представления RDF-описаний
Ниже приводится пример двух способов представления RDF графов: в форме XML-документа (часто более удобной для автоматической обработки) и в форме последовательностей троек - так называемый N Triple или N3 синтаксис (удобный для восприятия человеком).
XML-синтаксис
<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:exterms="http://www.example.org/terms/"> <rdf:Description rdf:about="http://www.example.org/index.html"> <exterms:creation-date>August 16, 1999</exterms:creation-date> </rdf:Description> <rdf:Description rdf:about="http://www.example.org/index.html"> <dc:language>en</dc:language> </rdf:Description> </rdf:RDF>
N3-синтаксис (удобный для чтения человеком и расширяющий исходную модель данных RDF)
<ex:index.html> <dc:creator> exstaff:85740 . <ex:index.html> <exterms:creation-date> "August 16, 1999" . <ex:index.html> <dc:language> "en".
На этих примерах можно заметить "тяжеловесность" XML-синтаксиса RDF по сравнению с N3-синтаксисом. Но он более удобен для сериализации RDF-графов.
Из вышесказанного о RDF и метаданных можно сделать вывод, что RDF имеет довольно слабые (по объему) выразительные средства и не основан на каком-либо логическом формализме. Это язык описания метаданных, причем метаданных в широком смысле слова: имеющих произвольную структуру и смысл. Пожалуй, единственный принцип, которому следует RDF, это основной лозунг Web. RDF - универсальный инструмент и поэтому требует настройки для решения конкретных специализированных задач. Способ такой "настройки" состоит в расширении RDF при помощи словарей. Перейдем к рассмотрению одного из расширений RDF для области проектирования и представления онтологий.