Я пытаюсь понять концепцию семантической паутины. Мне трудно понять, в чем именно разница между RDF и OWL. Является ли OWL расширением RDF или эти две технологии совершенно разные?
rdf
semantic-web
owl
user32262
источник
источник
Ответы:
Семантическая сеть состоит из нескольких слоев. Это краткое изложение тех, которые, я думаю, вас интересуют.
Обновление : обратите внимание, что RDFS используется для определения структуры данных, а не OWL. OWL описывает семантические отношения, о которых не суетится нормальное программирование, такое как структура C, и ближе к исследованию ИИ и теории множеств.
Тройки и URI
Они описывают один факт. Обычно URI используются для субъекта и предиката. Объект является либо другим URI, либо литералом, таким как число или строка. Литералы могут иметь тип (который также является URI), и они также могут иметь язык. Да, это означает, что тройки могут содержать до 5 бит данных!
Например, тройка может описать тот факт, что Чарльз является отцом Гарри.
Тройки - это нормализация базы данных, доведенная до логического предела. У них есть то преимущество, что вы можете загружать тройки из многих источников в одну базу данных без переконфигурации.
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 ».
источник
Коротко:
Как писал предыдущий автор, RDF - это спецификация, которая говорит вам, как определять тройки.
Проблема в том, что RDF позволяет вам определять все, поэтому вы можете составить объявление следующим образом:
Эти тройки образуют действительные документы RDF.
Но семантически вы понимаете, что эти утверждения неверны, и RDF не может помочь вам проверить, что вы написали.
Это не действительная онтология.
Спецификация OWL точно определяет, что вы можете написать с помощью RDF, чтобы иметь действительную онтологию.
Онтологии могут иметь несколько свойств.
Вот почему OWL (ver 1) определяет несколько версий, таких как OWL DL, OWL Lite, OWL Full.
источник
RDF, RDFS и OWL являются средствами выражения все более сложной информации или знаний. Все они могут быть сериализованы в синтаксисе RDF / XML (или в любом другом синтаксисе сериализации RDF, например, в Turtle или N3).
Эти технологии связаны между собой и должны быть совместимы, но они имеют различное происхождение, поэтому, возможно, поэтому связь между ними сложна для понимания. Выбор того или другого зависит от того, насколько сложна ситуация, которую вы моделируете.
Резюме выразительности
RDF : простое представление, сфокусированное на экземплярах и отображении их типов (
rdf:type
). Можно определить пользовательские свойства для связи данных и создания троек. Данные RDF запрашиваются с помощью SPARQL. Пример RDF, сериализованного в Turtle: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:СОВА: высочайший уровень выразительности. Связь между классами может быть формально смоделирована на основе логики описания (математическая теория). OWL в значительной степени опирается на рассуждение, можно выразить сложные конструкции, такие как, например, связанные свойства или ограничения между классами. OWL служит для построения онтологий или схем на основе наборов данных RDF. Поскольку OWL может быть сериализован как RDF / XML, теоретически можно запрашивать его через SPARQL, но гораздо интуитивнее запрашивать онтологию OWL с помощью запроса DL (который обычно является стандартным выражением класса OWL). Пример конструкций OWL, сериализованных в Turtle.
источник
Во-первых, как указывалось ранее, owl может быть сериализован в RDF.
Во-вторых, OWL добавляет онтологические возможности в RDF (который сам по себе предоставляет исключительно ограниченные возможности для формального представления известных знаний), предоставляя аппарат для определения компонентов вашей тройки с использованием формальной вычислимой логики описания первого порядка. Вот что здесь подразумевается под плакатами, когда они говорят о «семантическом богатстве».
В-третьих, важно понимать, что в OWL-Full (для OWL 1) rdfs: class и owl: class эквивалентны, а в OWL-DL owl: class является подклассом rdfs: class. Фактически это означает, что вы можете использовать онтологию OWL в качестве схемы для RDF (которая формально не требует схем).
Я надеюсь, что это помогает уточнить в дальнейшем
источник
Когда вы используете термин RDF, вы должны различать две вещи:
Вы можете сослаться на RDF как на концепцию :
Способ описания вещей / логики / чего-либо, используя коллекции троек.
Пример:
"У Анны есть яблоки." «Яблоки здоровы».
Выше у вас есть две тройки, которые описывают два ресурса «Анна» и «Яблоки». Концепция RDF (Resource Description Framework) заключается в том, что вы можете описывать ресурсы (что угодно) с помощью наборов всего из 3 слов (терминов). На этом уровне вас не волнует, как вы храните информацию: есть ли у вас строка из 3 слов, или картина на стене, или таблица с 3 столбцами и т. Д.
На этом концептуальном уровне важно только то, что вы можете представлять все, что хотите, используя тройные операторы.
Вы можете сослаться на 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 вы можете описать, что некоторый ресурс является экземпляром класса:
Таким образом, в словаре RDF есть термины, предназначенные для базовых описаний экземпляров классов и некоторых других описаний (например, определение тройного оператора или определение предиката ... в общем, что связано с концепцией RDF).
Словарь RDFS имеет определения терминов, которые помогут вам описать классы и отношения между ними. Словарь RDFS не заботится о случаях классов (отдельных лиц), таких как словарь RDF. Пример: свойство rdfs: subClassOf, которое можно использовать для описания того, что класс A является подклассом класса B.
Словари RDF и RDFS зависят друг от друга. RDF определяет свои термины с помощью RDFS, а RDFS использует RDF для определения своих собственных терминов.
Словари RDF / RDFS предоставляют термины, которые можно использовать для создания базовых описаний ресурсов. Если вы хотите иметь более сложные и точные описания, вы должны использовать словарь OWL.
Словарь OWL поставляется с набором новых терминов, предназначенных для более подробных описаний. Эти термины определены с использованием терминов из словарей RDF / RDFS.
Как вы можете видеть выше, словарь OWL расширяет концепцию rdf: Property, создавая новые типы свойств, которые являются менее абстрактными и могут обеспечить более точное описание ресурсов.
Выводы:
источник
RDF - это способ определения тройного «субъекта», «предиката», «значения» . Например, если я хочу сказать,
Я бы написал
Видишь
<foaf:name>
? это часть онтологии FOAF . Онтология - это формальный способ описания свойств, классов данного предмета и OWL - это (RDF) способ определения онтологии.Вы используете C ++, Java и т. Д. ... для определения класса, подкласса, поля и т. Д. ...
RDF использует OWL для определения таких утверждений.
Еще одно место, чтобы задать такой вопрос: http://www.semanticoverflow.com/
источник
Короче говоря, да, вы могли бы сказать, что OWL является расширением RDF.
Более подробно, с помощью RDF вы можете описать ориентированный граф, определив тройки субъект-предикат-объект. Субъект и объект - это узлы, предикат - это край, или, другими словами, предикат описывает отношение между субъектом и объектом. Например
:Tolkien :wrote :LordOfTheRings
или:LordOfTheRings :author :Tolkien
и т. д. Системы связанных данных используют эти тройки для описания графов знаний и предоставляют способы их хранения, запроса к ним. Сейчас это огромные системы, но вы можете использовать RDF в небольших проектах. Каждое приложение имеет предметно-ориентированный язык (или, по выражению DDD, вездесущий язык). Вы можете описать этот язык в своем онтологическом / словарном запасе, чтобы описать модель предметной области вашего приложения с помощью графика, который вы можете визуализировать, показать его бизнес-людям, рассказать о бизнес-решениях на основе модели и построить приложение на вершине. того, что. Вы можете привязать словарь вашего приложения к данным, которые он возвращает, и к словарю, известному поисковым системам, например микроданные(например, вы можете использовать HTML с RDFA для этого), и поэтому поисковые системы могут легко найти ваши приложения, потому что знания о том, что они делают, будут обрабатываться машиной. Так работает семантическая сеть. (По крайней мере, так я это себе представляю.)Теперь для описания объектно-ориентированных приложений вам нужны типы, классы, свойства, экземпляры и т. Д. С помощью RDF вы можете описывать только объекты. RDFS (RDF-схема) помогает вам описывать классы наследования (основанные на объектах of.), Но это слишком широко. Чтобы определить ограничения (например, один ребенок на китайскую семью), вам нужен еще один словарь. OWL (язык веб-онтологий) делает эту работу. OWL - это онтология, которую вы можете использовать для описания веб-приложений. Он интегрирует простые типы XSD.
Таков
RDF -> RDFS -> OWL -> MyWebApp
порядок описания вашего веб-приложения более конкретным способом.источник
personA friendsWith personB
), что (2) RDFS расширяет это, предоставляя возможность определить отношения междуobject classes
- то естьclass Person <has 'friendsWith' relationship> Person
. Это позволяет затем фразу RDF с помощью класса:A:typeof:person friendsWith B:<typeof:person>
. И (3) OWL тогда позволяет вам определять ограничения отношений?RDFS позволяет вам выражать отношения между вещами, стандартизируя гибкий, основанный на тройках формат, а затем предоставляя словарь («ключевые слова», такие как
rdf:type
илиrdfs:subClassOf
), который можно использовать, чтобы говорить что-то.СОВА похожа, но больше, лучше и хуже. OWL позволяет вам гораздо больше рассказать о вашей модели данных, показывает, как эффективно работать с запросами к базе данных и автоматическими рассуждениями, и предоставляет полезные аннотации для переноса ваших моделей данных в реальный мир.
1-е отличие: словарный запас
Из различий между RDFS и OWL наиболее важным является то, что OWL обеспечивает гораздо более широкий словарный запас, который вы можете использовать, чтобы говорить что-то .
Например, OWL включает в себя все ваши старые друзья из RDFS , таких как
rdfs:type
,rdfs:domain
иrdfs:subPropertyOf
. Тем не менее, OWL также дает вам новых и лучших друзей! Например, OWL позволяет вам описывать ваши данные в терминах операций над множествами:Это позволяет вам определять эквивалентности между базами данных:
Это позволяет вам ограничивать значения свойств:
на самом деле, OWL предоставляет так много нового, сложного словарного запаса, который можно использовать при моделировании данных и рассуждениях, который получает свой собственный урок!
2-я разница: жесткость
Другое существенное отличие состоит в том, что в отличие от RDFS, OWL не только говорит вам, как вы можете использовать определенный словарь, но и фактически говорит вам, как вы не можете его использовать. В отличие от этого, RDFS дает вам любой мир, в который вы можете добавить практически любую тройку.
Например, в RDFS все, что вы чувствуете, может быть примером
rdfs:Class
. Вы можете решить сказать, что Бигл является,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
источник
В объектной модели WC3 документа, представляющее собой документ является абстрактной вещь: элемент с текстом, комментариями, атрибутами и другими элементами , вложенных в него.
В семантической паутине мы имеем дело с набором «троек». Каждая тройка это:
OWL относится к семантической сети, а схемы - к объектной модели документа W3C. Он документирует, что означают различные URI, и указывает, как они используются формально, что может быть проверено машиной. Семантическая сеть может быть или не быть действительной в отношении применяемой к ней OWL, так же, как документ может быть или не быть действительным в отношении схемы.
RDF относится к семантической сети, как XML к DOM - это сериализация набора троек.
Конечно, RDF обычно сериализовать XML - документов ... но важно понимать , что RDF это не то же самое , как «XML сериализации в RDF».
Аналогично, OWL может быть сериализован с использованием OWL / XML, или (извините за это) он может быть выражен как RDF, который сам обычно сериализуется как XML.
источник
Базовый стек семантической сети уже много объяснялся в этой теме. Я хотел бы сосредоточиться на первоначальном вопросе и сравнить RDF с OWL.
Использование OWL важно, чтобы получить больше смысла (рассуждения и выводы), просто зная несколько фактов. Эта «динамически создаваемая» информация может в дальнейшем использоваться для соответствующих запросов, как в SPARQL.
Некоторые примеры покажут, что это действительно работает с OWL - они были взяты из моего выступления об основах семантической паутины на TYPO3camp Mallorca, Испания в 2015 году.
эквиваленты по правилам
Это означает, что a
Spaniard
должно быть aPerson
(и, следовательно, наследовать все свойства в выводящей части) и должно существовать хотя бы в одном (или более)SpanishCity
.значение свойств
В примере показан результат применения
inverseOf
к свойствамisPartOf
иcontains
.мощности объектов
Это определяет, что у каждого
Thing
(в этом сценарии, скорее всего, aHuman
) есть ровно два родителя - количество элементов назначаетсяhasParent
свойству.источник
Картинка говорит тысячу слов! Эта диаграмма ниже должна подтвердить то, что Кристофер Гаттеридж сказал в этом ответе, что семантическая сеть - это «многоуровневая архитектура».
Источник: https://www.obitko.com/tutorials/ontologies-semantic-web/semantic-web-architecture.html
источник
Структура описания ресурсов (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), указывая, что данное свойство является уникальным ключом для экземпляров определенного класса, а также ограничений домена и диапазона для свойств.
источник