Schema

terminusdb_client.schema

terminusdb_client.schema.schema

HashKey Objects

class HashKey(TerminusKey)

Generating ID with SHA256 using provided keys

LexicalKey Objects

class LexicalKey(TerminusKey)

Generating ID with urllib.parse.quote using provided keys

ValueHashKey Objects

class ValueHashKey(TerminusKey)

Generating ID with SHA256

RandomKey Objects

class RandomKey(TerminusKey)

Generating ID with UUID4

Schema Objects

class Schema()

add_enum_class

def add_enum_class(class_name: str, class_values: list)

Construct a TerminusDB Enum class by provideing class name and member values then add into the schema.

Arguments:

  • class_name (str): Name of the class object constructed.

  • class_values (list): A list of values in this Enum.

Returns:

EnumMetaTemplate: A Enum object with the sepcified name and members

commit

def commit(client: Client,
           commit_msg: Optional[str] = None,
           full_replace=False)

Commit the schema to database

Arguments:

  • client (Client): A client that is connected to a database.

  • commit_msg (str): Commit message.

  • full_replace (bool): Does the commit fully wiped out the old shcema graph. Default to be False.

from_db

def from_db(client: Client, select: Optional[List[str]] = None)

Load classes in the database schema into schema

Arguments:

  • client (Client): Client that is connected to the database

  • select (list of str): The classes (and depended classes) that will be imported, default to None which will import all classes

import_objects

def import_objects(obj_dict: Union[List[dict], dict])

Import a list of documents in json format to Python objects. The schema of those documents need to be in this schema.

from_json_schema

def from_json_schema(name: str,
                     json_schema: Union[dict, str, StringIO],
                     pipe=False,
                     subdoc=False)

Load class object from json schema (http://json-schema.org/) and, if pipe mode is off, add into schema. All referenced object will be treated as subdocuments.

Arguments:

  • name (str): Name of the class object.

  • json_schema (dict or str or StringIO): Json Schema in dictionary or jsonisable string format or json file stream.

  • pipe (bool): Pipe mode, if True will return the schema in TerminusDB dictionary format (just like calling to_dict) WITHOUT loading the schema into the schema object. Default to False.

  • subdoc (bool): If not in pipe mode, the class object will be added as a subdocument class.

to_dict

def to_dict()

Return the schema in the TerminusDB dictionary format

to_json_schema

def to_json_schema(class_object: Union[str, dict])

Return the schema in the json schema (http://json-schema.org/) format as a dictionary for the class object.

Arguments:

  • class object (str or dict): Name of the class object or the class object represented as dictionary.

Last updated