unreification

Hi,

Apologies if  this has been discussed before, I couldn't find anything in
the archive. I have question to do with the procedure for "undoing" a
reification. 

Suppose I have statements in the form S:[subject, predicate, object], in
some api with a Model M (a la Jena or Stanford) and I have one such
statement in M: 

	S'	:[s, p, o]. 

and I reify it paraphrasing the RDFm recc as follows with respect the
resource Rx by adding four triples to M:

	S''	:[Rx, rdf:type, rdf:Statement] 
      	S''' 	:[Rx, rdf:subject, s] 
      	S'''' 	:[Rx, rdf:predicate, p] 
      	S'''''	:[Rx, rdf:object, o] 

The RDFm recc states: 

"From the standpoint of an RDF processor, facts (that is, statements) are
triples that are members of Statements. Therefore, the original statement
remains a fact despite it being reified since the triple representing the
original statement remains in Statements. We have merely added four more
triples. "

Fine, that tells me what to do to reify a statement. And that gives me M
containing:

	S'	:[s, p, o]. 
	S''	:[Rx, rdf:type, rdf:Statement] 
      	S''' 	:[Rx, rdf:subject, s] 
      	S'''' 	:[Rx, rdf:predicate, p] 
      	S'''''	:[Rx, rdf:object, o] 

But it doesn't tell me what to do to unreify a statement. . So, what can I
expect to happen when: 

a: I remove Rx?
b: I remove any of the added four triples?
c: I remove S'

Can I assume that any removal operation above has the side effect of
removing other statements (the four added triples)? 

I think it should remove them. I also think it should barf if an attempt is
made to remove any of S''', S'''', S'''' before Rx or S'', 'cos that's nice
and handy.  But this implies some statements are  to be treated differently
from other statements. Or perhaps that some statements are not independent
(this may be a tarpit if we hold that statements are indeed facts: yuck). I
don't want to even think about what should happen when any of  S'', S''',
S'''', S''''' is in turn reified by another four triples...

Is it explicitly stated anywhere what the correct behavior is? And if it
isn't, should the behavior of any RDF processor that allows removing
statements that reify other statements be specifically outlined ? I think
it's probable that RDF Models which allow unreification need some form of
transaction semantics or truth maintenance. 

-Bill de hÓra

Received on Thursday, 16 November 2000 07:56:50 UTC