com.hp.hpl.jena.ontology
Interface Individual

All Superinterfaces:
FrontsNode, OntResource, RDFNode, Resource

public interface Individual
extends OntResource

Interface that encapsulates an individual in an ontology, sometimes referred to as a fact or assertion, or a member of the a-box. In order to be recognised as an individual, rather than a generic resource, at least one rdf:type statement, referring to a known class, must be present in the model.

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

Method Summary
 void addOntClass(Resource cls)
          Add the given ontology class as one of the classes to which this individual belongs.
 OntClass getOntClass()
           Answer an ontology class to which this individual belongs.
 OntClass getOntClass(boolean direct)
           Answer an ontology class to which this individual belongs.
 boolean hasOntClass(Resource ontClass)
           Answer true if this individual is a member of the class denoted by the given ontology class resource.
 boolean hasOntClass(Resource ontClass, boolean direct)
           Answer true if this individual is a member of the class denoted by the given class resource.
 boolean hasOntClass(String uri)
           Answer true if this individual is a member of the class denoted by the given URI.
<T extends OntClass>
com.hp.hpl.jena.util.iterator.ExtendedIterator<T>
listOntClasses(boolean direct)
           Answer an iterator over the ontology classes to which this individual belongs.
 void removeOntClass(Resource ontClass)
          Attempt to remove this individual as a member of the given ontology class.
 void setOntClass(Resource cls)
          Set the ontology class for this individual, replacing any existing class membership.
 
Methods inherited from interface com.hp.hpl.jena.ontology.OntResource
addComment, addComment, addDifferentFrom, addIsDefinedBy, addLabel, addLabel, addRDFType, addSameAs, addSeeAlso, addVersionInfo, asAllDifferent, asAnnotationProperty, asClass, asDataRange, asDatatypeProperty, asIndividual, asObjectProperty, asOntology, asProperty, getCardinality, getComment, getDifferentFrom, getIsDefinedBy, getLabel, getOntModel, getProfile, getPropertyValue, getRDFType, getRDFType, getSameAs, getSeeAlso, getVersionInfo, hasComment, hasComment, hasLabel, hasLabel, hasRDFType, hasRDFType, hasRDFType, hasSeeAlso, hasVersionInfo, isAllDifferent, isAnnotationProperty, isClass, isDataRange, isDatatypeProperty, isDefinedBy, isDifferentFrom, isIndividual, isObjectProperty, isOntLanguageTerm, isOntology, isProperty, isSameAs, listComments, listDifferentFrom, listIsDefinedBy, listLabels, listPropertyValues, listRDFTypes, listSameAs, listSeeAlso, listVersionInfo, remove, removeComment, removeComment, removeDefinedBy, removeDifferentFrom, removeLabel, removeLabel, removeProperty, removeRDFType, removeSameAs, removeSeeAlso, removeVersionInfo, setComment, setDifferentFrom, setIsDefinedBy, setLabel, setPropertyValue, setRDFType, setSameAs, setSeeAlso, setVersionInfo
 
Methods inherited from interface com.hp.hpl.jena.rdf.model.Resource
abort, addLiteral, addLiteral, addLiteral, addLiteral, addLiteral, addLiteral, addLiteral, addProperty, addProperty, addProperty, addProperty, begin, commit, equals, getId, getLocalName, getNameSpace, getProperty, getPropertyResourceValue, getRequiredProperty, getURI, hasLiteral, hasLiteral, hasLiteral, hasLiteral, hasLiteral, hasLiteral, hasProperty, hasProperty, hasProperty, hasProperty, hasURI, inModel, listProperties, listProperties, removeAll, removeProperties, toString
 
Methods inherited from interface com.hp.hpl.jena.rdf.model.RDFNode
as, asLiteral, asResource, canAs, getModel, isAnon, isLiteral, isResource, isURIResource, visitWith
 
Methods inherited from interface com.hp.hpl.jena.graph.FrontsNode
asNode
 

Method Detail

setOntClass

void setOntClass(Resource cls)

Set the ontology class for this individual, replacing any existing class membership. Class membership is encoded using the rdf:type property. Any existing statements for the RDF type will first be removed.

Parameters:
cls - The RDF resource denoting the new class to which this individual belongs, which will replace any existing rdf:type property.

addOntClass

void addOntClass(Resource cls)

Add the given ontology class as one of the classes to which this individual belongs. Class membership is encoded using the rdf:type property.

Parameters:
cls - An RDF resource denoting an additional class to which this individual belongs.

getOntClass

OntClass getOntClass()

Answer an ontology class to which this individual belongs. If the individual belongs to more than one class, which is common in ontology models using a reasoner, then the return value will be one of the possible values but it is not specified which one. In the case of multiple classes, callers should not rely on the return value being consistent, e.g. across runs, since it may depend on the underlying hash indexes in the model.

This method considers any ontology class for the individual, not just direct classes. It is equivalent to getOntClass(false).

Returns:
A resource denoting the ontology class for this individual, or one of them if more than one is defined.
Throws:
ConversionException - if the return value is known to be an ontology class, assuming strict type checking is turned on for the underlying OntModel. See OntModel.setStrictMode(boolean)

getOntClass

OntClass getOntClass(boolean direct)

Answer an ontology class to which this individual belongs. If the resource belongs to more than one class, which is common in ontology models using a reasoner, then the return value will be one of the possible values but it is not specified which one. In the case of multiple classes, callers should not rely on the return value being consistent, e.g. across runs, since it may depend on the underlying hash indexes in the model.

Parameters:
direct - If true, only direct classes are considered. A class is a direct class of this Individual if and only if there is no other resource is both an rdf:type of this individual and a sub-class of the candidate class.
Returns:
A resource denoting the ontology class for this individual, or one of them if more than one is defined.
Throws:
ConversionException - if the return value is known to be an ontology class, assuming strict type checking is turned on for the underlying OntModel. See OntModel.setStrictMode(boolean)

listOntClasses

<T extends OntClass> com.hp.hpl.jena.util.iterator.ExtendedIterator<T> listOntClasses(boolean direct)

Answer an iterator over the ontology classes to which this individual belongs. The members of the iterator will be OntClass objects.

Parameters:
direct - If true, only answer those resources that are direct types of this individual, not the super-classes of the class etc.
Returns:
An iterator over the set of this individual's classes. Each member of the iteration will be an OntClass.

hasOntClass

boolean hasOntClass(Resource ontClass,
                    boolean direct)

Answer true if this individual is a member of the class denoted by the given class resource.

Parameters:
ontClass - Denotes an ontology class to which this individual may belong
direct - If true, only consider the direct types of this individual, ignoring the super-classes of the stated types.
Returns:
True if this individual is a member of the given class, possibly taking the directness constraint into account.

hasOntClass

boolean hasOntClass(Resource ontClass)

Answer true if this individual is a member of the class denoted by the given ontology class resource. Not limited to only direct class relationships, so this is equivalent to:

 hasOntClass( ontClass, false );
 

Parameters:
ontClass - Denotes a class to which this individual may belong
Returns:
True if this individual has the given class as one of its rdf:type's.

hasOntClass

boolean hasOntClass(String uri)

Answer true if this individual is a member of the class denoted by the given URI.

Parameters:
uri - Denotes the URI of a class to which this value may belong
Returns:
True if this individual has the given class as one of its rdf:type's.

removeOntClass

void removeOntClass(Resource ontClass)

Attempt to remove this individual as a member of the given ontology class. This relationship is represented by a rdf:type statement in the underlying model. If this relationship was originally asserted, then removal will always succeed. However, if the rdf:type relationship is entailed by the action of an attached reasoner, it may not be possible to directly remove it. Callers should instead update the assertions and axioms that entail the class membership relationship, and ensure the reasoner gets chance to update the entailments.

If this individual is not a member of the given class, the operation has no effect.

Parameters:
ontClass - A resource denoting a class that that is to be removed from the set of classes to which this individual belongs


Licenced under the Apache License, Version 2.0