restricting to subclasses
eshaya at umd.edu
Thu Mar 15 12:16:16 PDT 2007
Here is a small problem with OWL Restrictions. When the restriction on
a property is SomeValuesOf, you can not easily narrow down this
restriction in subsequent descendents. So say you have object A and
measurement class M.
A hasMeasurement M.
and you want to have Aa (a subclass of A) have measurement Mm (A
subclass of M) but not the entire M class. You can not use
AllValuesFrom because then A can not have any other hasMeasurement. So
you try SomeValuesFrom
Aa hasMeasurement some Mm.
Unfortunately this does not restrict the M here to be only Mm. It just
ensures that there is at least one Mm, there could still be a Mn.
This gets worse for deeper levels:
Aaa hasMeasurement some Mmm.
This just ensures that Aaa has subclass of Mm, Mmm, but Aaa also
inherits from Aa and therefore must have at least one Mm and still could
have an Mn.
Now, I would have expected that using subproperties would be the way
out. One might expect that if I had a subproperty of hasMeasurement
call hasMm then one could provide the statement
Aa hasMm Mm.
And only Mm would go at the end of Aa hasMm. Unfortunately, Aa still
inherits the hasMeasurement and one does not accomplish the goal of
preventing Aa hasMeasurement Mn.
I can think of a way to get what I am after but it is ugly. It uses
Aa hasMeasurement only (Measurement and not M) and Mm
This removes all M from the allowable Measurements and then adds Mm.
Of course, a real case will be more complicated because there may be
other types of Measurements which need to be narrowed down. One could
also create a class AaMeasurement with subclasses Mm, M1, M2m and M3,
some of which are subclasses specifically for Aa and some not. And then
Aa hasMeasurement only AaMeasurement.
Can anyone think of a better way?
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 257 bytes
Desc: not available
More information about the semantics