- From: Bernard Vatant <bernard.vatant@mondeca.com>
- Date: Mon, 08 Jan 2007 12:55:42 +0100
- To: Semantic Web <semantic-web@w3.org>, Tim Berners-Lee <timbl@w3.org>, Marc <marc@geonames.org>, public-esw-thes@w3.org
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/>
Received on Monday, 8 January 2007 11:55:54 UTC