comment: Representing Classes as Property Values

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