Never mind, I think using OntDocumentManager#addModel(docURI, model)
together with other import machinery does what I wanted.

On 12/6/2019 7:56 AM, Steve Vestal wrote:
> Thanks, Dave.  Here are a few more questions.
>
> I'm looking at
> https://jena.apache.org/documentation/ontology/#compound-ontology-documents-and-imports-processing.
>  
> For possibly unnecessary reasons, I'm looking to manage who imports what
> from where myself.
>
> The Javadoc for OntDocumentManager#loadImport(OntModel model, String
> uri) says "Any models imported by the given URI will also be imported." 
> Is that true even if I have called setProcessImports(false) on the
> document manager(s) for both the imported and imported-into OntModels?
>
> Does OntDocumentManager#loadImport load an import into all OntModels
> that have that same document manager?
>
> What happens when an OntModel that does have a reasoner is imported into
> another OntModel using loadImport(OntModel model, String uri)?  Do I
> need to make sure the loaded OntModels do not have reasoners, e.g.,
> imported OntModels were all created with OntModelSpec.OWL_DL_MEM?
>
> Does import hierarchy matter for reasoning purposes?  If the root
> OntModel does a loadImport of everything that was requested as an import
> by any other import, is that good-to-go for the root OntModel reasoner?
>
> Must imports be OntModels themselves and be loaded by
> OntDocumentManager#loadImport(OntModel model, String uri)?     Or can
> ordinary Model objects be added using  OntModel#addSubModel or
> OntDocumentManager#addModel and work like an import?   Would it make any
> significant difference in performance if they are Models rather than
> OntModels without reasoners?  Or is this just asking for trouble?
> (Calling them OntModels without reasoners captures the intent better.)
>
>
> On 10/23/2019 2:42 AM, Dave Reynolds wrote:
>> On 23/10/2019 03:16, Steve Vestal wrote:
>>> The description at https://jena.apache.org/documentation/ontology/ talks
>>> about reading an ontology in as the base graph.  Import closure puts
>>> each imported ontology into its own graph to produce a "compound
>>> document."  What happens if I read more than one ontology into the same
>>> OntModel?  Are they merged into a single base graph?
>> Yes. If you add a triple to an OntModel that triple goes into the base
>> graph. Read is just adding a bunch of triples.
>>
>>> It says all updates change the base model, in the event a write is
>>> done.  Am I correct in assuming "change" refers to things like calling
>>> OntModel methods, and that while reasoners may affect results returned
>>> by SPARQL queries or Graph contains methods, reasoning will not "change"
>>> the base model in that sense.
>> Correct. Reasoning is packaged as a wrapper model which makes
>> additional inferred triples available but doesn't change the base model.
>>
>> Dave
>>

Reply via email to