I am trying to understand, for an OntModel, the differences between the base model, an imported model, a sub-model, and a bound schema.  My use case is that I have a number of "imports" (actually sub-models I add myself) to an OntModel, one of which might have its content changed during use.  I have a few questions, which I simplified to yes-no hoping that would make this easier.

I'm looking at the diagram in https://jena.apache.org/documentation/ontology/#compound-ontology-documents-and-imports-processing

When an OntModel processes its imports (IIRC the default behavior), and an imported document says it is an OWL ontology, does that get imported as a simple Model without all that layering, e.g., no reasoner?

Is calling OntModel#addSubModel basically the same as importing but without chasing down transitive imports?

When an imported OWL ontology has imports, is the collection of transitive imports flattened out under that one union graph?

That diagram shows imports being different than the base model. If a change is made to an import or sub-model, does that mean there will be no reasoner rebind because there was no change to the base model?  If an import or sub-model is changed, does rebind need to be explicitly called on the overall OntModel and its reasoner?

If OntModel#setDynamicImports(true), and Ontology#addImport and Ontology#removeImport are called during a session, is that basically the same as using various sub-model adds and removes with rebinding?

Looking now at the diagram https://jena.apache.org/documentation/inference/#overview

If I call Reasoner#bindSchema, where does that go?  Same place as the imports in the earlier diagram?



Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to