W3C home > Mailing lists > Public > public-esw-thes@w3.org > January 2007

Re: OWL species and subproperties of rdfs:label

From: Martin Hepp <martin.hepp@deri.org>
Date: Sat, 13 Jan 2007 17:01:54 +0100
Message-ID: <45A90272.3010503@deri.org>
To: Alan Ruttenberg <alanruttenberg@gmail.com>
CC: 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, Ilya Zaihrayeu <ilya@dit.unitn.it>, MaLLi@cn.ibm.com, Atanas Kiryakov <naso@sirma.bg>

Dear Alan:
I had assumed the same. But Ilya Zaihrayeu (CC) pointed me to the fact 
that this was not covered by OWL DL, following the section 7.1. 
definition that the object of an annotation property can only be a data 
literal, a URI reference, or an individual, but NOT another class. And 
in fact, while OWLIM loads the respective ontology without any problem, 
IBM's Minerva complains that the ontology modules using those annotation 
properties are in OWL Full (thanks to Li Ma from IBM Beijing for testing!).

If you want to check the issue locally it: the respective statements are 
in the eclassOWL modules
- eclassClassesProperties_51en.owl and
- eclassPropertiesValues_51en.owl.

Both are available at http://www.heppnetz.de/eclassowl

Who is right? OWLIM or Minerva? :-)

Best
Martin

PS: This is no general problem with eClassOWL; it just affects these two 
   optional modules that can be used even without any reasoner.


 >>> an OWL Light or DL ontology you propose to create one class per 
taxonomy
 >>> category and then link them using an annotation property. But as it
seems
 >> to
 >>> follow from the OWL reference document, there is a certain restriction
on
 >>> the object of annotation properties in OWL DL. Namely, it can only 
  (see
 >>> section 7.1). Could you describe how you resolved this issue?



Alan Ruttenberg wrote:
> 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 16:02:05 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 2 March 2016 13:32:07 UTC