Interface Individual

All Superinterfaces:
FrontsNode, OntResource, RDFNode, Resource
All Known Implementing Classes:
IndividualImpl

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.

  • Method Details

    • 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> 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