Search Mailing List Archives


Limit search to: Subject & Body Subject Author
Sort by: Reverse Sort
Limit to: All This Week Last Week This Month Last Month
Select Date Range     through    

[protege-owl] Union of class and some subclasses

cedric.peeters at fundp.ac.be cedric.peeters at fundp.ac.be
Fri Oct 24 00:43:49 PDT 2008


En réponse à Thomas Russ <tar at ISI.EDU>:

> 
> On Oct 23, 2008, at 9:26 AM, Thomas Russ wrote:
> 
> >>
> >> We can make a subclass of “LesionEvolution” called
> >> “CommonLesionEvolution” to store the common individuals and then
> >> specify
> >> the range as “LesionAEvolution” and “CommonLesionEvolution”. But
> >> anyway,
> >> I’m asking myself if it’s possible to specify a range as a union of
> a
> >> class and some of its subclasses excluding some other subclasses.
> >
> > Yes.  You can do that by just writing the expression using complement
> > (negation) of the classes you want to exclude:
> >
> >
> > range =   (LesionEvolution v LesionAEvolution) ^ (complement
> > LesionBEvolution)
> >                                                ^ (complement
> > LesionCEvolution)
> >                                                ^ ...
> 
> On further thought, the inclusion of the sublcass is actually not  
> needed, so this can be simplified to
> 
>    range = LesionEvolution ^ (complement LesionBEvolution)
>                            ^ (complement LesionCEvolution)
>                            ^ ...
> 
> You will probably also want to declare all of the subclasses to be  
> mutually disjoint.
> 

Thank you for your answers  :-) 

I've already tried this but it causes a problem: 
I switch to the Individual tab (in Protege 3.3.1), I create an individual for
"LesionA" and for the property "hasEvolution", I can choose any individual
existing in the ontology. Is it normal?

On the other hand if I just specify "range = LesionBEvolution or
LesionCEvolution" for the hasEvolution property, I can only choose individuals
from these 2 classes. 

Given this, I expected that I can only choose individuals from (refering to your
solution) Lesion Evolution excluding LesionBEvolution and excluding
LesionCEvolution. Could you explain why it's not the case?

Here are pictures to illustrate the case: 

1) hasEvolution only (LesionBEvolution or CommonEvolution)

http://i76.servimg.com/u/f76/11/16/01/52/image_10.png

2) hasEvolution only (LesionEvolution and (not LesionAEvolution) and (not
LesionBEvolution))

http://i76.servimg.com/u/f76/11/16/01/52/image_11.png


Thank you  :-) 

Cedric






More information about the protege-owl mailing list