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/

Reply via email to