Re: Legal to have a recursive definition of a class?

[Roger L. Costello]
> Is this legal:
>
> <owl:Class rdf:ID="Juicer">
>        <rdfs:subClassOf rdf:resource="#Appliance"/>
>        <rdfs:subClassOf>
>               <owl:Restriction>
>                       <owl:onProperty rdf:resource="#makesObsolete"/>
>                       <owl:allValuesFrom rdf:resource="#Juicer"/>
>              </owl:Restriction>
>       </rdfs:subClassOf>
> </owl:Class>
>

I do not think it would indicate what you expect, though.  It says loosely
that a "Juicer" is an Applicance, intersected with some class that has a
particular property whose range is Juicer.  For example, {BobsBlender,
makesObsolete, StansJuicer}.  If this is a possible usage of makesObsolete,
then it seems that a Juicer could be a Blender, implying perhaps class
equivalence, depending on what other statements have been made.  If this
usage of makesObsolete were impossible because of other statements, then
Juicer might be an empty class.

Were you trying to capture the concept that one __model__ of Juicer can be
made obsolete by another, one individual instance of a Juicer could be made
obsolete by another instance of a Juicer, or that one entire class of
applicances can be made obsolete by another?

Cheers,

Tom P

Received on Thursday, 22 May 2003 18:25:50 UTC