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

Re: OWL species and subproperties of rdfs:label

From: Atanas Kiryakov <naso@sirma.bg>
Date: Wed, 17 Jan 2007 17:28:39 +0200
Message-ID: <5e8a01c73a4c$2f7bda80$07f3fea9@sirma.int>
To: <martin.hepp@deri.org>, "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>, <OWLIM-discussion@ontotext.com>

Hi Martin,

I personally find this part of the OWL specification a bit confusing also. 
Luckily, this is irrelevant for OWLIM as it is not a DL reasoner, by design. 
Thus, it is not trying to verify weather something fits in OWL-DL or not.

The semantics support by OWLIM is 100% defined through axiomatic triples and 
entailment rules. The users of OWLIM can check and edit these rules, if 
necessary.

In the pre-defined rulesets, we have tried to provide standard 
interpretation of all the primitives. A proof of this is that OWLIM passes 
all the entailment tests, relevant to the specific ruleset. Still, full 
compliance appears irrational in the case of OWL-Lite and DL. As I had the 
chance to comment several times, we find that the DL constraints are 
inadequate for a wide range of applications. In a number of cases, the 
DL-based OWL layering makes simple things complex. The issue in subject 
provides yet another example of this. Although I have a clue regarding the 
the formal reasons for these constraints, this does not make me convinced 
that those are appropriate.

Regards,
Naso

----------------------------------------------------------
Atanas Kiryakov
Head of Ontotext Lab, http://www.ontotext.com
Sirma Group Corp, http://www.sirma.bg
Phone: (+359 2) 9768 303; Fax: 9768 311
---------------------------------------------------------- 
----- Original Message ----- 
From: "Martin Hepp" <martin.hepp@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>
Sent: Saturday, January 13, 2007 6:01 PM
Subject: Re: OWL species and subproperties of rdfs:label


> 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 Wednesday, 17 January 2007 15:32:03 UTC

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