Skip to content

Latest commit

 

History

17 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TuringDB × EDTH - Datasets, example use cases and setup guide for TuringDB

TuringDB × EDTH Hackathon - Ready-to-Use Datasets & Use Cases

A ready-to-run pack of graph datasets for the EDTH hackathon, built on TuringDB. Clone this repo, point a TuringDB server at it, and you have six domain graphs - supply chain, logistics risk, drone-swarm telemetry, global power infrastructure, POLE crime investigation, and a cyber attack-scenario knowledge base - loadable and queryable in seconds, plus a browser visualizer.

No data wrangling required: the graphs are pre-built and committed under graphs/. Per-dataset documentation (schema, example queries, licensing) lives in docs/.

Important

These are just example datasets - you are not required to build on them. They exist to get you querying in seconds, not to constrain your project. Bring your own data: take any CSV or JSONL file, turn it into a TuringDB graph with a short import script, and build on that instead. Mix the provided graphs with your own, or ignore these entirely - whatever fits your hack. See the turingdb Claude Code skills (or the Python SDK docs) for how to load your own CSV/JSONL into a graph.


What is TuringDB?

TuringDB is a high-performance, in-memory, column-oriented graph database engine designed for analytical and read-intensive workloads. Built from scratch in C++, it delivers millisecond query latency on graphs with millions of nodes and edges - commonly ~200× faster than Neo4j on deep multi-hop queries.

Key features

  • Performance-first architecture - in-memory, column-oriented storage with streaming query processing; 0.1–50 ms latency on 10M+ node graphs, ~200× faster than Neo4j on deep multi-hop queries.
  • Zero-lock concurrency - reads and writes never compete; every transaction runs on its own immutable snapshot (snapshot isolation).
  • Git-like versioning - commit graph versions, branch, merge, and time-travel through history for reproducibility and auditability.
  • Developer friendly - OpenCypher query language and a Python SDK whose query() returns a pandas DataFrame, plus an HTTP server (:6666) and browser visualizer (:8080).

Each graph is a self-contained, versioned store (commits, dataparts) under graphs/<name>/ - which is exactly what this repo ships.


Dataset catalog

Graph Domain Nodes Edges Docs
supply_chain Aerospace / defense supply chain (parts, suppliers, POs, quality incidents) 30,380 90,402 docs/supply_chain.md
logistics_risk Supply-chain risk & performance indicators (shipments, suppliers, countries, risk class) 117,718 233,242 docs/logistics_risk.md
drone_swarm Drone-swarm coordination telemetry (positions, battery, formation, mission, trajectories) 21,028 99,980 docs/drone_swarm.md
power_plants Global power infrastructure (plants, fuels, owners, countries) 45,262 93,052 docs/power_plants.md
poledb POLE crime investigation (people, associates, crimes, officers, vehicles, phone calls, locations) 61,521 105,840 docs/poledb.md
attack_scenarios Cyber attack knowledge base (scenarios → MITRE ATT&CK techniques, tools, categories) 18,354 60,014 docs/attack_scenarios.md

Example use cases

These graphs are picked for defense, resilience, and intelligence scenarios:

  • Supply-chain resilience (supply_chain, logistics_risk) - trace a delayed purchase order or a quality defect back through the part to every affected site; find where high-risk shipments concentrate by supplier, product, and country; quantify supplier reliability (on-time-in-full) and single-source risk.
  • Critical-infrastructure mapping (power_plants) - map generation capacity by country and fuel; identify ownership concentration and fuel-dependency for energy-security analysis.
  • Autonomous-systems / ISR (drone_swarm) - reconstruct each drone's trajectory over time, correlate collision warnings with formation and mission, and snapshot the full swarm state at any instant.
  • Criminal-network / investigation analysis (poledb) - map associates through KNOWS and family links, trace crimes to their location, investigating officer, suspects and vehicles, and reconstruct phone-call patterns across a person's contacts.
  • Attack knowledge base & ATT&CK mapping (attack_scenarios) - pull full attack playbooks (steps, impact, detection, remediation), pivot from a MITRE ATT&CK technique to every attack that uses it, and rank the tools attackers rely on most.

Each dataset's doc lists concrete starter queries.


Prerequisites

The only thing you need is a Python package manager - we recommend uv. Installing the turingdb package gives you both the turingdb CLI (on your PATH) and the Python SDK (as a library) - there's nothing else to install separately.

uv init my-project
uv add turingdb

(Or with pip: pip install turingdb.)


Quick start

1. Start the server pointed at this repo

The repo root is a TuringDB "turing-dir" (it contains a graphs/ store). Clone it, make it your own project with uv, and start the server with the visualizer enabled:

git clone https://github.com/turing-db/turingdb-hackathon-defense.git
cd turingdb-hackathon-defense
rm -rf .git                 # so you can start your own git repo in the cloned directory

uv init .
uv add turingdb
uv run turingdb start -turing-dir "$(pwd)" -ui   # look for graphs in the current dir, start the visualizer UI
  • :6666 - database (HTTP API used by the SDK)
  • :8080 - open http://localhost:8080 for the interactive visualizer

The server recreates its runtime dirs (data/, logs/, lock/socket) on first start - those are git-ignored. Only the graphs/ store is versioned here.

2. Query from Python

from turingdb import TuringDB

c = TuringDB("json", host="http://localhost:6666")

# pick a graph (see the catalog below)
c.load_graph("power_plants")
c.set_graph("power_plants")

# results come back as a pandas DataFrame
df = c.query("""
  MATCH (p:PowerPlant)-[:LOCATED_IN]->(co:Country {country_code:'USA'}),
        (p)-[:PRIMARY_FUEL]->(f:Fuel)
  RETURN p.name, f.name AS fuel, p.capacity_mw
  LIMIT 20
""")
print(df)

3. Explore in the visualizer

Open http://localhost:8080, choose a graph, and run the default MATCH (n) RETURN n LIMIT 100 to see a slice - then click nodes to expand neighbours.


Claude Code skills

This repo bundles the TuringDB Claude Code skills under skills/turingdb/ - they teach Claude Code how to start, query, write, and manage TuringDB graphs (including the Cypher dialect's quirks), so you can drive these datasets in plain English instead of memorizing the SDK.

Install with the skills CLI:

npx skills add https://github.com/turing-db/turingdb-skills

…or copy the bundled folder straight into your Claude Code skills directory:

cp -r skills/turingdb ~/.claude/skills/

Then start a Claude Code session and type /turingdb followed by what you want to do, e.g.:

  • /turingdb start the server at the current directory and load power_plants
  • /turingdb query the highest-capacity plants in the USA with their fuel
  • /turingdb find which suppliers have the most quality incidents in supply_chain
File Covers
SKILL.md Entry point - routes to the right reference for your task
startup.md Install the package, connect to a server (or run embedded), load/create a graph
querying.md MATCH, WHERE, joins, ordering, functions
writing.md CREATE, SET, and the change/commit workflow
importing.md Import external data - JSONL, GML, Parquet, Neo4j migration
algorithms.md Shortest path (Dijkstra), vector/embedding search
introspection.md Explore schema, versioning, time travel, SDK reference

Repo layout

turingdb-hackathon-defense/  ← repo root (point -turing-dir here)
├── README.md               ← you are here
├── graphs/                 ← prebuilt, versioned TuringDB graph store
│   ├── default/         ← empty default graph (needed for a clean server start)
│   ├── supply_chain/
│   ├── logistics_risk/
│   ├── drone_swarm/
│   ├── power_plants/
│   ├── poledb/
│   └── attack_scenarios/
├── docs/                ← per-dataset schema, queries, and licensing
│   ├── supply_chain.md
│   ├── logistics_risk.md
│   ├── drone_swarm.md
│   ├── power_plants.md
│   ├── poledb.md
│   └── attack_scenarios.md
└── skills/              ← TuringDB Claude Code skills (/turingdb)
    └── turingdb/

Licensing

Each dataset retains its original source license - see the "License" section in each doc. Summary:

Graph Source license
supply_chain MIT (synthetic data)
logistics_risk Apache-2.0
drone_swarm CC BY 4.0
power_plants CC BY 4.0 (WRI Global Power Plant Database)
poledb OGL v3.0 (UK open police data; synthetic personal entities)
attack_scenarios MIT

When redistributing, retain the relevant attribution/notice and indicate that the data was converted into a TuringDB graph.

About

TuringDB graphs for EDTH hackathon

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors