OWL Full and Protege

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

OWL Full and Protege

Jos Lehmann-2

Hi there

 

Questions:

 

-          Can protege load and OWL 2 Full ontology?

o   Would that show in the Metrics? How?

 

-          Is there a downloadable example of an OWL 2 Full Ontology?

 

-          What should I typically do to an ontology in protege to have its expressivity leap to OWL 2 Full?

 

-          Can any of the reasoners check an OWL 2 Full ontology?

o   How do reasoners that can’t react to an OWL 2 ontology

 

Thanks, Jos

 

 

 


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

Re: OWL Full and Protege

Michael DeBellis-2
Jos, This is something that always confused me as well so hopefully someone will correct me if I'm wrong but I think that with OWL 2 it already is OWL 2 Full. I suggest you look here: https://www.w3.org/TR/owl2-overview/#Semantics  

Note it says: "any OWL 2 Ontology can be mapped to RDF. "OWL 2 Full" is used informally to refer to RDF graphs considered as OWL 2 ontologies and interpreted using the RDF-Based Semantics."

Also, if you look at the section right after Semantics titled "Profiles" you will see that there are various profiles such as OWL 2 EL, OWL 2 QL, etc. However, those profiles are all SUBSETS of OWL 2 where some capabilities are removed for the sake of better performance. I think the default is that it is OWL 2 Full and all the standard reasoners can process it. 

Michael

On Tue, Feb 26, 2019 at 5:25 AM Jos Lehmann <[hidden email]> wrote:

Hi there

 

Questions:

 

-          Can protege load and OWL 2 Full ontology?

o   Would that show in the Metrics? How?

 

-          Is there a downloadable example of an OWL 2 Full Ontology?

 

-          What should I typically do to an ontology in protege to have its expressivity leap to OWL 2 Full?

 

-          Can any of the reasoners check an OWL 2 Full ontology?

o   How do reasoners that can’t react to an OWL 2 ontology

 

Thanks, Jos

 

 

 

_______________________________________________
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: OWL Full and Protege

Lorenz B.

 the default is that it is OWL 2 Full and all the standard reasoners can process it.

Afaik, that's not fully correct resp. it depends on what you mean by "process" or I would more said "it depends ..." .

OWL 2 Full is beyond OWL 2 DL, thus, none of the reasoners can do this. Note, reasoning in OWL 2 Full is undecidable while in OWL 2 DL it's decidable.

The only thing that might happen is that reasoners ignore some of the axioms to ensure decidability. You can see this behavior once you add axioms that violate the global restrictions of OWL DL [1]. For example, OWL  2  DL  allows  for  declaring  transitive  properties  as  well  as asymmetric properties, but does not allow a property to be both transitive and asymmetric.

TransitiveObjectProperty( :hasAncestor )
AsymmetricObjectProperty( :hasAncestor )

In this case, it's up to the reasoner how to proceed because the OWL 2 specs just define how to behave on legal OWL 2 DL input.

For example, with Pellet you'll most likely see an error message

"An error occurred during reasoning: Unsupported axiom: Ignoring transitivity and/or complex subproperty axioms for hasAncestor. org.mindswap.pellet.exceptions.UnsupportedFeatureException ..."


There is also a minor discussion on decidability in OWL Full on StackOverflow [2] 


That said, indeed you can open the ontology in Protege.


Just my two cents (yes, everything I said might be neither sound nor complete) - now it's time for the OWL experts like Matthew, etc.


[1] https://www.w3.org/TR/owl2-syntax/#Global_Restrictions_on_Axioms_in_OWL_2_DL
[2] https://stackoverflow.com/questions/46740344/why-is-owl-full-undecidable


Michael

On Tue, Feb 26, 2019 at 5:25 AM Jos Lehmann <[hidden email]> wrote:

Hi there

 

Questions:

 

-          Can protege load and OWL 2 Full ontology?

o   Would that show in the Metrics? How?

 

-          Is there a downloadable example of an OWL 2 Full Ontology?

 

-          What should I typically do to an ontology in protege to have its expressivity leap to OWL 2 Full?

 

-          Can any of the reasoners check an OWL 2 Full ontology?

o   How do reasoners that can’t react to an OWL 2 ontology

 

Thanks, Jos

 

 

 

_______________________________________________
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: OWL Full and Protege

Michael DeBellis-2
Thanks Lorenz, I agree, what I said was not correct, thanks for those links. 

Michael 

On Feb 26, 2019, at 11:19 PM, Lorenz B. <[hidden email]> wrote:


 the default is that it is OWL 2 Full and all the standard reasoners can process it.

Afaik, that's not fully correct resp. it depends on what you mean by "process" or I would more said "it depends ..." .

OWL 2 Full is beyond OWL 2 DL, thus, none of the reasoners can do this. Note, reasoning in OWL 2 Full is undecidable while in OWL 2 DL it's decidable.

The only thing that might happen is that reasoners ignore some of the axioms to ensure decidability. You can see this behavior once you add axioms that violate the global restrictions of OWL DL [1]. For example, OWL  2  DL  allows  for  declaring  transitive  properties  as  well  as asymmetric properties, but does not allow a property to be both transitive and asymmetric.

TransitiveObjectProperty( :hasAncestor )
AsymmetricObjectProperty( :hasAncestor )

In this case, it's up to the reasoner how to proceed because the OWL 2 specs just define how to behave on legal OWL 2 DL input.

For example, with Pellet you'll most likely see an error message

"An error occurred during reasoning: Unsupported axiom: Ignoring transitivity and/or complex subproperty axioms for hasAncestor. org.mindswap.pellet.exceptions.UnsupportedFeatureException ..."


There is also a minor discussion on decidability in OWL Full on StackOverflow [2] 


That said, indeed you can open the ontology in Protege.


Just my two cents (yes, everything I said might be neither sound nor complete) - now it's time for the OWL experts like Matthew, etc.


[1] https://www.w3.org/TR/owl2-syntax/#Global_Restrictions_on_Axioms_in_OWL_2_DL
[2] https://stackoverflow.com/questions/46740344/why-is-owl-full-undecidable


Michael

On Tue, Feb 26, 2019 at 5:25 AM Jos Lehmann <[hidden email]> wrote:

Hi there

 

Questions:

 

-          Can protege load and OWL 2 Full ontology?

o   Would that show in the Metrics? How?

 

-          Is there a downloadable example of an OWL 2 Full Ontology?

 

-          What should I typically do to an ontology in protege to have its expressivity leap to OWL 2 Full?

 

-          Can any of the reasoners check an OWL 2 Full ontology?

o   How do reasoners that can’t react to an OWL 2 ontology

 

Thanks, Jos

 

 

 

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

Re: OWL Full and Protege

Lorenz B.

Well, I wouldn't say "not correct" - that's why I said it's probably just incomplete to some extent. I mean, Pellet for example should still work, it just ignores some axioms as far as I can say from my experience. That said, if a user isn't aware of the OWL 2 DL limitations, he might never recognize that some of the axioms are not taken into account.

One of the most prominent examples here is clearly the strict partial order, i.e. a relation that is transitive and asymmetric. For example greaterThan can't be modeled in OWL 2 DL ...

If somebody is interested in more (complex) examples, I'd suggest to have deeper a look into the paper of Michael Schneider et al [1]. It also evaluates three OWL reasoners (Pellet, Fact++ and HermiT) and their behavior when OWL 2 DL is violated. In addition, the paper shows that FOL theorem provers are able to process those axioms.

Spoiler (Sec. 4 "Discussion"):

Apparently two different strategies are used by the reasoners in this situation: FaCT++ and HermiT rigidly reject the input, while Pellet processes the input with some of the conflicting axioms being ignored, which may lead to missing or wrong results. For users who want to apply some of the modeling patterns introduced earlier in this paper, none of these strategies is acceptable. Therefore, a different strategy that does not have these problems is needed. We will propose and evaluate one such strategy in the next section.

Lorenz


[1] https://arxiv.org/pdf/1212.2902.pdf

Thanks Lorenz, I agree, what I said was not correct, thanks for those links. 

Michael 

On Feb 26, 2019, at 11:19 PM, Lorenz B. <[hidden email]> wrote:


 the default is that it is OWL 2 Full and all the standard reasoners can process it.

Afaik, that's not fully correct resp. it depends on what you mean by "process" or I would more said "it depends ..." .

OWL 2 Full is beyond OWL 2 DL, thus, none of the reasoners can do this. Note, reasoning in OWL 2 Full is undecidable while in OWL 2 DL it's decidable.

The only thing that might happen is that reasoners ignore some of the axioms to ensure decidability. You can see this behavior once you add axioms that violate the global restrictions of OWL DL [1]. For example, OWL  2  DL  allows  for  declaring  transitive  properties  as  well  as asymmetric properties, but does not allow a property to be both transitive and asymmetric.

TransitiveObjectProperty( :hasAncestor )
AsymmetricObjectProperty( :hasAncestor )

In this case, it's up to the reasoner how to proceed because the OWL 2 specs just define how to behave on legal OWL 2 DL input.

For example, with Pellet you'll most likely see an error message

"An error occurred during reasoning: Unsupported axiom: Ignoring transitivity and/or complex subproperty axioms for hasAncestor. org.mindswap.pellet.exceptions.UnsupportedFeatureException ..."


There is also a minor discussion on decidability in OWL Full on StackOverflow [2] 


That said, indeed you can open the ontology in Protege.


Just my two cents (yes, everything I said might be neither sound nor complete) - now it's time for the OWL experts like Matthew, etc.


[1] https://www.w3.org/TR/owl2-syntax/#Global_Restrictions_on_Axioms_in_OWL_2_DL
[2] https://stackoverflow.com/questions/46740344/why-is-owl-full-undecidable


Michael

On Tue, Feb 26, 2019 at 5:25 AM Jos Lehmann <[hidden email]> wrote:

Hi there

 

Questions:

 

-          Can protege load and OWL 2 Full ontology?

o   Would that show in the Metrics? How?

 

-          Is there a downloadable example of an OWL 2 Full Ontology?

 

-          What should I typically do to an ontology in protege to have its expressivity leap to OWL 2 Full?

 

-          Can any of the reasoners check an OWL 2 Full ontology?

o   How do reasoners that can’t react to an OWL 2 ontology

 

Thanks, Jos

 

 

 

_______________________________________________
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
-- 
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: OWL Full and Protege

Jos Lehmann-2

Hi There

 

Thank you for the explanations and pointers.  For the moment I gather the following points from your explanations:

 

1.       The DL expressivity of OWL2-Full is SHOIN(D), i.e. the same expressivity of OWL2-DL

 

2.       The difference between an OWL2-Full Ontology and an OWL2-DL ontology is not syntactic (i.e. there are no additional logical constants) but semantic (i.e. in an OWL2-Full ontology classes/properties are specified that are too complex for the DL reasoner to decide)

 

3.       The only way of knowing in Protege if an ontology is not OWL2-DL is to run either FaCT++ or HermiT and get an error.

1.       A FaCT++ or HermiT error does not imply though that the ontology is OWL2-Full

1.       Even if 3.1. is false, FaCT++ or HermiT do not provide indications as to what makes an ontology OWL2-Full

 

4.       An object property such as part-of cannot be transitive and asymmetric in OWL2-DL

1.       What would be undecidable is not clear to me.

E.g., given a transitive and asymmetric part-of and a KB:

 

KB = {part-of(a,b); part-of(b,c)}

 

Would either of the following statements follow?

S1: part-of(a,c) <-> ~part-of(a,c)

S2: ~part-of(b,a) <-> part-of(b,a)

 

If yes, how would S1 or S2 be derived from KB.

If no, what else would make KB undecidable for an OWL2-DL reasoner.

 

Best wishes, Jos

 

 

Von: protege-user <[hidden email]> Im Auftrag von Lorenz B.
Gesendet: Mittwoch, 27. Februar 2019 16:52
An: [hidden email]
Betreff: Re: [protege-user] OWL Full and Protege

 

Well, I wouldn't say "not correct" - that's why I said it's probably just incomplete to some extent. I mean, Pellet for example should still work, it just ignores some axioms as far as I can say from my experience. That said, if a user isn't aware of the OWL 2 DL limitations, he might never recognize that some of the axioms are not taken into account.

One of the most prominent examples here is clearly the strict partial order, i.e. a relation that is transitive and asymmetric. For example greaterThan can't be modeled in OWL 2 DL ...

If somebody is interested in more (complex) examples, I'd suggest to have deeper a look into the paper of Michael Schneider et al [1]. It also evaluates three OWL reasoners (Pellet, Fact++ and HermiT) and their behavior when OWL 2 DL is violated. In addition, the paper shows that FOL theorem provers are able to process those axioms.

Spoiler (Sec. 4 "Discussion"):

Apparently two different strategies are used by the reasoners in this situation: FaCT++ and HermiT rigidly reject the input, while Pellet processes the input with some of the conflicting axioms being ignored, which may lead to missing or wrong results. For users who want to apply some of the modeling patterns introduced earlier in this paper, none of these strategies is acceptable. Therefore, a different strategy that does not have these problems is needed. We will propose and evaluate one such strategy in the next section.

 

Lorenz

 

[1] https://arxiv.org/pdf/1212.2902.pdf

Thanks Lorenz, I agree, what I said was not correct, thanks for those links. 

 

Michael 


On Feb 26, 2019, at 11:19 PM, Lorenz B. <[hidden email]> wrote:



 the default is that it is OWL 2 Full and all the standard reasoners can process it.

Afaik, that's not fully correct resp. it depends on what you mean by "process" or I would more said "it depends ..." .

OWL 2 Full is beyond OWL 2 DL, thus, none of the reasoners can do this. Note, reasoning in OWL 2 Full is undecidable while in OWL 2 DL it's decidable.

The only thing that might happen is that reasoners ignore some of the axioms to ensure decidability. You can see this behavior once you add axioms that violate the global restrictions of OWL DL [1]. For example, OWL  2  DL  allows  for  declaring  transitive  properties  as  well  as asymmetric properties, but does not allow a property to be both transitive and asymmetric.

TransitiveObjectProperty( :hasAncestor )
AsymmetricObjectProperty( :hasAncestor )

In this case, it's up to the reasoner how to proceed because the OWL 2 specs just define how to behave on legal OWL 2 DL input.

For example, with Pellet you'll most likely see an error message

"An error occurred during reasoning: Unsupported axiom: Ignoring transitivity and/or complex subproperty axioms for hasAncestor. org.mindswap.pellet.exceptions.UnsupportedFeatureException ..."

 

There is also a minor discussion on decidability in OWL Full on StackOverflow [2] 

 

That said, indeed you can open the ontology in Protege.

 

Just my two cents (yes, everything I said might be neither sound nor complete) - now it's time for the OWL experts like Matthew, etc.

 

[1] https://www.w3.org/TR/owl2-syntax/#Global_Restrictions_on_Axioms_in_OWL_2_DL
[2] https://stackoverflow.com/questions/46740344/why-is-owl-full-undecidable

 

Michael

 

On Tue, Feb 26, 2019 at 5:25 AM Jos Lehmann <[hidden email]> wrote:

Hi there

 

Questions:

 

-          Can protege load and OWL 2 Full ontology?

o   Would that show in the Metrics? How?

 

-          Is there a downloadable example of an OWL 2 Full Ontology?

 

-          What should I typically do to an ontology in protege to have its expressivity leap to OWL 2 Full?

 

-          Can any of the reasoners check an OWL 2 Full ontology?

o   How do reasoners that can’t react to an OWL 2 ontology

 

Thanks, Jos

 

 

 

_______________________________________________
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
-- 
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: OWL Full and Protege

Lorenz B.
Just a general question: Why all these questions? What are you working on?
And did you read about the RDF based Semantics of OWL 2? It's basically also called OWL 2 Full.

And did you try the OWL profile checker of the OWL API? It can tell you whether your ontology is OWL 2 DL or just OWL 2 (Full). For example, what also is not allowed in OWL 2 DL is punning on object an data properties. In OWL 2, no problem.
Just use the OWL API, it will show you the most specific profile.

I hope it's clear, that any OWL 2 DL ontology is also an OWL 2 Full ontology but not vice versa. So, if it just says "OWL 2" it's not OWL 2 DL


Comments inline

Hi There

 

Thank you for the explanations and pointers.  For the moment I gather the following points from your explanations:

 

1.       The DL expressivity of OWL2-Full is SHOIN(D), i.e. the same expressivity of OWL2-DL

OWL 2 DL is SROIQ

 

2.       The difference between an OWL2-Full Ontology and an OWL2-DL ontology is not syntactic (i.e. there are no additional logical constants) but semantic (i.e. in an OWL2-Full ontology classes/properties are specified that are too complex for the DL reasoner to decide)

Yes, the syntax is still the OWL syntax.

 

3.       The only way of knowing in Protege if an ontology is not OWL2-DL is to run either FaCT++ or HermiT and get an error.

1.       A FaCT++ or HermiT error does not imply though that the ontology is OWL2-Full

1.       Even if 3.1. is false, FaCT++ or HermiT do not provide indications as to what makes an ontology OWL2-Full

Why not? If it's not in OWL 2 DL it's in OWL 2 Full

 

4.       An object property such as part-of cannot be transitive and asymmetric in OWL2-DL

1.       What would be undecidable is not clear to me.

E.g., given a transitive and asymmetric part-of and a KB:

 

KB = {part-of(a,b); part-of(b,c)}

 

Would either of the following statements follow?

S1: part-of(a,c) <-> ~part-of(a,c)

S2: ~part-of(b,a) <-> part-of(b,a)

 

If yes, how would S1 or S2 be derived from KB.

If no, what else would make KB undecidable for an OWL2-DL reasoner.

An OWL 2 DL reasoner can't answer this question. And not the KB is undecidable. The reasoning procedure itself is, the whole problem is undecidable. To be more precise: Consistency and entailment checking are known to be undecidable for OWL 2 Full. That means, it's impossible to construct an algorithm that always leads to a correct yes-or-no answer for those checks. Look up what an undecidable problem in computer science is.

 

Best wishes, Jos

 

 

Von: protege-user [hidden email] Im Auftrag von Lorenz B.
Gesendet: Mittwoch, 27. Februar 2019 16:52
An: [hidden email]
Betreff: Re: [protege-user] OWL Full and Protege

 

Well, I wouldn't say "not correct" - that's why I said it's probably just incomplete to some extent. I mean, Pellet for example should still work, it just ignores some axioms as far as I can say from my experience. That said, if a user isn't aware of the OWL 2 DL limitations, he might never recognize that some of the axioms are not taken into account.

One of the most prominent examples here is clearly the strict partial order, i.e. a relation that is transitive and asymmetric. For example greaterThan can't be modeled in OWL 2 DL ...

If somebody is interested in more (complex) examples, I'd suggest to have deeper a look into the paper of Michael Schneider et al [1]. It also evaluates three OWL reasoners (Pellet, Fact++ and HermiT) and their behavior when OWL 2 DL is violated. In addition, the paper shows that FOL theorem provers are able to process those axioms.

Spoiler (Sec. 4 "Discussion"):

Apparently two different strategies are used by the reasoners in this situation: FaCT++ and HermiT rigidly reject the input, while Pellet processes the input with some of the conflicting axioms being ignored, which may lead to missing or wrong results. For users who want to apply some of the modeling patterns introduced earlier in this paper, none of these strategies is acceptable. Therefore, a different strategy that does not have these problems is needed. We will propose and evaluate one such strategy in the next section.

 

Lorenz

 

[1] https://arxiv.org/pdf/1212.2902.pdf

Thanks Lorenz, I agree, what I said was not correct, thanks for those links. 

 

Michael 


On Feb 26, 2019, at 11:19 PM, Lorenz B. <[hidden email]> wrote:



 the default is that it is OWL 2 Full and all the standard reasoners can process it.

Afaik, that's not fully correct resp. it depends on what you mean by "process" or I would more said "it depends ..." .

OWL 2 Full is beyond OWL 2 DL, thus, none of the reasoners can do this. Note, reasoning in OWL 2 Full is undecidable while in OWL 2 DL it's decidable.

The only thing that might happen is that reasoners ignore some of the axioms to ensure decidability. You can see this behavior once you add axioms that violate the global restrictions of OWL DL [1]. For example, OWL  2  DL  allows  for  declaring  transitive  properties  as  well  as asymmetric properties, but does not allow a property to be both transitive and asymmetric.

TransitiveObjectProperty( :hasAncestor )
AsymmetricObjectProperty( :hasAncestor )

In this case, it's up to the reasoner how to proceed because the OWL 2 specs just define how to behave on legal OWL 2 DL input.

For example, with Pellet you'll most likely see an error message

"An error occurred during reasoning: Unsupported axiom: Ignoring transitivity and/or complex subproperty axioms for hasAncestor. org.mindswap.pellet.exceptions.UnsupportedFeatureException ..."

 

There is also a minor discussion on decidability in OWL Full on StackOverflow [2] 

 

That said, indeed you can open the ontology in Protege.

 

Just my two cents (yes, everything I said might be neither sound nor complete) - now it's time for the OWL experts like Matthew, etc.

 

[1] https://www.w3.org/TR/owl2-syntax/#Global_Restrictions_on_Axioms_in_OWL_2_DL
[2] https://stackoverflow.com/questions/46740344/why-is-owl-full-undecidable

 

Michael

 

On Tue, Feb 26, 2019 at 5:25 AM Jos Lehmann <[hidden email]> wrote:

Hi there

 

Questions:

 

-          Can protege load and OWL 2 Full ontology?

o   Would that show in the Metrics? How?

 

-          Is there a downloadable example of an OWL 2 Full Ontology?

 

-          What should I typically do to an ontology in protege to have its expressivity leap to OWL 2 Full?

 

-          Can any of the reasoners check an OWL 2 Full ontology?

o   How do reasoners that can’t react to an OWL 2 ontology

 

Thanks, Jos

 

 

 

_______________________________________________
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
-- 
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
-- 
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: OWL Full and Protege

Jos Lehmann-2

Hi there

 

Thank you for your reply.

 

-          I’m presenting in a report an ontology of artifacts I have been working on and I realized I did not know how Protege would signal that the ontology no longer was OWL2-DL but had become OWL2-FULL.

 

-          In 3.1 below I was alluding to other possible problems with the ontology, which may cause the same FACT++ error message. If, as alluded in 3.1.1, an OWL2-FULL feature is the only cause for that error, then indeed the error means the ontology is OWL2-FULL. Again regarding 3.1.1.: the error message refers to the reasoner log, which I am not sure where to locate though. The log might indeed point at the source of the error in the ontology.

 

-          I will try the OWL-API, altough I thought its output is what’s listed as Ontology Metrics in the Active Ontology Tab

 

-          As for point 4., the example KB I gave was meant to be undecidable. I am after an explanation of why that‘s the case. I‘d like to have an explanation of the OWL2-FULL-caused undecidability that uses simple enough ontological examples. Some of the examples in [1] go in that direction, although they don’t seem to be fully worked out.

 

 

Jos

 

[1] http://www.cs.man.ac.uk/~horrocks/Slides/ijcai-slides.pdf

 

 

Von: protege-user <[hidden email]> Im Auftrag von Lorenz B.
Gesendet: Donnerstag, 28. Februar 2019 13:54
An: [hidden email]
Betreff: Re: [protege-user] OWL Full and Protege

 

Just a general question: Why all these questions? What are you working on?

And did you read about the RDF based Semantics of OWL 2? It's basically also called OWL 2 Full.

 

And did you try the OWL profile checker of the OWL API? It can tell you whether your ontology is OWL 2 DL or just OWL 2 (Full). For example, what also is not allowed in OWL 2 DL is punning on object an data properties. In OWL 2, no problem.

Just use the OWL API, it will show you the most specific profile.

 

I hope it's clear, that any OWL 2 DL ontology is also an OWL 2 Full ontology but not vice versa. So, if it just says "OWL 2" it's not OWL 2 DL

 

 

Comments inline



Hi There

 

Thank you for the explanations and pointers.  For the moment I gather the following points from your explanations:

 

1.      The DL expressivity of OWL2-Full is SHOIN(D), i.e. the same expressivity of OWL2-DL

OWL 2 DL is SROIQ

 

2.      The difference between an OWL2-Full Ontology and an OWL2-DL ontology is not syntactic (i.e. there are no additional logical constants) but semantic (i.e. in an OWL2-Full ontology classes/properties are specified that are too complex for the DL reasoner to decide)

Yes, the syntax is still the OWL syntax.

 

3.      The only way of knowing in Protege if an ontology is not OWL2-DL is to run either FaCT++ or HermiT and get an error.

1.      A FaCT++ or HermiT error does not imply though that the ontology is OWL2-Full

1.      Even if 3.1. is false, FaCT++ or HermiT do not provide indications as to what makes an ontology OWL2-Full

Why not? If it's not in OWL 2 DL it's in OWL 2 Full

 

4.      An object property such as part-of cannot be transitive and asymmetric in OWL2-DL

1.      What would be undecidable is not clear to me.

E.g., given a transitive and asymmetric part-of and a KB:

 

KB = {part-of(a,b); part-of(b,c)}

 

Would either of the following statements follow?

S1: part-of(a,c) <-> ~part-of(a,c)

S2: ~part-of(b,a) <-> part-of(b,a)

 

If yes, how would S1 or S2 be derived from KB.

If no, what else would make KB undecidable for an OWL2-DL reasoner.

An OWL 2 DL reasoner can't answer this question. And not the KB is undecidable. The reasoning procedure itself is, the whole problem is undecidable. To be more precise: Consistency and entailment checking are known to be undecidable for OWL 2 Full. That means, it's impossible to construct an algorithm that always leads to a correct yes-or-no answer for those checks. Look up what an undecidable problem in computer science is.

 

Best wishes, Jos

 

 

Von: protege-user [hidden email] Im Auftrag von Lorenz B.
Gesendet: Mittwoch, 27. Februar 2019 16:52
An: [hidden email]
Betreff: Re: [protege-user] OWL Full and Protege

 

Well, I wouldn't say "not correct" - that's why I said it's probably just incomplete to some extent. I mean, Pellet for example should still work, it just ignores some axioms as far as I can say from my experience. That said, if a user isn't aware of the OWL 2 DL limitations, he might never recognize that some of the axioms are not taken into account.

One of the most prominent examples here is clearly the strict partial order, i.e. a relation that is transitive and asymmetric. For example greaterThan can't be modeled in OWL 2 DL ...

If somebody is interested in more (complex) examples, I'd suggest to have deeper a look into the paper of Michael Schneider et al [1]. It also evaluates three OWL reasoners (Pellet, Fact++ and HermiT) and their behavior when OWL 2 DL is violated. In addition, the paper shows that FOL theorem provers are able to process those axioms.

Spoiler (Sec. 4 "Discussion"):

Apparently two different strategies are used by the reasoners in this situation: FaCT++ and HermiT rigidly reject the input, while Pellet processes the input with some of the conflicting axioms being ignored, which may lead to missing or wrong results. For users who want to apply some of the modeling patterns introduced earlier in this paper, none of these strategies is acceptable. Therefore, a different strategy that does not have these problems is needed. We will propose and evaluate one such strategy in the next section.

 

Lorenz

 

[1] https://arxiv.org/pdf/1212.2902.pdf

Thanks Lorenz, I agree, what I said was not correct, thanks for those links. 

 

Michael 


On Feb 26, 2019, at 11:19 PM, Lorenz B. <[hidden email]> wrote:




 the default is that it is OWL 2 Full and all the standard reasoners can process it.

Afaik, that's not fully correct resp. it depends on what you mean by "process" or I would more said "it depends ..." .

OWL 2 Full is beyond OWL 2 DL, thus, none of the reasoners can do this. Note, reasoning in OWL 2 Full is undecidable while in OWL 2 DL it's decidable.

The only thing that might happen is that reasoners ignore some of the axioms to ensure decidability. You can see this behavior once you add axioms that violate the global restrictions of OWL DL [1]. For example, OWL  2  DL  allows  for  declaring  transitive  properties  as  well  as asymmetric properties, but does not allow a property to be both transitive and asymmetric.

TransitiveObjectProperty( :hasAncestor )
AsymmetricObjectProperty( :hasAncestor )

In this case, it's up to the reasoner how to proceed because the OWL 2 specs just define how to behave on legal OWL 2 DL input.

For example, with Pellet you'll most likely see an error message

"An error occurred during reasoning: Unsupported axiom: Ignoring transitivity and/or complex subproperty axioms for hasAncestor. org.mindswap.pellet.exceptions.UnsupportedFeatureException ..."

 

There is also a minor discussion on decidability in OWL Full on StackOverflow [2] 

 

That said, indeed you can open the ontology in Protege.

 

Just my two cents (yes, everything I said might be neither sound nor complete) - now it's time for the OWL experts like Matthew, etc.

 

[1] https://www.w3.org/TR/owl2-syntax/#Global_Restrictions_on_Axioms_in_OWL_2_DL
[2] https://stackoverflow.com/questions/46740344/why-is-owl-full-undecidable

 

Michael

 

On Tue, Feb 26, 2019 at 5:25 AM Jos Lehmann <[hidden email]> wrote:

Hi there

 

Questions:

 

-          Can protege load and OWL 2 Full ontology?

o   Would that show in the Metrics? How?

 

-          Is there a downloadable example of an OWL 2 Full Ontology?

 

-          What should I typically do to an ontology in protege to have its expressivity leap to OWL 2 Full?

 

-          Can any of the reasoners check an OWL 2 Full ontology?

o   How do reasoners that can’t react to an OWL 2 ontology

 

Thanks, Jos

 

 

 

_______________________________________________
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
-- 
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
-- 
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: OWL Full and Protege

Lorenz B.
Hello Jos,

 



Kind regards,
Lorenz

Hi there

 

Thank you for your reply.

 

-          I’m presenting in a report an ontology of artifacts I have been working on and I realized I did not know how Protege would signal that the ontology no longer was OWL2-DL but had become OWL2-FULL.

There shouldn't be any warning if you mean that. It could be mentioned in the metrics with "OWL 2" as profile. that's all.

 

-          In 3.1 below I was alluding to other possible problems with the ontology, which may cause the same FACT++ error message. If, as alluded in 3.1.1, an OWL2-FULL feature is the only cause for that error, then indeed the error means the ontology is OWL2-FULL. Again regarding 3.1.1.: the error message refers to the reasoner log, which I am not sure where to locate though. The log might indeed point at the source of the error in the ontology.

 

-          I will try the OWL-API, altough I thought its output is what’s listed as Ontology Metrics in the Active Ontology Tab

Should be, yes. So, if there is just "OWL 2" it's supposed to be OWL 2 Full and not in OWL 2 DL anymore. If it wouldn't even be in OWL 2 Full, then the whole ontology can't be parsed at all.

 

-          As for point 4., the example KB I gave was meant to be undecidable. I am after an explanation of why that‘s the case. I‘d like to have an explanation of the OWL2-FULL-caused undecidability that uses simple enough ontological examples. Some of the examples in [1] go in that direction, although they don’t seem to be fully worked out.

 

 


A more detailed explanation of the proof in the slides is given here [1]


[1] http://www.cs.ox.ac.uk/ian.horrocks/Publications/download/1999/lpar99.pdf




 

 

Von: protege-user [hidden email] Im Auftrag von Lorenz B.
Gesendet: Donnerstag, 28. Februar 2019 13:54
An: [hidden email]
Betreff: Re: [protege-user] OWL Full and Protege

 

Just a general question: Why all these questions? What are you working on?

And did you read about the RDF based Semantics of OWL 2? It's basically also called OWL 2 Full.

 

And did you try the OWL profile checker of the OWL API? It can tell you whether your ontology is OWL 2 DL or just OWL 2 (Full). For example, what also is not allowed in OWL 2 DL is punning on object an data properties. In OWL 2, no problem.

Just use the OWL API, it will show you the most specific profile.

 

I hope it's clear, that any OWL 2 DL ontology is also an OWL 2 Full ontology but not vice versa. So, if it just says "OWL 2" it's not OWL 2 DL

 

 

Comments inline



Hi There

 

Thank you for the explanations and pointers.  For the moment I gather the following points from your explanations:

 

1.      The DL expressivity of OWL2-Full is SHOIN(D), i.e. the same expressivity of OWL2-DL

OWL 2 DL is SROIQ

 

2.      The difference between an OWL2-Full Ontology and an OWL2-DL ontology is not syntactic (i.e. there are no additional logical constants) but semantic (i.e. in an OWL2-Full ontology classes/properties are specified that are too complex for the DL reasoner to decide)

Yes, the syntax is still the OWL syntax.

 

3.      The only way of knowing in Protege if an ontology is not OWL2-DL is to run either FaCT++ or HermiT and get an error.

1.      A FaCT++ or HermiT error does not imply though that the ontology is OWL2-Full

1.      Even if 3.1. is false, FaCT++ or HermiT do not provide indications as to what makes an ontology OWL2-Full

Why not? If it's not in OWL 2 DL it's in OWL 2 Full

 

4.      An object property such as part-of cannot be transitive and asymmetric in OWL2-DL

1.      What would be undecidable is not clear to me.

E.g., given a transitive and asymmetric part-of and a KB:

 

KB = {part-of(a,b); part-of(b,c)}

 

Would either of the following statements follow?

S1: part-of(a,c) <-> ~part-of(a,c)

S2: ~part-of(b,a) <-> part-of(b,a)

 

If yes, how would S1 or S2 be derived from KB.

If no, what else would make KB undecidable for an OWL2-DL reasoner.

An OWL 2 DL reasoner can't answer this question. And not the KB is undecidable. The reasoning procedure itself is, the whole problem is undecidable. To be more precise: Consistency and entailment checking are known to be undecidable for OWL 2 Full. That means, it's impossible to construct an algorithm that always leads to a correct yes-or-no answer for those checks. Look up what an undecidable problem in computer science is.

 

Best wishes, Jos

 

 

Von: protege-user [hidden email] Im Auftrag von Lorenz B.
Gesendet: Mittwoch, 27. Februar 2019 16:52
An: [hidden email]
Betreff: Re: [protege-user] OWL Full and Protege

 

Well, I wouldn't say "not correct" - that's why I said it's probably just incomplete to some extent. I mean, Pellet for example should still work, it just ignores some axioms as far as I can say from my experience. That said, if a user isn't aware of the OWL 2 DL limitations, he might never recognize that some of the axioms are not taken into account.

One of the most prominent examples here is clearly the strict partial order, i.e. a relation that is transitive and asymmetric. For example greaterThan can't be modeled in OWL 2 DL ...

If somebody is interested in more (complex) examples, I'd suggest to have deeper a look into the paper of Michael Schneider et al [1]. It also evaluates three OWL reasoners (Pellet, Fact++ and HermiT) and their behavior when OWL 2 DL is violated. In addition, the paper shows that FOL theorem provers are able to process those axioms.

Spoiler (Sec. 4 "Discussion"):

Apparently two different strategies are used by the reasoners in this situation: FaCT++ and HermiT rigidly reject the input, while Pellet processes the input with some of the conflicting axioms being ignored, which may lead to missing or wrong results. For users who want to apply some of the modeling patterns introduced earlier in this paper, none of these strategies is acceptable. Therefore, a different strategy that does not have these problems is needed. We will propose and evaluate one such strategy in the next section.

 

Lorenz

 

[1] https://arxiv.org/pdf/1212.2902.pdf

Thanks Lorenz, I agree, what I said was not correct, thanks for those links. 

 

Michael 


On Feb 26, 2019, at 11:19 PM, Lorenz B. <[hidden email]> wrote:




 the default is that it is OWL 2 Full and all the standard reasoners can process it.

Afaik, that's not fully correct resp. it depends on what you mean by "process" or I would more said "it depends ..." .

OWL 2 Full is beyond OWL 2 DL, thus, none of the reasoners can do this. Note, reasoning in OWL 2 Full is undecidable while in OWL 2 DL it's decidable.

The only thing that might happen is that reasoners ignore some of the axioms to ensure decidability. You can see this behavior once you add axioms that violate the global restrictions of OWL DL [1]. For example, OWL  2  DL  allows  for  declaring  transitive  properties  as  well  as asymmetric properties, but does not allow a property to be both transitive and asymmetric.

TransitiveObjectProperty( :hasAncestor )
AsymmetricObjectProperty( :hasAncestor )

In this case, it's up to the reasoner how to proceed because the OWL 2 specs just define how to behave on legal OWL 2 DL input.

For example, with Pellet you'll most likely see an error message

"An error occurred during reasoning: Unsupported axiom: Ignoring transitivity and/or complex subproperty axioms for hasAncestor. org.mindswap.pellet.exceptions.UnsupportedFeatureException ..."

 

There is also a minor discussion on decidability in OWL Full on StackOverflow [2] 

 

That said, indeed you can open the ontology in Protege.

 

Just my two cents (yes, everything I said might be neither sound nor complete) - now it's time for the OWL experts like Matthew, etc.

 

[1] https://www.w3.org/TR/owl2-syntax/#Global_Restrictions_on_Axioms_in_OWL_2_DL
[2] https://stackoverflow.com/questions/46740344/why-is-owl-full-undecidable

 

Michael

 

On Tue, Feb 26, 2019 at 5:25 AM Jos Lehmann <[hidden email]> wrote:

Hi there

 

Questions:

 

-          Can protege load and OWL 2 Full ontology?

o   Would that show in the Metrics? How?

 

-          Is there a downloadable example of an OWL 2 Full Ontology?

 

-          What should I typically do to an ontology in protege to have its expressivity leap to OWL 2 Full?

 

-          Can any of the reasoners check an OWL 2 Full ontology?

o   How do reasoners that can’t react to an OWL 2 ontology

 

Thanks, Jos

 

 

 

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