我认为物化是一个最初看起来比实际上更有用的话题。您可以在图中有一个三元组:
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
编写第二种形式。如果您试图表示一些关于三元组的陈述,则往往会出现第二种形式,例如,“john says 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
。