I have a few questions about how to assemble a compound document structure.  I will use as a notional example

    OntModel ontModel = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM_MICRO_RULE_INF);

The reasoner package javadoc shows

    ReasonerFactory rf = RDFSReasonerFactory.theInstance();
    Reasoner reasoner  = rf.create(null);
    InfGraph graph     = reasoner.bind(data);
    Model model        = new ModelMem(graph);

When creating the above ontModel, is that final model what will be created using the reasoner's provided InfGraph, e.g., the final line above would be something like new OntModelImpl(spec, baseModel) where the baseModel is created using the provided InfGraph as its source of data?  (In a test, the graph provided by the baseModel (a ModelComp object) is the graph provided by the ontModel object.)

When I read a simple test case into ontModel that has two imports and then look at the results of

        ExtendedIterator<OntModel> subModels = ontModel.listSubModels();

and

        ExtendedIterator<String> ontModels = ontModel.getImportModelMaker().listModels();
        while (ontModels.hasNext()) {
            String m = ontModels.next();
            OntModel imp = ontModel.getImportedModel(m);}

I get different OntModelImpl subModel objects versus importedModel objects.  What is the difference between subModels and importedModels?  My impression is that the argument to Reasoner#bind is often a MultiUnion graph. Which of these (submodels or imports) are children of (providers to) the reasoner's MultiUnion graph?  What is the parent (consuming) model for the other?  Which models provide the OntModelImpl#getSubGraph graphs?

What does OntModel#getDeductionsModel return?  This is the model where a reasoner puts its entailments, correct?  It doesn't seem to be any of the above model objects.


Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to