Details
-
New Feature Request
-
Resolution: Fixed
-
Major
-
None
-
None
-
None
-
NIF
Description
Neither the postgres nor neo4j implementations of OntoQuest appear to incorporate EL++ reasoning.
This manifests in issues such as the following
http://tartini.crbs.ucsd.edu/phenotype/MP_0000172 "abnormal bone marrow cell number"
has zero diseases
underlying query:
URL: http://alpha.neuinfo.org/services/v1/federation/data/nlx_151835-1.json?includePrimaryData=true&count=1000&q=MP_0000172&includeSubclasses=true&
http://tartini.crbs.ucsd.edu/phenotype/HP_0005528 "Bone marrow hypocellularity"
underlying query:
http://alpha.neuinfo.org/services/v1/federation/data/nlx_151835-1.json%20data=includePrimaryData=true&count=1000&q=HP_0005528&includeSubclasses=true&
has multiple diseases, as expected.
An EL reasoner infers that MP_0000172 is a superclass of HP_0005528, so the first query should include all the results of the second query.
To get around this I created a version of the monarch ontology that has direct inferred subclass and equivalence class axioms asserted (using Elk), this is called monarch-inferred.owl
So we now have two ontologies:
- 1. http://purl.obolibrary.org/obo/upheno/monarch.owl
- 2. http://purl.obolibrary.org/obo/upheno/monarch-inferred.owl
(1) is what we have been loading.
(2) contains additional axioms, such as
SubClassOf(<http://purl.obolibrary.org/obo/HP_0005528> <http://purl.obolibrary.org/obo/MP_0000172>)
Therefore, redoing the index using (2) monarch-inferred.owl will solve the problem.
I will also load (2) into OntoQuest-postgres
I would like to try loading (2). This applies to both the neo4j instance, for the closure indexing in federation queries, and to the postgres instance, which drives the display of the ontology tab in the monarch portal right now.