对没有具体化的陈述作出陈述

对没有具体化的陈述作出陈述

问题描述:

如果我误用了一些术语,请原谅我,我刚刚开始熟悉 RDF 和具体化.

Forgive me if I'm misusing some terms, I'm just becoming familiar with RDF and reification in particular.

我想了解的是,如果/如何对您无法控制且实际上并未设置为 rdf:Statement(或任何其他资源,即具体化).

What I'm trying to understand is if/how you can make a statement about a statement that you don't control and which isn't actually set up as an rdf:Statement (or any other resource, i.e., reified).

例如,如果某个语义网站提出声明:

For instance, if some semantic website makes the claim:

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

这里有一个隐含的 rdf:Statement 资源:

There is an implicit rdf:Statement resource here:

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

现在假设我有我自己的语义网站,我想反驳这个声明,或者肯定它,或者对这个声明做任何其他类型的元声明.语句资源没有全局标识符,所以我无法引用它.

Now suppose I have my own semantic website and I would like to refute this statement, or affirm it, or make any other kind of meta-statement about this statement. The statement resource doesn't have a global identifier, so I can't reference it.

有什么办法可以解决这个问题,或者您能否只对明确形成的声明本身作为已识别资源发表声明?

Is there any way to handle this, or can you only make statements about statements that are explicitly formed as identified resources in their own right?

我认为具体化是一个最初看起来比实际中更有用的话题.您可以在图表中有一个三元组:

I think that reification is a topic that initially seems more useful than it actually tends to be in practice. You can have a triple in a graph:

s p o .

你可以在一个图中有四个三元组:

and you can have four triples in a graph:

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

但仅此而已.如果有人碰巧有第二种形式的四个三元组,而 x 恰好是一个 URI,那么你就写了关于 x 的三元组.如果它是一个空白节点,则您无法引用它.在任何一种情况下,x 都被认为是三重 s p o 的具体化.这意味着问题

but that's about it. If someone happens to have four triples of the second form, and x happens to be a URI, then then you write triples about x. If it's a blank node, then you don't have a way of referencing it. In either case, x is said to be a reification of the triple s p o. That means that the question

你能否只具体化那些明确形成为已识别资源的语句?

Can you only reify statements that are explicitly formed as identified resources in their own right?

意义不大.语句s p o 的具体化是具有相关属性的资源x.具体化s p o"除了选择一个x,然后断言它的相应三元组"之外,并没有真正的意义.

doesn't make a whole lot of sense. The reificiation of a statement s p o is a resource x that has the associated properties. "To reify s p o" doesn't really mean anything except "pick an x, and assert the corresponding triples about it."

任何试图断言 s p o 的人都不太可能编写第二种形式.如果您试图表示一些关于三元组的陈述,则往往会出现第二种形式,例如,john say x . x a rdf:Statement . ...".

It's very unlikely that anyone trying to assert s p o would write the second form. The second form tends to arise if you're trying to represent some statements about triples, e.g., "john says x . x a rdf:Statement . …".

如果你想谴责某人声称猫王还活着,你可能会这样做

If you want to decry someone's claim that Elvis lives, you'd probably just do

: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 领域,则可以使用否定属性断言:

Alternatively, if you're in the realm of OWL, you can use a negative property assertion:

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

RDF 表示看起来像

The RDF representation would look like

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

您可以看到两种方法之间的相似之处.OWL 包括一种具体化词汇及其owl:sourceIndividualowl:assertionPropertyowl:targetValue.

You can see a similarity between the two approaches. OWL includes a sort of reification vocabulary with its owl:sourceIndividual, owl:assertionProperty and owl:targetValue.