Defining "flavors" of subClassOf in OWL ?

In Mondeca ITM internal management of classes, we have a generic
functionality somehow equivalent to the distinction between "abstract" and
"concrete" classes in Protégé. However, the distinction is not made by
typing the classes themselves, but by typing the class-subClass
relationship (aka Topic Map association). This means we have two "flavors"
of subclassing, supporting different technical treatments.

Trying to represent this in OWL, I defined two properties like

p1 rdfs:subPropertyOf rdfs:subClassOf
p2 rdfs:subPropertyOf rdfs:subClassOf

Now if I have three classes X, Y, Z such as (X p1 Y) and (Y p2 Z)

I expect from the semantics of subPropertyOf that an OWL validator would
infer:
(X subClassOf Y) (Y subClassOf Z) (X subClassOf Z)

Meaning if an ObjectProperty q has been declared e.g. of range Z, it should
be validated if used with values in X.

Not quite sure about it, I've tested precisely that situation on an example
[1], and my two favourite OWL on-line validators seem to differ on the
validation results.

http://phoebus.cs.man.ac.uk:9999/OWL/Validator seems happy with it.
http://owl.bbn.com/validator/ is not, and sends back a bunch of "range
mismatch" error.

Is this a bug in the validator, or is it a borderline example, or is it
that subtyping "subClassOf" is altogether invalid in OWL, or what?

A bottom line question is to know if that could be considered a
recommended/neutral/bad practice.

Thanks for your help

Bernard Vatant
Senior Consultant
Knowledge Engineering
Mondeca - www.mondeca.com
bernard.vatant@mondeca.com

[1]
http://www.daml.org/cgi-bin/hyperdaml?http://www.mondeca.com/owl/itmex.rdf

Received on Thursday, 10 July 2003 12:26:39 UTC