Я пытаюсь понять основы RDF / XML. У меня проблема с пониманием ссылок на данные.
В качестве простого примера давайте рассмотрим отношения между человеком и документом.
В реляционной модели данных это будет простое отношение «один ко многим» (у человека может быть много документов, но документ может принадлежать только одному человеку). Таким образом, это может быть решено с помощью person_id в таблице документов.
Но как мне добиться чего-то подобного в RDF / XML?
Я определяю свой <namespace:Person rdf:about = "http://www.foo.com"> со всеми атрибутами, и у меня также есть <namespace:Document rdf:about = "http://www.bar.com">, но как правильно сказать, что документ принадлежит человеку, чей id = x?
@JeenBroekstra Спасибо за предложение, но на самом деле мне поручено найти решение проблемы. Ожидается, что я придумаю файл RDF / XML и схему RDF.
на ваше усмотрение, но все же проще сначала изучить абстрактную модель и, возможно, использовать другой синтаксис (например, Turtle), который легче понять. Существует множество бесплатных инструментов с открытым исходным кодом, которые могут преобразовать ваш RDF в формат синтаксиса RDF / XML после того, как вы закончите моделирование.
Возможно, вы найдете этот ответ на "Что такое тройка rdf?" полезным. Он пытается объяснить концепцию «тройки rdf» на примере простого отношения / таблицы.





RDF - это модель, в которой для выражения данных используется тройки (также известный как RDF заявления). У каждого оператора есть субъект, предикат и объект. Обычно предикат выражает отношения между субъектом и объектом. Набор таких операторов можно представить как график (с субъектами и объектами как вершинами, а предикатами как ребрами).
Итак, в вашем примере с документами и лицами давайте сначала установим связь какие, которую имеют документы и лица. В качестве примера предположим, что вы хотите указать, что у Документа есть автор, который является Человеком.
Если мы применим это к конкретному Документу ex:d1 и конкретному человеку ex:p1, мы просто напишем следующие тройки, чтобы выразить отношение:
ex:d1 a ex:Document;
ex:hasAuthor ex:p1 .
ex:p1 a ex:Person .
Выше, кстати, синтаксис Turtle, более простой для чтения / записи синтаксис для RDF. Подробнее см. RDF Primer.
В синтаксисе RDF / XML одни и те же данные будут выглядеть примерно так:
<ex:Document rdf:about = "http://example.org/d1">
<ex:hasAuthor rdf:resource = "http://example.org/p1"/>
</ex:Document>
<ex:Person rdf:about = "http://example.org/p1"/>
Но, как я уже упоминал в своем комментарии: более эффективно попытаться понять моделирование RDF абстрактно (думать о тройках и графах), чем пытаться понять, как писать RDF / XML.
Вернемся к примеру: выше показано, как вы моделируете отношения между документом конкретный и человеком конкретный. Если вы хотите выразить более общую информацию о том, что «документы и лица - это классы, которые могут быть связаны посредством отношения автора», вы можете использовать словарь схемы RDF. Вы бы выразили это следующим образом:
ex:Document a rdfs:Class .
ex:Person a rdfs:Class .
ex:hasAuthor a rdf:Property ;
rdfs:domain ex:Document ;
rdfs:range ex:Person .
Обратите внимание, что схема RDF - это не то же самое, что реляционная схема! Реляционная схема предназначена для создания структуры прописывать и обеспечения проверки данных. Словарь RDF (или онтология) используется для описывать мира. Все вышесказанное говорит о том, что документы и люди существуют в нашем мире, и если между двумя вещами существует связь «автор», то эти две вещи являются документами и людьми.
Это отличное объяснение! Спасибо! :)
@ Coderr19 Мне интересно, почему вы тогда не прочитали это в учебнике по RDF? Это основная точка входа, чтение рекомендаций W3C, и, с моей точки зрения, большинство вещей в них достаточно объяснено даже с примерами. В любом случае, +1 Джин
@AKSW Я не знаю, читал ли OP букварь или нет, но часто бывает полезно, если вам объяснят одно и то же разными словами (по крайней мере, мне это часто помогает). Так что никаких потраченных усилий ИМХО.
Не сразу ответ, но могу ли я порекомендовать вам не пытаться понять, как работает RDF, пытаясь читать / писать RDF / XML? RDF / XML - это одна из возможных форм синтаксиса для RDF, и ее трудно читать. Вместо этого прочитайте, как работает модель RDF.