Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ontology is too complex to reason over #7

Open
wdduncan opened this issue Sep 19, 2021 · 3 comments
Open

ontology is too complex to reason over #7

wdduncan opened this issue Sep 19, 2021 · 3 comments

Comments

@wdduncan
Copy link
Member

wdduncan commented Sep 19, 2021

@addiehl @mtsmith6 @adbartni
In order to have the ontology classify entities based on data property values (e.g., flip, TE, TR) you will have to use the HermiT reasoner. However, after 15 minutes or so, reasoning fails on my computer due running out of memory.

I have my laptop java memory set to 12G. You can experiment with setting the memory higher, but it raises the question of just how complex do you want/need the reasoning to be. For example, if you need 64G of memory in order to get the reasoner to complete, the ontology may not be practical for many other researchers to use.

I suspect the reason for this is large number imports from OBI and UBERON. These ontologies have a number of complex axioms.

Not sure what the right solution for this is. You can:

  • trim the number of classes you are importing
  • only import the classes and not the axioms
  • throw more computing power at it
@wdduncan
Copy link
Member Author

I also played around with using SWRL rules. In the attached ontology on the SWRL tab, you can see some simple rules for classifying the person individuals. However, for this to work, you have to use the pellet reasoner, and this may (probably will) cause the same memory issues as using HermiT
person-test-swrl.owl.zip
.

@adbartni
Copy link
Contributor

The SWRL stuff definitely looks interesting.

Mackenzie provided a list of only those terms from OBI and UBERON that we actively use. I was able to use that to cut down what we import from OBI and selected only the terms from UBERON and not the axioms since those aren't important for us.

This brought the overall axiom count from ~50,000 to 7,301. HermiT now runs very smoothly and correctly classifies individual acquisition sequences according to defined MRI setting values.

@adbartni
Copy link
Contributor

I'll leave this open while I look into SWRL as well, but I'd say things are in pretty good shape after greatly cutting down on the complexity from the imports.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants