Re: OWL species and subproperties of rdfs:label

Hi Bernard,

>> Well in a sense the point of Annotation properties is that they don't 
>> really carry any semantics, that's why they can be safely used in DL.
> I understand that. So according to you, declaration of annotation 
> subproperties cannot bear any semantics. 

Note the various "in DL" qualifications.

It's true that in OWL/full you can have something which is an 
owl:AnnotationProperty and can use it in rdfs:subClassOf relations. The 
point is that as soon as you do so you are back in OWL/full. Since the 
only point of owl:AnnotationProperty is to allow you do some annotation 
while sticking in OWL/DL then if what you are trying to do is in 
OWL/full anyway I don't see much point to trying to use the annotation 
mechanism at all. Just stick to plain rdf:Property as in your second 
example.

> So would you recommend to avoid 
> such declarations altogether? And in this case, what do I do about Tim's 
> request for such declarations to be present in order to make Tabulator 
> happy?

Fundamentally by extending rdfs:label you are in OWL/full, I don't think 
there is a way round that. Personally many things I do with OWL end up 
in OWL/full and generally I don't find that to be a fatal problem.

One approach in your case might be to partition your ontology. Keep most 
of it in DL (O-DL.owl) and edit that with DL editors. For those few 
axioms which break DL put this in a separate file (O-full.owl). Then the 
ontology you publish (O.owl) can a simple top level file which 
owl:imports both the O-DL and O-full fragments.

The chances are the O-full fragment will be very small and easy to 
maintain manually. From your example so far its only axiom might be:

   <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>

That way general semantic web browsers such as Tabulator get the whole 
picture but you can still use DL editors for most of your work and 
people who need OWL/DL compliance have any easy partition of your 
ontology that they can work with.

If I remember correctly that's sort of what Dan et al did with foaf to 
get round the limitations of owl:InverseFunctionalProperty.

The second alternative is to stick to OWL/full and ask the editor 
maintainers nicely if they could arrange to round trip your OWL/full 
files without breaking quite so badly.

>>> 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)
>>
>> No. For example, instead of ex:SomePropertyType consider 
>> owl:TransitiveProperty then there is no reason why a subProperty of a 
>> transitive property should itself be transitive.
> OK I see an example
> 
> ex:ancestorOf         rdf:type      owl:TransitiveProperty
> ex:fatherOf         rdfs:subPropertyOf      ex:ancestorOf
> 
> and ex:fatherOf is not a transitive property.

Exactly.

> So there is no formal opposition (in OWL-Full) to have a 
> owl:DatatypeProperty being a subproperty of rdfs:label, even in an 
> ontology where annotation, datatype and object properties are disjoint.

In OWL/DL then annotation, datatype and object properties are disjoint 
so you can't have a datatype property as a subproperty of rdfs:label. 
Indeed you can't have a subproperty of rdfs:label, period.

In OWL/full they are not required to be disjoint.

If by "even in an ontology where ... are disjoint" you mean you are 
explicitly declaring them yourself to be disjoint then you would have an 
inconsistency even in OWL/full. However, I doubt you are doing that.

> Well I guess I am not the only one to get this wrong, if I judge by the 
> way RDF tools handle this. 

Careful now, the tools that gave you problems were OWL/DL tools not RDF 
tools. I do agree that it would be better if OWL/DL editors degraded 
more gracefully when faced with OWL/full.

> Are such examples documented somewhere?

Examples of tricks you can/can't play with AnnotationProperties?
Not that I know of. If you are in DL you can't do anything with them 
except annotate and if you are not in DL you probably wouldn't use them 
in the first place.

Dave

Received on Monday, 8 January 2007 15:23:25 UTC