- From: Denny Vrandecic <dvr@aifb.uni-karlsruhe.de>
- Date: Wed, 20 Oct 2004 17:09:02 +0200
- To: public-swbp-wg@w3.org
Hello all, in this mail I am considering an alternative solution to the problem addressed in the W3C Working Draft „Representing Classes as Property Values“ [1]. It is just an idea, and I hope you won't tie me up and burn me for it being so boringly and obviously wrong, but instead correcting me and telling me what's wrong about it. I like staying in OWL Lite, and I – being a programmer and thus being lazy – don't want to program anything twice. Still, I prefer intuitive ways, because they will probably be easiest to adopt by the user. Further on, I want to use some approach without extra instances caretaking, without the need to keep two ontologies consistent, without unclean modeling. So I can't use approach 1 (it doesn't remain in OWL Lite or OWL DL), approach 2 (LionSubject is not an instance of the class Animal, which would be inferred by approach 2), approach 3 (although it offers clean modeling, there is a lot of caretaking needed for consistency reasons), approach 4 (instance caretaking) nor approach 5 (no semantics defined for annotations). Yeah, you know all the problems and list them already. I want to suggest yet another approach, which combines some ideas of the above approaches. I will stick to the given example. First model your animals taxonomy as you always would, just with one little twist: don't use the rdfs:subclassOf-relation, but another one you define here (call it whatever you like, for the example I will take :subsumes). :Category :subsumes a rdfs:Property :Animal a :Category :Lion :subsumes :Animal :AfricanLion :subsumes :Lion This is your actual taxonomy, that defines the hierarchy. You would like to use it as a class hierarchy and you would like to use it as a topic hierarchy, but due to the OWL DL constraints, you can't. Or can you? Let's name the document above www.ex.org/AnimalTopics, namespace anitop. Now, for us to be able to use it as a topic hierarchy, we will make a second document, basically being: :Topic a owl:Class anitop:Category owl:equivalentClass :Topic :subTopicOf a owl:TransitiveProperty rdfs:domain :Topic rdfs:range :Topic anitop:subsumes owl:equivalentProperty :subTopicOf And it has to owl:imports anitop. Let's call this www.ex.org/AnimalTopicsSpec, ns anitops. This way we can use anitop:Lion, anitop:AfricanLion and so on as property values, as they are mere instances of anitops:Topic (this is inferred by the properties domain and range specification). Now we make another URI, www.ex.org/AnimalTax, namespace anitax, that it actually just a redirect to www.ex.org/AnimalTopics (I guess, the other way is more intuitive, but this depends on your philosophical commitment). We now make a final document www.ex.org/AnimalTaxSpec, that offers: anitax:Category rdfs:subClassOf owl:Class anitax:subsumes owl:equivalentProperty rdfs:subClassOf This time anitax gets imported. Now we can make a certain lion being an instance of anitax:Lion, and the book having the topic anitop:Lion. Both times the initally defined hierarchy gets used. Looking forward to your comments. Best regards, Denny [1] http://www.w3.org/TR/swbp-classes-as-values/ -- Denny Vrandecic Institute AIFB, University of Karlsruhe (TH) phone: +49 (0) 721 608 6558 http://www.aifb.uni-karlsruhe.de/WBS/
Received on Wednesday, 20 October 2004 15:11:01 UTC