Re: OWL species and subproperties of rdfs:label

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 Friday, 12 January 2007 22:32:15 UTC