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] Query: Subclasses or Sibling

william fitzgerald wfitzgerald at tssg.org
Tue Apr 3 02:59:58 PDT 2007


Ronald,

Two possible solutions but we need the experts here on this one:

Method1:
You can still kind of answer your question using DL reasoning via 
CLASSES as opposed to instances.

So you create an individual of the class Pizza, under subsumption that 
individual should be re-organized in the hierarchy however lets suppose 
you defined a COMPLETE class in Pizza called:

MenuToppingChoice \equiv
\exist hasTopping Cheese \sqcap
\exist hasTopping Tomato \sqcap

Note no closure.

given the RonaldPizza definition (previouse email) the reasoner will now 
classify it under MenuToppingChoice also. hence any pizza instance that 
is a RonaldPizza instance is an instance of your query or probe class 
MenuToppingChoice and hence you found your pizza!

Method 2:

I think dealing with individuals is more a rules engine thing than a DL 
reasoner area.

So you could use SWRL to reason/infer over individuals. From what I can 
tell SWRL will answer questions like: Ronald has a brother called Bob, 
Ronald has a daughter called Alice. is Bob an uncle? SWRL, i believe can 
answer those questions.

Protege has a SWRL plugin tab.

I hope the experts in ontologies can provide you with a definitive 
answer here.

regards,
Will.


Ronald Cornet wrote:
>> Agree?
>>     
>
> Yes and no.
> I agree it works the way you do it.
> But I like to do it this way:
> I instantiate "Pizza" (NOT RonaldPizza) and put cheese and tomato on it.
> I want to ask the reasoner: what is the 'name' of this pizza, and get the answer "RonaldPizza".
> As long as I don't make explicit that this instantiated Pizza only contains cheese and tomato, it will not be recognized as a RonaldPizza.
>
> Agree?
> Anyone knows a solution?
>
> Ronald
>
>
>   
>> Hi Ronald,
>>
>> I would have thought that you wouldn't need to do this.
>>
>> That is, you defined a class of anonymous individuals that 
>> have relationships to other individuals of other classes. 
>> hence any instance of a class then must comply with those 
>> class restrictions in order to be a member.
>>
>> so a Class RonaldPizza that has relationship restrictions as follows:
>> \exist hasTopping Cheese \sqcap
>> \exist hasTopping Tomato \sqcap
>> \forall hasTopping(Cheese \sqcup Tomato)
>>
>> So RonaldPizza is restricted to having Cheese and Tomato and 
>> only those toppings. if an instance or individual is a member 
>> of this class then it must comply with those restrictions. 
>> And it complies with different levels of compliance based on 
>> RoanldPizza been primitive or complete.
>>
>> So an instance ronpizza1 of RonaldPizza when placed in your 
>> mouth must only have a taste of tomato and cheese and nothing else.
>>
>> Hence no need to close off instances per say.
>>
>>
>>
>> Ronald Cornet wrote:
>>     
>>>> I wonder if we have any Pizza developers ie. the Manchester 
>>>> University gurus out there that cans shed some light on 
>>>>         
>> our queries.
>>     
>>> I hope so!
>>>
>>>
>>>       
>>>> I am not sure if I fully understand item 2 of your 
>>>>         
>> request, but when 
>>     
>>>> I build my ontology in Protege, weather a class is primitive or 
>>>> complete I use the closure axiom (\forall) across the 
>>>>         
>> properties that 
>>     
>>>> I want to restrict to certain classes. In the Classes GUI 
>>>>         
>> on the left 
>>     
>>>> are a hierarchy of classes and on the right you have property 
>>>> restrictions.
>>>> right click on a \exists property for example \exists 
>>>>         
>> hasTopping XYX 
>>     
>>>> and then scroll to option for axiom closure.
>>>>
>>>> Has this answered your question?
>>>>
>>>>         
>>> No, I understand how to do this with classes, as you describe above.
>>> I do not understand how to do this with instances.
>>>
>>> So I instantiate a pizza, put some ingredients on it, and 
>>>       
>> then want to express there aren't any other ingredients.
>>     
>>> Ronald
>>>
>>>
>>>       
>> --
>> William M. Fitzgerald,
>> PhD Student,
>> Telecommunications Software & Systems Group, Waterford 
>> Institute of Technology, Cork Rd.
>> Waterford.
>> Office Ph: +353 51 302937
>> Mobile Ph: +353 87 9527083
>>
>> _______________________________________________
>> 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
>>
>>
>>     
>
> _______________________________________________
> 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 
>
>   

-- 
William M. Fitzgerald,
PhD Student,
Telecommunications Software & Systems Group,
Waterford Institute of Technology,
Cork Rd.
Waterford.
Office Ph: +353 51 302937
Mobile Ph: +353 87 9527083 




More information about the protege-owl mailing list