Unable to Infer Properties from Existential Restrictions for Individuals

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Unable to Infer Properties from Existential Restrictions for Individuals

Richard McGovern
Hi,

I made an ontology (with individuals) in Protege 5.2 like,

Ingredient
- Kale (kale)
- Pear (pear)
Taste
- Bitter (bitter)
- Sweet (sweet)

and some restriction super-classes of Kale and Pear, respectively:

Kale subClassOf hasTaste some Bitter
Pear subClassOf hasTaste some Sweet

Bitter complements some Sweet

and a general axiom:

(hasTaste some Bitter) SubClassOf: goesWellWith some (hasTaste some Sweet)
This is visualized in the attachment.

I would like to infer that kale goesWellWith pear. Even more simply, I would like to infer that kale hasTaste bitter. But neither of these show up in Protege 5.2 with the Fact++ 1.6.5 reasoner.

I thought that owl:someValuesFrom requires that at least one such property relation exists. Is there something I'm not understanding here?

Thanks in advance!

--
Richard McGovern
MS in Information Management - Data Science and Information Architecture
BA in Geography, BA in Mathematics
University of Washington, 2014
[hidden email] | (206) 321-6093

_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user

Desired Inference - Ingredient Synergy from Properties.png (10K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Unable to Infer Properties from Existential Restrictions for Individuals

kotsomit
Hello Richard,

> I thought that owl:someValuesFrom requires that at least one such property
> relation exists.

This is indeed so, but we don't know yet which individual it actually
relates to.
If you were to define  Taste as a singleton set (or nominal, in DL terms),
i.e.
Taste subClassOf {bitter}
then you would force the reasoner to produce the required inference.
I would suggest to rewrite your axiom as:
(hasTaste hasValue bitter) subClassOf goesWellWith (hasTaste hasValue sweet)
where "hasValue y" is simply shorthand for "hasValue some {y}".

Still, this would not automatically relate kale with pear, because pear is
not the only ingredient having a sweet taste - there might be others we
don't know of yet (Open Word Assumption).

Best regards,

Dimitrios




--
Sent from: http://protege-project.136.n4.nabble.com/Protege-User-f4659818.html
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: Unable to Infer Properties from Existential Restrictions for Individuals

Michael DeBellis-2
In reply to this post by Richard McGovern
Richard, 

That Open World assumption gets people all the time.  Here are a couple of other things to be aware of. First, make sure that you have the reasoner properly configured. If you haven't already done so go to Reasoner>Configure and see what boxes are checked.   The defaults are that not every box is checked. I usually check every box which gives you the maximum amount of inference from the reasoner and then if I have a large and complex ontology that is taking the reasoner a long time to analyze I may uncheck some boxes. 

Also, you may find SWRL useful for some types of reasoning. I'm not sure if you have to use it here, there may be a way to do it just with DL but an easy way to get what I think you are after is to write a SWRL rule:

hasTaste(?a, ?b) ^ Bitter(?b) ^ hasTaste(?c, ?d) ^ Sweet(?d) --> complements(?a, ?c)

Also, if you make the complements property Symmetric then with this rule the Reasoner will also infer that complements(?c, ?a). The above works if Bitter and Sweet are classes (subclasses of Taste). If they are literals (instances of Taste) then the rule would be:

hasTaste(?a, Bitter)  ^ hasTaste(?c, Sweet)  --> complements(?a, ?c)

Michael

On Sat, Aug 4, 2018 at 5:43 PM, Richard McGovern <[hidden email]> wrote:
Hi,

I made an ontology (with individuals) in Protege 5.2 like,

Ingredient
- Kale (kale)
- Pear (pear)
Taste
- Bitter (bitter)
- Sweet (sweet)

and some restriction super-classes of Kale and Pear, respectively:

Kale subClassOf hasTaste some Bitter
Pear subClassOf hasTaste some Sweet

Bitter complements some Sweet

and a general axiom:

(hasTaste some Bitter) SubClassOf: goesWellWith some (hasTaste some Sweet)
This is visualized in the attachment.

I would like to infer that kale goesWellWith pear. Even more simply, I would like to infer that kale hasTaste bitter. But neither of these show up in Protege 5.2 with the Fact++ 1.6.5 reasoner.

I thought that owl:someValuesFrom requires that at least one such property relation exists. Is there something I'm not understanding here?

Thanks in advance!

--
Richard McGovern
MS in Information Management - Data Science and Information Architecture
BA in Geography, BA in Mathematics
University of Washington, 2014
[hidden email] | (206) 321-6093

_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user



_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user