Could OntDocumentManager.ReadHook be used for this? https://jena.apache.org/documentation/javadoc/jena/org/apache/jena/ontology/OntDocumentManager.ReadHook.html
On Sat, Mar 26, 2022 at 4:46 PM Martynas Jusevičius <marty...@atomgraph.com> wrote: > > Hi, > > Using the ontology API, if one owl:imports an ontology URI such as > <http://www.w3.org/ns/org#> into ontology model, the imported model > gets cached under the "http://www.w3.org/ns/org#" key. > > However, given > > <http://www.w3.org/ns/org#> a owl:Ontology > > one can argue that this URI is of the ontology resource, but what gets > loaded and cached is more than that -- it is the ontology *document*. > This relates to the old debate whether ontology instances should > contain the trailing # in their URIs, i.e. whether ontology and its > document is the same resource or distinct resources. > > The problem is that despite the ontology being cached, code that > attempts to dereference its document URI will not be able to make use > of it as "http://www.w3.org/ns/org" will not match the > "http://www.w3.org/ns/org#" cache key. > > My questions are: > 1. How can I work around this? Using some kind of post-loadImports() > hook to make cache entries for both URIs? > 2. Shouldn't the OWL import code be aware of this and cache the > document URI while using it as a base for all relative URIs (of > ontology terms)? > > Martynas > atomgraph.com