W3C home > Mailing lists > Public > public-owl-dev@w3.org > January to March 2007

RE: declaredAs

From: Boris Motik <bmotik@cs.man.ac.uk>
Date: Fri, 26 Jan 2007 19:42:24 -0000
To: "'Evren Sirin'" <evren@clarkparsia.com>
Cc: "'Matthew Horridge'" <matthew.horridge@cs.man.ac.uk>, <public-owl-dev@w3.org>
Message-ID: <000501c74182$1a7493b0$27c35882@wolf>



> -----Original Message-----
> From: Evren Sirin [mailto:evren@clarkparsia.com]
> Sent: 26 January 2007 16:49
> To: Boris Motik
> Cc: 'Matthew Horridge'; public-owl-dev@w3.org
> Subject: Re: declaredAs
> 
> On 1/26/07 10:57 AM, Boris Motik wrote:
> > Hello,
> >
> > Well, (2) is needed because an obvious property: if we create an
> ontology,
> > save it, and then load it back, we would like to get exactly the same
> > ontology. Otherwise, I'd say that a syntax is obviously broken: it
> should
> > completely preserve the set of axioms (logical or nonlogical) that are
> > contained in the ontology.
> >
> > There is a big difference between (2) and (3): (3) is used to detect the
> > type of P, whereas (2) is used to detect whether P has been explicitly
> > declared. Note that (2) implies (3), but not the other way around: if P
> is
> > not declared, you should not serialize its declaredness status, but you
> > should serialize <P, rdf:type, owl:ObjectProperty>. Hence, there indeed
> is a
> > need to distinguish the two if you are to completely recover the state
> of
> > the original ontology upon loading.
> >
> But in this case, the original ontology we had is "structurally
> inconsistent" as it is defined in Section 8.2 of the structural
> specification. Then what we are trying to preserve through
> round-tripping is its structural inconsistency because using (3) would
> have no impact on the semantics as far as I can tell (maybe this is the
> part I'm wrong). And using owl:declaredAs property to achieve this goal
> means that all valid OWL 1.0 ontologies will be categorized as
> structurally inconsistent w.r.t. OWL 1.1 spec. Structural consistency is
> not a requirement for OWL 1.1 so this is not really a problem but still
> sounds weird.
> 

That is perfectly true. First of all, declarations are not obligatory. Many
people don't want them, and in fact think that requiring declarations might
inhibit the openness of the Web infrastructure. Therefore, you need to
distinguish declarations from typing.

> Using rdf:type instead of owl:declaredAs would solve the above issue and
> simplify the syntax (and make implementation easier which I care
> obviously :). And only side-effect is that after round-tripping a
> structurally inconsistent ontology you will get additional declarations
> which will make it structurally consistent. If that is the only
> difference I will get after round-tripping I wouldn't say that syntax is
> completely broken (but just round-tripping is not guaranteed to give the
> original ontology if it is not structurally consistent at the
> beginning). If there are other side effects of using rdf:type (I didn't
> really think it through) it would be a different story though.
> 

But this would also require you to declare everything, which many people
don't like. Also, there is an important drawback related to importing. It is
a good idea to make each ontology parsable alone, without looking at the
imported ontologies.  This means that you should be able to infer the type
of each entity in an ontology only by looking at this ontology, which in
turn means that you should serialize a rdf:type triple for each entity in
each ontology. This would, in turn, mean that every ontology declares every
entity. I don't think that this is what we want.

Typing and declaredness are two orthogonal issues, and are reflected as such
in the RDF syntax. I really tried to unify the two, but came to conclusion
that this is not possible, given all the complexity of the language.

> Regards,
> Evren
> >
> > Sincerely yours,
> >
> > 	Boris
> >
> >
> >> -----Original Message-----
> >> From: Evren Sirin [mailto:evren@clarkparsia.com]
> >> Sent: 26 January 2007 15:22
> >> To: Boris Motik
> >> Cc: 'Matthew Horridge'; public-owl-dev@w3.org
> >> Subject: Re: declaredAs
> >>
> >> On 1/26/07 6:27 AM, Boris Motik wrote:
> >>
> >>> Hello,
> >>>
> >>> Well, we've been thinking about this, but decided not to do so for an
> >>> important reason. Consider an ontology O containing an object property
> P
> >>>
> >> for
> >>
> >>> which there is no declaration. A serialization of O into an RDF graph
> >>>
> >> must
> >>
> >>> ensure the following two things:
> >>>
> >>> (1) When you parse the graph, you must be able to decode the type of
> P.
> >>> (2) The parsing should correctly restore the "declaredness" status of
> P
> >>>
> >> --
> >>
> >>> that is, after parsing, the ontology should not contain a declaration
> >>>
> >> for P.
> >>
> >>> Now the problem is that, to ensure compatibility with OWL DL, we use
> >>> rdf:type to ensure (1). In the worst case, you really need to include
> a
> >>> triple
> >>>
> >>> (3) <P, rdf:type, owl:ObjectProperty>
> >>>
> >>> so that, when you parse the graph, you know what the type of P is. But
> >>>
> >> then,
> >>
> >>> you should not use rdf:type to reflect the "declaredness" status of P
> in
> >>>
> >> an
> >>
> >>> ontology; otherwise, any ontology that contains the triple (3) will
> also
> >>> contain a declaration for P.
> >>>
> >>>
> >> Boris, could you explain a little why (2) is needed in the first place.
> >> What kind of problems arise if the ontology after parsing contains a
> >> declaration for P? If the type of P will be decoded as ObjectProperty
> in
> >> the end, having (3) seems harmless.
> >>
> >> Thanks,
> >> Evren
> >>
> >>
> >>> We weren't able to find a way out of this problem and have,
> >>>
> >> consequently,
> >>
> >>> introduced the owl:declaredAs property.
> >>>
> >>> Thanks anyway for this suggestion!
> >>>
> >>> Sincerely yours,
> >>>
> >>> 	Boris
> >>>
> >>>
> >>>
> >>>> -----Original Message-----
> >>>> From: public-owl-dev-request@w3.org [mailto:public-owl-dev-
> >>>>
> >> request@w3.org]
> >>
> >>>> On Behalf Of Matthew Horridge
> >>>> Sent: 26 January 2007 10:06
> >>>> To: public-owl-dev@w3.org
> >>>> Subject: declaredAs
> >>>>
> >>>>
> >>>> All,
> >>>>
> >>>> I've been working on an OWL 1.1 parser/renderer recently, and I
> >>>> wondered if we could just use rdf:type instead of owl:declaredAs for
> >>>> entity declarations in the RDF mapping.  I can't immediately see a
> >>>> problem with doing this, and I believe it would improve backwards
> >>>> compatibility with the existing "OWL 1.0" RDF/XML mapping.  Any
> >>>> thoughts?
> >>>>
> >>>> Cheers,
> >>>>
> >>>> Matthew
> >>>>
> >>>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >
> >
> >
> >
> >
Received on Friday, 26 January 2007 19:42:48 GMT

This archive was generated by hypermail 2.3.1 : Wednesday, 27 March 2013 09:32:54 GMT