Краткие сведения о спецификациях семантической паутины
URI (IRI)
Каждая сущность (ресурс), описываемая в онтологии, должна иметь уникальный идентификатор. Для этого используются URI или IRI. Отличие последнего заключается в возможности использования символов национальных алфавитов при указании имени ресурса за счет поддержки Unicode.
В общем случае структура URI (IRI) выглядит следующим образом:
URI = [схема ":"] ["//"] иерархическая-часть ["?" запрос] ["#" фрагмент]
Схема указывает на используемый сетевой протокол (http, ftp, file, mailto) или раздел (пространство имен) онтологии (xml, rdf, rdfs, owl).
Иерархическая часть содержит путь к ресурсу в виде сетевого адреса (www.gosuslugi.ru, www.co-ode.org/ontologies/pizza/pizza.owl, 127.0.1.01:80) или идентификатор ресурса в заданном пространстве имен (C:/Windows/explorer.exe, Vasya@mail.ru, Class, Thing). При онтологическом представлении знаний обычно указывает на расположения файла с онтологией (www.co-ode.org/ontologies/pizza/pizza.owl) или предопределенное ключевое слово используемой онтологической спецификации (Class, Thing).
Запрос содержит данные, организованные в неиерархической форме, которые, вместе с данными в иерархической части, служат для идентификации ресурса. В онтологиях обычно не используется.
Фрагмент позволяет осуществить косвенную идентификацию ресурса. Совместно со схемой и иерархической частью представляет полный идентификатор сущности (например, понятия или его экземпляра в конкретной онтологии). Пример полного идентификатора понятия (класса) Food в прикладной онтологии pizza.owl
http://www.co-ode.org/ontologies/pizza/pizza.owl#Food
В семантической паутине используются четыре стандартных пространства имен.
Таблица 4
Стандартные пространства имен
Спецификация | Обозначение пространства имен | URI |
XML | xsd | http://www.w3.org/2001/XMLSchema# |
RDF | rdf | http://www.w3.org/1999/02/22-rdf-syntax-ns# |
RDFS | rdfs | http://www. w3. org/2000/01/rdf-schema# |
OWL | owl | http://www. w3. org/2002/07/owl# |
Использование стандартного или определенного разработчиком онтологии пространства имен позволяет сократить описание идентификаторов сущности. В частности, в онтологии вместо указания полного идентификатора концептуального понятия Class спецификации OWL «http://www.w3. org/2002/07/owl#Class» достаточно указать «own:Class».
RDF, RDFS и OWL
RDF и OWL – языки представления информации (знаний), которые могут использоваться для описания онтологий как в семантической паутине, так и в различных прикладных информационных системах. RDFS является надстройкой над RDF и определяет его базовые конструкции (ресурс, класс, подкласс, тип данных, домен и т. п.). Если проводить аналогию с базами данных, то RDFS позволяет задать структуру БД, а RDF наполнить ее содержимым. OWL полностью включает в себя RDF и расширяет его возможности. В прикладных OWL-онтологиях значительная часть описания выполнена с помощью конструкций RDF и RDFS.
Как было отмечено выше, в качестве синтаксических конструкций для описания RDF- и OWL-онтологий используются различные способы. Наиболее распространенным является XML-описание в связи с широким распространением и поддержкой XML в большинстве современных языков программирования. В то же время оно является наиболее громоздким и трудночитаемым для человека. Более компактным и читабельным является формат JSON-LD. JSON стремительно набирает популярность и уже сейчас составляет серьезную конкуренцию XML. Другие способы описаний онтологий (Turtle, N-Triples, N-Quads и TriG), несмотря на компактность и читабельность, значительно проигрывают в популярности и поддержке со стороны разработчиков программного обеспечения.
Базовым элементом языка RDF является тройка (триплет, аксиома), которая состоит из субъекта, предиката и объекта.
Рис. 9. RDF-тройка «субъект – предикат – объект»
Предикат (свойство) представляет собой бинарное отношение между субъектом и объектом. В зависимости от контекста одна и та же сущность онтологии может выступать в любом из перечисленных качеств. Т.е. в одной тройке сущность может быть субъектом, в другой – предикатом, а в третьей – объектом.
Первые два элемента RDF-тройки (субъект и предикат) обязательно идентифицируются при помощи URI. Объект может быть как сущностью, идентифицируемой при помощи URI, так и RDF-литералом (строкой, числом, датой и т. п.).
Примеры определения RDF-троек для онтологии с пространством имен learning (нотация Turtle):
· определение класса:
learning:человек rdf:type rdfs:Class ;
· определение подкласса:
learning:студент rdfs:subClassOf learning:человек ;
· определение свойств:
learning:имя rdf:type owl:DatatypeProperty ,
learning:фамилия rdf:type owl:DatatypeProperty ;
· создание экземпляра подкласса (индивида):
learning:студент1 rdf:type learning:студент ;
· связывание свойств с индивидами и указание их значений:
learning:студент1 learning:имя "Вася" ;
learning:фамилия "Иванов" .
В последнем примере использовано объединение RDF-троек для случая совпадения субъектов.
Несмотря на очевидные аналогии между RDF и объектно-ориентированным программированием (ООП), между ними имеется одно принципиальное различие. В ООП свойство (атрибут) определяется внутри класса и является его неотъемлемой составляющей. В RDF свойства определяются независимо от классов и могут связываться с ними с помощью RDF-троек в произвольном, но не лишенном смысла порядке. Так, одно и то же свойство («Возраст») может быть связано с различными классами или их экземплярами («Человек», «Автомобиль», «Семья»). Более того, экземпляры одного и того же класса могут обладать разными наборами свойств. Это предоставляет более гибкие возможности при определении классов по сравнению с ООП, но при этом может привести к «размыванию» самого понятия «класс».
В RDF/RDFS определены базовые классы, которые при создании прикладной онтологии выступают в качестве фундамента для определения классов и экземпляров предметной области. При описании RDF-троек базовые классы указываются в качестве объекта, т.е. в третьей позиции. В табл. 5 приводится список классов RDF/RDFS (http://www.w3.org/TR/rdf-schema).
Таблица 5
Классы RDF/RDFS
Класс | Описание |
rdfs:Resource | Класс-ресурс, включает «всё» |
rdfs:Literal | Класс литеральных значений (например, текстовых строк или чисел) |
rdf:langString | Класс строковых литералов, интерпретация которых зависит от выбранного языка или системы кодирования |
rdf:HTML | Класс HTML-литералов |
rdf:XMLLiteral | Класс XML-литералов |
Окончание табл. 5
Класс | Описание |
rdfs:Class | Класс классов |
rdf:Property | Класс RDF-свойств |
rdfs:Datatype | Класс типов данных RDF |
rdf:Statement | Класс утверждений RDF |
rdf:Bag | Класс контейнеров с неупорядоченными элементами |
rdf:Seq | Класс контейнеров с упорядоченными элементами |
rdf:Alt | Класс контейнеров с элементами-альтернативами |
rdfs:Container | Класс RDF-контейнеров |
rdfs:ContainerMembership | Класс свойств «членства» в контейнерах: rdf:_1, rdf:_2, ..., все они являются подсвойствами свойства rdfs:member |
rdf:List | Класс RDF-списков |
В том же документе определены базовые свойства, которые выступают в качестве предикатов RDF-троек (табл. 6).
Таблица 6
Свойства RDF/RDFS
Свойство | Описание |
rdf:type | Субъект является экземпляром класса |
rdfs:subClassOf | Субъект является подклассом класса |
rdfs:subPropertyOf | Субъект является подсвойством свойства |
rdfs:domain | Домен свойства субъекта |
rdfs:range | Диапазон свойства субъекта |
rdfs:label | Человекочитаемое название субъекта |
rdfs:comment | Текстовое описание ресурса |
rdfs:member | Член ресурса субъекта |
rdf:first | Первый элемент списка |
rdf:rest | Оставшийся за первым элементом «хвост» списка |
rdfs:seeAlso | Дополнительная информация о субъекте |
rdfs:isDefinedBy | Определение ресурса субъекта |
rdf:value | Свойство, используемое для структурированных значений |
rdf:subject | Субъект RDF-утверждения |
rdf:predicate | Предикат RDF-утверждения |
rdf:object | Объект RDF-утверждения |
OWL является дальнейшим развитием RDF/RDFS. Спецификация OWL определяет абсолютно новый синтаксис записи онтологий – функционально-ориентированный. При этом остается возможность записи онтологий в RDF-стиле. На рис. 10 приведены связи и взаимозаменяемость (двунаправленной стрелкой) между классами OWL и RDF/RDFS (http://www.w3.org/TR/owl2-rdf-based-semantics).
L t1UKDXHTtVBSKC5JzEtJzMnPS7VVqkwtVrK34+UCAAAA//8DAFBLAwQUAAYACAAAACEAYidITsQA AADcAAAADwAAAGRycy9kb3ducmV2LnhtbESPzW7CMBCE70i8g7VIvYFTDginGIQqqNoL4qcPsI23 SUS8jmyTpG9fIyFxHM3MN5rVZrCN6MiH2rGG11kGgrhwpuZSw/dlP12CCBHZYOOYNPxRgM16PFph blzPJ+rOsRQJwiFHDVWMbS5lKCqyGGauJU7er/MWY5K+lMZjn+C2kfMsW0iLNaeFClt6r6i4nm9W w4/36qB2qjfHbXbdL5z8mH91Wr9Mhu0biEhDfIYf7U+jYakU3M+kIyDX/wAAAP//AwBQSwECLQAU AAYACAAAACEA8PeKu/0AAADiAQAAEwAAAAAAAAAAAAAAAAAAAAAAW0NvbnRlbnRfVHlwZXNdLnht bFBLAQItABQABgAIAAAAIQAx3V9h0gAAAI8BAAALAAAAAAAAAAAAAAAAAC4BAABfcmVscy8ucmVs c1BLAQItABQABgAIAAAAIQAzLwWeQQAAADkAAAAQAAAAAAAAAAAAAAAAACkCAABkcnMvc2hhcGV4 bWwueG1sUEsBAi0AFAAGAAgAAAAhAGInSE7EAAAA3AAAAA8AAAAAAAAAAAAAAAAAmAIAAGRycy9k b3ducmV2LnhtbFBLBQYAAAAABAAEAPUAAACJAwAAAAA= " fillcolor="white [3201]" strokecolor="black [3200]" strokeweight="1pt">
rdfs : Literal |
owl : Thing |
owl : Ontology |
rdfs : Resource |
owl : ObjectProperty |
owl : DataTypeProperty |
owl : OntologyProperty |
owl : AnnotationProperty |
owl : Datatype |
rdfs : Property |
rdfs : Class |
owl : Class |
Рис. 10. Часть иерархии OWL в RDF-ориентированной семантике
Совокупность RDF-троек позволяет описать онтологию для конкретной предметной области. Ее можно визуализировать в виде ориентированного RDF-графа, если субъекты и объекты отобразить в виде узлов, а предикаты – в виде дуг. На рис. 11 представлен фрагмент такого RDF-графа для обучающей онтологии http://www.owl-ontologies.com/travel.owl.
Рис. 11. RDF-граф
Дата добавления: 2017-09-19; просмотров: 614;