Простой пример овеществления в RDF - PullRequest
25 голосов
/ 21 августа 2009

Может ли кто-нибудь быть так любезен, чтобы дать мне простой пример овеществления в RDF? Я хочу посмотреть, правильно ли я понял.

Например, я предлагаю следующий случай

Tolkien -> wrote -> Lord of the rings
           /|\
            |
        Wikipedia said that

Как бы вы написали это с и без reification (т.е. как простой RDF-оператор без необходимости reification)?

Ответы [ 3 ]

35 голосов
/ 22 августа 2009

«Толкин написал Властелин колец» можно выразить как простое утверждение (субъект, предикат, объект), например:

:Tolkien :wrote :LordOfTheRings .

Кстати, здесь используется нотация Turtle для RDF. Есть инструменты онлайн для преобразования его в RDF / XML.

Используя reification , вы можете иметь отдельный ресурс, представляющий оператор, чтобы вы могли заявить дополнительные сведения о самом операторе, например, "Википедия сказала, что":

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
_:x rdf:type rdf:Statement .
_:x rdf:subject :Tolkien .
_:x rdf:predicate :wrote .
_:x rdf:object :LordOfTheRings .
_:x :said :Wikipedia .

В реальной жизни вы хотели бы использовать общие словари, чтобы тот, кто потребляет RDF, знал, что вы говорите о , Толкиене и , LOTR:

http://dbpedia.org/resource/The_Lord_of_the_Rings
http://dbpedia.org/property/author
http://dbpedia.org/resource/dbppedia/J._R._R._Tolkien

6 голосов
/ 15 ноября 2014

Лучший способ сделать это - использовать подход одноэлементного свойства.

Например, вы создаете одноэлементное свойство для представления этого оператора в виде:

Tolkien wrote#1 "Lord of the rings" .

wrote#1 rdf:singletonPropertyOf wrote .

wrote#1 asserted_by Wikipedia .

Возможно, вы захотите узнать больше об этом в статье «Не нравится RDF Reification? Делать заявления о выражениях с использованием свойства singleton» или на ее слайдах по адресу http://www.slideshare.net/ntkimvinh7/www2014-singleton-propertyfinal...

2 голосов
/ 31 октября 2018

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

Экосистема семантической сети претендует на лозунг ААА, что любой может сказать что угодно о чем угодно. Но это не так, если первое «что-нибудь» здесь - это одно ребро графа. Даже если сам RDF имеет средства для выражения знаний об одном ребре, документ семантики R3F W3C делает все возможное, чтобы не поддерживать эту выразительность.

В принципе, есть 4 подхода, чтобы сказать что-то о ребре: - непопулярные, вздутые слабо связанные заявления RDF - недвижимость синглтонов - одиночный оператор с именем graphs (4-й элемент в квадрате - идентификатор графа) - узлы ассоциации (аналогично классам ассоциации UML)

Одиночные свойства - безусловно, самое простое решение проблемы, так как они ничего не добавляют - вы просто избегаете ошибки, чтобы [повторно] использовать идентификатор свойства уровня класса для ребер экземпляра снова и снова. Другие моделирующие экосистемы, которые имеют четкое понимание метамоделирования (например, MOF), гораздо менее склонны совершать такую ​​ошибку. Ребра уровня класса соединяют узлы уровня класса, а ребра уровня экземпляра соединяют узлы уровня экземпляра. Вот и все.

Если вы сделаете это правильно (как предлагают Винь и его коллеги), вы окажетесь на пути конфликта с аргументами, которые жестко запрограммированы в документе семантики W3C RDF.

Вы можете временно обойти это (до тех пор, пока W3C еще не стандартизировал синглоны свойств), сделав еще один недостаток дизайна и реализовав синглеты своего свойства как subPropertyOf-s свойства уровня класса [вместо того, чтобы делать их экземплярами этого] , Тогда существующий RDFS-мыслитель мог бы сделать вывод из : my_label_0815 rdfs: subPropertyOf rdfs: label. : some_node: my_label_0815 "some_string". тот : some_node rdfs: метка "some_string". Это грязный обходной путь, поскольку он нарушает четкое разделение метауровней.

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

...