OntologyManager: registration and archiving
I think we all agree that when an annotation references an ontology we should import the referenced ontology and any ontology that it imports and run the reasoner over it so that it can be used for querying (and data integration in the future).
Some options for making sure we always have this ontology in the future:
-Save the ontology in Bioportal with a specific versioning policy. This might also require grabbing and versioning each imported ontology.
-Save ontology and imported ontologies in Metacat.
#1 Updated by ben leinfelder over 9 years ago
For ontology storage in Metacat:
-insert ontology (OBOE extension) as a data file (better typing mechanism forthcoming with D1 enhancements)
-follow the import declarations and save each imported ontology if it is not already saved in Metacat
-when Metacat is initialized (restarted), all saved ontologies are loaded and reasoned over and therefore available to use in semantic queries.
-Metacat would provide URI to location mapping so that we can access the ontology content with only the URI even if the URI does not resolve (no need for a Metacat docid).
-ontology versions should probably be saved as document revisions, but we want to be sure that old revisions are easily accessible (which might make new docids more attractive for this purpose).
-inserting an annotation would force us to look at the ontologies used in the annotation and retrieve any that were not already archived locally (URI should resolve at this point).
-clients (Morpho) could also directly upload ontologies and provide URI-local mappings when their local ontologies use non-resolving URIs