Re: OWL species and subproperties of rdfs:label

Hi all,

I ran into this behaviour when trying to create a version of SKOS Core 
that could be imported into protege and swoop. I haven't checked to 
see what protege 4 does yet ...

Cheers,

Al.

Bernard Vatant wrote:
> 
> Hi all
> 
> This is a public follow-up of a private exchange with Tim and Marc about
> Geonames ontology.  To sum it up, I added to this ontology the
> declaration of various naming attributes as subproperties of rdf:label,
> in order, as Tim suggested, to make those properties available for
> display in tools like Tabulator. Some of these simple declarations are
> found in SKOS vocabulary, e.g.,
> 
> skos:prefLabel      rdfs:subPropertyOf      rdfs:label
> 
> Unfortunately, when incorporated in a OWL ontology, such declarations
> have unexpected dramatic consequences, since rdfs:label is defined by
> OWL as a built-in owl:AnnotationProperty, and I suppose every other OWL
> editor will show and use rdfs:label as such. But devil is in the
> details. Subproperty declaration is not allowed for annotation
> properties in OWL-DL, so the above declaration added to a OWL-Lite
> ontology shifts it to OWL-Full. That's what happened to the latest
> version of geonames ontology. Does not seem big deal to begin with, but
> unfortunately the kind of OWL-Full-ness brought about by such
> declarations has really messy consequences if you try to manage them
> with current ontology editors such as SWOOP or Protégé.
> 
> SWOOP 2.3 just ignores such subproperty declarations when loading the
> file, and they are removed when you save the file.
> 
> Protégé 3.2 behaviour is more tricky. The GUI just does not show such
> properties but they are not removed from the RDF source by the Jena
> backend, and stay in the RDF file when you save. But moreover, Protégé
> insists that every owl:AnnotationProperty must be either
> owl:DatatypeProperty or owl:ObjectProperty, and adds the former by
> default. Which is IMO a very strange interpretation of OWL specification.
> 
> So, to sum it up, suppose I declare the following in the original ontology
> 
>  <owl:AnnotationProperty    
> rdf:about="http://www.example.org/ontology#altName">
>   <rdfs:subPropertyOf    
> rdf:resource="http://www.w3.org/2000/01/rdf-schema#label"/>
>  </owl:AnnotationProperty>
> 
> Loading and saving in SWOOP 2.3 yields back
> 
> <owl:AnnotationProperty
> rdf:about="http://www.example.org/ontology#altName"/>
> 
> The subproperty declaration is deleted
> 
> Loading and saving in Protégé 3.2 yields back
> 
>   <owl:AnnotationProperty
> rdf:about="http://www.example.org/ontology#altName">
>     <rdfs:subPropertyOf
> rdf:resource="http://www.w3.org/2000/01/rdf-schema#label"/>
>     <rdf:type
> rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
>   </owl:AnnotationProperty>
> 
> The DatatypeProperty class is added
> 
> Now if I don't want to presume the property type and just declare
> 
>  <rdf:Property     rdf:about="http://www.example.org/ontology#altName">
>   <rdfs:subPropertyOf    
> rdf:resource="http://www.w3.org/2000/01/rdf-schema#label"/>
>  </rdf:Property>
> 
> SWOOP just ignores this declaration altogether, and the property is
> killed when saving.
> Protégé does not show the property in the GUI, but Jena saves it in the
> original form.
> 
> Well, all that is *very messy* indeed. Looks like that the semantics of
> annotation subproperties is defined nowhere, and randomly implemented in
> tools. OWL specification just says: this is not DL any more, go figure
> what it means. I'm not even sure that a subproperty of an annotation
> property is an annotation property. Is this entailed by RDFS semantics?
> 
> a:myProperty1      rdfs:subPropertyOf      b:yourProperty2
> b:yourProperty2       rdf:type      ex:SomePropertyType
> 
> Does the above entails in RDFS
> 
> a:myProperty1        rdf:type       ex:SomePropertyType
> 
> ?? (I guess yes, but maybe I'm wrong)
> 
> If yes, then applied to
> 
> skos:prefLabel      rdfs:subPropertyOf      rdfs:label   (by SKOS
> vocabulary)
> rdfs:label         rdf:type      owl:AnnotationProperty   (by OWL
> specification)
> 
> entails
> 
> skos:prefLabel      rdf:type      owl:AnnotationProperty
> 
> ... which is not the kind of entailment Protégé or SWOOP seem to support.
> 
> Do I miss something or is this really Terra Incognita in RDF semantics
> world?
> 
> Thanks for enlightnments.
> 
> Bernard
> 
> --
> 
> *Bernard Vatant
> *Knowledge Engineering
> ----------------------------------------------------
> *Mondeca**
> *3, cité Nollez 75018 Paris France
> Web:    www.mondeca.com <http://www.mondeca.com>
> ----------------------------------------------------
> Tel:       +33 (0) 871 488 459
> Mail:     bernard.vatant@mondeca.com <mailto:bernard.vatant@mondeca.com>
> Blog:    Leçons de Choses <http://mondeca.wordpress.com/>
> 
> 

-- 
Alistair Miles
Research Associate
CCLRC - Rutherford Appleton Laboratory
Building R1 Room 1.60
Fermi Avenue
Chilton
Didcot
Oxfordshire OX11 0QX
United Kingdom
Web: http://purl.org/net/aliman
Email: a.j.miles@rl.ac.uk
Tel: +44 (0)1235 445440

Received on Monday, 8 January 2007 12:51:26 UTC