bbi.ontology

The ontology module provides various functionality for managing and manipulating ontologies.

class Ontology

Bases: object

Class to manage ontologies

classmethod list_ontologies() list[str]

List all ontologies.

classmethod get_ontology(ontology_name: str) dict

Get an ontology by name.

Parameters:

ontology_name (str) – Name of the ontology to get.

classmethod set_ontology(ontology_name: str, ontology_classes: dict, overwrite: bool = False) None

Create an ontology by mapping category IDs to category names and asset names.

Parameters:
  • ontology_name (str) – Name of the ontology.

  • ontology_classes (dict) – Dictionary where each key is the category ID and each value is a dictionary of the name of the category and the asset names associated with the category.

  • overwrite (bool, optional) – Overwrite the ontology if it already exists. Defaults to False.

Example:

ontology_classes = {
    1: {
        "name": "category_1",
        "asset_names": ["asset_a", "asset_b"]
    },
    2: {
        "name": "category_2",
        "asset_names": ["asset_c", "asset_d"]
    }
}
Ontology.set_ontology(ontology_name="ontology", ontology_classes=ontology_classes, overwrite=True)
classmethod delete_ontology(ontology_name: str) None

Delete an ontology.

Parameters:

ontology_name (str) – Name of the ontology to delete.

classmethod rename_ontology(ontology_name: str, new_ontology_name: str) None

Rename an ontology. Ontology name must be unique.

Parameters:
  • ontology_name (str) – Name of the ontology to rename.

  • new_ontology_name (str) – New name of the ontology.