В чем разница между RDF и OWL? [закрыто]

191

Я пытаюсь понять концепцию семантической паутины. Мне трудно понять, в чем именно разница между RDF и OWL. Является ли OWL расширением RDF или эти две технологии совершенно разные?

user32262
источник
Я лично нашел эту слайд-колоду довольно полезной и понятной: slideshare.net/rlovinger/rdf-and-owl
dgorissen

Ответы:

272

Семантическая сеть состоит из нескольких слоев. Это краткое изложение тех, которые, я думаю, вас интересуют.

Обновление : обратите внимание, что RDFS используется для определения структуры данных, а не OWL. OWL описывает семантические отношения, о которых не суетится нормальное программирование, такое как структура C, и ближе к исследованию ИИ и теории множеств.

Тройки и URI

Subject - Predicate - Object

Они описывают один факт. Обычно URI используются для субъекта и предиката. Объект является либо другим URI, либо литералом, таким как число или строка. Литералы могут иметь тип (который также является URI), и они также могут иметь язык. Да, это означает, что тройки могут содержать до 5 бит данных!

Например, тройка может описать тот факт, что Чарльз является отцом Гарри.

<http://example.com/person/harry> <http://familyontology.net/1.0#hasFather> <http://example.com/person/charles> .

Тройки - это нормализация базы данных, доведенная до логического предела. У них есть то преимущество, что вы можете загружать тройки из многих источников в одну базу данных без переконфигурации.

RDF и RDFS

Следующий уровень - RDF - Структура описания ресурсов. RDF определяет некоторую дополнительную структуру для троек. Самая важная вещь, которую определяет RDF - это предикат с именем "rdf: type". Это используется, чтобы сказать, что вещи имеют определенные типы. Каждый использует rdf: type, что делает его очень полезным.

RDFS (RDF Schema) определяет некоторые классы, которые представляют концепцию субъектов, объектов, предикатов и т. Д. Это означает, что вы можете начать делать утверждения о классах вещей и типах отношений. На самом простом уровне вы можете утверждать, что http://familyontology.net/1.0#hasFather - это отношения между человеком и человеком. Это также позволяет вам описать в удобочитаемом тексте значение отношения или класса. Это схема. Он рассказывает вам законное использование различных классов и отношений. Он также используется для указания того, что класс или свойство является подтипом более общего типа. Например, «HumanParent» является подклассом «Person». «Любит» - это подкласс «Знает».

RDF Сериализация

RDF может быть экспортирован в несколько форматов файлов. Наиболее распространенным является RDF + XML, но в этом есть некоторые недостатки.

N3 - это не-XML формат, который легче читать, и есть некоторые подмножества (Turtle и N-Triples), которые являются более строгими.

Важно знать, что RDF - это способ работы с тройками, а НЕ форматами файлов.

XSD

XSD - это пространство имен, в основном используемое для описания типов свойств, таких как даты, целые числа и так далее. Это обычно видно в данных RDF, идентифицирующих конкретный тип литерала. Он также используется в XML-схемах, представляющих собой немного другой котелок с рыбой.

СОВА

OWL добавляет семантику в схему. Это позволяет вам указать гораздо больше о свойствах и классах. Это также выражается в тройках. Например, это может указывать, что «Если A isMarriedTo B», то это подразумевает «B isMarriedTo A». Или, если « C isAncestorOf E » и « D isAncestorOf E », то « C isAncestorOf E» ". Еще одна полезная вещь, которую добавляет сова, - это возможность сказать, что две вещи одинаковы, это очень полезно для объединения данных, выраженных в разных схемах. Вы можете сказать, что отношение" sired "в одной схеме - это сова: sameAs" породил " какая-то другая схема. Вы также можете использовать ее, чтобы сказать, что две вещи одинаковы, например, «Элвис Пресли» в Википедии - это то же самое, что и на BBC. (это «Связанные данные»).

Вы также можете использовать OWL для вывода неявных фактов, таких как « C isAncestorOf E ».

Кристофер Гаттеридж
источник
21
Вот изображение слоев семантической паутины: w3.org/2001/12/semweb-fin/swlevels.png Просто для справки.
Тимо Весткэмпер
8
Одна часть этого, которая все еще неясна для меня, состоит в том, что, кажется, есть некоторое совпадение между тем, что RDFS и OWL могут выразить. Например, сова: класс может выглядеть очень похоже на rdfs: класс. (Например, сущность типа owl: Class часто является предметом нескольких предикатов RDFS, таких как rdfs: comment и rdfs: subclassOf.) Я пытаюсь понять, как OWL является слоем поверх RDFS, потому что когда дело доходит до определение классов, это больше похоже на способ обогатить то, что вы могли бы сделать с RDFS.
Ян Гриффитс
В зависимости от используемого вами профиля OWL / OWL-2 у вас есть «дополнительная» возможность пополнить базу знаний аксиомами DL (например, ограничения свойств, несвязность и многое другое).
Жубарб
4
@IanGriffiths: фактически в соответствии с семантикой OWL2, owl: Class и rdfs: Class (а также несколько более удивительных пар) являются эквивалентными: answers.semanticweb.com/questions/30954/…
Владимир Алексиев
... OWL, RDFS, XSD ... являются дополнительными языками ... каждый играет роль в описании вашего домена, и все присоединяются, чтобы обогатить его ...
Sergio
82

Коротко:

  • RDF определяет, как писать вещи
  • OWL определяет что писать

Как писал предыдущий автор, RDF - это спецификация, которая говорит вам, как определять тройки.

Проблема в том, что RDF позволяет вам определять все, поэтому вы можете составить объявление следующим образом:

| subject | predicate | object |
|---------|-----------|--------|
| Alex    | Eats      | Apples |
| Apples  | Eats      | Apples |
| Apples  | Apples    | Apples |

Эти тройки образуют действительные документы RDF.

Но семантически вы понимаете, что эти утверждения неверны, и RDF не может помочь вам проверить, что вы написали.

Это не действительная онтология.

Спецификация OWL точно определяет, что вы можете написать с помощью RDF, чтобы иметь действительную онтологию.

Онтологии могут иметь несколько свойств.

Вот почему OWL (ver 1) определяет несколько версий, таких как OWL DL, OWL Lite, OWL Full.

alexkr
источник
28
Но обратите внимание, что OWL не будет ограничивать то, что вы можете поместить в свое хранилище RDF - информация о схеме OWL в основном используется для вывода, а не для принудительного применения ограничений.
ДНК
32

RDF, RDFS и OWL являются средствами выражения все более сложной информации или знаний. Все они могут быть сериализованы в синтаксисе RDF / XML (или в любом другом синтаксисе сериализации RDF, например, в Turtle или N3).

Эти технологии связаны между собой и должны быть совместимы, но они имеют различное происхождение, поэтому, возможно, поэтому связь между ними сложна для понимания. Выбор того или другого зависит от того, насколько сложна ситуация, которую вы моделируете.

Резюме выразительности

RDF : простое представление, сфокусированное на экземплярах и отображении их типов ( rdf:type). Можно определить пользовательские свойства для связи данных и создания троек. Данные RDF запрашиваются с помощью SPARQL. Пример RDF, сериализованного в Turtle:

@prefix : <http://www.example.org/> .
:john    rdf:type           :Man .
:john    :livesIn  "New-York" .
:livesIn    rdf:type    rdf:Property .

RDFS: некоторые ситуации нелегко моделируются одним RDF, иногда интересно представить более сложные отношения, например, такие как подклассы ( тип типа ). RDFS предоставляет специальные средства для представления таких случаев, с конструктами нравятся rdfs:subClassOf, rdfs:rangeили rdfs:domain. В идеале, рассудитель может понимать семантику RDFS и расширять число троек на основе отношений: например, если у вас есть тройки, John a Manа Man rdfs:subClassOf Humanзатем вы должны также сгенерировать тройку John a Human. Обратите внимание, что это невозможно сделать только с RDF. Данные RDFS запрашиваются с использованием SPARQL. Пример RDFS, сериализованного в Turtle:

@prefix : <http://www.example.org/> .
:john    rdf:type           :Man .
:Man    rdfs:subClassOf    :Human .
:john    :livesIn  "New-York" .
:livesIn    rdf:type    rdf:Property .
# After reasoning
:john    rdf:type    :Human .

СОВА: высочайший уровень выразительности. Связь между классами может быть формально смоделирована на основе логики описания (математическая теория). OWL в значительной степени опирается на рассуждение, можно выразить сложные конструкции, такие как, например, связанные свойства или ограничения между классами. OWL служит для построения онтологий или схем на основе наборов данных RDF. Поскольку OWL может быть сериализован как RDF / XML, теоретически можно запрашивать его через SPARQL, но гораздо интуитивнее запрашивать онтологию OWL с помощью запроса DL (который обычно является стандартным выражением класса OWL). Пример конструкций OWL, сериализованных в Turtle.

@prefix : <http://www.example.org/> .
:livesIn    rdf:type    owl:DatatypeProperty .
:Human    rdf:type    owl:Class .
:Man   rdf:type    owl:Class .
:Man    rdfs:subClassOf    :Human .
:John    rdf:type    :Man . 
:John    rdf:type    owl:NamedIndividual .
loopasam
источник
2
Подкласс не является "типом типа": это метакласс. "X a Y. Y a Z." отличается от "X a Y. Y subClassOf Z"
Владимир Алексиев
14

Во-первых, как указывалось ранее, owl может быть сериализован в RDF.

Во-вторых, OWL добавляет онтологические возможности в RDF (который сам по себе предоставляет исключительно ограниченные возможности для формального представления известных знаний), предоставляя аппарат для определения компонентов вашей тройки с использованием формальной вычислимой логики описания первого порядка. Вот что здесь подразумевается под плакатами, когда они говорят о «семантическом богатстве».

В-третьих, важно понимать, что в OWL-Full (для OWL 1) rdfs: class и owl: class эквивалентны, а в OWL-DL owl: class является подклассом rdfs: class. Фактически это означает, что вы можете использовать онтологию OWL в качестве схемы для RDF (которая формально не требует схем).

Я надеюсь, что это помогает уточнить в дальнейшем

Нико Адамс
источник
Очень хороший пост ... Я хочу сохранить тройки RDF в Oracle 11g, могу ли я использовать OWL в качестве схемы для моего RDF?
Саад
10

Когда вы используете термин RDF, вы должны различать две вещи:

  1. Вы можете сослаться на RDF как на концепцию :

    Способ описания вещей / логики / чего-либо, используя коллекции троек.

    Пример:

    "У Анны есть яблоки." «Яблоки здоровы».

    Выше у вас есть две тройки, которые описывают два ресурса «Анна» и «Яблоки». Концепция RDF (Resource Description Framework) заключается в том, что вы можете описывать ресурсы (что угодно) с помощью наборов всего из 3 слов (терминов). На этом уровне вас не волнует, как вы храните информацию: есть ли у вас строка из 3 слов, или картина на стене, или таблица с 3 столбцами и т. Д.

    На этом концептуальном уровне важно только то, что вы можете представлять все, что хотите, используя тройные операторы.

  2. Вы можете сослаться на RDF как словарь

    Словарь - это просто набор определений терминов, хранящихся в файле или где-то еще. Эти определенные термины имеют целью повторное использование в других описаниях, чтобы люди могли описывать данные (ресурсы) более легко и стандартным способом.

    В Интернете вы можете найти несколько стандартных словарей, таких как:

    RDF ( https://www.w3.org/1999/02/22-rdf-syntax-ns )

    RDFS ( https://www.w3.org/2000/01/rdf-schema# )

    СОВА ( https://www.w3.org/2002/07/owl )

    Словарь RDF определяет термины, которые помогут вам описать (на самом базовом уровне, насколько это возможно) отдельных лиц / экземпляры классов. Пример: rdf: тип, rdf: свойство.

    С помощью rdf: type вы можете описать, что некоторый ресурс является экземпляром класса:

     <http://foo.com/anna> rdf:type <http://foo.com/teacher> 
    

    Таким образом, в словаре RDF есть термины, предназначенные для базовых описаний экземпляров классов и некоторых других описаний (например, определение тройного оператора или определение предиката ... в общем, что связано с концепцией RDF).

    Словарь RDFS имеет определения терминов, которые помогут вам описать классы и отношения между ними. Словарь RDFS не заботится о случаях классов (отдельных лиц), таких как словарь RDF. Пример: свойство rdfs: subClassOf, которое можно использовать для описания того, что класс A является подклассом класса B.

    Словари RDF и RDFS зависят друг от друга. RDF определяет свои термины с помощью RDFS, а RDFS использует RDF для определения своих собственных терминов.

    Словари RDF / RDFS предоставляют термины, которые можно использовать для создания базовых описаний ресурсов. Если вы хотите иметь более сложные и точные описания, вы должны использовать словарь OWL.

Словарь OWL поставляется с набором новых терминов, предназначенных для более подробных описаний. Эти термины определены с использованием терминов из словарей RDF / RDFS.

owl:ObjectProperty a rdfs:Class ;
                   rdfs:label "ObjectProperty" ;
                   rdfs:comment "The class of object properties." ;
                   rdfs:isDefinedBy <http://www.w3.org/2002/07/owl#> ;
                   rdfs:subClassOf rdf:Property .

owl:DatatypeProperty a rdfs:Class ;
                     rdfs:label "DatatypeProperty" ;
                     rdfs:comment "The class of data properties." ;
                     rdfs:isDefinedBy <http://www.w3.org/2002/07/owl#> ;
                     rdfs:subClassOf rdf:Property .

 owl:TransitiveProperty a rdfs:Class ;
                        rdfs:label "TransitiveProperty" ;
                        rdfs:comment "The class of transitive properties." ;
                        rdfs:isDefinedBy <http://www.w3.org/2002/07/owl#> ;
                        rdfs:subClassOf owl:ObjectProperty .

Как вы можете видеть выше, словарь OWL расширяет концепцию rdf: Property, создавая новые типы свойств, которые являются менее абстрактными и могут обеспечить более точное описание ресурсов.

Выводы:

  1. RDF - это концепция или способ описания ресурсов с использованием наборов троек.
  2. Тройки RDF могут храниться в разных форматах (XML / RDF, Turtle и т. Д.)
  3. Концепция RDF является базовой моделью всех семантических веб-технологий и структур (например, словарей).
  4. RDF также является словарем, который наряду со словарем RDFS предоставляет набор терминов, которые можно использовать для создания общих / абстрактных описаний ресурсов.
  5. OWL - это словарь, созданный из словарей RDF и RDFS, которые предоставляют новые термины для создания более подробных описаний ресурсов.
  6. Все словари семантической сети (RDF, RDFS, OWL и т. Д.) Создаются с учетом концепции RDF.
  7. И, конечно же, словарь OWL имеет за кадром все виды сложной логики и концепций, которые определяют язык веб-онтологий. Словарь OWL - это просто способ использовать всю эту логику на практике.
whitefang1993
источник
9

RDF - это способ определения тройного «субъекта», «предиката», «значения» . Например, если я хочу сказать,

"Меня зовут Пьер"

Я бы написал

<mail:me@where.com> <foaf:name> "Pierre"

Видишь <foaf:name>? это часть онтологии FOAF . Онтология - это формальный способ описания свойств, классов данного предмета и OWL - это (RDF) способ определения онтологии.

Вы используете C ++, Java и т. Д. ... для определения класса, подкласса, поля и т. Д. ...

class Person
{
    String email_as_id;
    String name;
}

RDF использует OWL для определения таких утверждений.

Еще одно место, чтобы задать такой вопрос: http://www.semanticoverflow.com/

пьер
источник
14
Не согласен с: «RDF использует OWL для определения такого рода утверждений». RDF никак не использует OWL. Это наоборот: OWL использует RDF-схему, которая использует RDF.
alexkr
@ Stefano Где они находят людей, чтобы бежать, это реальный вопрос.
Паскаль Thivent
7

Я пытаюсь понять концепцию семантической паутины. Мне трудно понять, в чем именно разница между RDF и OWL. Является ли OWL расширением RDF или эти две технологии совершенно разные?

Короче говоря, да, вы могли бы сказать, что OWL является расширением RDF.

Более подробно, с помощью RDF вы можете описать ориентированный граф, определив тройки субъект-предикат-объект. Субъект и объект - это узлы, предикат - это край, или, другими словами, предикат описывает отношение между субъектом и объектом. Например:Tolkien :wrote :LordOfTheRings или:LordOfTheRings :author :Tolkienи т. д. Системы связанных данных используют эти тройки для описания графов знаний и предоставляют способы их хранения, запроса к ним. Сейчас это огромные системы, но вы можете использовать RDF в небольших проектах. Каждое приложение имеет предметно-ориентированный язык (или, по выражению DDD, вездесущий язык). Вы можете описать этот язык в своем онтологическом / словарном запасе, чтобы описать модель предметной области вашего приложения с помощью графика, который вы можете визуализировать, показать его бизнес-людям, рассказать о бизнес-решениях на основе модели и построить приложение на вершине. того, что. Вы можете привязать словарь вашего приложения к данным, которые он возвращает, и к словарю, известному поисковым системам, например микроданные(например, вы можете использовать HTML с RDFA для этого), и поэтому поисковые системы могут легко найти ваши приложения, потому что знания о том, что они делают, будут обрабатываться машиной. Так работает семантическая сеть. (По крайней мере, так я это себе представляю.)

Теперь для описания объектно-ориентированных приложений вам нужны типы, классы, свойства, экземпляры и т. Д. С помощью RDF вы можете описывать только объекты. RDFS (RDF-схема) помогает вам описывать классы наследования (основанные на объектах of.), Но это слишком широко. Чтобы определить ограничения (например, один ребенок на китайскую семью), вам нужен еще один словарь. OWL (язык веб-онтологий) делает эту работу. OWL - это онтология, которую вы можете использовать для описания веб-приложений. Он интегрирует простые типы XSD.
Таков RDF -> RDFS -> OWL -> MyWebAppпорядок описания вашего веб-приложения более конкретным способом.

inf3rno
источник
Спасибо - это кажется очень полезным. Я думаю, что вы говорите (пожалуйста, дайте мне знать, если я правильно понял), что (1). RDF позволяет задать прямые связи между объектами ( personA friendsWith personB), что (2) RDFS расширяет это, предоставляя возможность определить отношения между object classes- то есть class Person <has 'friendsWith' relationship> Person. Это позволяет затем фразу RDF с помощью класса: A:typeof:person friendsWith B:<typeof:person>. И (3) OWL тогда позволяет вам определять ограничения отношений?
Зак Смит
т.е. человек может иметь максимум 4 "друзей с" соединениями "?
Зак Смит
@ZachSmith Да.
inf3rno
Такой хороший ответ - спасибо. Облегчает читать все остальное на этой странице.
Зак Смит
@ZachSmith yw.
inf3rno
7

RDFS позволяет вам выражать отношения между вещами, стандартизируя гибкий, основанный на тройках формат, а затем предоставляя словарь («ключевые слова», такие как rdf:typeилиrdfs:subClassOf ), который можно использовать, чтобы говорить что-то.

СОВА похожа, но больше, лучше и хуже. OWL позволяет вам гораздо больше рассказать о вашей модели данных, показывает, как эффективно работать с запросами к базе данных и автоматическими рассуждениями, и предоставляет полезные аннотации для переноса ваших моделей данных в реальный мир.

1-е отличие: словарный запас

Из различий между RDFS и OWL наиболее важным является то, что OWL обеспечивает гораздо более широкий словарный запас, который вы можете использовать, чтобы говорить что-то .

Например, OWL включает в себя все ваши старые друзья из RDFS , таких как rdfs:type, rdfs:domainи rdfs:subPropertyOf. Тем не менее, OWL также дает вам новых и лучших друзей! Например, OWL позволяет вам описывать ваши данные в терминах операций над множествами:

Example:Mother    owl:unionOf     (Example:Parent, Example:Woman)

Это позволяет вам определять эквивалентности между базами данных:

AcmeCompany:JohnSmith  owl:sameAs    PersonalDatabase:JohnQSmith

Это позволяет вам ограничивать значения свойств:

Example:MyState     owl:allValuesFrom     (State:NewYork, State:California, …)

на самом деле, OWL предоставляет так много нового, сложного словарного запаса, который можно использовать при моделировании данных и рассуждениях, который получает свой собственный урок!

2-я разница: жесткость

Другое существенное отличие состоит в том, что в отличие от RDFS, OWL не только говорит вам, как вы можете использовать определенный словарь, но и фактически говорит вам, как вы не можете его использовать. В отличие от этого, RDFS дает вам любой мир, в который вы можете добавить практически любую тройку.

Например, в RDFS все, что вы чувствуете, может быть примером rdfs:Class. Вы можете решить сказать, что Бигл является, rdfs:Classа затем сказать, что Фидо является экземпляром Бигля :

Example: Beagle    rdf:Type    rdfs:Class

Example:Fido    rdf:Type    Example: Beagle

Затем вы можете решить, что хотели бы сказать что-то о биглях, возможно, вы хотите сказать, что бигль - это пример собак, разводимых в Англии :

Example:Beagle    rdf:Type    Example:BreedsBredInEngland

Example: BreedsBredInEngland    rdf:Type    rdfs:Class

В этом примере интересно то, что Example:Beagleон используется как класс и как экземпляр . Бигл - это класс, членом которого является Фидо , но сам Бигл является членом другого класса: Things Bred в Англии.

В RDFS все это совершенно законно, потому что RDFS на самом деле не ограничивает, какие операторы вы можете и не можете вставлять. В OWL, напротив, или, по крайней мере, в некоторых разновидностях OWL, приведенные выше утверждения на самом деле не являются законными: вам просто не разрешено говорить, что что-то может быть как классом, так и экземпляром.

Это второе серьезное различие между RDFS и OWL. RDFS обеспечивает доступ для всех , что угодно в мире, полном Дикого Запада, Speak-Easies и Сальвадора Дали. Мир OWL навязывает гораздо более жесткую структуру.

3-я разница: аннотации, мета-метаданные

Предположим, что вы потратили последний час на создание онтологии, которая описывает ваш бизнес по производству радио. Во время обеда ваша задача - создать онтологию для вашего бизнеса по производству часов. Сегодня днем, после хорошего кофе, ваш начальник говорит вам, что вам придется создать онтологию для вашего высокодоходного бизнеса, связанного с радиочасами. Есть ли способ легко повторно использовать утреннюю работу?

OWL делает такие вещи очень и очень легкими. Owl:Importявляется то , что вы будете использовать в ситуации , в часы-радио, а также OWL дает богатое разнообразие аннотаций , таких как owl:versionInfo, owl:backwardsCompatibleWithиowl:deprecatedProperty , которые могут легко быть использованы модели данных связать воедино в обоюдно единое целое.

В отличие от RDFS, OWL наверняка удовлетворит все ваши потребности в моделировании мета-мета-данных.

Вывод

OWL дает вам гораздо больший словарный запас для игры, что позволяет легко сказать все, что вы хотели бы сказать о вашей модели данных. Он даже позволяет вам адаптировать то, что вы говорите, на основе вычислительных реалий современных компьютеров и оптимизировать для конкретных приложений (например, для поисковых запросов). Кроме того, OWL позволяет вам легко выражать отношения между различными онтологиями, используя стандартную структуру аннотаций ,

Все это преимущества по сравнению с RDFS, и, как правило, они требуют дополнительных усилий, чтобы ознакомиться с ними.

Источник: RDFS vs. OWL

Билал
источник
4

В объектной модели WC3 документа, представляющее собой документ является абстрактной вещь: элемент с текстом, комментариями, атрибутами и другими элементами , вложенных в него.

В семантической паутине мы имеем дело с набором «троек». Каждая тройка это:

  • предмет, вещь тройка является о , ид, первичный ключ базы данных - это URI; и
  • предикат, «глагол», «свойство», «столбец базы данных» - другой URI; и
  • объект , атомарное значение или какой - либо URI.

OWL относится к семантической сети, а схемы - к объектной модели документа W3C. Он документирует, что означают различные URI, и указывает, как они используются формально, что может быть проверено машиной. Семантическая сеть может быть или не быть действительной в отношении применяемой к ней OWL, так же, как документ может быть или не быть действительным в отношении схемы.

RDF относится к семантической сети, как XML к DOM - это сериализация набора троек.

Конечно, RDF обычно сериализовать XML - документов ... но важно понимать , что RDF это не то же самое , как «XML сериализации в RDF».

Аналогично, OWL может быть сериализован с использованием OWL / XML, или (извините за это) он может быть выражен как RDF, который сам обычно сериализуется как XML.

paulmurray
источник
3

Базовый стек семантической сети уже много объяснялся в этой теме. Я хотел бы сосредоточиться на первоначальном вопросе и сравнить RDF с OWL.

  • OWL - это супер-набор RDF & RDF-S (сверху)
  • OWL позволяет эффективно работать с RDF & RDF-S
  • OWL имеет расширенный словарный запас
    • классы и отдельные лица ("экземпляры")
    • свойства и типы данных («предикаты»)
  • СОВ требуется для правильного рассуждения и умозаключения
  • OWL выпускается на трех диалектах: облегченная, логика описания и полная

Использование OWL важно, чтобы получить больше смысла (рассуждения и выводы), просто зная несколько фактов. Эта «динамически создаваемая» информация может в дальнейшем использоваться для соответствующих запросов, как в SPARQL.

Некоторые примеры покажут, что это действительно работает с OWL - они были взяты из моего выступления об основах семантической паутины на TYPO3camp Mallorca, Испания в 2015 году.

эквиваленты по правилам

Spaniard: Person and (inhabitantOf some SpanishCity)

Это означает, что a Spaniardдолжно быть a Person(и, следовательно, наследовать все свойства в выводящей части) и должно существовать хотя бы в одном (или более) SpanishCity.

значение свойств

<Palma isPartOf Mallorca>
<Mallorca contains Palma>

В примере показан результат применения inverseOfк свойствам isPartOfи contains.

  • обратный
  • симметричный
  • переходный
  • непересекающиеся
  • ...

мощности объектов

<:hasParent owl:cardinality “2“^^xsd:integer>

Это определяет, что у каждого Thing(в этом сценарии, скорее всего, a Human) есть ровно два родителя - количество элементов назначается hasParentсвойству.

  • минимальный
  • максимальная
  • точный
Оливер Хадер
источник
2

Структура описания ресурсов (RDF) является мощным формальным языком представления знаний и фундаментальным стандартом семантической сети. Он имеет свой собственный словарь, который определяет основные понятия и отношения (например, rdf: type соответствует отношению isA), и модель данных, которая допускает машинно-интерпретируемые операторы в форме субъекта-предиката-объекта (resource-property-value) Тройки, называемые RDF-тройками, такие как иллюстрированные книги. Расширение словаря RDF концепциями, необходимыми для создания управляемых словарей и базовых онтологий, называется RDF Schema или RDF Vocabularyary Description Language (RDFS). RDFS позволяет писать операторы о классах и ресурсах и выражать таксономические структуры, например, через отношения суперкласс-подкласс.

Сложные области знаний требуют больше возможностей, чем доступно в RDFS, что привело к внедрению OWL . OWL поддерживает отношения между классами (объединение, пересечение, дизъюнктность, эквивалентность), ограничения количества элементов (минимальное, максимальное, точное число, например, у каждого человека есть только один отец), богатая типизация свойств, характеристики свойств и специальные свойства (переходные, симметричный, функциональный, обратный функционал, например, A ex: hasAncestor B и B ex: hasAncestor C подразумевает, что A ex: hasAncestor C), указывая, что данное свойство является уникальным ключом для экземпляров определенного класса, а также ограничений домена и диапазона для свойств.

Лесли Сикос
источник