On Thu, Apr 25, 2013 at 11:46 AM, David Jordan <[email protected]> wrote: > I am writing a little performance benchmark test to ascertain the overhead in > determining whether a given update is a valid. It was recommended before on > this forum that the best way to do this efficiently is create a new OntModel > A, have it import the associated ontology, then perform the few updates in > this new OntModel A, and then call A.validate().isValid(). > > Is an imported model simply a submodel, added by just calling the add method? > I don’t see any specific method for importing a model, but some documentation > suggests that a submodel is an imported model.
OntModels can have submodels, which are added with OntModel#addSubModel [1]. However, OWL ontologies can also import other ontologies via owl:imports, and this is a different concept than OntModel and submodels. To add an owl:imports to an ontology, use OntModel#getOntology to get the ontology object for the ontology that the OntModel represents, and use Ontology#addImport to add the import. If you go down this road, you'll might need to be aware of OntDocumentManagers [2] and import processing (whether to load imported ontologies and the like). [1] http://jena.apache.org/documentation/javadoc/jena/com/hp/hpl/jena/ontology/OntModel.html#addSubModel(com.hp.hpl.jena.rdf.model.Model) [2] http://jena.apache.org/documentation/javadoc/jena/com/hp/hpl/jena/ontology/OntDocumentManager.html > When the A.validate() is called, it is just going to validate model A, or > will it also validate the submodel, which would include the potentially large > associated ontology? I don't have an answer for this. -- Joshua Taylor, http://www.cs.rpi.edu/~tayloj/
