- 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