Использование ссылок Dublin Core и терминов isReferencedBy

Словарь Dublin Core выражает два термина:

Два термина являются обратными, тогда как:

if A references B, then B is referenced by A

Тогда в графе (полностью или в определенной степени) требуется всегда вставлять и выражать оба термина?

<http://example.org/A> dcterms:references <http://example.org/B>
<http://example.org/B> dcterms:isReferencedBy <http://example.org/A>

Если это не требуется, от имени каких соображений следует использовать оба или только одно из двух?

1 ответ

Оригинальный вопрос сказал переходный, но должен был сказать обратное. Вопрос был исправлен. Соответствующая часть ответа начинается во втором абзаце. Насколько я могу судить, свойства не являются переходными. То, что свойство p является транзитивным, означает, что для всех a, b, c, если p(a,b) и p (b, c), то p (a, c). Я не думаю, что это обязательно тот случай, когда "если ссылки b, b ссылаются на c, то ссылки c". Описанные вами отношения таковы: references а также isReferencedBy обратные. Свойство p является обратным свойству q, если для всех a и bp(a,b) тогда и только тогда, когда q (b, a).

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

В RDF, как правило, легко указать любую тройку, которая выражала бы отношение "ссылки b" - вы могли бы либо утверждать, a references b или же b isReferencedBy a, Однако в некоторых форматах у вас не будет такой большой гибкости. Например, если вы используете HTML META теги для описания HTML-документа, тема тройки фиксирована, поэтому вам понадобится references перечислять вещи, на которые ссылается документ, и isReferencedBy перечислять вещи, которые ссылаются на документ. Если вы работаете в чистом RDF и можете писать произвольные тройки, вам действительно нужно только одно свойство, хотя в некоторых случаях оно может быть более ясным и более кратким, чтобы использовать оба. Например, было бы лучше написать:

A references B ;
  isReferencedBy C, D .

вместо

A references B .
C references A .
D references A .
Другие вопросы по тегам