В чем разница между RDF и OWL?

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

Ответ 1

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

Обновление: обратите внимание, что 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".

Ответ 2

Короче:

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

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

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

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

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

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

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

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

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

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

Ответ 3

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

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

Резюме экспрессивности

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

@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 в значительной степени полагается на аргументатора, можно выразить сложные конструкции, такие как цепные свойства, например, или ограничение между классами. 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 .

Ответ 4

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

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

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

Я надеюсь, что это поможет прояснить далее.

Ответ 6

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

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

Я бы написал

<mail:[email protected]> <foaf:name> "Pierre"

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

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

class Person
{
    String email_as_id;
    String name;
}

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

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

Ответ 7

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

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

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

    Пример:

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

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

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

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

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

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

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

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

    OWL (https://www.w3.org/2002/07/owl)

    Вокабуляр RDF определяет термины, которые помогут вам описать (на максимально возможном уровне) отдельных лиц/экземпляров классов. Пример: rdf: type, 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: Свойство, создавая новые типы свойств, которые являются менее абстрактными и могут предоставлять более точное описание ресурсов.

Выводы:

  • RDF - это понятие или способ описания ресурсов с использованием наборов троек.
  • Тройки RDF могут храниться в разных форматах (XML/RDF, Turtle и т.д.).
  • Концепция RDF является базовой моделью всех семантических веб-технологий и структур (например, словарей).
  • RDF также является лексикой, которая наряду с лексикой RDFS предоставляет набор терминов, которые могут использоваться для создания общих/абстрактных описаний ресурсов.
  • OWL - это словарь, построенный с использованием словарей RDF и RDFS, которые предоставляют новые термины для создания более подробного описания ресурсов.
  • Все семантические веб-словари (RDF, RDFS, OWL и т.д.) создаются с учетом концепции RDF.
  • И, конечно же, словарь OWL имеет за кулисами всю сложную логику и концепции, которые определяют язык онтологии Web. Словарь OWL - это всего лишь способ использовать всю эту логику на практике.

Ответ 8

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

OWL похож, но больше, лучше и прав. 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. Вы можете сказать, что Beagle - это rdfs:Class, а затем говорят, что Fido - это экземпляр Beagle:

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 используется как класс и экземпляр. Beagle - это класс, членом которого является Fido, но Бигл сам является членом другого класса: Things Bred in England.

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

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

3rd Difference: Аннотации, мета-мета-данные

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

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

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

Заключение

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

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

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

Ответ 9

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

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

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

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

Ответ 10

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

В семантической сети мы имеем дело с набором "троек". Каждая тройка:

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

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

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

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

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

Ответ 11

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

  • OWL - супер-набор RDF и RDF-S (сверху)
  • OWL позволяет эффективно работать с RDF и RDF-S
  • У OWL есть расширенная лексика
    • классы и отдельные лица ( "экземпляры" )
    • свойства и типы данных ( "предикаты" )
  • OWL требуется для правильного рассуждения и вывода
  • OWL поставляется в трех диалектах lite, логике описания и полной

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

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

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

Spaniard: Person and (inhabitantOf some SpanishCity)

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

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

<Palma isPartOf Mallorca>
<Mallorca contains Palma>

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

  • обратный
  • симметричное
  • транзитивно
  • пересекаются
  • ...

мощности свойств

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

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

  • минимум
  • максимальный
  • точный

Ответ 12

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

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

Ответ 13

Лучший ответ - прочитать книгу от одного из пионеров самой Семантической Сети "Семантический веб для работающих онтологов" Джеймса Хендлера. Если вы ищете быстрый курс крушения. Проверьте этот курс udemy:

https://www.udemy.com/semantic-web/?couponCode=HALFOFF