Basic question about restrictions implementation

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

Basic question about restrictions implementation

SamSam2019
Hi, Hope you can help me with this basic issue:

I have an ontology with the following classes:

Colourful_Element Class

Coloured_Component Class with 2 sub Classes (Green_Component &
Red_Copmonent)


What I want to apply is:

a Colourful_Element Should have min 2 instances of the Red_Component

I have built the ontology and applied the restrictions (Attached) Then I
have run the Reasoner, tested it it should give an inconsistency message _
but Nothing happened. I Wonder what I have missed?

Thanks in advance

ColouredComponentExample.owl
<http://protege-project.136.n4.nabble.com/file/t377017/ColouredComponentExample.owl>  

 




--
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: Basic question about restrictions implementation

Csongor Nyulas
Administrator
You don't see what you expect, because OWL makes the open world assumption (OWA).

Just because you specified one hasRelatedColouredComponent relation to one instance of Red_Component (Red_Component_1), it does not mean that there exist no more such relationships, which your ontology is not aware of. In fact from the axioms you stated in the ontology a reasoner will infer that there is another hasRelatedColouredComponent relation to an individual different from Red_Component_1, which is an instance of Red_Component.

Csongor



On 5/3/19 7:39 AM, SamSam2019 wrote:
Hi, Hope you can help me with this basic issue: 

I have an ontology with the following classes:

Colourful_Element Class

Coloured_Component Class with 2 sub Classes (Green_Component &
Red_Copmonent)


What I want to apply is: 

a Colourful_Element Should have min 2 instances of the Red_Component 

I have built the ontology and applied the restrictions (Attached) Then I
have run the Reasoner, tested it it should give an inconsistency message _
but Nothing happened. I Wonder what I have missed?

Thanks in advance

ColouredComponentExample.owl
<http://protege-project.136.n4.nabble.com/file/t377017/ColouredComponentExample.owl>   

 




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


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

Re: Basic question about restrictions implementation

SamSam2019
Thanks Csongor,

I got what you have said. and Yes, the relation is not only for the
Red_Component.

My main issue here it does not act upon the (min 2) restriction. I have
associated it with only one instance of the Red_Component Class and the
reasoner did not act upon it.


How can I solve it to say: I want to restrict the relation to Min 2
instances of the Red_Component should be associated to the Coulorful_Element
Instance?

Thanks Again

Sam    



--
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: Basic question about restrictions implementation

Csongor Nyulas
Administrator
Actually I said that the reasoner DID "act upon the (min 2) restriction". And it inferred that there must exist another (Colourful_Entity_1 hasRelatedColouredComponent Red_Component_Unknown) axiomn somewhere in the world, where Red_Component_Unknown is an instance of the Red_Component class, we just don't have this Red_Component_Unknown (or whatever its name turns out to be in the end) declared in this ontology. This is how OWA works.

I think what you are really looking for is how can you say that Colourful_Entity_1 has no other relations than the ones listed in this ontology. I don't know if you can say that. I mean, I don't know if you can close the world at an individual level.
You can "close" a class, by saying it has those and only those relationships that are provided in your class description (by using the AllValuesFrom class expression, represented by the "only" keyword in the Manchester syntax), but I don't know if such a thing is possible at the level of an individual.

I hope this clarifies things, even though it doesn't fully solve your issue.
Csongor



On 5/3/19 10:36 AM, SamSam2019 wrote:
Thanks Csongor,

I got what you have said. and Yes, the relation is not only for the
Red_Component. 

My main issue here it does not act upon the (min 2) restriction. I have
associated it with only one instance of the Red_Component Class and the
reasoner did not act upon it. 


How can I solve it to say: I want to restrict the relation to Min 2
instances of the Red_Component should be associated to the Coulorful_Element
Instance? 

Thanks Again

Sam    



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


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

Re: Basic question about restrictions implementation

SamSam2019
Thanks Csongor,

I appreciate your help.






--
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: Basic question about restrictions implementation

Igor Toujilov-2
In reply to this post by Csongor Nyulas

If you add the following type assertion:

 

Individual: Colourful_Entity_1

Types:

    hasRelatedColouredComponent exactly 1 Red_Component

 

then your ontology will become inconsistent.

 

However, it is not so helpful if you have many individuals: it is a tedious work to check which individuals cause the inconsistency.

 

If you remove the axiom:

 

Class: Colourful_Entity

    SubClassOf:

        hasRelatedColouredComponent min 2 Red_Component

 

Then create a new class Invalid_Entity, and add the following axiom:

 

hasRelatedColouredComponent max 1 Red_Component SubClassOf Invalid_Entity

 

The reasoner will infer that Colourful_Entity_1 is Invalid_Entity. In this case, all you need to do is to check for all instances of Invalid_Entity.

 

Cheers,

Igor

 

 
 
Sent: Friday, May 03, 2019 at 7:09 PM
From: "Csongor Nyulas" <[hidden email]>
To: [hidden email]
Subject: Re: [protege-user] Basic question about restrictions implementation
Actually I said that the reasoner DID "act upon the (min 2) restriction". And it inferred that there must exist another (Colourful_Entity_1 hasRelatedColouredComponent Red_Component_Unknown) axiomn somewhere in the world, where Red_Component_Unknown is an instance of the Red_Component class, we just don't have this Red_Component_Unknown (or whatever its name turns out to be in the end) declared in this ontology. This is how OWA works.

I think what you are really looking for is how can you say that Colourful_Entity_1 has no other relations than the ones listed in this ontology. I don't know if you can say that. I mean, I don't know if you can close the world at an individual level.
You can "close" a class, by saying it has those and only those relationships that are provided in your class description (by using the AllValuesFrom class expression, represented by the "only" keyword in the Manchester syntax), but I don't know if such a thing is possible at the level of an individual.

I hope this clarifies things, even though it doesn't fully solve your issue.
Csongor


 
On 5/3/19 10:36 AM, SamSam2019 wrote:
Thanks Csongor,

I got what you have said. and Yes, the relation is not only for the
Red_Component.

My main issue here it does not act upon the (min 2) restriction. I have
associated it with only one instance of the Red_Component Class and the
reasoner did not act upon it.


How can I solve it to say: I want to restrict the relation to Min 2
instances of the Red_Component should be associated to the Coulorful_Element
Instance?

Thanks Again

Sam



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

_______________________________________________ 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: Basic question about restrictions implementation

Csongor Nyulas
Administrator
That's a very nice solution, Igor! Didn't think of it.

Csongor


On 5/5/19 5:04 PM, Igor Toujilov wrote:

If you add the following type assertion:

 

Individual: Colourful_Entity_1

Types:

    hasRelatedColouredComponent exactly 1 Red_Component

 

then your ontology will become inconsistent.

 

However, it is not so helpful if you have many individuals: it is a tedious work to check which individuals cause the inconsistency.

 

If you remove the axiom:

 

Class: Colourful_Entity

    SubClassOf:

        hasRelatedColouredComponent min 2 Red_Component

 

Then create a new class Invalid_Entity, and add the following axiom:

 

hasRelatedColouredComponent max 1 Red_Component SubClassOf Invalid_Entity

 

The reasoner will infer that Colourful_Entity_1 is Invalid_Entity. In this case, all you need to do is to check for all instances of Invalid_Entity.

 

Cheers,

Igor

 

 
 
Sent: Friday, May 03, 2019 at 7:09 PM
From: "Csongor Nyulas" [hidden email]
To: [hidden email]
Subject: Re: [protege-user] Basic question about restrictions implementation
Actually I said that the reasoner DID "act upon the (min 2) restriction". And it inferred that there must exist another (Colourful_Entity_1 hasRelatedColouredComponent Red_Component_Unknown) axiomn somewhere in the world, where Red_Component_Unknown is an instance of the Red_Component class, we just don't have this Red_Component_Unknown (or whatever its name turns out to be in the end) declared in this ontology. This is how OWA works.

I think what you are really looking for is how can you say that Colourful_Entity_1 has no other relations than the ones listed in this ontology. I don't know if you can say that. I mean, I don't know if you can close the world at an individual level.
You can "close" a class, by saying it has those and only those relationships that are provided in your class description (by using the AllValuesFrom class expression, represented by the "only" keyword in the Manchester syntax), but I don't know if such a thing is possible at the level of an individual.

I hope this clarifies things, even though it doesn't fully solve your issue.
Csongor


 
On 5/3/19 10:36 AM, SamSam2019 wrote:
Thanks Csongor,

I got what you have said. and Yes, the relation is not only for the
Red_Component.

My main issue here it does not act upon the (min 2) restriction. I have
associated it with only one instance of the Red_Component Class and the
reasoner did not act upon it.


How can I solve it to say: I want to restrict the relation to Min 2
instances of the Red_Component should be associated to the Coulorful_Element
Instance?

Thanks Again

Sam



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

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

Re: Basic question about restrictions implementation

SamSam2019
In reply to this post by Igor Toujilov-2
Thanks Igor,

That's really helpful.

appreciated.

Sam





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