Skip to content

graflo.db

Database connection and management components.

This package provides database connection implementations and management utilities for different graph databases (ArangoDB, Neo4j, TigerGraph, FalkorDB, Memgraph, Nebula, PostgreSQL, and the on-disk GraFlo backend). It includes connection interfaces, query execution, and database operations.

Connection config models live in :mod:graflo.connections — importable without any DB driver. This façade is lazy (PEP 562): importing graflo.db does not load backend drivers; they load on first attribute access.

Example

from graflo.db import ConnectionManager from graflo.connections.onto import ArangoConfig manager = ConnectionManager(connection_config=ArangoConfig(...)) with manager as conn: ... conn.init_db(schema)

Modules:

Name Description
arango

ArangoDB database implementation.

bulk_exc

Exceptions for optional bulk-ingestion features (not all backends support them).

conn

Abstract database connection interface for graph databases.

cross_resource_identity

Algorithmic cross-resource vertex identity discovery.

cypher

Shared Cypher query fragments (no drivers; safe string builders only).

edge_direction_support

Backend support for edge directionality (advisory — never raises).

falkordb

FalkorDB connection implementation for graph database operations.

field_type_support

Backend support checks for schema field types and index kinds (native or raise — no soft conversion).

graflo_backend

GraFlo on-disk graph backend connection.

graph_introspection

Graph database schema introspection and Schema inference.

identity_inference

Algorithmic identity inference from vertex record samples.

manager

Database connection manager for graph and source databases.

memgraph

Memgraph connection implementation for graph database operations.

nebula

NebulaGraph database implementation.

neo4j

Neo4j database implementation.

postgres

PostgreSQL database implementation.

resolve

Helpers for resolving vertices by an arbitrary field-set.

sql

Dialect-neutral SQL introspection and schema inference.

tigergraph

TigerGraph database connection implementation.

traversal

Backend-neutral multi-hop traversal, composed from single-hop primitives.

util

Database utilities for graph operations.

Attributes

__all__ = ['ArangoConnection', 'Connection', 'ConnectionManager', 'ConnectionType', 'FalkordbConnection', 'GraFloBackendConnection', 'InsertEdgesKwArgs', 'MemgraphConnection', 'NamespaceNotFoundError', 'NebulaConnection', 'Neo4jConnection', 'PostgresConnection', 'SchemaExistsError', 'TigerGraphConnection', 'consume_insert_edges_kwargs', 'cypher_map_key', 'cypher_string_literal', 'rel_merge_props_map_from_row_index', 'rel_merge_props_map_from_row_props'] module-attribute

Functions:

__dir__()

Source code in graflo/db/__init__.py
def __dir__() -> list[str]:
    return sorted(__all__)

__getattr__(name)

Source code in graflo/db/__init__.py
def __getattr__(name: str) -> Any:
    if name in _EXPORTS:
        import importlib

        value = getattr(importlib.import_module(_EXPORTS[name]), name)
        globals()[name] = value
        return value
    raise AttributeError(f"module {__name__!r} has no attribute {name!r}")