- From: Alan Ruttenberg <alanruttenberg@gmail.com>
- Date: Sat, 13 Jan 2007 01:20:32 -0500
- To: martin.hepp@deri.org, Mark van Assem <mark@cs.vu.nl>, Semantic Web <semantic-web@w3.org>, Bernard Vatant <bernard.vatant@mondeca.com>, Tim Berners-Lee <timbl@w3.org>, Marc <marc@geonames.org>, public-esw-thes@w3.org
My understanding is that annotation property assertions are completely ignored by a DL reasoner, i.e. there are no semantics of annotation properties, as far as OWL DL is concerned. Regarding annotation properties having values which are classes, at least as far as Pellet is concerned, the following is considered OWL Lite. Namespace(ex = <http://example.com/#>) Ontology(<http://example.com/#> AnnotationProperty(ex:p ) Class(ex:c partial ) Class(ex:d partial annotation(ex:p ex:c )) ) -Alan On Jan 12, 2007, at 5:32 PM, Martin Hepp wrote: > > Dear all: > A related question: > > >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? > > I was surprised to read in the OWL reference in section 7.1 [1] > that it is not allowed to use annotation properties for capturing > relationships between one class and another class, e.g., to define > an annotation property "foo:relatedClass" that can be used to > capture that a particular class is related to another one. > > In fact, I used such a construct in a helper module for eclassOWL > [2] but had to learn that importing this module makes the ontology > be OWL Full, with all known disadvantages. > > Is there any reason for this constraint? Is this maybe related to > the problem you are discussing? I had expected that there is no > constraint on the type of object for an annotation property. > > > best > martin > > [1] "The object of an annotation property must be either a data > literal, a URI reference, or an individual." > http://www.w3.org/TR/owl-ref/#Annotations > > [2] http://www.heppnetz.de/eclassowl > > ----------------------------------------------------- > martin hepp > e-mail: martin.hepp@deri.org > web: http://www.heppnetz.de > skype: mfhepp > office: +43 512 507 6465 > > Check eClassOWL, the first real-world e-business ontology > for products and services in OWL at > http://www.heppnetz.de/eclassOWL > > ----------------------------------------------------- > martin hepp > e-mail: martin.hepp@deri.org > web: http://www.heppnetz.de > skype: mfhepp > office: +43 512 507 6465 > > Check eClassOWL, the first real-world e-business ontology > for products and services in OWL at > http://www.heppnetz.de/eclassOWL > > > Mark van Assem wrote: >> Hi, >> The behaviour that you describe below does not occur in the >> Triple20 tool [1] that I frequently use. It's more of a triple >> viewer than a full blown editor like Protege (editing is not as >> nicely supported), and it only partially supports OWL DL, but it >> doesn't do any funny things. What you stored is what you see, and >> what you added/removed is exactly what is in the stored file. It >> also has a category for resources that do not have an rdf:type, >> which is handy when debugging. >> Cheers, >> Mark. >> [1] http://hcs.science.uva.nl/projects/Triple20/triple20.html >>> 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 >>> >
Received on Saturday, 13 January 2007 06:21:23 UTC