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

Timothy Redmond tredmond at stanford.edu
Wed Oct 29 08:49:24 PDT 2008


Your question comes down to an issue of how much inference should be  
done inside Protege.

> 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?

In order to determine if an individual can be the value of the  
hasEvolution method it needs to determine if the individuual in in  
your range

>>   range = LesionEvolution ^ (complement LesionBEvolution)
>>                           ^ (complement LesionCEvolution)
>>                           ^ ...

This expression can be arbitrarily complex so in order to do a full  
job, Protege would have to invoke a reasoner.  It is true that it  
wouldn't take too much work to do your case but then somebody would  
come up with another seemingly obvious inference that should be done.

> 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.

So this inference is done.  Basically if the range is a union of named  
classes you will get the inference that you are expecting. But for  
more complicated expressions your approach is still correct. If you  
then run an inference engine (e.g. pellet) you will see that it is  
able to use the range property in its inferences.

-Timothy

>  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?

On Oct 24, 2008, at 9:43 AM, cedric.peeters at fundp.ac.be wrote:

> 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
>
>
>
> _______________________________________________
> protege-owl mailing list
> protege-owl at lists.stanford.edu
> https://mailman.stanford.edu/mailman/listinfo/protege-owl
>
> Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03




More information about the protege-owl mailing list