Forgive me if I'm misusing some terms, I'm just becoming familiar with RDF and reification in particular.
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 .
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:
and you can have four triples in a graph:
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 aboutx
. 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 triples p o
. That means that the questiondoesn't make a whole lot of sense. The reificiation of a statement
s p o
is a resourcex
that has the associated properties. "To reifys p o
" doesn't really mean anything except "pick anx
, and assert the corresponding triples about it."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
Alternatively, if you're in the realm of OWL, you can use a negative property assertion:
The RDF representation would look like
You can see a similarity between the two approaches. OWL includes a sort of reification vocabulary with its
owl:sourceIndividual
,owl:assertionProperty
andowl:targetValue
.