hasSibling from rule?

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

hasSibling from rule?

grantpax
Any one know how to get hasSibling from the family structure in Matthew’s generations ontology instead of having to explicitly declare it? I can’t seem to get this rule:

Person(?y), hasChild(?y, ?z), hasParent(?x, ?y),  DifferentFrom (?x, ?z) -> hasSibling(?x, ?z)

to work. Any ideas?

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

Re: hasSibling from rule?

Lorenz Buehmann
It might be the problem that your rule will only work if ?x and ?z are explicitly defined to be different from each other in the ontology - because of the Open World Assumption in OWL.

Cheers,
Lorenz
On 19.12.2014 23:58, Grant Pax wrote:
Any one know how to get hasSibling from the family structure in Matthew’s generations ontology instead of having to explicitly declare it? I can’t seem to get this rule:

Person(?y), hasChild(?y, ?z), hasParent(?x, ?y),  DifferentFrom (?x, ?z) -> hasSibling(?x, ?z)

to work. Any ideas?


_______________________________________________
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: hasSibling from rule?

grantpax
Thank you, Lorenz. I found another ontology on the ontology library page called family.swrl.owl. It has the hasSibling() rule, too. It doesn’t work either - even when I assert that all individuals are distinct. I’ve attached it.

I wish I could find a family structure ontology somewhere.

Again, thanks.



On Dec 19, 2014, at 8:21 PM, Lorenz Buehmann <[hidden email]> wrote:

It might be the problem that your rule will only work if ?x and ?z are explicitly defined to be different from each other in the ontology - because of the Open World Assumption in OWL.

Cheers,
Lorenz
On 19.12.2014 23:58, Grant Pax wrote:
Any one know how to get hasSibling from the family structure in Matthew’s generations ontology instead of having to explicitly declare it? I can’t seem to get this rule:

Person(?y), hasChild(?y, ?z), hasParent(?x, ?y),  DifferentFrom (?x, ?z) -> hasSibling(?x, ?z)

to work. Any ideas?


_______________________________________________
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

familytest.ttl (110K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: hasSibling from rule?

Lorenz Buehmann
Hello Grant,

 for me the hasSibling rule in your example ontology works. There is for example

Abe hasDaughter Bess
Abe hasSon Antoine

Via inference and the rule

hasChild(?y,?z), hasChild(?y,?x), Person(?y), DifferentFrom(?x,?z) -> hasSibling(?x,?z)

I can see

Bess hasSibling Antoine

I used the Pellet reasoner. Can you clarify what does not work in your case?

Kind regards,
Lorenz

Thank you, Lorenz. I found another ontology on the ontology library page called family.swrl.owl. It has the hasSibling() rule, too. It doesn’t work either - even when I assert that all individuals are distinct. I’ve attached it.

I wish I could find a family structure ontology somewhere.

Again, thanks.




On Dec 19, 2014, at 8:21 PM, Lorenz Buehmann <[hidden email]> wrote:

It might be the problem that your rule will only work if ?x and ?z are explicitly defined to be different from each other in the ontology - because of the Open World Assumption in OWL.

Cheers,
Lorenz
On 19.12.2014 23:58, Grant Pax wrote:
Any one know how to get hasSibling from the family structure in Matthew’s generations ontology instead of having to explicitly declare it? I can’t seem to get this rule:

Person(?y), hasChild(?y, ?z), hasParent(?x, ?y),  DifferentFrom (?x, ?z) -> hasSibling(?x, ?z)

to work. Any ideas?


_______________________________________________
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
-- 
Lorenz Bühmann
AKSW group, University of Leipzig
Group: http://aksw.org - semantic web research center

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

Re: hasSibling from rule?

grantpax
Thanks again, Lorenz. I should have looked more closely. I see 

Bess hasSibling Abe 

too (Pellet). Clearly something is working. I was focused on the fact that 

Abe hasSibling Art

is not inferred from

Art hasFather Agamemnon
Abe hasFather Agamemnon

even though I see

Agamemnon hasChild Art
Agamemnon hasChild Abe

are both inferred. Do rules only work on asserted axioms?

Thank you again.

On Dec 20, 2014, at 9:45 AM, Lorenz Bühmann <[hidden email]> wrote:

Hello Grant,

 for me the hasSibling rule in your example ontology works. There is for example

Abe hasDaughter Bess
Abe hasSon Antoine

Via inference and the rule

hasChild(?y,?z), hasChild(?y,?x), Person(?y), DifferentFrom(?x,?z) -> hasSibling(?x,?z)

I can see

Bess hasSibling Antoine

I used the Pellet reasoner. Can you clarify what does not work in your case?

Kind regards,
Lorenz

Thank you, Lorenz. I found another ontology on the ontology library page called family.swrl.owl. It has the hasSibling() rule, too. It doesn’t work either - even when I assert that all individuals are distinct. I’ve attached it.

I wish I could find a family structure ontology somewhere.

Again, thanks.




On Dec 19, 2014, at 8:21 PM, Lorenz Buehmann <[hidden email]> wrote:

It might be the problem that your rule will only work if ?x and ?z are explicitly defined to be different from each other in the ontology - because of the Open World Assumption in OWL.

Cheers,
Lorenz
On 19.12.2014 23:58, Grant Pax wrote:
Any one know how to get hasSibling from the family structure in Matthew’s generations ontology instead of having to explicitly declare it? I can’t seem to get this rule:

Person(?y), hasChild(?y, ?z), hasParent(?x, ?y),  DifferentFrom (?x, ?z) -> hasSibling(?x, ?z)

to work. Any ideas?


_______________________________________________
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
-- 
Lorenz Bühmann
AKSW group, University of Leipzig
Group: http://aksw.org - semantic web research center
_______________________________________________
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