Reasoning on Existential restriction -protege OWL: Reg

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

Reasoning on Existential restriction -protege OWL: Reg

madan m

Dear all,
I modeled the following using protege-OWL.
Dance student is a student who has Master.

classes: Student, DanceStudent, Master
object type property: hasMaster
individual of DanceStudent(amol)
Necessary condition defined on DanceStudent:
              student and (hasMaster some Master)

After running the reasoner, i expect the individual "amol" will have the inferred axiom as : hasMaster some Master.  (due to existential restriction imposed)
But it is not inferred by the reasoner?
can you pls clarify?
anything went  wrong?

ilanka

_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: Reasoning on Existential restriction -protege OWL: Reg

Michael DeBellis-2
Banka, are you saying you expected the Reasoner to give you an error because amol is an instance of DanceStudent but has no value for hasMaster? If that is the case you are running into the Open World Assumption (OWA). Most databases and virtually all programming languages take a closed world assumption (CWA). If some information isn't in the database the assumption is that the data just doesn't exist, so with a CWA that is the behavior you would get. But with an OWA if some data is not there that the axioms tell us should be there, the assumption is that the data exists but is simply not known. The rational was that for a system meant to deal with the Internet the OWA made more sense. So to get an error you would need some axiom (or some inference that was the result of other axioms) that said explicitly amol has no value for hasMaster. 

This presentation gives a good overview of the differences between OWA and CWA: http://www.cs.man.ac.uk/~drummond/presentations/OWA.pdf   

BTW, another interpretation would be you expected the Reasoner to just pick some value for hasMaster. I don't think that's what you meant but I mention it just because we had someone a while back who thought that was the way the reasoner should work. Of course it can't do that because the Reasoner has no concept of your domain and can't pick random values based on axioms that say a DanceStudent must have SOME master. That's not enough information to know which Master is the correct one. 

Hope that helps.

Michael

On Tue, Jun 18, 2019 at 2:34 AM madan m <[hidden email]> wrote:

Dear all,
I modeled the following using protege-OWL.
Dance student is a student who has Master.

classes: Student, DanceStudent, Master
object type property: hasMaster
individual of DanceStudent(amol)
Necessary condition defined on DanceStudent:
              student and (hasMaster some Master)

After running the reasoner, i expect the individual "amol" will have the inferred axiom as : hasMaster some Master.  (due to existential restriction imposed)
But it is not inferred by the reasoner?
can you pls clarify?
anything went  wrong?

ilanka
_______________________________________________
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
Reply | Threaded
Open this post in threaded view
|

Re: Reasoning on Existential restriction -protege OWL: Reg

Jim McCusker
It could however, construct a blank node that conforms to the restrictions set out. This would be consistent because of the non-unique naming assumption. However, reasoners don't generally do this. There are more than a few use cases where this would be useful, however, like the one above. It would allow additional facts to be potentially inferred about this master, if there are further restrictions that apply to it.

Jim

On Tue, Jun 18, 2019 at 9:55 AM Michael DeBellis <[hidden email]> wrote:
Banka, are you saying you expected the Reasoner to give you an error because amol is an instance of DanceStudent but has no value for hasMaster? If that is the case you are running into the Open World Assumption (OWA). Most databases and virtually all programming languages take a closed world assumption (CWA). If some information isn't in the database the assumption is that the data just doesn't exist, so with a CWA that is the behavior you would get. But with an OWA if some data is not there that the axioms tell us should be there, the assumption is that the data exists but is simply not known. The rational was that for a system meant to deal with the Internet the OWA made more sense. So to get an error you would need some axiom (or some inference that was the result of other axioms) that said explicitly amol has no value for hasMaster. 

This presentation gives a good overview of the differences between OWA and CWA: http://www.cs.man.ac.uk/~drummond/presentations/OWA.pdf   

BTW, another interpretation would be you expected the Reasoner to just pick some value for hasMaster. I don't think that's what you meant but I mention it just because we had someone a while back who thought that was the way the reasoner should work. Of course it can't do that because the Reasoner has no concept of your domain and can't pick random values based on axioms that say a DanceStudent must have SOME master. That's not enough information to know which Master is the correct one. 

Hope that helps.

Michael

On Tue, Jun 18, 2019 at 2:34 AM madan m <[hidden email]> wrote:

Dear all,
I modeled the following using protege-OWL.
Dance student is a student who has Master.

classes: Student, DanceStudent, Master
object type property: hasMaster
individual of DanceStudent(amol)
Necessary condition defined on DanceStudent:
              student and (hasMaster some Master)

After running the reasoner, i expect the individual "amol" will have the inferred axiom as : hasMaster some Master.  (due to existential restriction imposed)
But it is not inferred by the reasoner?
can you pls clarify?
anything went  wrong?

ilanka
_______________________________________________
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


--
Jim McCusker

Director, Data Operations
Tetherless World Constellation
Rensselaer Polytechnic Institute
[hidden email]
http://tw.rpi.edu

_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: Reasoning on Existential restriction -protege OWL: Reg

samsontu
In reply to this post by Michael DeBellis-2
Another interpretation of the question is why ilanka doesn’t see that amol is an individual of type (hasMaster some Master). For practical reasons, Protege just doesn’t display in the GUI any all of the possible inferred class expressions that an individual may satisfy. The reasoner certainly made the inference, as you can verify in the DL Query Tab. 

With best regards,
Samson


On Jun 18, 2019, at 6:50 AM, Michael DeBellis <[hidden email]> wrote:

Banka, are you saying you expected the Reasoner to give you an error because amol is an instance of DanceStudent but has no value for hasMaster? If that is the case you are running into the Open World Assumption (OWA). Most databases and virtually all programming languages take a closed world assumption (CWA). If some information isn't in the database the assumption is that the data just doesn't exist, so with a CWA that is the behavior you would get. But with an OWA if some data is not there that the axioms tell us should be there, the assumption is that the data exists but is simply not known. The rational was that for a system meant to deal with the Internet the OWA made more sense. So to get an error you would need some axiom (or some inference that was the result of other axioms) that said explicitly amol has no value for hasMaster. 

This presentation gives a good overview of the differences between OWA and CWA: http://www.cs.man.ac.uk/~drummond/presentations/OWA.pdf   

BTW, another interpretation would be you expected the Reasoner to just pick some value for hasMaster. I don't think that's what you meant but I mention it just because we had someone a while back who thought that was the way the reasoner should work. Of course it can't do that because the Reasoner has no concept of your domain and can't pick random values based on axioms that say a DanceStudent must have SOME master. That's not enough information to know which Master is the correct one. 

Hope that helps.

Michael

On Tue, Jun 18, 2019 at 2:34 AM madan m <[hidden email]> wrote:

Dear all,
I modeled the following using protege-OWL.
Dance student is a student who has Master.

classes: Student, DanceStudent, Master
object type property: hasMaster
individual of DanceStudent(amol)
Necessary condition defined on DanceStudent:
              student and (hasMaster some Master)

After running the reasoner, i expect the individual "amol" will have the inferred axiom as : hasMaster some Master.  (due to existential restriction imposed)
But it is not inferred by the reasoner?
can you pls clarify?
anything went  wrong?

ilanka
_______________________________________________
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


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

smime.p7s (1K) Download Attachment