Skip to content

HyperMesh DB

A purpose-built temporal hypergraph database for recording, querying, and analysing multi-party events over time.

Sub-millisecond range queries

TPI Bucket Pushdown skips irrelevant time buckets directly at the C layer — 6–40× faster than PostgreSQL B-tree queries on the same data.

Variable-membership hyperedges

Each event can link 2–64 nodes in a single atomic record, with a first-class FMI index for O(log N) node-membership lookups.

Python & TypeScript SDKs

An identical high-level API across both languages. The zero-dependency TypeScript client runs in Node.js and the browser.

25+ hypergraph analytics measures

PageRank, spectral gap, temporal burstiness, s-walk distance, modularity — all computed in-process with no external graph engine.

HyperMesh DB is a purpose-built temporal hypergraph database for workloads that require:

  • Recording group events involving variable-sized sets of nodes (hyperedges)
  • Querying by time window with sub-millisecond latency
  • Looking up which events involved a given node (FMI membership index)
  • Computing graph-theoretic measures over the evolving hypergraph

It was designed for the cybersecurity, autonomous systems, and network monitoring domains, where the atomic unit of data is a multi-party event at a specific time — a concept that neither relational databases nor traditional graph databases represent efficiently.

flowchart TD
    A[Python SDK / Client] -->|Cypher query| B[Connection]
    A2[TypeScript SDK] -->|HTTP REST| C[hmdb serve / FastAPI]
    C --> B
    B -->|parse| D[Cypher Parser C]
    D --> E{Strategy}
    E -->|time range| F[TPI Bucket Pushdown]
    E -->|node lookup| G[FMI Binary Search]
    E -->|property filter| H[PSI Scan]
    F & G & H --> I[WAL / Binary Index files]
    B -->|analytics| J[HypergraphPy / SciPy]
Terminal window
pip install hypermeshdb
import hypermeshdb
db = hypermeshdb.connect("/tmp/mydb")
db.execute("CREATE HYPEREDGE TABLE CoProximity (Drone)")
db.insert(event_ts=1000, members=[1, 2, 3], weight=0.95)
db.insert(event_ts=1005, members=[2, 3, 4], weight=0.88)
db.execute("COMPACT") # flush WAL to TPI index
result = db.execute(
"MATCH HYPEREDGE (he:CoProximity) "
"WHERE he.event_ts >= 1000 AND he.event_ts <= 1010 RETURN *"
)
print(result.num_tuples) # 2
print(result.query_plan.strategy) # TPI_BUCKET_PUSHDOWN