Какой правильный подход для создания мета-тройки в RDF? - PullRequest
0 голосов
/ 05 мая 2019

Я читал о RDF, триплетах и ​​т. Д., И одним из самых мощных понятий, которые я видел, является понятие мета-трипл (то есть трипл, которые описывают другие триплеты).Чтобы проиллюстрировать, что я имею в виду, представьте, что у нас есть несколько троек, например, так:

(person:jb -> foaf:firstName -> string:Joe)
(person:jb -> foaf:lastName -> string:Blow)

Если бы мы хотели заявить о достоверности этих троек, например, кто сказал, что они были правдивы (для целейв этом примере кто-то идентифицировал как xyz) мы могли бы поместить исходные две тройки в граф RDF с идентификатором bar, а затем добавить тройки в другой граф RDF (возможно, граф по умолчанию в наборе данных RDF, содержащем граф, идентифицированный какbar), который выглядел следующим образом:

(bar -> claimedBy -> person:xyz)

Мой вопрос: что происходит, когда кто-то приходит позже и хочет создать мета-тройку только об одной из троек в Графике bar?Кажется, что если вы хотите сохранить способность создавать мета-тройки, описывающие каждую отдельную тройку, то фактически каждая тройка должна быть в своем собственном графе.Это смутно «расходится» с концепцией RDF-графа, описываемой здесь как «набор RDF-троек». Теперь, конечно, набор из одного все еще является набором, но концепцияГраф RDF вряд ли кажется значимым, если каждый граф состоит только из одной тройки, и все же, если кто-то хочет сохранить индивидуальную адресуемость тройки, это кажется неизбежным.

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

При рассмотрении форматов сериализации (N-Quads и т. Д.) Эта проблема, похоже, улавливается концепцией четырехугольника, в котором он равен (subject, predicate, object, context), и каждая тройка может (в этом формате сериализации) имеют свой собственный контекст, но затем эти четырехугольники сериализуются обратно в набор данных, состоящий из N графов, которые фактически являются тройками, сгруппированными по контексту.

Понимаю ли я это правильно?Я что-то упустил здесь?Есть ли какая-то причина , а не , чтобы просто позволить всем тройкам быть индивидуально адресуемыми для целей создания мета-тройки, которые их описывают?

...