- From: Alistair Miles <a.j.miles@rl.ac.uk>
- Date: Mon, 08 Jan 2007 12:50:23 +0000
- To: Bernard Vatant <bernard.vatant@mondeca.com>
- CC: public-esw-thes@w3.org
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