📄 ontmodel.java
字号:
public Profile getProfile();
/**
* <p>
* Answer the model maker associated with this model (used for constructing the
* constituent models of the imports closure).
* </p>
* @deprecated use getImportModelMaker instead for consistency with name
* changes to OntModelSpec to avoid ambiguity with base vs import makers.
*
* @return The local model maker
*/
public ModelMaker getModelMaker();
/**
* <p>
* Answer the model maker associated with this model (used for constructing the
* constituent models of the imports closure).
* </p>
*
* @return The local model maker
*/
public ModelMaker getImportModelMaker();
/**
* <p>
* Answer the sub-graphs of this model. A sub-graph is defined as a graph that
* is used to contain the triples from an imported document.
* </p>
*
* @return A list of graphs that are contained in this ontology model
*/
public List getSubGraphs();
/**
* <p>Answer an iterator over the ontologies that this ontology imports,
* each of which will have been wrapped as an ontology model using the same
* {@link OntModelSpec} as this model. If this model has no imports,
* the iterator will be non-null but will not have any values.</p>
* @return An iterator, each value of which will be an <code>OntModel</code>
* representing an imported ontology.
* @deprecated This method has been re-named to <code>listSubModels</code>,
* but note that to obtain the same behaviour as <code>listImportedModels</code>
* from Jena 2.4 and earlier, callers should invoke {@link #listSubModels(boolean)}
* with parameter <code>true</code>.
* @see #listSubModels()
* @see #listSubModels(boolean)
*/
public ExtendedIterator listImportedModels();
/**
* <p>Answer an iterator over the ontology models that are sub-models of
* this model. Sub-models are used, for example, to represent composite
* documents such as the imports of a model. So if ontology A imports
* ontologies B and C, each of B and C will be available as one of
* the sub-models of the model containing A. This method replaces the
* older {@link #listImportedModels}. Note that to fully replicate
* the behaviour of <code>listImportedModels</code>, the
* <code>withImports</code> flag must be set to true. Each model
* returned by this method will have been wrapped as an ontology model using the same
* {@link OntModelSpec} as this model. If this model has no sub-models,
* the returned iterator will be non-null but will not have any values.</p>
*
* @param withImports If true, each sub-model returned by this method
* will also include its import models. So if model A imports D, and D
* imports D, when called with <code>withImports</code> set to true, the
* return value for <code>modelA.listSubModels(true)</code> will be an
* iterator, whose only value is a model for D, and that model will contain
* a sub-model representing the import of E. If <code>withImports</code>
* is false, E will not be included as a sub-model of D.
* @return An iterator, each value of which will be an <code>OntModel</code>
* representing a sub-model of this ontology.
*/
public ExtendedIterator listSubModels( boolean withImports );
/**
* <p>Answer an iterator over the ontology models that are sub-models of
* this model. Sub-models are used, for example, to represent composite
* documents such as the imports of a model. So if ontology A imports
* ontologies B and C, each of B and C will be available as one of
* the sub-models of the model containing A.
* <strong>Important note on behaviour change:</strong> please see
* the comment on {@link #listSubModels(boolean)} for explanation
* of the <code>withImports</code> flag. This zero-argument form
* of <code>listSubModels</code> sets <code>withImports</code> to
* false, so the returned models will not themselves contain imports.
* This behaviour differs from the zero-argument method
* {@link #listImportedModels()} in Jena 2.4 an earlier.</p>
* @return An iterator, each value of which will be an <code>OntModel</code>
* representing a sub-model of this ontology.
* @see #listSubModels(boolean)
*/
public ExtendedIterator listSubModels();
/**
* <p>Answer the number of sub-models of this model, not including the
* base model.</p>
* @return The number of sub-models, ≥ zero.
*/
public int countSubModels();
/**
* <p>Answer an <code>OntModel</code> representing the imported ontology
* with the given URI. If an ontology with that URI has not been imported,
* answer null.</p>
* @param uri The URI of an ontology that may have been imported into the
* ontology represented by this model
* @return A model representing the imported ontology with the given URI, or
* null.
*/
public OntModel getImportedModel( String uri );
/**
* <p>
* Answer the base model of this model. The base model is the model
* that contains the triples read from the source document for this
* ontology. It is therefore this base model that will be updated if statements are
* added to a model that is built from a union of documents (via the
* <code>imports</code> statements in the source document).
* </p>
*
* @return The base model for this ontology model
*/
public Model getBaseModel();
/**
* <p>
* Add the given model as one of the sub-models of the enclosed ontology union model. Will
* cause the associated infererence engine (if any) to update, so this may be
* an expensive operation in some cases.
* </p>
*
* @param model A sub-model to add
* @see #addSubModel( Model, boolean )
*/
public void addSubModel( Model model );
/**
* <p>
* Add the given model as one of the sub-models of the enclosed ontology union model.
* </p>
*
* @param model A sub-model to add
* @param rebind If true, rebind any associated inferencing engine to the new data (which
* may be an expensive operation)
*/
public void addSubModel( Model model, boolean rebind );
/**
* <p>
* Remove the given model as one of the sub-models of the enclosed ontology union model. Will
* cause the associated infererence engine (if any) to update, so this may be
* an expensive operation in some cases.
* </p>
*
* @param model A sub-model to remove
* @see #addSubModel( Model, boolean )
*/
public void removeSubModel( Model model );
/**
* <p>
* Remove the given model as one of the sub-models of the enclosed ontology union model.
* </p>
*
* @param model A sub-model to remove
* @param rebind If true, rebind any associated inferencing engine to the new data (which
* may be an expensive operation)
*/
public void removeSubModel( Model model, boolean rebind );
/**
* <p>Answer true if the given node is a member of the base model of this ontology model.
* This is an important distiction, because only the base model receives updates when the
* ontology model is updated. Thus, removing properties of a resource that is not in the base
* model will not actually side-effect the overall model.</p>
* @param node An RDF node (Resource, Property or Literal) to test
* @return True if the given node is from the base model
*/
public boolean isInBaseModel( RDFNode node );
/**
* <p>Answer true if the given statement is defined in the base model of this ontology model.
* This is an important distiction, because only the base model receives updates when the
* ontology model is updated. Thus, removing a statement that is not in the base
* model will not actually side-effect the overall model.</p>
* @param stmt A statement to test
* @return True if the given statement is from the base model
*/
public boolean isInBaseModel( Statement stmt );
/**
* <p>
* Answer true if this model is currently in <i>strict checking mode</i>. Strict
* mode means
* that converting a common resource to a particular language element, such as
* an ontology class, will be subject to some simple syntactic-level checks for
* appropriateness.
* </p>
*
* @return True if in strict checking mode
*/
public boolean strictMode();
/**
* <p>
* Set the checking mode to strict or non-strict.
* </p>
*
* @param strict
* @see #strictMode()
*/
public void setStrictMode( boolean strict );
/**
* <p>Set the flag that controls whether adding or removing <i>imports</i>
* statements into the
* model will result in the imports closure changing dynamically.</p>
* @param dynamic If true, adding or removing an imports statement to the
* model will result in a change in the imports closure. If false, changes
* to the imports are not monitored dynamically. Default false.
*/
public void setDynamicImports( boolean dynamic );
/**
* <p>Answer true if the imports closure of the model will be dynamically
* updated as imports statements are added and removed.</p>
* @return True if the imports closure is updated dynamically.
*/
public boolean getDynamicImports();
/**
* <p>
* Answer a reference to the document manager that this model is using to manage
* ontology <-> mappings, and to load the imports closure. <strong>Note</strong>
* by default, an ontology model is constructed with a reference to the shared,
* global document manager. Thus changing the settings via this model's document
* manager may affect other models also using the same instance.
* </p>
* @return A reference to this model's document manager
*/
public OntDocumentManager getDocumentManager();
/**
* <p>Answer the ontology model specification that was used to construct this model</p>
* @return An ont model spec instance.
*/
public OntModelSpec getSpecification();
/**
* <p>
* Answer the iterator over the resources from the graph that satisfy the given
* query, followed by the answers to the alternative queries (if specified). A
* typical scenario is that the main query gets resources of a given class (say,
* <code>rdfs:Class</code>), while the altQueries query for aliases for that
* type (such as <code>daml:Class</code>).
* </p>
*
* @param query A query to run against the model
* @param altQueries An optional list of subsidiary queries to chain on to the first
* @return ExtendedIterator An iterator over the (assumed single) results of
* executing the queries.
*/
public ExtendedIterator queryFor( BindingQueryPlan query, List altQueries, Class asKey );
/**
* <p>If this OntModel is presenting an OWL model, answer the minimum OWL language
* level that the constructs
* used in this model lie entirely within.
* This method requires that the separately downloadable
* owlsyntax.jar is on the classpath.
* The three possible return values are
* {@link com.hp.hpl.jena.vocabulary.OWL#FULL_LANG FULL_LANG} for OWL-full,
* {@link com.hp.hpl.jena.vocabulary.OWL#DL_LANG DL_LANG} for OWL-DL or
* {@link com.hp.hpl.jena.vocabulary.OWL#LITE_LANG LITE_LANG} for OWL-lite.
* Note that these URI's are <strong>not</strong> officially sanctioned by the WebOnt
* working group. For unknown reasons, the working group chose not to assign official
* URI's to represent the different OWL language levels. There is a slim chance that this
* may change in future, in which case these return values will change apropriately.
* In addition to the method return value,
* the given <code>problems</problems> list, if non-null, will be filled with the syntax
* problems detected by the syntax checker.
* </p>
* <p>
* The Jena OWL syntax checker will normally list as problems those constructs used in
* this model that are in OWL Full but not permitted in OWL DL. The exception to this
* is if the {@linkplain #getProfile() language profile} for this model is
* {@linkplain com.hp.hpl.jena.ontology.impl.OWLLiteProfile OWL Lite}, then the syntax checker will
* test for construct
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -