Konnektr Logo

Konnektr Graph

Semantic graph engine for PostgreSQL with Apache AGE — DTDL models, Cypher queries, and an Azure Digital Twins-compatible API. Self-hosted.

Konnektr Graph is a semantic graph engine for PostgreSQL, built on the Apache AGE extension. It stores DTDL-modelled entities as graph vertices, answers Cypher queries natively, and exposes an HTTP API that is compatible with Azure Digital Twins — so existing ADT SDKs, query strings and payloads keep working.

It is self-hosted: you run it in your own cluster, against your own PostgreSQL.

Why Konnektr Graph

  • Azure Digital Twins compatible — the same API surface, the same DTDL models, the same $dtId / $metadata.$model payloads, and the same SELECT … FROM DIGITALTWINS query dialect. Existing .NET, Python, JavaScript and Java ADT clients connect unchanged.
  • A graph, not a document store — twins and relationships live as vertices and edges in PostgreSQL, so traversals are Cypher, not application-side joins.
  • One database to run — no separate graph server. Apache AGE runs inside PostgreSQL, alongside your relational data, with normal backups, replication and tooling.
  • Change streams you own — twin state changes are published to Kafka, Azure Data Explorer or MQTT through configurable event sinks and routes.
  • DTDL end to end — model upload, inheritance, interfaces, components, telemetry schemas and validation are all driven by the DTDL documents you already have.

What "compatible" means in practice

SurfaceBehaviour
Twin & relationship CRUDAzure Digital Twins REST shapes (/digitaltwins/{id}, relationships, components)
QueryADT SQL-like dialect translated to Cypher (/query)
ModelsDTDL v2/v3 upload, decommission, dependency-aware delete
Payloads$dtId, $metadata.$model, $lastUpdateTime; opt-in $lastUpdatedBy
SDKsAny client that speaks to Azure Digital Twins over HTTP

The ADT-specific behaviour is a compatibility profile over the same graph — it is not a separate product. Where Konnektr Graph extends beyond ADT (native SDK, direct database access, scoped vector memory search), the additions are documented separately and are opt-in.

Where to start

Resources

On this page