Rdf 对没有具体化的陈述进行陈述

Rdf 对没有具体化的陈述进行陈述,rdf,reification,Rdf,Reification,如果我误用了一些术语,请原谅,我只是对RDF和物化特别熟悉 我试图理解的是,如果/如何对一条您无法控制且实际上未设置为rdf:statement(或任何其他资源,即具体化的)的语句进行声明 例如,如果某个语义网站声称: ex:elvis-presley ex:is-alive "true"^^xsd:boolean . 这里有一个隐式的rdf:Statement资源: _:x a rdf:Statement ; rdf:subject ex:elvis-presley

如果我误用了一些术语,请原谅,我只是对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 .
现在假设我有自己的语义网站,我想反驳这个说法,或者肯定它,或者对这个说法做任何其他类型的元陈述。语句资源没有全局标识符,因此无法引用它


有什么方法可以处理这个问题,或者你只能对那些被显式地形成为标识资源的语句进行陈述吗?

我认为物化一开始似乎比实际更有用。图形中可以有一个三元组:

s p o .
x a rdf:Statement .
x rdf:subject s .
x rdf:preficate p .
x rdf:object o .
图形中可以有四个三元组:

s p o .
x a rdf:Statement .
x rdf:subject s .
x rdf:preficate p .
x rdf:object o .
但仅此而已。如果某人碰巧有第二种形式的四个三元组,而
x
恰好是一个URI,那么您就可以编写关于
x
的三元组。如果它是一个空白节点,那么您就无法引用它。在这两种情况下,
x
被认为是三重
spo
的具体化。这意味着这个问题

您能否仅具体化那些以自己的方式显式形成为已标识资源的语句

没什么意义。语句
spo
的具体化是具有相关属性的资源
x
。“具体化
spo
”除了“选择一个
x
,并断言相应的三元组外,实际上并不意味着什么。”

任何试图断言
spo
的人都不太可能编写第二种形式。如果您试图表示一些关于三元组的语句,则会出现第二种形式,例如,“john说x.XARDF: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 .
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
,我认为物化一开始似乎比实际更有用。图形中可以有一个三元组:

s p o .
x a rdf:Statement .
x rdf:subject s .
x rdf:preficate p .
x rdf:object o .
图形中可以有四个三元组:

s p o .
x a rdf:Statement .
x rdf:subject s .
x rdf:preficate p .
x rdf:object o .
但仅此而已。如果某人碰巧有第二种形式的四个三元组,而
x
恰好是一个URI,那么您就可以编写关于
x
的三元组。如果它是一个空白节点,那么您就无法引用它。在这两种情况下,
x
被认为是三重
spo
的具体化。这意味着这个问题

您能否仅具体化那些以自己的方式显式形成为已标识资源的语句

没什么意义。语句
spo
的具体化是具有相关属性的资源
x
。“具体化
spo
”除了“选择一个
x
,并断言相应的三元组外,实际上并不意味着什么。”

任何试图断言
spo
的人都不太可能编写第二种形式。如果您试图表示一些关于三元组的语句,则会出现第二种形式,例如,“john说x.XARDF: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 .
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
,新提出的称为singleton属性的方法正是您所需要的。 本文正式描述了这种方法“不喜欢RDF具体化?使用Singleton属性对语句进行声明”。

在您的示例中,可以使用单例属性方法来表示三元组,而不是使用具体化,例如

例如:埃尔维斯·普雷斯利:是活着的#1“真”^^xsd:boolean

ex:is alive#1 rdf:Singleton属性ex:is alive


如果您想质疑这一事实,可以使用singleton属性ex:is alive#1,因为如果使用UUID而不是#1,它可能是全局唯一的。

新提出的称为singleton属性的方法正是您所需要的。 本文正式描述了这种方法“不喜欢RDF具体化?使用Singleton属性对语句进行声明”。

在您的示例中,可以使用单例属性方法来表示三元组,而不是使用具体化,例如

例如:埃尔维斯·普雷斯利:是活着的#1“真”^^xsd:boolean

ex:is alive#1 rdf:Singleton属性ex:is alive


如果你想质疑这一事实,你可以使用singleton属性ex:is alive#1,因为如果你使用UUID而不是#1,它可能是全局唯一的。

谢谢你澄清:我想我误解了具体化过程中实际指的是哪一部分:我认为制作元语句就是具体化,但是现在我看到,具体化实际上只是将一个语句设置为一种资源的过程,这样就可以对它进行陈述。所以如果我理解,你基本上是说,如果语句的作者没有通过使它本身成为一种资源来具体化该语句,对其进行声明的唯一方法是自己重复该声明(使用属性将其属性赋予原始源)。这是不幸的,因为它使