Open cmungall opened 8 years ago
Would this only be used in the API, but not exposed in the YAML/JSON?
I am guessing do expose in the YAML/JSON. Someone can use an ontology-aware tool such as pxftools to populate the inferred_types fields, and then pass the file to another system that can read phenopacket files but doesn't have ontology capabilities.
The current
ClassInstance.types
variable is intended for direct types.We could add an optional inferred_types field that stores the superclasses and equivalence classes. This is useful in architectures where the query engine is ontology-unaware (e.g. most DBMSs). An ontology-aware processor (e.g. part of phenotools) could take a packet
P
, populate the inferred_types to produceP*
. The database engine then loadsP*
and is able to efficiently return valid and complete phenotype query results.