Делать заявления о заявлениях, которые не являются

Простите, если я неправильно использую некоторые термины, я просто знакомлюсь с RDF и, в частности, с овеществлением.

Я пытаюсь понять, если / как вы можете сделать заявление о том, что вы не контролируете и которое на самом деле не настроено как rdf:Statement (или любой другой ресурс, т.е. реифицированный).

Например, если какой-то семантический сайт делает заявление:

ex:elvis-presley
    ex:is-alive "true"^^xsd:boolean .

Есть неявное rdf:Statement ресурс здесь:

_:x
    a rdf:Statement ;
    rdf:subject ex:elvis-presley ;
    rdf:predicate ex:is-alive ;
    rdf:object ex:true "true"^^xsd:boolean .

Теперь предположим, что у меня есть свой семантический веб-сайт, и я хотел бы опровергнуть это утверждение, или подтвердить его, или сделать любой другой вид мета-утверждения относительно этого утверждения. Ресурс оператора не имеет глобального идентификатора, поэтому я не могу ссылаться на него.

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

2 ответа

Решение

Я думаю, что овеществление - это тема, которая изначально кажется более полезной, чем на самом деле. Вы можете иметь тройку на графике:

s p o .

и вы можете иметь четыре тройки на графике:

x a rdf:Statement .
x rdf:subject s .
x rdf:preficate p .
x rdf:object o .

но это об этом. Если у кого-то есть четыре тройки второй формы, и x случается, URI, а затем вы пишете о x, Если это пустой узел, то у вас нет способа сослаться на него. В любом случае, x Говорят, что это овеществление тройной s p o, Это означает, что вопрос

Можете ли вы только подтвердить утверждения, которые явно сформированы как идентифицированные ресурсы сами по себе?

не имеет большого смысла. Утверждение заявления s p o это ресурс x это имеет связанные свойства. "Чтобы овеществить s p o"на самом деле ничего не значит, кроме" выбрать xи утверждать соответствующие тройки об этом ".

Маловероятно, что кто-либо пытается утверждать s p o написал бы вторую форму. Вторая форма имеет тенденцию появляться, если вы пытаетесь представить некоторые утверждения о тройках, например, "Джон говорит x . Xa rdf:Statement . …".

Если вы хотите опровергнуть чье-то утверждение о том, что Элвис живет, вы, вероятно, просто сделаете

:elvisLives a rdf:Statement ;
            rdf:subject ex:elvis-presley ;
            rdf:predicate ex:is-alive ;
            rdf:object true ;
            :claimedBy <http://example.org/whoeverSaidIt> ;
            :hasValue false .

В качестве альтернативы, если вы находитесь в области OWL, вы можете использовать отрицательное утверждение свойства:

NegativeDataPropertyAssertion( ex:lives ex:elvis-presley "true"^^xsd:boolean )

Представление RDF будет выглядеть

_:x rdf:type owl:NegativePropertyAssertion .
_:x owl:sourceIndividual ex:elvis-presley .
_:x owl:assertionProperty ex:lives .
_:x owl:targetValue true .

Вы можете увидеть сходство между двумя подходами. OWL включает в себя своего рода словарный запас owl:sourceIndividual, owl:assertionProperty а также owl:targetValue,

Недавно предложенный подход, названный синглтоном, является именно тем, что вам нужно. Этот подход формально описан в этой статье "Не нравится RDF Reification? Делать заявления о заявлениях, используя свойство Singleton". http://www.slideshare.net/ntkimvinh7/www2014-singleton-propertyfinal

В вашем примере, вместо использования reification, тройка может быть представлена ​​с использованием подхода одноэлементного свойства, такого как

ex:elvis-presley ex:is-alive#1 "верно"^^xsd: логическое значение.

ex: is-alive # 1 rdf: singletonPropertyOf ex: is-alive.

Если вы хотите оспорить этот факт, вы можете использовать одноэлементное свойство ex: is-alive # 1, поскольку оно может быть глобально уникальным, если вы используете UUID вместо #1.

Другие вопросы по тегам