Class Ontology.Impl

java.lang.Object
org.biojava.nbio.ontology.Ontology.Impl
All Implemented Interfaces:
Serializable, Ontology
Enclosing interface:
Ontology

public static final class Ontology.Impl extends Object implements Ontology, Serializable
A basic in-memory implementation of an ontology
Since:
1.3
Author:
Thomas Down, Matthew Pocock
See Also:
  • Constructor Details

  • Method Details

    • getName

      public String getName()
      Description copied from interface: Ontology
      Return the name of this ontology
      Specified by:
      getName in interface Ontology
      Returns:
      the name of the ontology
    • getDescription

      public String getDescription()
      Description copied from interface: Ontology
      Return a human-readable description of this ontology, or the empty string if none is available
      Specified by:
      getDescription in interface Ontology
      Returns:
      the description of the term
    • setDescription

      public void setDescription(String description)
      Description copied from interface: Ontology
      set the description of this ontology
      Specified by:
      setDescription in interface Ontology
    • getTerms

      public Set<Term> getTerms()
      Description copied from interface: Ontology
      Return all the terms in this ontology
      Specified by:
      getTerms in interface Ontology
      Returns:
      a Set of all Terms of the ontology.
    • getTerm

      public Term getTerm(String name) throws NoSuchElementException
      Description copied from interface: Ontology
      Fetch the term with the specified name.
      Specified by:
      getTerm in interface Ontology
      Parameters:
      name - the name of the term
      Returns:
      The term named name
      Throws:
      NoSuchElementException - if no term exists with that name
    • getTriples

      public Set<Triple> getTriples(Term subject, Term object, Term predicate)
      Description copied from interface: Ontology
      Return all triples from this ontology which match the supplied pattern. If any of the parameters of this method are null, they are treated as wildcards.
      Specified by:
      getTriples in interface Ontology
      Parameters:
      subject - The subject to search for, or null
      object - The object to search for, or null
      predicate - The relationship to search for, or null.
      Returns:
      a Set of triples
    • createTerm

      public Term createTerm(String name) throws AlreadyExistsException, IllegalArgumentException
      Description copied from interface: Ontology
      Create a new term in this ontology.
      Specified by:
      createTerm in interface Ontology
      Parameters:
      name - The name of the term (must be unique))
      Returns:
      The newly created term.
      Throws:
      AlreadyExistsException - if a term of this name already exists
      IllegalArgumentException - if either name or description is null, or violates some other constraint of this implementation.
    • createTerm

      public Term createTerm(String name, String description) throws AlreadyExistsException, IllegalArgumentException
      Description copied from interface: Ontology
      Create a new term in this ontology.
      Specified by:
      createTerm in interface Ontology
      Parameters:
      name - The name of the term (must be unique)
      description - A human-readable description (may be empty)
      Returns:
      The newly created term.
      Throws:
      AlreadyExistsException - if a term of this name already exists
      IllegalArgumentException - if either name or description is null, or violates some other constraint of this implementation.
    • createTerm

      public Term createTerm(String name, String description, Object[] synonyms) throws AlreadyExistsException, IllegalArgumentException
      Description copied from interface: Ontology
      Create a new term in this ontology.
      Specified by:
      createTerm in interface Ontology
      Parameters:
      name - The name of the term (must be unique)
      description - A human-readable description (may be empty)
      synonyms - Some synonyms for this term.
      Returns:
      The newly created term.
      Throws:
      AlreadyExistsException - if a term of this name already exists
      IllegalArgumentException - if either name or description is null, or violates some other constraint of this implementation.
    • createVariable

      public Variable createVariable(String name, String description) throws AlreadyExistsException, IllegalArgumentException
      Description copied from interface: Ontology
      Create a new term in this ontology that is used as a variable.
      Specified by:
      createVariable in interface Ontology
      Parameters:
      name - The name of the term (must be unique)
      description - A human-readable description (may be empty)
      Returns:
      The newly created term.
      Throws:
      AlreadyExistsException - if a term of this name already exists
      IllegalArgumentException - if either name or description is null, or violates some other constraint of this implementation.
    • createOntologyTerm

      public OntologyTerm createOntologyTerm(Ontology o) throws AlreadyExistsException
      Throws:
      AlreadyExistsException
    • importTerm

      public Term importTerm(Term t, String name) throws IllegalArgumentException
      Description copied from interface: Ontology
      Create a view of a term from another ontology. If the requested term has already been imported under that name, this method returns the existing RemoteTerm object. If the term that is being imported is itself a RemoteTerm instance then first unwrap the term back to the orriginal term it represents and then produce a RemoteTerm from that. If the term being imported orriginated from this ontology, then return that term unaltered.
      Specified by:
      importTerm in interface Ontology
      Parameters:
      t - the Term to import
      name - the local name to import it under, optionally null
      Returns:
      a Term
      Throws:
      IllegalArgumentException
    • deleteTerm

      public void deleteTerm(Term t)
      Description copied from interface: Ontology
      Remove a term from an ontology, together with all triples which refer to it.
      Specified by:
      deleteTerm in interface Ontology
    • containsTerm

      public boolean containsTerm(String name)
      Description copied from interface: Ontology
      Determines if this ontology currently contains a term named name
      Specified by:
      containsTerm in interface Ontology
      Returns:
      true is contained
    • containsTriple

      public boolean containsTriple(Term subject, Term object, Term predicate)
      Description copied from interface: Ontology
      See if a triple exists in this ontology
      Specified by:
      containsTriple in interface Ontology
      Returns:
      true if contained
    • createTriple

      public Triple createTriple(Term subject, Term object, Term predicate, String name, String description) throws AlreadyExistsException, IllegalArgumentException, NullPointerException, IllegalArgumentException
      Description copied from interface: Ontology
      Creates a new Triple.
      Specified by:
      createTriple in interface Ontology
      Parameters:
      subject - the subject Term
      object - the object Term
      predicate - the predicate Term
      name - the name of the triple, or null
      description - the description of the triple, or null
      Returns:
      a new Triple over these three terms
      Throws:
      AlreadyExistsException - if a triple already exists with the same subject, object and predicate, regardless of the name and description
      IllegalArgumentException - if subject, object or predicate are not all from the same ontology
      NullPointerException - if subject, object or predicate are null
    • getOps

      public OntologyOps getOps()
      Description copied from interface: Ontology
      Return the associated OntologyOps. This method should be implemented by ontology implementors to allow OntoTools to get optimized access to some usefull ontology operations. It is not intended that users will ever invoke this. A sensible dumb implementation of this would return a per-ontology instance of DefaultOps.
      Specified by:
      getOps in interface Ontology
      Returns:
      the OntologyOps instance associated with this instance.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • setName

      public void setName(String name)
      Description copied from interface: Ontology
      Set the name for this ontology
      Specified by:
      setName in interface Ontology
      Parameters:
      name - - the name