## org.biojava.ontology
Interface Term

All Superinterfaces:
  Annotatable, Changeable

All Known Subinterfaces:
  ComparableTerm, ComparableTriple, OntologyTerm, RemoteTerm, Triple, Variable

All Known Implementing Classes:
  AbstractTerm, IntegerOntology.IntTerm, OntologyTerm.Impl, RemoteTerm.Impl, SimpleComparableTerm, SimpleComparableTriple, Term.Impl, Triple.Impl, Variable.Impl

    public interface Term

extends Annotatable

A term in an ontology. This has an `Annotation` which can be used for storing additional human-displayable information. It is strongly recommended that the Annotation is not used for any machine-readable data -- this should be represented by relations in the ontology instead.

Terms are things that represent things. They are the same sort of thing as a Java object or a prolog atom. A sub-set of terms are themselves relations. This means that they are used to describe associations between pairs of terms. Since all terms can be described, it is possible (and indeed encouraged) to describe relations. As a minimum, you should consider saying if they are identity or partial order relations, or if they are transitive, reflexive, symmetrical, anti-symmetrical or anything else you know about them. This gives the inference engine some chance of working out what is going on.

Since:
  1.4
Author:
  Thomas Down, Matthew Pocock
See Also:
  `ComparableTerm`

Nested Class Summary
`static class` `Term.Impl` Simple in-memory implementation of an ontology term.

Nested classes/interfaces inherited from interface org.biojava.bio.Annotatable
`Annotatable.AnnotationForwarder`

Field Summary
`static ChangeType` `ONTOLOGY` ChangeType which indicates that this term's ontology has been altered

Fields inherited from interface org.biojava.bio.Annotatable
`ANNOTATION`

Method Summary
`void` `addSynonym(Object synonym)` Add a synonym for this term.
`String` `getDescription()` Return a human-readable description of this term, or the empty string if none is available.
`String` `getName()` Return the name of this term.
`Ontology` `getOntology()` Return the ontology in which this term exists.
`Object[]` `getSynonyms()` Return the synonyms for this term.
`void` `removeSynonym(Object synonym)` Remove a synonym for this term.
`void` `setDescription(String description)` set the description of the term;

Methods inherited from interface org.biojava.bio.Annotatable
`getAnnotation`

Methods inherited from interface org.biojava.utils.Changeable
`addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener`

Field Detail

### ONTOLOGY

    static final ChangeType ONTOLOGY

  ChangeType which indicates that this term's ontology has been altered

Method Detail

### getName

    String getName()

  Return the name of this term.

  Returns:
    the name of the term

### getDescription

    String getDescription()

  Return a human-readable description of this term, or the empty string if none is available.

  Returns:
    the description of the term

### setDescription

    void setDescription(String description)

  set the description of the term;

  Parameters:
    `description` -

### getOntology

    Ontology getOntology()

  Return the ontology in which this term exists.

  Returns:
    the ontology

### getSynonyms

    Object[] getSynonyms()

  Return the synonyms for this term.

  Returns:
    the synonyms

### addSynonym

    void addSynonym(Object synonym)

  Add a synonym for this term.

  Parameters:
    `synonym` - the synonym

### removeSynonym

    void removeSynonym(Object synonym)

  Remove a synonym for this term.

  Parameters:
    `synonym` -