What is this?
Cayley is an open-source graph database for Linked Data, inspired by the graph database behind Google's Knowledge Graph (formerly Freebase).
Is it a server I run, or a library I embed in my code?
It is a database server you run, but deliberately modular — the README highlights easy connections to your favorite programming languages and back-end stores.
How do I get it running?
The repo ships a Dockerfile, so Docker is the fastest route; otherwise build from source with Go. Once it is up, you work through the built-in query editor, visualizer or REPL.
Do I need other software installed alongside it?
No — it is a self-contained Go program that handles its own storage, so there is no separate database engine or broker to set up first.
Any gotchas or limitations I should know about?
The README documents no hard limits and calls Cayley production ready, well tested and used in production by various companies — but its published performance numbers come from 2014 consumer hardware.
When would I pick this over a regular SQL database?
When your data is relationships-first — knowledge-graph-style linked data where you walk connections between entities, like the Freebase graph it imitates — rather than rows in tables.
Does it run only on Linux servers, or on my laptop too?
Anywhere Go builds — Linux, macOS and Windows — typically self-hosted; a Dockerfile is in the repo and the query editor opens in your browser.
How do I query the data?
Three query languages are built in: Gizmo, inspired by Gremlin; a GraphQL-inspired language; and MQL, a simplified version aimed at Freebase fans.
How much data can it handle?
Rough benchmarks put 134 million quads in LevelDB, with a multi-hop intersection query — films starring X and Y — taking about 150 ms on an average disk.
What is a quad, exactly?
A linked-data statement with four parts — subject, predicate, object and one extra value such as context — which is the unit Cayley stores its graph facts in.
Which topics is it in?
graph-database, graph, nosql, graphql, knowledge-graph, database, go, apache-2.0, server, docker, self-hosted, cli