Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие ЛР по ИИС.docx
Скачиваний:
15
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆

2.2. Краткие сведения о спецификациях семантической паутины

1. 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».

2. 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