Runnable ArcadeDB Examples

Ten complete use-case demos, each a self-contained folder with a Docker Compose file, a schema, sample data, and the same queries written for curl and for Java. Every demo has its own CI workflow, so what you clone is what runs.

1 git clone 2 docker compose up -d 3 ./setup.sh 4 ./queries/queries.sh

Published

Use-case demos

All ten live in the arcadedb-usecases repository (Apache 2.0). You need Docker with Docker Compose, plus curl and jq for the query scripts. The Java programs need a JDK and Maven 3.x (Java 21+ for most demos, Java 17+ for the recommendation engine). The commands below come straight from each folder's README.

Every demo stores several data models in one database, which is the point: the fraud demo, for example, mixes graph traversal, vector similarity and time-series queries against the same records. The fraud detection and Graph RAG pages explain the patterns these demos implement.

Graph RAG

Retrieval-augmented generation that combines a knowledge graph with vector search: multi-hop entity bridging, semantic chunk retrieval and keyword lookup in one database, with LangChain4j demos.

Models
GraphVectorFull-text
Queries
SQLCypherJava over BoltLangChain4j
git clone https://github.com/ArcadeData/arcadedb-usecases.git
cd arcadedb-usecases/graph-rag
docker compose up -d
./setup.sh
./queries/queries.sh

Fraud Detection

Fraud ring detection through shared identifiers, behavioral anomaly detection with embeddings, structuring and velocity checks over time, and synthetic identity resolution via shared SSNs.

Models
GraphVectorTime-seriesDocument
Queries
SQLCypherJava
git clone https://github.com/ArcadeData/arcadedb-usecases.git
cd arcadedb-usecases/fraud-detection
docker compose up -d
./setup.sh
./queries/queries.sh

Recommendation Engine

Product and content recommendations: collaborative filtering through relationship patterns, content-based suggestions from embeddings, and trending detection from interaction counts.

Models
GraphVectorTime-series
Queries
SQLCypherJava
git clone https://github.com/ArcadeData/arcadedb-usecases.git
cd arcadedb-usecases/recommendation-engine
docker compose up -d
./setup.sh
./queries/queries.sh

Knowledge Graphs

An academic research knowledge graph: co-authorship and citation networks with multi-hop queries, semantic paper search, keyword search across abstracts, and trending papers by citation activity.

Models
GraphVectorFull-textTime-series
Queries
SQLCypherJava
git clone https://github.com/ArcadeData/arcadedb-usecases.git
cd arcadedb-usecases/knowledge-graphs
docker compose up -d
./setup.sh
./queries/queries.sh

Real-time Analytics

Unified IoT and service monitoring: time bucketing, rate of change, percentiles and interpolation on the native time-series engine, joined with building topology and service dependency graphs. Ships a preconfigured Grafana dashboard on port 3000.

Models
Time-seriesGraph
Queries
SQLCypherPromQL (Grafana)Java
git clone https://github.com/ArcadeData/arcadedb-usecases.git
cd arcadedb-usecases/realtime-analytics
docker compose up -d
./setup.sh
./queries/queries.sh
# Grafana dashboard: http://localhost:3000

Customer 360

A unified customer view: identity resolution, churn risk scoring and cross-sell over the graph, fuzzy deduplication, preference embeddings, support-ticket full-text search, and journey analysis via event chains.

Models
GraphDocumentVectorFull-textTime-series
Queries
OpenCypher (primary)SQL MATCHJava
git clone https://github.com/ArcadeData/arcadedb-usecases.git
cd arcadedb-usecases/customer-360
docker compose up -d
./setup.sh
./queries/queries.sh

AI/ML Feature Store

One feature store serving three ML teams (fraud scoring, product recommendations, predictive maintenance), with feature snapshots recorded for audit, lineage and training-serving consistency.

Models
GraphVectorTime-series
Queries
SQLCypherJavaJavaScript over PostgreSQL protocol
git clone https://github.com/ArcadeData/arcadedb-usecases.git
cd arcadedb-usecases/feature-store
docker compose up -d
./setup.sh
./queries/queries.sh

Supply Chain

Multi-tier supplier discovery, blast radius analysis and end-to-end traceability over the graph, alternative sourcing from capability embeddings, and delivery disruption detection from metric aggregation.

Models
GraphVectorTime-series
Queries
SQLCypherJavaJavaScript over PostgreSQL protocol
git clone https://github.com/ArcadeData/arcadedb-usecases.git
cd arcadedb-usecases/supply-chain
docker compose up -d
./setup.sh
./queries/queries.sh

Identity & Access Management

Permission resolution through nested group and role hierarchies, access audit logs for compliance, and anomaly detection from access-pattern embeddings. Every query is written twice: once in SQL MATCH, once in OpenCypher.

Models
GraphTime-seriesVector
Queries
SQL MATCHOpenCypherJavaPython (PostgreSQL wire, Bolt)
git clone https://github.com/ArcadeData/arcadedb-usecases.git
cd arcadedb-usecases/iam
docker compose up -d
./setup.sh
./queries/queries.sh

Social Network Analytics

Materialized views in all three refresh modes (PERIODIC for a trending dashboard, INCREMENTAL for post counts, MANUAL for influence scores), viral spread chains and community overlap on the graph, and engagement growth over time. SQL handles views and aggregations; OpenCypher handles traversals.

Models
GraphTime-seriesMaterialized views
Queries
SQLOpenCypherJava
git clone https://github.com/ArcadeData/arcadedb-usecases.git
cd arcadedb-usecases/social-network-analytics
docker compose up -d
./setup.sh
./queries/queries.sh

To run the Java version of any demo, use cd java && mvn package -q and then run the jar named in that folder's README. Demos with a js or python folder document their own install step there.

Deployment scenarios

The arcadedb-deployments repository holds ready-to-run cluster setups, each with a start.sh to bring it up and a test.sh that writes on one node and reads from the others. Each scenario has its own CI workflow. How a Raft cluster behaves in production is covered on the client-server page.

HA Cluster (Docker Compose)

A 3-node high-availability cluster with Raft leader election, full replication on every node (replicationFactor=3), and reads served by any node.

git clone https://github.com/ArcadeData/arcadedb-deployments.git
cd arcadedb-deployments/ha-cluster
./start.sh
./test.sh
docker compose down -v

Kubernetes (Helm on kind)

A 3-node HA cluster deployed with the official Helm chart onto a local kind cluster: StatefulSet pods, Raft leader election, and peer discovery through headless-service DNS. Needs kind, Helm and kubectl.

git clone https://github.com/ArcadeData/arcadedb-deployments.git
cd arcadedb-deployments/kubernetes
./start.sh
./test.sh
./stop.sh

Spring Boot Embedded Cluster

Three Spring Boot apps, each embedding an ArcadeDB server, form a Raft cluster among themselves with no standalone database. They serve the recommendation engine use case over a REST API on ports 8080 to 8082.

git clone https://github.com/ArcadeData/arcadedb-deployments.git
cd arcadedb-deployments/spring-cluster
./start.sh
./test.sh
docker compose down -v

Public datasets

The arcadedb-datasets repository (CC0 1.0) collects ready-made graph datasets you can load in one command. Counts below come from the repository's datasets.json.

DatasetContentsFormatVerticesEdges
OpenBeerBeers, breweries, categories and stylesOrientDB export7,46714,908
GratefulDeadConcertsGrateful Dead concerts and songsOrientDB export8098,049
MovieRatingsMovies with viewer ratingsOrientDB export9,9621,012,657
MoviesClassic movies, actors and directorsArcadeDB179258
Tolkien-ArdaTolkien's Middle-earth universeOrientDB export1,736878
WhiskyWhisky distilleries and brandsOrientDB export145237
VehicleHistoryGraphVehicle ownership, services and inspection historyOrientDB export3,4862,908
demodbGeneral-purpose demo databaseOrientDB export7,27514,872
UberTrips50K Uber rides with geo coordinates and timestampsArcadeDB97,321150,000

The repository also has the Movies graph as GraphML and GraphSON exports in its neo4j folder. This command starts ArcadeDB and imports OpenBeer into a database named Imported at startup:

docker run --rm -p 2480:2480 \
  -e JAVA_OPTS="-Darcadedb.server.rootPassword=playwithdata \
  -Darcadedb.server.defaultDatabases=Imported[root]{import:https://github.com/ArcadeData/arcadedb-datasets/raw/main/orientdb/OpenBeer.gz}" \
  arcadedata/arcadedb:26.10.1

Then open Studio at http://localhost:2480 and log in as root. Coming from OrientDB? The same importer handles your own exports; see the OrientDB migration guide.

Learn the patterns behind the demos

The free ArcadeDB Academy walks through graph, vector and time-series queries step by step, with a certificate at the end.