- From: Dave Reynolds <der@hplb.hpl.hp.com>
- Date: Mon, 08 Jan 2007 15:23:00 +0000
- To: Bernard Vatant <bernard.vatant@mondeca.com>
- CC: Semantic Web <semantic-web@w3.org>, Tim Berners-Lee <timbl@w3.org>
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