RE: ISSUE-94 (n-ary constucts and RDF): Problem with roundtripping when going from functional-style syntax into RDF and back

Hello,

You are right in noting that 

EquivalentClasses( c_1 ... c_n )

does not introduce a new entity, at least not in the structural specification. It is also true that

_:x rdf:type owl11:AllEquivalentClasses
_:x owl11:members T(SEQ c_1 ... c_n)

does introduce a new resource. This is, however, necessary because we do not have relations of arbitrary arity in RDF; hence, the
only thing you can do is to reify the relation.

You should thing of the individual _:x as just being a "syntactic quirk". We don't want to say anything about it; we are just using
it to encode an n-ary relation. This individual has exactly the same functionality as the blank nodes used to encode elements in an
RDF list: you also have to introduce them in order to represent the list; however, you don't want to really do anything with them
other than encode some n-ary syntax.


Note also that this already occurs in OWL 1.0's owl:AllDifferent encoding of the DifferentIndividuals construct. Hence, the
introduction of these new individuals for, say, EquivalentClasses does not introduce a precedent into the specification.

I hope that this helps.

Regards,

	Boris

> -----Original Message-----
> From: public-owl-wg-request@w3.org [mailto:public-owl-wg-request@w3.org] On Behalf Of Ivan Herman
> Sent: 17 January 2008 09:47
> To: OWL Working Group WG
> Subject: Re: ISSUE-94 (n-ary constucts and RDF): Problem with roundtripping when going from
> functional-style syntax into RDF and back
> 
> Boris,
> 
> I need a clarification.
> 
> OWL Working Group Issue Tracker wrote:
> >
> > 4. Proposed solution
> > --------------------
> >
> > The general approach to handling this issue would be along the lines of AllDifferent from OWL 1.0.
> Consider again axiom (1). If n is equal to 2, then, to be compatible with OWL 1.0, we might translate
> the axiom into (2). If n is different from 2, however, we would translate it into the following RDF
> triples:
> >
> > (8) _:x rdf:type owl11:AllEquivalentClasses
> > (9) _:x owl11:members T(SEQ c_1 ... c_n)
> 
> 
> My understanding is that
> 
> EquivalentClasses( c_1 ... c_n )
> 
> does not define any new entity, but makes a statement about existing
> ones. However
> 
> _:x rdf:type owl11:AllEquivalentClasses
> _:x owl11:members T(SEQ c_1 ... c_n)
> 
> introduces a new resource (_:x) and makes statement on that new
> resource. Are these two really the same?
> 
> I may have missed something, though
> 
> Ivan
> 
> 
> >
> > There was some objection to the vocabulary bloat. However, most users are unlikely to deal with RDF
> directly anyway: they will use editors for their ontologies, and these editors can hide the
> underlying complexity.
> >
> >
> > Regards,
> >
> > 	Boris
> >
> >
> >
> >
> 
> --
> 
> Ivan Herman, W3C Semantic Web Activity Lead
> Home: http://www.w3.org/People/Ivan/
> PGP Key: http://www.ivan-herman.net/pgpkey.html
> FOAF: http://www.ivan-herman.net/foaf.rdf

Received on Thursday, 17 January 2008 10:01:43 UTC