com.hp.hpl.jena.ontology
Interface OntModel

All Superinterfaces:
InfModel, Lock, Model, ModelCon, ModelGraphInterface, PrefixMapping, RDFReaderF, RDFWriterF

public interface OntModel
extends InfModel

An enhanced view of a Jena model that is known to contain ontology data, under a given ontology vocabulary (such as OWL). This class does not by itself compute the deductive extension of the graph under the semantic rules of the language. Instead, we wrap an underlying model with this ontology interface, that presents a convenience syntax for accessing the language elements. Depending on the inference capability of the underlying model, the OntModel will appear to contain more or less triples. For example, if this class is used to wrap a plain memory or database model, only the relationships asserted by the document will be reported through this convenience API. Alternatively, if the OntModel wraps an OWL inferencing model, the inferred triples from the extension will be reported as well. For example, assume the following ontology fragment:

      :A rdf:type owl:Class .
      :B rdf:type owl:Class ; rdfs:subClassOf :A .
      :widget rdf:type :B .
 
In a non-inferencing model, the rdf:type of the widget will be reported as class :B only. In a model that can process the OWL semantics, the widget's types will include :B, :A, and owl:Thing.

Note: that OntModel is an extension to the InfModel interface. This is to support the case where an ontology model wraps an inference graph, and we want to make the special capabilities of the InfModel, for example global consistency checking, accessible to client programs. Since not all ont models use a reasoner, using these methods may result in a runtime exception, though the typical behaviour is that such calls will be silently ignored.

Version:
CVS $Id: OntModel.java,v 1.2 2009/10/06 13:04:34 ian_dickinson Exp $
Author:
Ian Dickinson, HP Labs (email)

Nested Class Summary
 
Nested classes/interfaces inherited from interface com.hp.hpl.jena.shared.PrefixMapping
PrefixMapping.Factory, PrefixMapping.IllegalPrefixException, PrefixMapping.JenaLockedException
 
Field Summary
 
Fields inherited from interface com.hp.hpl.jena.shared.PrefixMapping
Extended, Standard
 
Fields inherited from interface com.hp.hpl.jena.shared.Lock
READ, WRITE
 
Method Summary
 void addLoadedImport(java.lang.String uri)
           Record that this model has now imported the document with the given URI, so that it will not be re-imported in the future.
 void addSubModel(Model model)
           Add the given model as one of the sub-models of the enclosed ontology union model.
 void addSubModel(Model model, boolean rebind)
           Add the given model as one of the sub-models of the enclosed ontology union model.
 int countSubModels()
          Answer the number of sub-models of this model, not including the base model.
 AllDifferent createAllDifferent()
           Answer a new, anonymous node representing the fact that a given set of classes are all pair-wise distinct.
 AllDifferent createAllDifferent(RDFList differentMembers)
           Answer a new, anonymous node representing the fact that a given set of classes are all pair-wise distinct.
 AllValuesFromRestriction createAllValuesFromRestriction(java.lang.String uri, Property prop, Resource cls)
          Answer a class description defined as the class of those individuals for which all values of the given property belong to the given class
 AnnotationProperty createAnnotationProperty(java.lang.String uri)
           Answer a resource that represents an annotation property in this model.
 CardinalityQRestriction createCardinalityQRestriction(java.lang.String uri, Property prop, int cardinality, OntClass cls)
          Answer a class description defined as the class of those individuals that have exactly the given number of values for the given property, all values of which belong to the given class.
 CardinalityRestriction createCardinalityRestriction(java.lang.String uri, Property prop, int cardinality)
          Answer a class description defined as the class of those individuals that have exactly the given number of values for the given property.
 OntClass createClass()
           Answer a resource that represents an anonymous class description in this model.
 OntClass createClass(java.lang.String uri)
           Answer a resource that represents a class description node in this model.
 ComplementClass createComplementClass(java.lang.String uri, Resource cls)
          Answer a resource representing the class that is the complement of the given argument class
 DataRange createDataRange(RDFList literals)
          Answer a data range defined as the given set of concrete data values.
 DatatypeProperty createDatatypeProperty(java.lang.String uri)
           Answer a resource that represents datatype property in this model, and that is not a functional property.
 DatatypeProperty createDatatypeProperty(java.lang.String uri, boolean functional)
           Answer a resource that represents datatype property in this model.
 EnumeratedClass createEnumeratedClass(java.lang.String uri, RDFList members)
          Answer a resource representing the class that is the enumeration of the given list of individuals
 HasValueRestriction createHasValueRestriction(java.lang.String uri, Property prop, RDFNode value)
          Answer a class description defined as the class of those individuals that have the given resource as the value of the given property
 Individual createIndividual(Resource cls)
           Answer a resource that represents an Individual node in this model.
 Individual createIndividual(java.lang.String uri, Resource cls)
           Answer a resource that represents an Individual node in this model.
 IntersectionClass createIntersectionClass(java.lang.String uri, RDFList members)
          Answer a resource representing the class that is the intersection of the given list of class descriptions.
 InverseFunctionalProperty createInverseFunctionalProperty(java.lang.String uri)
          Answer a resource representing an inverse functional property
 InverseFunctionalProperty createInverseFunctionalProperty(java.lang.String uri, boolean functional)
          Answer a resource representing an inverse functional property, which is optionally also functional.
 MaxCardinalityQRestriction createMaxCardinalityQRestriction(java.lang.String uri, Property prop, int cardinality, OntClass cls)
          Answer a class description defined as the class of those individuals that have at most the given number of values for the given property, all values of which belong to the given class.
 MaxCardinalityRestriction createMaxCardinalityRestriction(java.lang.String uri, Property prop, int cardinality)
          Answer a class description defined as the class of those individuals that have at most the given number of values for the given property.
 MinCardinalityQRestriction createMinCardinalityQRestriction(java.lang.String uri, Property prop, int cardinality, OntClass cls)
          Answer a class description defined as the class of those individuals that have at least the given number of values for the given property, all values of which belong to the given class.
 MinCardinalityRestriction createMinCardinalityRestriction(java.lang.String uri, Property prop, int cardinality)
          Answer a class description defined as the class of those individuals that have at least the given number of values for the given property.
 ObjectProperty createObjectProperty(java.lang.String uri)
           Answer a resource representing an object property in this model, and that is not a functional property.
 ObjectProperty createObjectProperty(java.lang.String uri, boolean functional)
           Answer a resource that represents an object property in this model.
 Ontology createOntology(java.lang.String uri)
           Answer a resource that represents an ontology description node in this model.
 OntProperty createOntProperty(java.lang.String uri)
           Answer a resource representing an generic property in this model.
<T extends OntResource>
T
createOntResource(java.lang.Class<T> javaClass, Resource rdfType, java.lang.String uri)
           Answer a resource that represents a generic ontology node in this model.
 OntResource createOntResource(java.lang.String uri)
          Answer a resource presenting the OntResource facet, which has the given URI.
 Restriction createRestriction(Property p)
           Answer a resource that represents an anonymous property restriction in this model.
 Restriction createRestriction(java.lang.String uri, Property p)
           Answer a resource that represents a property restriction in this model.
 SomeValuesFromRestriction createSomeValuesFromRestriction(java.lang.String uri, Property prop, Resource cls)
          Answer a class description defined as the class of those individuals that have at least one property with a value belonging to the given class
 SymmetricProperty createSymmetricProperty(java.lang.String uri)
          Answer a resource representing a symmetric property
 SymmetricProperty createSymmetricProperty(java.lang.String uri, boolean functional)
          Answer a resource representing a symmetric property, which is optionally also functional.
 TransitiveProperty createTransitiveProperty(java.lang.String uri)
          Answer a resource representing a transitive property
 TransitiveProperty createTransitiveProperty(java.lang.String uri, boolean functional)
          Answer a resource representing a transitive property, which is optionally also functional.
 UnionClass createUnionClass(java.lang.String uri, RDFList members)
          Answer a resource representing the class that is the union of the given list of class descriptions
 AllValuesFromRestriction getAllValuesFromRestriction(java.lang.String uri)
          Answer a class description defined as the class of those individuals for which all values of the given property belong to the given class.
 AnnotationProperty getAnnotationProperty(java.lang.String uri)
           Answer a resource that represents an annotation property in this model.
 Model getBaseModel()
           Answer the base model of this model.
 CardinalityQRestriction getCardinalityQRestriction(java.lang.String uri)
          Answer a class description defined as the class of those individuals that have a property p, with cardinality N, all values of which are members of a given class.
 CardinalityRestriction getCardinalityRestriction(java.lang.String uri)
          Answer a class description defined as the class of those individuals that have exactly the given number of values for the given property.
 ComplementClass getComplementClass(java.lang.String uri)
          Answer a resource representing the class that is the complement of another class.
 DatatypeProperty getDatatypeProperty(java.lang.String uri)
           Answer a resource that represents datatype property in this model.
 OntDocumentManager getDocumentManager()
           Answer a reference to the document manager that this model is using to manage ontology <-> mappings, and to load the imports closure.
 boolean getDynamicImports()
          Answer true if the imports closure of the model will be dynamically updated as imports statements are added and removed.
 EnumeratedClass getEnumeratedClass(java.lang.String uri)
          Answer a resource representing the class that is the enumeration of a list of individuals.
 HasValueRestriction getHasValueRestriction(java.lang.String uri)
          Answer a class description defined as the class of those individuals that have the given resource as the value of the given property.
 OntModel getImportedModel(java.lang.String uri)
          Answer an OntModel representing the imported ontology with the given URI.
 ModelMaker getImportModelMaker()
           Answer the model maker associated with this model (used for constructing the constituent models of the imports closure).
 Individual getIndividual(java.lang.String uri)
           Answer a resource that represents an Individual node in this model.
 IntersectionClass getIntersectionClass(java.lang.String uri)
          Answer a resource representing the class that is the intersection of a list of class descriptions.
 InverseFunctionalProperty getInverseFunctionalProperty(java.lang.String uri)
          Answer a resource representing an inverse functional property.
 MaxCardinalityQRestriction getMaxCardinalityQRestriction(java.lang.String uri)
          Answer a class description defined as the class of those individuals that have a property p, with max cardinality N, all values of which are members of a given class.
 MaxCardinalityRestriction getMaxCardinalityRestriction(java.lang.String uri)
          Answer a class description defined as the class of those individuals that have at most the given number of values for the given property.
 MinCardinalityQRestriction getMinCardinalityQRestriction(java.lang.String uri)
          Answer a class description defined as the class of those individuals that have a property p, with minimum cardinality N, all values of which are members of a given class.
 MinCardinalityRestriction getMinCardinalityRestriction(java.lang.String uri)
          Answer a class description defined as the class of those individuals that have at least the given number of values for the given property.
 ModelMaker getModelMaker()
          Deprecated. use getImportModelMaker instead for consistency with name changes to OntModelSpec to avoid ambiguity with base vs import makers.
 ObjectProperty getObjectProperty(java.lang.String uri)
           Answer a resource representing an object property in this model.
 OntClass getOntClass(java.lang.String uri)
           Answer a resource that represents a class description node in this model.
 Ontology getOntology(java.lang.String uri)
           Answer a resource that represents an ontology description node in this model.
 OntProperty getOntProperty(java.lang.String uri)
           Answer a resource representing an generic property in this model.
 OntResource getOntResource(Resource res)
          Answer a resource presenting the OntResource facet, which corresponds to the given resource but attached to this model.
 OntResource getOntResource(java.lang.String uri)
          Answer a resource presenting the OntResource facet, which has the given URI.
 Profile getProfile()
           Answer the language profile (for example, OWL or DAML+OIL) that this model is working to.
 QualifiedRestriction getQualifiedRestriction(java.lang.String uri)
          Answer a class description defined as the class of those individuals that have a property p, all values of which are members of a given class.
 Restriction getRestriction(java.lang.String uri)
           Answer a resource that represents a property restriction in this model.
 SomeValuesFromRestriction getSomeValuesFromRestriction(java.lang.String uri)
          Answer a class description defined as the class of those individuals that have at least one property with a value belonging to the given class.
 OntModelSpec getSpecification()
          Answer the ontology model specification that was used to construct this model
 java.util.List<Graph> getSubGraphs()
          i.next() Answer the sub-graphs of this model.
 SymmetricProperty getSymmetricProperty(java.lang.String uri)
          Answer a resource representing a symmetric property.
 TransitiveProperty getTransitiveProperty(java.lang.String uri)
          Answer a resource representing a transitive property.
 UnionClass getUnionClass(java.lang.String uri)
          Answer a resource representing the class that is the union of a list of class descriptions.
 boolean hasLoadedImport(java.lang.String uri)
           Answer true if this model has had the given URI document imported into it.
 boolean isInBaseModel(RDFNode node)
          Answer true if the given node is a member of the base model of this ontology model.
 boolean isInBaseModel(Statement stmt)
          Answer true if the given statement is defined in the base model of this ontology model.
 com.hp.hpl.jena.util.iterator.ExtendedIterator<AllDifferent> listAllDifferent()
           Answer an iterator that ranges over the nodes that denote pair-wise disjointness between sets of classes.
 com.hp.hpl.jena.util.iterator.ExtendedIterator<OntProperty> listAllOntProperties()
          Answer an iterator over all of the ontology properties in this model, including object properties, datatype properties, annotation properties, etc.
 com.hp.hpl.jena.util.iterator.ExtendedIterator<AnnotationProperty> listAnnotationProperties()
           Answer an iterator that ranges over the properties in this model that are declared to be annotation properties.
 com.hp.hpl.jena.util.iterator.ExtendedIterator<OntClass> listClasses()
           Answer an iterator that ranges over all of the various forms of class description resource in this model.
 com.hp.hpl.jena.util.iterator.ExtendedIterator<ComplementClass> listComplementClasses()
           Answer an iterator that ranges over the complement class-descriptions in this model, i.e. the class resources specified to have a property complementOf (or equivalent) and a list of values.
 com.hp.hpl.jena.util.iterator.ExtendedIterator<DataRange> listDataRanges()
          Answer an iterator over the DataRange objects in this ontology, if there are any.
 com.hp.hpl.jena.util.iterator.ExtendedIterator<DatatypeProperty> listDatatypeProperties()
           Answer an iterator that ranges over the datatype property resources in this model, i.e. the resources with rdf:type DatatypeProperty or equivalent.
 com.hp.hpl.jena.util.iterator.ExtendedIterator<EnumeratedClass> listEnumeratedClasses()
           Answer an iterator that ranges over the enumerated class class-descriptions in this model, i.e. the class resources specified to have a property oneOf (or equivalent) and a list of values.
 com.hp.hpl.jena.util.iterator.ExtendedIterator<FunctionalProperty> listFunctionalProperties()
           Answer an iterator that ranges over the functional property resources in this model, i.e. the resources with rdf:type FunctionalProperty or equivalent.
 com.hp.hpl.jena.util.iterator.ExtendedIterator<OntClass> listHierarchyRootClasses()
          Answer an iterator over the classes in this ontology model that represent the uppermost nodes of the class hierarchy.
 com.hp.hpl.jena.util.iterator.ExtendedIterator<OntModel> listImportedModels()
          Deprecated. This method has been re-named to listSubModels, but note that to obtain the same behaviour as listImportedModels from Jena 2.4 and earlier, callers should invoke listSubModels(boolean) with parameter true.
 java.util.Set<java.lang.String> listImportedOntologyURIs()
           Answer a list of the imported URI's in this ontology model.
 java.util.Set<java.lang.String> listImportedOntologyURIs(boolean closure)
           Answer a list of the imported URI's in this ontology model, and optionally in the closure of this model's imports.
 com.hp.hpl.jena.util.iterator.ExtendedIterator<Individual> listIndividuals()
           Answer an iterator that ranges over the individual resources in this model, i.e. the resources with rdf:type corresponding to a class defined in the ontology.
 com.hp.hpl.jena.util.iterator.ExtendedIterator<Individual> listIndividuals(Resource cls)
           Answer an iterator that ranges over the resources in this model that are instances of the given class.
 com.hp.hpl.jena.util.iterator.ExtendedIterator<IntersectionClass> listIntersectionClasses()
           Answer an iterator that ranges over the intersection class-descriptions in this model, i.e. the class resources specified to have a property intersectionOf (or equivalent) and a list of values.
 com.hp.hpl.jena.util.iterator.ExtendedIterator<InverseFunctionalProperty> listInverseFunctionalProperties()
           Answer an iterator that ranges over the inverse functional property resources in this model, i.e. the resources with rdf:type InverseFunctionalProperty or equivalent.
 com.hp.hpl.jena.util.iterator.ExtendedIterator<OntClass> listNamedClasses()
           Answer an iterator that ranges over the named class-descriptions in this model, i.e. resources with rdf:type Class (or equivalent) and a node URI.
 com.hp.hpl.jena.util.iterator.ExtendedIterator<ObjectProperty> listObjectProperties()
           Answer an iterator that ranges over the object property resources in this model, i.e. the resources with rdf:type ObjectProperty or equivalent.
 com.hp.hpl.jena.util.iterator.ExtendedIterator<Ontology> listOntologies()
           Answer an iterator that ranges over the ontology resources in this model, i.e. the resources with rdf:type Ontology or equivalent.
 com.hp.hpl.jena.util.iterator.ExtendedIterator<OntProperty> listOntProperties()
           Answer an iterator that ranges over the property resources in this model, i.e. the resources with rdf:type Property or equivalent.
 com.hp.hpl.jena.util.iterator.ExtendedIterator<Restriction> listRestrictions()
           Answer an iterator that ranges over the property restriction class-descriptions in this model, i.e. resources with rdf:type Restriction (or equivalent).
 com.hp.hpl.jena.util.iterator.ExtendedIterator<OntModel> listSubModels()
          Answer an iterator over the ontology models that are sub-models of this model.
 com.hp.hpl.jena.util.iterator.ExtendedIterator<OntModel> listSubModels(boolean withImports)
          Answer an iterator over the ontology models that are sub-models of this model.
 com.hp.hpl.jena.util.iterator.ExtendedIterator<SymmetricProperty> listSymmetricProperties()
           Answer an iterator that ranges over the symmetric property resources in this model, i.e. the resources with rdf:type SymmetricProperty or equivalent.
 com.hp.hpl.jena.util.iterator.ExtendedIterator<TransitiveProperty> listTransitiveProperties()
           Answer an iterator that ranges over the transitive property resources in this model, i.e. the resources with rdf:type TransitiveProperty or equivalent.
 com.hp.hpl.jena.util.iterator.ExtendedIterator<UnionClass> listUnionClasses()
           Answer an iterator that ranges over the union class-descriptions in this model, i.e. the class resources specified to have a property unionOf (or equivalent) and a list of values.
 void loadImports()
          Determine which models this model imports (by looking for, for example, owl:imports statements, and load each of those models as an import.
<T extends RDFNode>
com.hp.hpl.jena.util.iterator.ExtendedIterator<T>
queryFor(BindingQueryPlan query, java.util.List<BindingQueryPlan> altQueries, java.lang.Class<T> asKey)
           Answer the iterator over the resources from the graph that satisfy the given query, followed by the answers to the alternative queries (if specified).
 void removeLoadedImport(java.lang.String uri)
           Record that this model no longer imports the document with the given URI.
 void removeSubModel(Model model)
           Remove the given model as one of the sub-models of the enclosed ontology union model.
 void removeSubModel(Model model, boolean rebind)
           Remove the given model as one of the sub-models of the enclosed ontology union model.
 void setDynamicImports(boolean dynamic)
          Set the flag that controls whether adding or removing imports statements into the model will result in the imports closure changing dynamically.
 void setStrictMode(boolean strict)
           Set the checking mode to strict or non-strict.
 boolean strictMode()
           Answer true if this model is currently in strict checking mode.
 Model write(java.io.OutputStream out)
          Write a serialization of this model as an XML document.
 Model write(java.io.OutputStream out, java.lang.String lang)
          Write a serialized representation of this model in a specified language.
 Model write(java.io.OutputStream out, java.lang.String lang, java.lang.String base)
          Write a serialized representation of a model in a specified language.
 Model write(java.io.Writer writer)
          Write the model as an XML document.
 Model write(java.io.Writer writer, java.lang.String lang)
          Write a serialized representation of a model in a specified language.
 Model write(java.io.Writer writer, java.lang.String lang, java.lang.String base)
          Write a serialized representation of a model in a specified language.
 Model writeAll(java.io.OutputStream out, java.lang.String lang, java.lang.String base)
          Write a serialized representation of all of the contents of the model, including inferred statements and statements imported from other documents.
 Model writeAll(java.io.Writer writer, java.lang.String lang, java.lang.String base)
          Write a serialized representation of all of the contents of the model, including inferred statements and statements imported from other documents.
 
Methods inherited from interface com.hp.hpl.jena.rdf.model.InfModel
getDeductionsModel, getDerivation, getRawModel, getReasoner, listStatements, prepare, rebind, reset, setDerivationLogging, validate
 
Methods inherited from interface com.hp.hpl.jena.rdf.model.Model
abort, add, add, add, add, add, add, begin, close, commit, contains, contains, contains, containsAll, containsAll, containsAny, containsAny, containsResource, createList, createList, createList, createLiteral, createLiteral, createProperty, createReifiedStatement, createReifiedStatement, createResource, createResource, createResource, createStatement, createTypedLiteral, createTypedLiteral, createTypedLiteral, difference, equals, executeInTransaction, getAnyReifiedStatement, getLock, getProperty, getProperty, getReificationStyle, getRequiredProperty, getResource, independent, intersection, isClosed, isEmpty, isIsomorphicWith, isReified, listNameSpaces, listObjects, listObjectsOfProperty, listObjectsOfProperty, listReifiedStatements, listReifiedStatements, listResourcesWithProperty, listResourcesWithProperty, listStatements, listStatements, listStatements, listSubjects, listSubjectsWithProperty, listSubjectsWithProperty, notifyEvent, query, read, read, read, read, read, read, read, register, remove, remove, remove, removeAll, removeAll, removeAllReifications, removeReification, size, supportsSetOperations, supportsTransactions, union, unregister
 
Methods inherited from interface com.hp.hpl.jena.rdf.model.ModelCon
add, add, add, add, add, addLiteral, addLiteral, addLiteral, addLiteral, addLiteral, addLiteral, addLiteral, addLiteral, contains, contains, containsLiteral, containsLiteral, containsLiteral, containsLiteral, containsLiteral, containsLiteral, containsLiteral, createAlt, createAlt, createBag, createBag, createLiteral, createLiteralStatement, createLiteralStatement, createLiteralStatement, createLiteralStatement, createLiteralStatement, createLiteralStatement, createLiteralStatement, createProperty, createResource, createResource, createResource, createResource, createSeq, createSeq, createStatement, createStatement, createStatement, createStatement, createTypedLiteral, createTypedLiteral, createTypedLiteral, createTypedLiteral, createTypedLiteral, createTypedLiteral, createTypedLiteral, createTypedLiteral, createTypedLiteral, createTypedLiteral, getAlt, getAlt, getBag, getBag, getProperty, getRDFNode, getResource, getSeq, getSeq, listLiteralStatements, listLiteralStatements, listLiteralStatements, listLiteralStatements, listLiteralStatements, listResourcesWithProperty, listResourcesWithProperty, listResourcesWithProperty, listResourcesWithProperty, listResourcesWithProperty, listResourcesWithProperty, listStatements, listStatements, listSubjectsWithProperty, listSubjectsWithProperty, remove, remove, remove, remove
 
Methods inherited from interface com.hp.hpl.jena.rdf.model.ModelGraphInterface
asRDFNode, asStatement, getGraph, queryHandler, wrapAsResource
 
Methods inherited from interface com.hp.hpl.jena.rdf.model.RDFReaderF
getReader, getReader, setReaderClassName
 
Methods inherited from interface com.hp.hpl.jena.rdf.model.RDFWriterF
getWriter, getWriter, setWriterClassName
 
Methods inherited from interface com.hp.hpl.jena.shared.PrefixMapping
expandPrefix, getNsPrefixMap, getNsPrefixURI, getNsURIPrefix, lock, qnameFor, removeNsPrefix, samePrefixMappingAs, setNsPrefix, setNsPrefixes, setNsPrefixes, shortForm, withDefaultMappings
 
Methods inherited from interface com.hp.hpl.jena.shared.Lock
enterCriticalSection, leaveCriticalSection
 

Method Detail

listOntologies

com.hp.hpl.jena.util.iterator.ExtendedIterator<Ontology> listOntologies()

Answer an iterator that ranges over the ontology resources in this model, i.e. the resources with rdf:type Ontology or equivalent. These resources typically contain metadata about the ontology document that contains them.

Specifically, the resources in this iterator will those whose type corresponds to the value given in the ontology vocabulary associated with this model, see Profile.ONTOLOGY().

Returns:
An iterator over ontology resources.

listOntProperties

com.hp.hpl.jena.util.iterator.ExtendedIterator<OntProperty> listOntProperties()

Answer an iterator that ranges over the property resources in this model, i.e. the resources with rdf:type Property or equivalent. An OntProperty is equivalent to an rdfs:Property in a normal RDF graph; this type is provided as a common super-type for the more specific ObjectProperty and DatatypeProperty property types.

Note This method searches for nodes in the underlying model whose rdf:type is rdf:Property. This type is entailed by specific property sub-types, such as owl:ObjectProperty. An important consequence of this is that in models without an attached reasoner (e.g. in the OWL_MEM OntModelSpec), the entailed type will not be present and this method will omit such properties from the returned iterator.
Solution There are two ways to address to this issue: either use a reasoning engine to ensure that type entailments are taking place correctly, or call listAllOntProperties(). Note that listAllOntProperties is potentially less efficient than this method.

The resources returned by this iterator will those whose type corresponds to the value given in the ontology vocabulary associated with this model.

Returns:
An iterator over property resources.

listAllOntProperties

com.hp.hpl.jena.util.iterator.ExtendedIterator<OntProperty> listAllOntProperties()

Answer an iterator over all of the ontology properties in this model, including object properties, datatype properties, annotation properties, etc. This method takes a different approach to calculating the set of property resources to return, and is robust against the absence of a reasoner attached to the model (see note in listOntProperties() for explanation). However, the calculation used by this method is potentially less efficient than the alternative listOntProperties(). Users whose models have an attached reasoner are recommended to use listOntProperties().

Returns:
An iterator over all available properties in a model, irrespective of whether a reasoner is available to perform rdf:type entailments. Each property will appear exactly once in the iterator.

listObjectProperties

com.hp.hpl.jena.util.iterator.ExtendedIterator<ObjectProperty> listObjectProperties()

Answer an iterator that ranges over the object property resources in this model, i.e. the resources with rdf:type ObjectProperty or equivalent. An object property is a property that is defined in the ontology language semantics as a one whose range comprises individuals (rather than datatyped literals).

Specifically, the resources in this iterator will those whose type corresponds to the value given in the ontology vocabulary associated with this model: see Profile.OBJECT_PROPERTY().

Returns:
An iterator over object property resources.

listDatatypeProperties

com.hp.hpl.jena.util.iterator.ExtendedIterator<DatatypeProperty> listDatatypeProperties()

Answer an iterator that ranges over the datatype property resources in this model, i.e. the resources with rdf:type DatatypeProperty or equivalent. An datatype property is a property that is defined in the ontology language semantics as a one whose range comprises datatyped literals (rather than individuals).

Specifically, the resources in this iterator will those whose type corresponds to the value given in the ontology vocabulary associated with this model: see Profile.DATATYPE_PROPERTY().

Returns:
An iterator over datatype property resources.

listFunctionalProperties

com.hp.hpl.jena.util.iterator.ExtendedIterator<FunctionalProperty> listFunctionalProperties()

Answer an iterator that ranges over the functional property resources in this model, i.e. the resources with rdf:type FunctionalProperty or equivalent. A functional property is a property that is defined in the ontology language semantics as having a unique domain element for each instance of the relationship.

Specifically, the resources in this iterator will those whose type corresponds to the value given in the ontology vocabulary associated with this model: see Profile.FUNCTIONAL_PROPERTY().

Returns:
An iterator over functional property resources.

listTransitiveProperties

com.hp.hpl.jena.util.iterator.ExtendedIterator<TransitiveProperty> listTransitiveProperties()

Answer an iterator that ranges over the transitive property resources in this model, i.e. the resources with rdf:type TransitiveProperty or equivalent.

Specifically, the resources in this iterator will those whose type corresponds to the value given in the ontology vocabulary associated with this model: see Profile.TRANSITIVE_PROPERTY().

Returns:
An iterator over transitive property resources.

listSymmetricProperties

com.hp.hpl.jena.util.iterator.ExtendedIterator<SymmetricProperty> listSymmetricProperties()

Answer an iterator that ranges over the symmetric property resources in this model, i.e. the resources with rdf:type SymmetricProperty or equivalent.

Specifically, the resources in this iterator will those whose type corresponds to the value given in the ontology vocabulary associated with this model: see Profile.SYMMETRIC_PROPERTY().

Returns:
An iterator over symmetric property resources.

listInverseFunctionalProperties

com.hp.hpl.jena.util.iterator.ExtendedIterator<InverseFunctionalProperty> listInverseFunctionalProperties()

Answer an iterator that ranges over the inverse functional property resources in this model, i.e. the resources with rdf:type InverseFunctionalProperty or equivalent.

Specifically, the resources in this iterator will those whose type corresponds to the value given in the ontology vocabulary associated with this model: see Profile.INVERSE_FUNCTIONAL_PROPERTY().

Returns:
An iterator over inverse functional property resources.

listIndividuals

com.hp.hpl.jena.util.iterator.ExtendedIterator<Individual> listIndividuals()

Answer an iterator that ranges over the individual resources in this model, i.e. the resources with rdf:type corresponding to a class defined in the ontology.

Returns:
An iterator over individual resources.

listIndividuals

com.hp.hpl.jena.util.iterator.ExtendedIterator<Individual> listIndividuals(Resource cls)

Answer an iterator that ranges over the resources in this model that are instances of the given class.

Returns:
An iterator over individual resources whose rdf:type is cls.

listClasses

com.hp.hpl.jena.util.iterator.ExtendedIterator<OntClass> listClasses()

Answer an iterator that ranges over all of the various forms of class description resource in this model. Class descriptions include enumerated classes, union classes, complement classes, intersection classes, named classes and property restrictions.

Returns:
An iterator over class description resources.

listHierarchyRootClasses

com.hp.hpl.jena.util.iterator.ExtendedIterator<OntClass> listHierarchyRootClasses()

Answer an iterator over the classes in this ontology model that represent the uppermost nodes of the class hierarchy. Depending on the underlying reasoner configuration, if any, these will be calculated as the classes that have Top (i.e. owl:Thing or daml:Thing) as a direct super-class, or the classes which have no declared super-class.

Returns:
An iterator of the root classes in the local class hierarchy

listEnumeratedClasses

com.hp.hpl.jena.util.iterator.ExtendedIterator<EnumeratedClass> listEnumeratedClasses()

Answer an iterator that ranges over the enumerated class class-descriptions in this model, i.e. the class resources specified to have a property oneOf (or equivalent) and a list of values.

Returns:
An iterator over enumerated class resources.
See Also:
Profile.ONE_OF()

listUnionClasses

com.hp.hpl.jena.util.iterator.ExtendedIterator<UnionClass> listUnionClasses()

Answer an iterator that ranges over the union class-descriptions in this model, i.e. the class resources specified to have a property unionOf (or equivalent) and a list of values.

Returns:
An iterator over union class resources.
See Also:
Profile.UNION_OF()

listComplementClasses

com.hp.hpl.jena.util.iterator.ExtendedIterator<ComplementClass> listComplementClasses()

Answer an iterator that ranges over the complement class-descriptions in this model, i.e. the class resources specified to have a property complementOf (or equivalent) and a list of values.

Returns:
An iterator over complement class resources.
See Also:
Profile.COMPLEMENT_OF()

listIntersectionClasses

com.hp.hpl.jena.util.iterator.ExtendedIterator<IntersectionClass> listIntersectionClasses()

Answer an iterator that ranges over the intersection class-descriptions in this model, i.e. the class resources specified to have a property intersectionOf (or equivalent) and a list of values.

Returns:
An iterator over complement class resources.
See Also:
Profile.INTERSECTION_OF()

listNamedClasses

com.hp.hpl.jena.util.iterator.ExtendedIterator<OntClass> listNamedClasses()

Answer an iterator that ranges over the named class-descriptions in this model, i.e. resources with rdf:type Class (or equivalent) and a node URI.

Returns:
An iterator over named class resources.

listRestrictions

com.hp.hpl.jena.util.iterator.ExtendedIterator<Restriction> listRestrictions()

Answer an iterator that ranges over the property restriction class-descriptions in this model, i.e. resources with rdf:type Restriction (or equivalent).

Returns:
An iterator over restriction class resources.
See Also:
Profile.RESTRICTION()

listAnnotationProperties

com.hp.hpl.jena.util.iterator.ExtendedIterator<AnnotationProperty> listAnnotationProperties()

Answer an iterator that ranges over the properties in this model that are declared to be annotation properties. Not all supported languages define annotation properties (the category of annotation properties is chiefly an OWL innovation).

Returns:
An iterator over annotation properties.
See Also:
Profile.getAnnotationProperties()

listAllDifferent

com.hp.hpl.jena.util.iterator.ExtendedIterator<AllDifferent> listAllDifferent()

Answer an iterator that ranges over the nodes that denote pair-wise disjointness between sets of classes.

Returns:
An iterator over AllDifferent nodes.

listDataRanges

com.hp.hpl.jena.util.iterator.ExtendedIterator<DataRange> listDataRanges()

Answer an iterator over the DataRange objects in this ontology, if there are any.

Returns:
An iterator, whose values are DataRange objects.

getOntology

Ontology getOntology(java.lang.String uri)

Answer a resource that represents an ontology description node in this model. If a resource with the given URI exists in the model, and can be viewed as an Ontology, return the Ontology facet, otherwise return null.

Parameters:
uri - The URI for the ontology node. Conventionally, this corresponds to the base URI of the document itself.
Returns:
An Ontology resource or null.

getIndividual

Individual getIndividual(java.lang.String uri)

Answer a resource that represents an Individual node in this model. If a resource with the given URI exists in the model, and can be viewed as an Individual, return the Individual facet, otherwise return null.

Parameters:
uri - The URI for the required individual
Returns:
An Individual resource or null.

getOntProperty

OntProperty getOntProperty(java.lang.String uri)

Answer a resource representing an generic property in this model. If a property with the given URI exists in the model, return the OntProperty facet, otherwise return null.

Parameters:
uri - The URI for the property.
Returns:
An OntProperty resource or null.

getObjectProperty

ObjectProperty getObjectProperty(java.lang.String uri)

Answer a resource representing an object property in this model. If a resource with the given URI exists in the model, and can be viewed as an ObjectProperty, return the ObjectProperty facet, otherwise return null.

Parameters:
uri - The URI for the object property. May not be null.
Returns:
An ObjectProperty resource or null.

getTransitiveProperty

TransitiveProperty getTransitiveProperty(java.lang.String uri)

Answer a resource representing a transitive property. If a resource with the given URI exists in the model, and can be viewed as a TransitiveProperty, return the TransitiveProperty facet, otherwise return null.

Parameters:
uri - The URI for the property. May not be null.
Returns:
A TransitiveProperty resource or null

getSymmetricProperty

SymmetricProperty getSymmetricProperty(java.lang.String uri)

Answer a resource representing a symmetric property. If a resource with the given URI exists in the model, and can be viewed as a SymmetricProperty, return the SymmetricProperty facet, otherwise return null.

Parameters:
uri - The URI for the property. May not be null.
Returns:
A SymmetricProperty resource or null

getInverseFunctionalProperty

InverseFunctionalProperty getInverseFunctionalProperty(java.lang.String uri)

Answer a resource representing an inverse functional property. If a resource with the given URI exists in the model, and can be viewed as a InverseFunctionalProperty, return the InverseFunctionalProperty facet, otherwise return null.

Parameters:
uri - The URI for the property. May not be null.
Returns:
An InverseFunctionalProperty resource or null

getDatatypeProperty

DatatypeProperty getDatatypeProperty(java.lang.String uri)

Answer a resource that represents datatype property in this model. . If a resource with the given URI exists in the model, and can be viewed as a DatatypeProperty, return the DatatypeProperty facet, otherwise return null.

Parameters:
uri - The URI for the datatype property. May not be null.
Returns:
A DatatypeProperty resource or null

getAnnotationProperty

AnnotationProperty getAnnotationProperty(java.lang.String uri)

Answer a resource that represents an annotation property in this model. If a resource with the given URI exists in the model, and can be viewed as an AnnotationProperty, return the AnnotationProperty facet, otherwise return null.

Parameters:
uri - The URI for the annotation property. May not be null.
Returns:
An AnnotationProperty resource or null

getOntResource

OntResource getOntResource(java.lang.String uri)

Answer a resource presenting the OntResource facet, which has the given URI. If no such resource is currently present in the model, return null.

Parameters:
uri - The URI of a resource
Returns:
An OntResource with the given URI, or null

getOntResource

OntResource getOntResource(Resource res)

Answer a resource presenting the OntResource facet, which corresponds to the given resource but attached to this model.

Parameters:
res - An existing resource
Returns:
An OntResource attached to this model that has the same URI or anonID as the given resource

getOntClass

OntClass getOntClass(java.lang.String uri)

Answer a resource that represents a class description node in this model. If a resource with the given URI exists in the model, and can be viewed as an OntClass, return the OntClass facet, otherwise return null.

Parameters:
uri - The URI for the class node, or null for an anonymous class.
Returns:
An OntClass resource or null.

getComplementClass

ComplementClass getComplementClass(java.lang.String uri)

Answer a resource representing the class that is the complement of another class. If a resource with the given URI exists in the model, and can be viewed as a ComplementClass, return the ComplementClass facet, otherwise return null.

Parameters:
uri - The URI of the new complement class.
Returns:
A complement class or null

getEnumeratedClass

EnumeratedClass getEnumeratedClass(java.lang.String uri)

Answer a resource representing the class that is the enumeration of a list of individuals. If a resource with the given URI exists in the model, and can be viewed as an EnumeratedClass, return the EnumeratedClass facet, otherwise return null.

Parameters:
uri - The URI of the new enumeration class.
Returns:
An enumeration class or null

getUnionClass

UnionClass getUnionClass(java.lang.String uri)

Answer a resource representing the class that is the union of a list of class descriptions. If a resource with the given URI exists in the model, and can be viewed as a UnionClass, return the UnionClass facet, otherwise return null.

Parameters:
uri - The URI of the new union class.
Returns:
A union class description or null

getIntersectionClass

IntersectionClass getIntersectionClass(java.lang.String uri)

Answer a resource representing the class that is the intersection of a list of class descriptions. If a resource with the given URI exists in the model, and can be viewed as a IntersectionClass, return the IntersectionClass facet, otherwise return null.

Parameters:
uri - The URI of the new intersection class.
Returns:
An intersection class description or null

getRestriction

Restriction getRestriction(java.lang.String uri)

Answer a resource that represents a property restriction in this model. If a resource with the given URI exists in the model, and can be viewed as a Restriction, return the Restriction facet, otherwise return null.

Parameters:
uri - The URI for the restriction node.
Returns:
A Restriction resource or null

getHasValueRestriction

HasValueRestriction getHasValueRestriction(java.lang.String uri)

Answer a class description defined as the class of those individuals that have the given resource as the value of the given property. If a resource with the given URI exists in the model, and can be viewed as a HasValueRestriction, return the HasValueRestriction facet, otherwise return null.

Parameters:
uri - The URI for the restriction
Returns:
A resource representing a has-value restriction or null

getSomeValuesFromRestriction

SomeValuesFromRestriction getSomeValuesFromRestriction(java.lang.String uri)

Answer a class description defined as the class of those individuals that have at least one property with a value belonging to the given class. If a resource with the given URI exists in the model, and can be viewed as a SomeValuesFromRestriction, return the SomeValuesFromRestriction facet, otherwise return null.

Parameters:
uri - The URI for the restriction
Returns:
A resource representing a some-values-from restriction, or null

getAllValuesFromRestriction

AllValuesFromRestriction getAllValuesFromRestriction(java.lang.String uri)

Answer a class description defined as the class of those individuals for which all values of the given property belong to the given class. If a resource with the given URI exists in the model, and can be viewed as an AllValuesFromResriction, return the AllValuesFromRestriction facet, otherwise return null.

Parameters:
uri - The URI for the restriction
Returns:
A resource representing an all-values-from restriction or null

getCardinalityRestriction

CardinalityRestriction getCardinalityRestriction(java.lang.String uri)

Answer a class description defined as the class of those individuals that have exactly the given number of values for the given property. If a resource with the given URI exists in the model, and can be viewed as a CardinalityRestriction, return the CardinalityRestriction facet, otherwise return null.

Parameters:
uri - The URI for the restriction
Returns:
A resource representing a has-value restriction, or null

getMinCardinalityRestriction

MinCardinalityRestriction getMinCardinalityRestriction(java.lang.String uri)

Answer a class description defined as the class of those individuals that have at least the given number of values for the given property. If a resource with the given URI exists in the model, and can be viewed as a MinCardinalityRestriction, return the MinCardinalityRestriction facet, otherwise return null.

Parameters:
uri - The URI for the restriction
Returns:
A resource representing a minimum cardinality restriction, or null

getMaxCardinalityRestriction

MaxCardinalityRestriction getMaxCardinalityRestriction(java.lang.String uri)

Answer a class description defined as the class of those individuals that have at most the given number of values for the given property. If a resource with the given URI exists in the model, and can be viewed as a MaxCardinalityRestriction, return the MaxCardinalityRestriction facet, otherwise return null.

Parameters:
uri - The URI for the restriction
Returns:
A resource representing a max-cardinality restriction, or null

getQualifiedRestriction

QualifiedRestriction getQualifiedRestriction(java.lang.String uri)

Answer a class description defined as the class of those individuals that have a property p, all values of which are members of a given class. Typically used with a cardinality constraint. If a resource with the given URI exists in the model, and can be viewed as a QualifiedRestriction, return the QualifiedRestriction facet, otherwise return null.

Parameters:
uri - The URI for the restriction
Returns:
A resource representing a qualified restriction, or null

getCardinalityQRestriction

CardinalityQRestriction getCardinalityQRestriction(java.lang.String uri)

Answer a class description defined as the class of those individuals that have a property p, with cardinality N, all values of which are members of a given class. If a resource with the given URI exists in the model, and can be viewed as a CardinalityQRestriction, return the CardinalityQRestriction facet, otherwise return null.

Parameters:
uri - The URI for the restriction
Returns:
A resource representing a qualified cardinality restriction, or null

getMinCardinalityQRestriction

MinCardinalityQRestriction getMinCardinalityQRestriction(java.lang.String uri)

Answer a class description defined as the class of those individuals that have a property p, with minimum cardinality N, all values of which are members of a given class. If a resource with the given URI exists in the model, and can be viewed as a MinCardinalityQRestriction, return the MinCardinalityQRestriction facet, otherwise return null.

Parameters:
uri - The URI for the restriction
Returns:
A resource representing a qualified minimum cardinality restriction, or null

getMaxCardinalityQRestriction

MaxCardinalityQRestriction getMaxCardinalityQRestriction(java.lang.String uri)

Answer a class description defined as the class of those individuals that have a property p, with max cardinality N, all values of which are members of a given class. If a resource with the given URI exists in the model, and can be viewed as a MaxCardinalityQRestriction, return the MaxCardinalityQRestriction facet, otherwise return null.

Parameters:
uri - The URI for the restriction
Returns:
A resource representing a qualified max cardinality restriction, or null

createOntology

Ontology createOntology(java.lang.String uri)

Answer a resource that represents an ontology description node in this model. If a resource with the given URI exists in the model, it will be re-used. If not, a new one is created in the writable sub-model of the ontology model.

Parameters:
uri - The URI for the ontology node. Conventionally, this corresponds to the base URI of the document itself.
Returns:
An Ontology resource.

createIndividual

Individual createIndividual(Resource cls)

Answer a resource that represents an Individual node in this model. A new anonymous resource will be created in the writable sub-model of the ontology model.

Parameters:
cls - Resource representing the ontology class to which the individual belongs
Returns:
A new anonymous Individual of the given class.

createIndividual

Individual createIndividual(java.lang.String uri,
                            Resource cls)

Answer a resource that represents an Individual node in this model. If a resource with the given URI exists in the model, it will be re-used. If not, a new one is created in the writable sub-model of the ontology model.

Parameters:
cls - Resource representing the ontology class to which the individual belongs
uri - The URI for the individual, or null for an anonymous individual.
Returns:
An Individual resource.

createOntProperty

OntProperty createOntProperty(java.lang.String uri)

Answer a resource representing an generic property in this model. Effectively this method is an alias for ModelCon.createProperty( String ), except that the return type is OntProperty, which allow more convenient access to a property's position in the property hierarchy, domain, range, etc.

Parameters:
uri - The URI for the property. May not be null.
Returns:
An OntProperty resource.

createObjectProperty

ObjectProperty createObjectProperty(java.lang.String uri)

Answer a resource representing an object property in this model, and that is not a functional property.

Parameters:
uri - The URI for the object property. May not be null.
Returns:
An ObjectProperty resource.
See Also:
createObjectProperty( String, boolean )

createObjectProperty

ObjectProperty createObjectProperty(java.lang.String uri,
                                    boolean functional)

Answer a resource that represents an object property in this model. An object property is defined to have a range of individuals, rather than datatypes. If a resource with the given URI exists in the model, it will be re-used. If not, a new one is created in the writable sub-model of the ontology model.

Parameters:
uri - The URI for the object property. May not be null.
functional - If true, the resource will also be typed as a FunctionalProperty, that is, a property that has a unique range value for any given domain value.
Returns:
An ObjectProperty resource, optionally also functional.

createTransitiveProperty

TransitiveProperty createTransitiveProperty(java.lang.String uri)

Answer a resource representing a transitive property

Parameters:
uri - The URI for the property. May not be null.
Returns:
An TransitiveProperty resource
See Also:
createTransitiveProperty( String, boolean )

createTransitiveProperty

TransitiveProperty createTransitiveProperty(java.lang.String uri,
                                            boolean functional)

Answer a resource representing a transitive property, which is optionally also functional. Note: although it is permitted in OWL full to have functional transitive properties, it makes the language undecidable. Functional transitive properties are not permitted in OWL-Lite or OWL DL.

Parameters:
uri - The URI for the property. May not be null.
functional - If true, the property is also functional
Returns:
An TransitiveProperty resource, optionally also functional.

createSymmetricProperty

SymmetricProperty createSymmetricProperty(java.lang.String uri)

Answer a resource representing a symmetric property

Parameters:
uri - The URI for the property. May not be null.
Returns:
An SymmetricProperty resource
See Also:
createSymmetricProperty( String, boolean )

createSymmetricProperty

SymmetricProperty createSymmetricProperty(java.lang.String uri,
                                          boolean functional)

Answer a resource representing a symmetric property, which is optionally also functional.

Parameters:
uri - The URI for the property. May not be null.
functional - If true, the property is also functional
Returns:
An SymmetricProperty resource, optionally also functional.

createInverseFunctionalProperty

InverseFunctionalProperty createInverseFunctionalProperty(java.lang.String uri)

Answer a resource representing an inverse functional property

Parameters:
uri - The URI for the property. May not be null.
Returns:
An InverseFunctionalProperty resource
See Also:
createInverseFunctionalProperty( String, boolean )

createInverseFunctionalProperty

InverseFunctionalProperty createInverseFunctionalProperty(java.lang.String uri,
                                                          boolean functional)

Answer a resource representing an inverse functional property, which is optionally also functional.

Parameters:
uri - The URI for the property. May not be null.
functional - If true, the property is also functional
Returns:
An InverseFunctionalProperty resource, optionally also functional.

createDatatypeProperty

DatatypeProperty createDatatypeProperty(java.lang.String uri)

Answer a resource that represents datatype property in this model, and that is not a functional property.

Parameters:
uri - The URI for the datatype property. May not be null.
Returns:
A DatatypeProperty resource.
See Also:
createDatatypeProperty( String, boolean )

createDatatypeProperty

DatatypeProperty createDatatypeProperty(java.lang.String uri,
                                        boolean functional)

Answer a resource that represents datatype property in this model. A datatype property is defined to have a range that is a concrete datatype, rather than an individual. If a resource with the given URI exists in the model, it will be re-used. If not, a new one is created in the writable sub-model of the ontology model.

Parameters:
uri - The URI for the datatype property. May not be null.
functional - If true, the resource will also be typed as a FunctionalProperty, that is, a property that has a unique range value for any given domain value.
Returns:
A DatatypeProperty resource.

createAnnotationProperty

AnnotationProperty createAnnotationProperty(java.lang.String uri)

Answer a resource that represents an annotation property in this model. If a resource with the given URI exists in the model, it will be re-used. If not, a new one is created in the writable sub-model of the ontology model.

Parameters:
uri - The URI for the annotation property. May not be null.
Returns:
An AnnotationProperty resource.

createClass

OntClass createClass()

Answer a resource that represents an anonymous class description in this model. A new anonymous resource of rdf:type C, where C is the class type from the language profile.

Returns:
An anonymous Class resource.

createClass

OntClass createClass(java.lang.String uri)

Answer a resource that represents a class description node in this model. If a resource with the given URI exists in the model, it will be re-used. If not, a new one is created in the writable sub-model of the ontology model.

Parameters:
uri - The URI for the class node, or null for an anonymous class.
Returns:
A Class resource.

createComplementClass

ComplementClass createComplementClass(java.lang.String uri,
                                      Resource cls)

Answer a resource representing the class that is the complement of the given argument class

Parameters:
uri - The URI of the new complement class, or null for an anonymous class description.
cls - Resource denoting the class that the new class is a complement of
Returns:
A complement class

createEnumeratedClass

EnumeratedClass createEnumeratedClass(java.lang.String uri,
                                      RDFList members)

Answer a resource representing the class that is the enumeration of the given list of individuals

Parameters:
uri - The URI of the new enumeration class, or null for an anonymous class description.
members - An optional list of resources denoting the individuals in the enumeration, or null.
Returns:
An enumeration class

createUnionClass

UnionClass createUnionClass(java.lang.String uri,
                            RDFList members)

Answer a resource representing the class that is the union of the given list of class descriptions

Parameters:
uri - The URI of the new union class, or null for an anonymous class description.
members - A list of resources denoting the classes that comprise the union
Returns:
A union class description

createIntersectionClass

IntersectionClass createIntersectionClass(java.lang.String uri,
                                          RDFList members)

Answer a resource representing the class that is the intersection of the given list of class descriptions.

Parameters:
uri - The URI of the new intersection class, or null for an anonymous class description.
members - A list of resources denoting the classes that comprise the intersection
Returns:
An intersection class description

createRestriction

Restriction createRestriction(Property p)

Answer a resource that represents an anonymous property restriction in this model. A new anonymous resource of rdf:type R, where R is the restriction type from the language profile.

Parameters:
p - The property that is restricted by this restriction, or null to omit from the restriction
Returns:
An anonymous Restriction resource.

createRestriction

Restriction createRestriction(java.lang.String uri,
                              Property p)

Answer a resource that represents a property restriction in this model. If a resource with the given URI exists in the model, it will be re-used. If not, a new one is created in the writable sub-model of the ontology model.

Parameters:
uri - The URI for the restriction node, or null for an anonymous restriction.
p - The property that is restricted by this restriction, or null to omit from the restriction
Returns:
A Restriction resource.

createHasValueRestriction

HasValueRestriction createHasValueRestriction(java.lang.String uri,
                                              Property prop,
                                              RDFNode value)

Answer a class description defined as the class of those individuals that have the given resource as the value of the given property

Parameters:
uri - The optional URI for the restriction, or null for an anonymous restriction (which should be the normal case)
prop - The property the restriction applies to
value - The value of the property, as a resource or RDF literal
Returns:
A new resource representing a has-value restriction

createSomeValuesFromRestriction

SomeValuesFromRestriction createSomeValuesFromRestriction(java.lang.String uri,
                                                          Property prop,
                                                          Resource cls)

Answer a class description defined as the class of those individuals that have at least one property with a value belonging to the given class

Parameters:
uri - The optional URI for the restriction, or null for an anonymous restriction (which should be the normal case)
prop - The property the restriction applies to
cls - The class to which at least one value of the property belongs
Returns:
A new resource representing a some-values-from restriction

createAllValuesFromRestriction

AllValuesFromRestriction createAllValuesFromRestriction(java.lang.String uri,
                                                        Property prop,
                                                        Resource cls)

Answer a class description defined as the class of those individuals for which all values of the given property belong to the given class

Parameters:
uri - The optional URI for the restriction, or null for an anonymous restriction (which should be the normal case)
prop - The property the restriction applies to
cls - The class to which any value of the property belongs
Returns:
A new resource representing an all-values-from restriction

createCardinalityRestriction

CardinalityRestriction createCardinalityRestriction(java.lang.String uri,
                                                    Property prop,
                                                    int cardinality)

Answer a class description defined as the class of those individuals that have exactly the given number of values for the given property.

Parameters:
uri - The optional URI for the restriction, or null for an anonymous restriction (which should be the normal case)
prop - The property the restriction applies to
cardinality - The exact cardinality of the property
Returns:
A new resource representing a cardinality restriction

createMinCardinalityRestriction

MinCardinalityRestriction createMinCardinalityRestriction(java.lang.String uri,
                                                          Property prop,
                                                          int cardinality)

Answer a class description defined as the class of those individuals that have at least the given number of values for the given property.

Parameters:
uri - The optional URI for the restriction, or null for an anonymous restriction (which should be the normal case)
prop - The property the restriction applies to
cardinality - The minimum cardinality of the property
Returns:
A new resource representing a min-cardinality restriction

createMaxCardinalityRestriction

MaxCardinalityRestriction createMaxCardinalityRestriction(java.lang.String uri,
                                                          Property prop,
                                                          int cardinality)

Answer a class description defined as the class of those individuals that have at most the given number of values for the given property.

Parameters:
uri - The optional URI for the restriction, or null for an anonymous restriction (which should be the normal case)
prop - The property the restriction applies to
cardinality - The maximum cardinality of the property
Returns:
A new resource representing a max-cardinality restriction

createMaxCardinalityQRestriction

MaxCardinalityQRestriction createMaxCardinalityQRestriction(java.lang.String uri,
                                                            Property prop,
                                                            int cardinality,
                                                            OntClass cls)

Answer a class description defined as the class of those individuals that have at most the given number of values for the given property, all values of which belong to the given class.

Parameters:
uri - The optional URI for the restriction, or null for an anonymous restriction (which should be the normal case)
prop - The property the restriction applies to
cardinality - The maximum cardinality of the property
cls - The class to which all values of the restricted property should belong
Returns:
A new resource representing a max-cardinality-q restriction

createMinCardinalityQRestriction

MinCardinalityQRestriction createMinCardinalityQRestriction(java.lang.String uri,
                                                            Property prop,
                                                            int cardinality,
                                                            OntClass cls)

Answer a class description defined as the class of those individuals that have at least the given number of values for the given property, all values of which belong to the given class.

Parameters:
uri - The optional URI for the restriction, or null for an anonymous restriction (which should be the normal case)
prop - The property the restriction applies to
cardinality - The minimum cardinality of the property
cls - The class to which all values of the restricted property should belong
Returns:
A new resource representing a min-cardinality-q restriction

createCardinalityQRestriction

CardinalityQRestriction createCardinalityQRestriction(java.lang.String uri,
                                                      Property prop,
                                                      int cardinality,
                                                      OntClass cls)

Answer a class description defined as the class of those individuals that have exactly the given number of values for the given property, all values of which belong to the given class.

Parameters:
uri - The optional URI for the restriction, or null for an anonymous restriction (which should be the normal case)
prop - The property the restriction applies to
cardinality - The cardinality of the property
cls - The class to which all values of the restricted property should belong
Returns:
A new resource representing a cardinality-q restriction

createDataRange

DataRange createDataRange(RDFList literals)

Answer a data range defined as the given set of concrete data values. DataRange resources are necessarily bNodes.

Parameters:
literals - A list of literals that will be the members of the data range, or null to define an empty data range
Returns:
A new data range containing the given literals as permissible values

createAllDifferent

AllDifferent createAllDifferent()

Answer a new, anonymous node representing the fact that a given set of classes are all pair-wise distinct. AllDifferent is a feature of OWL only, and is something of an anomaly in that it exists only to give a place to anchor the distinctMembers property, which is the actual expression of the fact.

Returns:
A new AllDifferent resource

createAllDifferent

AllDifferent createAllDifferent(RDFList differentMembers)

Answer a new, anonymous node representing the fact that a given set of classes are all pair-wise distinct. AllDifferent is a feature of OWL only, and is something of an anomaly in that it exists only to give a place to anchor the distinctMembers property, which is the actual expression of the fact.

Parameters:
differentMembers - A list of the class expressions that denote a set of mutually disjoint classes
Returns:
A new AllDifferent resource

createOntResource

<T extends OntResource> T createOntResource(java.lang.Class<T> javaClass,
                                            Resource rdfType,
                                            java.lang.String uri)

Answer a resource that represents a generic ontology node in this model. If a resource with the given URI exists in the model, it will be re-used. If not, a new one is created in the writable sub-model of the ontology model.

This is a generic method for creating any known ontology value. The selector that determines which resource to create is the same as as the argument to the as() method: the Java class object of the desired abstraction. For example, to create an ontology class via this mechanism, use:

     OntClass c = (OntClass) myModel.createOntResource( OntClass.class, null,
                                                        "http://example.org/ex#Parrot" );
 

Parameters:
javaClass - The Java class object that represents the ontology abstraction to create
rdfType - Optional resource denoting the ontology class to which an individual or axiom belongs, if that is the type of resource being created.
uri - The URI for the ontology resource, or null for an anonymous resource.
Returns:
An ontology resource, of the type specified by the javaClass

createOntResource

OntResource createOntResource(java.lang.String uri)

Answer a resource presenting the OntResource facet, which has the given URI.

Parameters:
uri - The URI of the resource, or null for an anonymous resource (i.e. bNode)
Returns:
An OntResource with the given URI

loadImports

void loadImports()

Determine which models this model imports (by looking for, for example, owl:imports statements, and load each of those models as an import. A check is made to determine if a model has already been imported, if so, the import is ignored. Thus this method is safe against circular sets of import statements. Note that actual implementation is delegated to the associated OntDocumentManager.


listImportedOntologyURIs

java.util.Set<java.lang.String> listImportedOntologyURIs()

Answer a list of the imported URI's in this ontology model. Detection of imports statements will be according to the local language profile. Note that, in order to allow this method to be called during the imports closure process, we only query the base model, thus side-stepping the any attached reasoner.

Returns:
The imported ontology URI's as a set. Note that since the underlying graph is not ordered, the order of values in the list in successive calls to this method is not guaranteed to be preserved.

listImportedOntologyURIs

java.util.Set<java.lang.String> listImportedOntologyURIs(boolean closure)

Answer a list of the imported URI's in this ontology model, and optionally in the closure of this model's imports. Detection of imports statements will be according to the local language profile. Note that, in order to allow this method to be called during the imports closure process, we only query the base model, thus side-stepping the any attached reasoner.

Parameters:
closure - If true, the set of URI's returned will include not only those directly imported by this model, but those imported by the model's imports, and so on transitively.
Returns:
A set of imported ontology URIs. Note that since the underlying graph is not ordered, the order of values in the list in successive calls to this method is not guaranteed to be preserved.

hasLoadedImport

boolean hasLoadedImport(java.lang.String uri)

Answer true if this model has had the given URI document imported into it. This is important to know since an import only occurs once, and we also want to be able to detect cycles of imports.

Parameters:
uri - An ontology URI
Returns:
True if the document corresponding to the URI has been successfully loaded into this model

addLoadedImport

void addLoadedImport(java.lang.String uri)

Record that this model has now imported the document with the given URI, so that it will not be re-imported in the future.

Parameters:
uri - A document URI that has now been imported into the model.

removeLoadedImport

void removeLoadedImport(java.lang.String uri)

Record that this model no longer imports the document with the given URI.

Parameters:
uri - A document URI that is no longer imported into the model.

getProfile

Profile getProfile()

Answer the language profile (for example, OWL or DAML+OIL) that this model is working to.

Returns:
A language profile

getModelMaker

@Deprecated
ModelMaker getModelMaker()
Deprecated. use getImportModelMaker instead for consistency with name changes to OntModelSpec to avoid ambiguity with base vs import makers.

Answer the model maker associated with this model (used for constructing the constituent models of the imports closure).

Returns:
The local model maker

getImportModelMaker

ModelMaker getImportModelMaker()

Answer the model maker associated with this model (used for constructing the constituent models of the imports closure).

Returns:
The local model maker

getSubGraphs

java.util.List<Graph> getSubGraphs()

i.next() 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.

Returns:
A list of graphs that are contained in this ontology model

listImportedModels

@Deprecated
com.hp.hpl.jena.util.iterator.ExtendedIterator<OntModel> listImportedModels()
Deprecated. This method has been re-named to listSubModels, but note that to obtain the same behaviour as listImportedModels from Jena 2.4 and earlier, callers should invoke listSubModels(boolean) with parameter true.

Answer an iterator over the ontologies that this ontology imports, each of which will have been wrapped as an ontology model using the same OntModelSpec as this model. If this model has no imports, the iterator will be non-null but will not have any values.

Returns:
An iterator, each value of which will be an OntModel representing an imported ontology.
See Also:
listSubModels(), listSubModels(boolean)

listSubModels

com.hp.hpl.jena.util.iterator.ExtendedIterator<OntModel> listSubModels(boolean withImports)

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 listImportedModels(). Note that to fully replicate the behaviour of listImportedModels, the withImports flag must be set to true. Each model returned by this method will have been wrapped as an ontology model using the same OntModelSpec as this model. If this model has no sub-models, the returned iterator will be non-null but will not have any values.

Parameters:
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 withImports set to true, the return value for modelA.listSubModels(true) 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 withImports is false, E will not be included as a sub-model of D.
Returns:
An iterator, each value of which will be an OntModel representing a sub-model of this ontology.

listSubModels

com.hp.hpl.jena.util.iterator.ExtendedIterator<OntModel> listSubModels()

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. Important note on behaviour change: please see the comment on listSubModels(boolean) for explanation of the withImports flag. This zero-argument form of listSubModels sets withImports to false, so the returned models will not themselves contain imports. This behaviour differs from the zero-argument method listImportedModels() in Jena 2.4 an earlier.

Returns:
An iterator, each value of which will be an OntModel representing a sub-model of this ontology.
See Also:
listSubModels(boolean)

countSubModels

int countSubModels()

Answer the number of sub-models of this model, not including the base model.

Returns:
The number of sub-models, ≥ zero.

getImportedModel

OntModel getImportedModel(java.lang.String uri)

Answer an OntModel representing the imported ontology with the given URI. If an ontology with that URI has not been imported, answer null.

Parameters:
uri - The URI of an ontology that may have been imported into the ontology represented by this model
Returns:
A model representing the imported ontology with the given URI, or null.

getBaseModel

Model getBaseModel()

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 imports statements in the source document).

Returns:
The base model for this ontology model

addSubModel

void addSubModel(Model model)

Add the given model as one of the sub-models of the enclosed ontology union model. Will cause the associated inference engine (if any) to update, so this may be an expensive operation in some cases.

Parameters:
model - A sub-model to add
See Also:
addSubModel( Model, boolean )

addSubModel

void addSubModel(Model model,
                 boolean rebind)

Add the given model as one of the sub-models of the enclosed ontology union model.

Parameters:
model - A sub-model to add
rebind - If true, rebind any associated inferencing engine to the new data (which may be an expensive operation)

removeSubModel

void removeSubModel(Model model)

Remove the given model as one of the sub-models of the enclosed ontology union model. Will cause the associated inference engine (if any) to update, so this may be an expensive operation in some cases.

Parameters:
model - A sub-model to remove
See Also:
addSubModel( Model, boolean )

removeSubModel

void removeSubModel(Model model,
                    boolean rebind)

Remove the given model as one of the sub-models of the enclosed ontology union model.

Parameters:
model - A sub-model to remove
rebind - If true, rebind any associated inferencing engine to the new data (which may be an expensive operation)

isInBaseModel

boolean isInBaseModel(RDFNode node)

Answer true if the given node is a member of the base model of this ontology model. This is an important distinction, 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.

Parameters:
node - An RDF node (Resource, Property or Literal) to test
Returns:
True if the given node is from the base model

isInBaseModel

boolean isInBaseModel(Statement stmt)

Answer true if the given statement is defined in the base model of this ontology model. This is an important distinction, 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.

Parameters:
stmt - A statement to test
Returns:
True if the given statement is from the base model

strictMode

boolean strictMode()

Answer true if this model is currently in strict checking mode. 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.

Returns:
True if in strict checking mode

setStrictMode

void setStrictMode(boolean strict)

Set the checking mode to strict or non-strict.

Parameters:
strict -
See Also:
strictMode()

setDynamicImports

void setDynamicImports(boolean dynamic)

Set the flag that controls whether adding or removing imports statements into the model will result in the imports closure changing dynamically.

Parameters:
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.

getDynamicImports

boolean getDynamicImports()

Answer true if the imports closure of the model will be dynamically updated as imports statements are added and removed.

Returns:
True if the imports closure is updated dynamically.

getDocumentManager

OntDocumentManager getDocumentManager()

Answer a reference to the document manager that this model is using to manage ontology <-> mappings, and to load the imports closure. Note 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.

Returns:
A reference to this model's document manager

getSpecification

OntModelSpec getSpecification()

Answer the ontology model specification that was used to construct this model

Returns:
An ont model spec instance.

queryFor

<T extends RDFNode> com.hp.hpl.jena.util.iterator.ExtendedIterator<T> queryFor(BindingQueryPlan query,
                                                                               java.util.List<BindingQueryPlan> altQueries,
                                                                               java.lang.Class<T> asKey)

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, rdfs:Class), while the altQueries query for aliases for that type (such as daml:Class).

Parameters:
query - A query to run against the model
altQueries - An optional list of subsidiary queries to chain on to the first
Returns:
ExtendedIterator An iterator over the (assumed single) results of executing the queries.

write

Model write(java.io.Writer writer)

Write the model as an XML document. It is often better to use an OutputStream rather than a Writer, since this will avoid character encoding errors. Note: This method is adapted for the ontology model to write out only the base model (which contains the asserted data). To write all triples, including imported data and inferred triples, use writeAll .

Specified by:
write in interface Model
Parameters:
writer - A writer to which the XML will be written
Returns:
this model

write

Model write(java.io.Writer writer,
            java.lang.String lang)

Write a serialized representation of a model in a specified language. It is often better to use an OutputStream rather than a Writer, since this will avoid character encoding errors. Note: This method is adapted for the ontology model to write out only the base model (which contains the asserted data). To write all triples, including imported data and inferred triples, use writeAll .

The language in which to write the model is specified by the lang argument. Predefined values are "RDF/XML", "RDF/XML-ABBREV", "N-TRIPLE" and "N3". The default value, represented by null is "RDF/XML".

Specified by:
write in interface Model
Parameters:
writer - The output writer
lang - The output language
Returns:
this model

write

Model write(java.io.Writer writer,
            java.lang.String lang,
            java.lang.String base)

Write a serialized representation of a model in a specified language. It is often better to use an OutputStream rather than a Writer, since this will avoid character encoding errors. Note: This method is adapted for the ontology model to write out only the base model (which contains the asserted data). To write all triples, including imported data and inferred triples, use writeAll .

The language in which to write the model is specified by the lang argument. Predefined values are "RDF/XML", "RDF/XML-ABBREV", "N-TRIPLE" and "N3". The default value, represented by null, is "RDF/XML".

Specified by:
write in interface Model
Parameters:
writer - The output writer
base - The base URI for relative URI calculations. null means use only absolute URI's.
lang - The language in which the RDF should be written
Returns:
this model

write

Model write(java.io.OutputStream out)

Write a serialization of this model as an XML document. Note: This method is adapted for the ontology model to write out only the base model (which contains the asserted data). To write all triples, including imported data and inferred triples, use writeAll .

The language in which to write the model is specified by the lang argument. Predefined values are "RDF/XML", "RDF/XML-ABBREV", "N-TRIPLE" and "N3". The default value is represented by null is "RDF/XML".

Specified by:
write in interface Model
Parameters:
out - The output stream to which the XML will be written
Returns:
This model

write

Model write(java.io.OutputStream out,
            java.lang.String lang)

Write a serialized representation of this model in a specified language. Note: This method is adapted for the ontology model to write out only the base model (which contains the asserted data). To write all triples, including imported data and inferred triples, use writeAll .

The language in which to write the model is specified by the lang argument. Predefined values are "RDF/XML", "RDF/XML-ABBREV", "N-TRIPLE" and "N3". The default value, represented by null, is "RDF/XML".

Specified by:
write in interface Model
Parameters:
out - The output stream to which the RDF is written
lang - The output language
Returns:
This model

write

Model write(java.io.OutputStream out,
            java.lang.String lang,
            java.lang.String base)

Write a serialized representation of a model in a specified language. Note: This method is adapted for the ontology model to write out only the base model (which contains the asserted data). To write all triples, including imported data and inferred triples, use writeAll .

The language in which to write the model is specified by the lang argument. Predefined values are "RDF/XML", "RDF/XML-ABBREV", "N-TRIPLE" and "N3". The default value, represented by null, is "RDF/XML".

Specified by:
write in interface Model
Parameters:
out - The output stream to which the RDF is written
base - The base URI to use when writing relative URI's. null means use only absolute URI's.
lang - The language in which the RDF should be written
Returns:
This model

writeAll

Model writeAll(java.io.Writer writer,
               java.lang.String lang,
               java.lang.String base)

Write a serialized representation of all of the contents of the model, including inferred statements and statements imported from other documents. To write only the data asserted in the base model, use write. It is often better to use an OutputStream rather than a Writer, since this will avoid character encoding errors.

The language in which to write the model is specified by the lang argument. Predefined values are "RDF/XML", "RDF/XML-ABBREV", "N-TRIPLE" and "N3". The default value, represented by null, is "RDF/XML".

Parameters:
writer - The output writer
base - The base URI for relative URI calculations. null means use only absolute URI's.
lang - The language in which the RDF should be written
Returns:
This model

writeAll

Model writeAll(java.io.OutputStream out,
               java.lang.String lang,
               java.lang.String base)

Write a serialized representation of all of the contents of the model, including inferred statements and statements imported from other documents. To write only the data asserted in the base model, use write.

The language in which to write the model is specified by the lang argument. Predefined values are "RDF/XML", "RDF/XML-ABBREV", "N-TRIPLE" and "N3". The default value, represented by null, is "RDF/XML".

Parameters:
out - The output stream to which the RDF is written
base - The base URI to use when writing relative URI's. null means use only absolute URI's.
lang - The language in which the RDF should be written
Returns:
This model


Copyright © 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Hewlett-Packard Development Company, LP