Standards · Graph databases

Neo4j

Neo4j is a native graph database offered as an open-source community edition and a proprietary enterprise edition, storing data as a labelled property graph and queried with Cypher.

Standards · Knowledge graphs · RDF

What it is

Neo4j is a native graph database, and it is unusual in this group in being both open-source and proprietary: the community edition is an open-source product, while the enterprise edition adds closed-source components that are not in the community repository. Data is stored as a labelled property graph — nodes carry labels and key-value properties, and typed, directed relationships connect them and can hold properties of their own — and it is queried with Cypher, Neo4j's declarative graph query language. The model is not RDF: there are no triples and no IRIs, which makes Neo4j the commercial counterpart to RDF work rather than an implementation of it.

What it gives the knowledge layer

Property graphs suit traversal and path questions. Which suppliers link to this component within three hops is a pattern match, and Cypher expresses variable-length and shortest paths directly. Properties on relationships matter for retrieval more than they first appear: a weight, a confidence, a source or a timestamp can sit on the edge itself, where RDF needs reification or an intermediate node to say the same thing. For an agent doing multi-hop retrieval over a graph of entities, that is a shorter distance from question to answer, and it is the strongest argument for the model rather than a claim that it supersedes anything.

Where it is documented

Neo4j documents the database at neo4j.com/docs. The data model is set out in What is a graph database and the query language in the Cypher Manual; the community repository states the split between the editions. That same documentation index lists RDF and Linked Data tooling of its own, including Neosemantics, which is the route an RDF-shaped vocabulary would take into these graphs.

What it does not solve

The database gives you no vocabulary, no provenance and no currentness. Graph describes a structure, not a meaning: two models can both use a PART_OF relationship and disagree about what part-of allows, and nothing in the store will notice. Constraints and indexes enforce structure rather than semantics, and a stored edge says nothing about when it was true or whether it still holds. If the graph has to be exchanged with other systems, the property-graph model is not the RDF stack, so mapping it to a shared vocabulary such as SKOS is deliberate design work rather than a configuration step.

FAQ

It is both. The community edition is an open-source product, and the enterprise edition includes closed-source components that are not in the community repository, so a deployment can be open-source or proprietary depending on the edition.

A property graph stores nodes with labels and key-value properties, joined by typed directed relationships that carry properties of their own. RDF states subject, predicate and object triples over IRIs. Neither is a superset of the other, and a graph built in one does not become the other without deliberate conversion.

Because traversal and path questions are natural to it. A pattern match expresses multi-hop retrieval, including variable-length and shortest paths, in one query, and properties stored on relationships can carry the weight, source or confidence an agent needs at traversal time.

No. It stores whatever properties you put on nodes and relationships and returns them unchanged. It does not define where a statement came from, when it was true or whether a relationship still holds, and it does not tell you what a relationship type is supposed to mean.

Sources

  1. Neo4j documentation — the documentation index, including the RDF and Linked Data tooling (Neosemantics, RDFLib-Neo4j) listed alongside the core database and Cypher.
  2. What is a graph database — nodes, relationships and properties, labels, indexes and constraints, and Cypher pattern matching.
  3. Cypher Manual — Cypher as a declarative graph query language, its pattern syntax, and variable-length and shortest path queries.
  4. neo4j/neo4j on GitHub — the community repository, whose licensing note distinguishes the open-source community edition from the enterprise edition with closed-source components.