Re: Axiom annotations

[@Holger: cc'd to you to let you know, because parts of this mail are 
citing you or are about Topbraid Composer]

[@Bijan: This is a reply to both of your answers]


Bijan Parsia wrote on Wed, 18 Apr 2007, 21:36:57 +0100:

 > On Apr 18, 2007, at 8:49 PM, Michael Schneider wrote:
 >
>> Wouldn't the introduction of RDF reification into the OWL2RDF  
>> mapping exclude the reification vocabulary from being used in OWL  
>> axioms?
[...]
>> Until now, reification hasn't been blacklisted in
>>
>>   http://www.w3.org/TR/owl-semantics/mapping.html#4.2
>>
>> but then it would probably be.
>>
>> Again, yet another widely used feature of RDF which is going to be  
>> forbidden in OWL.
> 
> Some might take issue with the terms "widely used" and "feature" when  
> applied to reification.

I remember an entry about reification in Holger Knublauch's Topbraid 
Composer (TBC) Blog:

 
<http://composing-the-semantic-web.blogspot.com/2006/07/reifying-reified-relationships.html>

    "In our recent modeling exercises with real-world customers
    it became (once more) evident that reified relationships
    are a key requirement in many domains."

So (as Jeremy already reported for the case of Jena users) there seem to 
be quite a few people who really use reification.


Bijan Parsia wrote on Wed, 18 Apr 2007, 21:55:38 +0100:

> On Apr 18, 2007, at 9:36 PM, Michael Schneider wrote:
> 
>> If I correctly understand Alan's above citation from the draft,  
>> this is meant as an "EITHER s p o OR reification" (whatever form of  
>> reification will be used in the end).
[...]
>> Really, I would prefer to have a "ALWAYS s p o AND ADDITIONALLY  
>> reification IF NEEDED FOR ANNOTATION".
> 
> This is possible but a bit dangerous. There is no connection between  
> the reification and the regular, thus it's possible for them to get  
> out of synch. If they do get out of synch, how do you know that your  
> annotation is annotating *that* axiom?

Hm, can you please elaborate on this argument a little more? I am not 
sure if I really understand it completely.

What do you mean by "no connection"? When I have an RDF file containing 
an spo statement and a reified statement, I don't see any difficulties 
to decide in any possible case, if the reified statement is a 
reification of the spo statement or not. So I would say that there is a 
pretty strong connection between an spo statement and its reification, 
at least when it is in the same file/ontology. Am I wrong?

And what exactly do you mean by "getting out of sync"? Do you mean some 
situation of the kind where I change e.g. the subject of the spo 
statement, but forget to also update the rdf:subject's value of the 
reified statement? Such an accident is, of course, always possible, not 
only for reified statements. For instance, if I have an EnumeratedClass 
E and change the URI of one of its instances i in the Description of i, 
than I have to update this instance's URI in the 'oneOf' list of E, too. 
Such kinds of mistakes can easily happen when doing /manual/ editing. 
But, personally, I nearly never edit ontologies without a proper tool 
(exceptions are sometimes trivial ontologies for demonstration purposes 
in mailing list postings).

For example, I have just created an ontology with the Topbraid Composer 
(TBC) ontology editor, containing a single statement 'i1 p i2', and then 
I reified this statement (reification of statements is directly 
supported by TBC in a pretty convenient way). Then, I changed the name 
of individual 'i2' to 'i3'. This changed both, the object name of the 
regular statement, and the rdf:object's value of the reified statement. 
So no danger of getting out of sync here!

I still prefer the approach of having /always/ spo, and only additional 
reification, if needed!

 >> And specifically, RDF/XML provides me with a nice syntactic trick
 >> to get reification from an existing triple, by adding an 'rdf:ID'
 >> attribute to the predicate property, see
 >>
 >>   http://www.w3.org/TR/rdf-primer/#example20
 >>
 >> So my XML serialization would be even /smaller/ in comparison with
 >> reification without the s p o triple included.
 >
 > Uhm....how is this smaller than just having the reified one using the
 > syntactic trick? I'm missing something.

AFAIK the ID trick only works with /existing/ spo statements. So in 
order to specify in RDF/XML a reification /without/ also having the 
associated spo statement, you have to explicitly write down the full 
form of reification. This will (in general) produce larger 
serializations (measured in bytes), I suppose.

BTW, Topbraid Composer also applies the "rdf:ID in properties" trick of 
RDF/XML, when storing the created ontology into a file. Though I think 
that this is in fact done by the Jena RDF/XML serializer, which I think 
is used internally by TBC. Holger will certainly know for sure (and 
Jeremy has already confirmed that Jena uses the ID trick).


Cheers,
Michael

Received on Thursday, 19 April 2007 20:33:33 UTC