Equivalent To logical defs. and asserted SubClass Of parents being stripped

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

Equivalent To logical defs. and asserted SubClass Of parents being stripped

jbmunro
Hello,

I am experiencing issues with Protege 5.2 running the ELK 0.4.3 reasoner.  

Terms are somehow losing their asserted SubClass Of parents and Equivalent
To logical definitions and becoming orphaned.  I am working on both SubClass
Of assertions and Equivalent To logical definitions to improve relations
between terms and after syncing the reasoner, Equivalent To logical
definitions that I haven't touched are being stripped.

Additionally, I am finding that after saving, closing and committing changes
made in Protege, reopening the *-edit.owl file the next day in Protege shows
additional orphaned terms.

I'm curious to know if anyone else has seen this behaviour.  Whether this is
perhaps being caused by my choice in reasoner.  What I can do to prevent
this from happening.

Thank you.

James



--
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: Equivalent To logical defs. and asserted SubClass Of parents being stripped

samsontu
Occasionally I use the ELK reasoner too. I’ve never seen the behavior you described.

It would be best if you can provide a sample ontology and the precise steps needed to demonstrate this problem.

With best regards,
Samson


On Oct 8, 2018, at 6:53 AM, jbmunro <[hidden email]> wrote:

Hello,

I am experiencing issues with Protege 5.2 running the ELK 0.4.3 reasoner.  

Terms are somehow losing their asserted SubClass Of parents and Equivalent
To logical definitions and becoming orphaned.  I am working on both SubClass
Of assertions and Equivalent To logical definitions to improve relations
between terms and after syncing the reasoner, Equivalent To logical
definitions that I haven't touched are being stripped.

Additionally, I am finding that after saving, closing and committing changes
made in Protege, reopening the *-edit.owl file the next day in Protege shows
additional orphaned terms.

I'm curious to know if anyone else has seen this behaviour.  Whether this is
perhaps being caused by my choice in reasoner.  What I can do to prevent
this from happening.

Thank you.

James



--
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: Equivalent To logical defs. and asserted SubClass Of parents being stripped

jbmunro
Samson,

Thank you for letting me know that you too have seen this behavior.  I will
work on pulling together the sample ontology and precise steps.

James



--
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: Equivalent To logical defs. and asserted SubClass Of parents being stripped

jbmunro
Ooops!  In my excitement, I thought that you said that you *have* seen this
behavior.  Apologies.  

James



--
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: Equivalent To logical defs. and asserted SubClass Of parents being stripped

Yevgeny Kazakov
Hi James,

In which exactly place the asserted definitions disappear? In the class hierarchy view? Asserted or inferred? Could you provide a screenshot?

What do you mean by "orphaned" terms? Do they appear directly under owl:Thing in the class hierarchy?

In general, the reasoner (ELK or any other) should not make any difference in the asserted hierarchy view, except for adding additional inferred equivalence or subclass assertions (shown in the description frame in yellow). But there is another "structural reasoner", which computes asserted class hierarchy, and there could be a problem with that.

For a diagnostic purpose, next time if you experience the problem, can you try:

1. Restarting the reasoner:

Reasoner > Stop reasoner
Reasoner > Start reasoner

Are the missing asserted axioms restored?

2. Switching to another reasoner (e.g., HermiT).

If in both cases the asserted axioms are *not* restored, it is unlikely a problem with the reasoner.

3. If restarting ELK (point 1) fixes the problem, try to disable the incremental mode in ELK:

Preferences > Reasoner > ELK > Incremental reasoning => uncheck

If after that you do not observe the problem anymore, it is likely an ELK bug. Please file a bug report here:


It would be then helpful to provide a (small) ontology on which the issue can be reliably reproduced.

Best regards,

- Yevgeny



On Mon, Oct 8, 2018 at 8:34 PM jbmunro <[hidden email]> wrote:
Ooops!  In my excitement, I thought that you said that you *have* seen this
behavior.  Apologies. 

James



--
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: Equivalent To logical defs. and asserted SubClass Of parents being stripped

jbmunro
Hi Samson and Yevgeny,

First, to address Samson's suggestions - I will certainly provide the
requested details next time this happens.  Right now, all I can provide is a
general outline and I would like to be able to provide a more specific
example.

Second, to address Yevgeny's suggestions and questions.

Typically, I work in the class inferred view, however, in order to identify
terms with dual asserted parents, I have lately been working in the entities
asserted view.  The issue I am describing, i.e. the loss of Equivalent To
and SubClass Of definitions (they just disappear), seems to be happing in
both views but is more typically noticed in the former as that is the view I
typically use.

When I say "orphaned" I do indeed mean that the asserted parent term is lost
and the term appears as a subclass of owl:Thing.

Thank you for explaining the action of reasoners in the asserted hierarchy
view.  I have been working on correcting terms that have dual asserted
parents and improving inferred relationships in the ontology.

I will certainly try stopping and restarting the reasoner.  I sync it with
any modification I make to a logical definition to make sure that changes I
have made to an Equivalent To or SubClass Of definition results in the
desired behavior.

I will certainly try another reasoner and disabling the incremental mode.

Thanks both for your help.

James



--
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: Equivalent To logical defs. and asserted SubClass Of parents being stripped

jbmunro
Hi Samson and Yevgeny,

We have again noticed that we are having issues with the disappearance of
Equivalent To logical definitions when viewed in the Class hierarchy
(inferred) tab.  This is happening to multiple users and is not limited to
one computer.

Protege 5.2.0
Reasoner = ELK 0.4.3
OS 10.14.3 (macOS Mojave)

To reiterate, an updated version of doid-edit.owl is pushed to GitHub in
what we believe to be fully functioning order - i.e. Equivalent To logical
definitions are present.  The file is subsequently retrieved from GitHub and
opened in Protege.  The ELK reasoner is run and when viewed in the Class
hierarchy (inferred) tab, Equivalent To logical definitions are missing.  We
then manually add the missing Equivalent To logical definitions back in
using Protege, run the reasoner, save the file, push it to GitHub, etc.

A screen shot is included - "missing_Equvalent_To_definition" - which shows
one example of where the Equivalent To logical definition for
'cardiovascular system disease' is present in the earlier version of the
ontology (left hand side) and missing in the newer version (right hand
side).  In addition to 'cardiovascular system disease' having lost its
Equivalent To definition, other children of 'disease of anatomical entity'
such as 'musculoskeletal system disease', etc. have lost their definitions.

<http://protege-project.136.n4.nabble.com/file/t376918/missing_Equvalent_To_definition_copy.png>

I addressed Yevgeny's question "What do you mean by "orphaned" terms? Do
they appear directly under owl:Thing in the class hierarchy?" in my last
reply - yes, when I say "orphaned" I do indeed mean that the asserted parent
term is lost and the term appears as a subclass of owl:Thing.  I do not have
a screen shot at this time.
 
Regarding Yevgeny's advice to start / stop reasoner and try another
reasoner, neither suggestion has resolved the issue.  Disabling incremental
reasoning in ELK was also tried.  Submitting a bug issue was not pursued
because the issue does not seem to be with ELK.

Yevgeny mentioned that it would be helpful to provide a small ontology in
which the issue can be reliably reproduced.  This has been the sticking
point for responding to this thread as 1) the issue cannot be reliably
reproduced and 2) creating a smaller version of the Human Disease Ontology,
with all of its various imported ontologies, is beyond my skill.

I am not sure where to go from here and advice would be appreciated.

Could Protege or the reasoner for any reason be removing our Equivalent To
statements?

Thank you.

James



--
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: Equivalent To logical defs. and asserted SubClass Of parents being stripped

samsontu
Something you can answer is whether you lose the equivalent definitions WITHOUT invoking a reasoner.

You showed side-by-side inferred views that shows an equivalent definition missing in one view. The question is, before you invoke the reasoner, is the definition there or is it already lost in the asserted view?

At this time we don’t know the precise step in your workflow where the definitions are lost. You need to establish that first.
1. Protege uses the OWL API to save and load ontologies. If you lose definitions just by saving and reloading an ontology, then that’s an OWL API issue.
2. You use GitHub to save and get different versions of the ontology. Can you always get back the same version that you push GitHub?
3. If you lose definitions by running a reasoner (i.e., the definition is in the asserted view before invoking the reasoner and missing afterward) then it’s a reasoner problem.

In an earlier message you said you work primarily with inferred view. What we need to establish is whether the problem occurs when you are looking at asserted views. Tell us whether you lose definition without invoking the reasoner first.

With best regards,
Samson




On Mar 5, 2019, at 12:40 PM, jbmunro <[hidden email]> wrote:

Hi Samson and Yevgeny,

We have again noticed that we are having issues with the disappearance of
Equivalent To logical definitions when viewed in the Class hierarchy
(inferred) tab.  This is happening to multiple users and is not limited to
one computer.

Protege 5.2.0
Reasoner = ELK 0.4.3
OS 10.14.3 (macOS Mojave)

To reiterate, an updated version of doid-edit.owl is pushed to GitHub in
what we believe to be fully functioning order - i.e. Equivalent To logical
definitions are present.  The file is subsequently retrieved from GitHub and
opened in Protege.  The ELK reasoner is run and when viewed in the Class
hierarchy (inferred) tab, Equivalent To logical definitions are missing.  We
then manually add the missing Equivalent To logical definitions back in
using Protege, run the reasoner, save the file, push it to GitHub, etc.

A screen shot is included - "missing_Equvalent_To_definition" - which shows
one example of where the Equivalent To logical definition for
'cardiovascular system disease' is present in the earlier version of the
ontology (left hand side) and missing in the newer version (right hand
side).  In addition to 'cardiovascular system disease' having lost its
Equivalent To definition, other children of 'disease of anatomical entity'
such as 'musculoskeletal system disease', etc. have lost their definitions.

<http://protege-project.136.n4.nabble.com/file/t376918/missing_Equvalent_To_definition_copy.png>

I addressed Yevgeny's question "What do you mean by "orphaned" terms? Do
they appear directly under owl:Thing in the class hierarchy?" in my last
reply - yes, when I say "orphaned" I do indeed mean that the asserted parent
term is lost and the term appears as a subclass of owl:Thing.  I do not have
a screen shot at this time.

Regarding Yevgeny's advice to start / stop reasoner and try another
reasoner, neither suggestion has resolved the issue.  Disabling incremental
reasoning in ELK was also tried.  Submitting a bug issue was not pursued
because the issue does not seem to be with ELK.

Yevgeny mentioned that it would be helpful to provide a small ontology in
which the issue can be reliably reproduced.  This has been the sticking
point for responding to this thread as 1) the issue cannot be reliably
reproduced and 2) creating a smaller version of the Human Disease Ontology,
with all of its various imported ontologies, is beyond my skill.

I am not sure where to go from here and advice would be appreciated.

Could Protege or the reasoner for any reason be removing our Equivalent To
statements?

Thank you.

James



--
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: Equivalent To logical defs. and asserted SubClass Of parents being stripped

jbmunro
Hi Samson,

Thanks so much for the prompt reply!

Opening the doid-edit.owl file without invoking a reasoner reveals that the
equivalent definitions remain missing in both the asserted and inferred
views of the class hierarchy.

<http://protege-project.136.n4.nabble.com/file/t376918/asserted_view_no_reasoner.png>

I am passing your other points along to my colleagues and I will get back to
you asap.

Thanks!

James



--
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: Equivalent To logical defs. and asserted SubClass Of parents being stripped

jbmunro
Hi Samson,

I *think* we might have ruled out the possibility of an OWL API issue.  

I grabbed the latest version of doid-edit.owl.  

I duplicated the file and saved it as doid-edit_2019-03-06.owl.  

I opened the file in Protege.  All of the children of 'disease of anatomical
entity' had Equiv To statements save 'immune system disease'.  For some
reason, this statement had disappeared.  (Similarly, the original file was
missing this statement.)

I added the missing statement, saved the file and opened it again in
Protege.  All of the children of 'disease of anatomical entity' had Equiv To
statements - as they should.  

I opened and saved the file probably 5 or 6 times and each time, all of the
Equiv To statements were there.

We can trace the loss of the 'immune system disease' Equivalent To statement
to March 5:
https://github.com/DiseaseOntology/HumanDiseaseOntology/commit/bfe8df245a8f236c9f49e3677b3d6321fc4d3bda#diff-05ea12eaf192931897ad633f8bced5d3

<http://protege-project.136.n4.nabble.com/file/t376918/GitHub.png>

So, the Equivalent To statement was lost before pushing the file to GitHub
on that date.

I'm not sure how to test if the issue is with GitHub.  Only time and further
close observation might reveal if there is an issue with the reasoner.

Question - does Protege have a limit to the number of logical definitions
that can be handled?  While not the largest ontology out there, the Human
Disease Ontology does make use of a lot of logical definitions.

Thanks.

James



--
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: Equivalent To logical defs. and asserted SubClass Of parents being stripped

samsontu
Hi,

If the equivalence definition is missing in your asserted ontology, the reasoner is not the source of your loss. It’s highly unlikely that Protege would lose axioms as it saves an ontology, as your experiment and the experience of other Protege users demonstrate. AFAIK, the size of the ontology that Protege can handle is only limited by the amount of RAM allocated to the Java process.  You’ll get an out-of-memory exception if that limit is reached. You’ll need to examine carefully every step in your workflow to identify the source of your problem. 

With best regards,
Samson


On Mar 6, 2019, at 11:22 AM, jbmunro <[hidden email]> wrote:

Hi Samson,

I *think* we might have ruled out the possibility of an OWL API issue.  

I grabbed the latest version of doid-edit.owl.  

I duplicated the file and saved it as doid-edit_2019-03-06.owl.  

I opened the file in Protege.  All of the children of 'disease of anatomical
entity' had Equiv To statements save 'immune system disease'.  For some
reason, this statement had disappeared.  (Similarly, the original file was
missing this statement.)

I added the missing statement, saved the file and opened it again in
Protege.  All of the children of 'disease of anatomical entity' had Equiv To
statements - as they should.  

I opened and saved the file probably 5 or 6 times and each time, all of the
Equiv To statements were there.

We can trace the loss of the 'immune system disease' Equivalent To statement
to March 5:
https://github.com/DiseaseOntology/HumanDiseaseOntology/commit/bfe8df245a8f236c9f49e3677b3d6321fc4d3bda#diff-05ea12eaf192931897ad633f8bced5d3

<http://protege-project.136.n4.nabble.com/file/t376918/GitHub.png>

So, the Equivalent To statement was lost before pushing the file to GitHub
on that date.

I'm not sure how to test if the issue is with GitHub.  Only time and further
close observation might reveal if there is an issue with the reasoner.

Question - does Protege have a limit to the number of logical definitions
that can be handled?  While not the largest ontology out there, the Human
Disease Ontology does make use of a lot of logical definitions.

Thanks.

James



--
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: Equivalent To logical defs. and asserted SubClass Of parents being stripped

jbmunro
Hi Samson,

Protege allocates 4GB to Java - more than enough memory for our purposes and
we have never seen an out-of-memory exception.

I'll keep track of things and try and figure out exactly where the
Equivalent To statements are being removed.

Thanks for the guidance and suggestions.

James



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