Virtual Ontology (indra.ontology.virtual_ontology)

This module implements a virtual ontology which communicates with a REST service to perform all ontology functions.

class indra.ontology.virtual.ontology.VirtualOntology(url, ontology='bio')[source]

A virtual ontology class which uses a remote REST service to perform all operations. It is particularly useful if the host machine has limited resources and keeping the ontology graph in memory is not desirable.

  • url (str) – The base URL of the ontology graph web service.

  • ontology (Optional[str]) – The identifier of the ontology recognized by the web service. Default: bio

get_id_from_name(ns, name)[source]

Return an entity’s ID given its name space and standard name.

  • ns (str) – The name space in which the standard name is defined.

  • name (str) – The standard name defined in the name space.


The pair of namespace and ID corresponding to the given standard name in the given name space or None if it’s not available.

get_node_property(ns, id, property)[source]

Return a given property of a given entity.

  • ns (str) – An entity’s name space.

  • id (str) – An entity’s ID.

  • property (str) – The property to look for on the given node.


The name associated with the given entity or None if the node is not in the ontology or doesn’t have the given property.

Return type

str or None


Initialize the ontology by adding nodes and edges.

By convention, ontologies are implemented such that the constructor does not add all the nodes and edges, which can take a long time. This function is called automatically when any of the user-facing methods ot IndraOntology is called. This way, the ontology is only fully constructed if it is used.