- From: Michael Schneider <m_schnei@gmx.de>
- Date: Thu, 19 Apr 2007 22:38:35 +0200
- To: bparsia@cs.man.ac.uk
- CC: public-owl-dev@w3.org, Holger Knublauch <holger@topquadrant.com>
[@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