W3C home > Mailing lists > Public > semantic-web@w3.org > January 2007

Re: OWL species and subproperties of rdfs:label

From: Bernard Vatant <bernard.vatant@mondeca.com>
Date: Mon, 08 Jan 2007 18:52:02 +0100
Message-ID: <45A284C2.1020606@mondeca.com>
To: Dave Reynolds <der@hplb.hpl.hp.com>
Cc: Semantic Web <semantic-web@w3.org>, Marc <marc@geonames.org>

Dave

Thanks again for those detailed explanations which make perfect sense to 
me. So I will come up now with two versions of geonames ontology, one in 
OWL-Lite and one in OWL-Full.
The difference being the following block in the OWL-Full version, 
containing the declaration of rdfs:label subproperties. As you say, 
explicit and easy to maintain.

<!-- OWL-Full part -->

<!-- Declaration of subproperties of rdfs:label -->
<!-- Remove to use with OWL-DL tools -->

<rdf:Description rdf:about="#name">
    <rdfs:subPropertyOf 
rdf:resource="http://www.w3.org/2000/01/rdf-schema#label"/>
</rdf:Description>

<rdf:Description rdf:about="#alternateName">
    <rdfs:subPropertyOf 
rdf:resource="http://www.w3.org/2000/01/rdf-schema#label"/>
</rdf:Description>

<rdf:Description rdf:about="http://www.w3.org/2004/02/skos/core#prefLabel">
    <rdfs:subPropertyOf 
rdf:resource="http://www.w3.org/2000/01/rdf-schema#label"/>
</rdf:Description>

<rdf:Description rdf:about="http://www.w3.org/2004/02/skos/core#altLabel">
    <rdfs:subPropertyOf 
rdf:resource="http://www.w3.org/2000/01/rdf-schema#label"/>
</rdf:Description>

<!-- End of OWL-Full part -->

As for the option ... "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. "
I've read enough remarks during Protégé+OWL plugin development that I 
had "exotic requirements", so I decided at some point to avoid any 
further feature request. ;-)

Cheers

Bernard


Dave Reynolds a écrit :
>
> 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

-- 

*Bernard Vatant
*Knowledge Engineering
----------------------------------------------------
*Mondeca**
*3, cité Nollez 75018 Paris France
Web:    www.mondeca.com <http://www.mondeca.com>
----------------------------------------------------
Tel:       +33 (0) 871 488 459
Mail:     bernard.vatant@mondeca.com <mailto:bernard.vatant@mondeca.com>
Blog:    Leçons de Choses <http://mondeca.wordpress.com/>
Received on Monday, 8 January 2007 17:52:11 UTC

This archive was generated by hypermail 2.4.0 : Tuesday, 5 July 2022 08:44:59 UTC