Skip to content

Neo4j Implementation

okram edited this page Apr 4, 2011 · 20 revisions

<dependency>
   <groupId>com.tinkerpop.blueprints</groupId>
   <artifactId>blueprints-neo4j</artifactId>
   <version>??</version>
</dependency>
Graph graph = new Neo4jGraph("/tmp/neo4j");

Neo Technology are the developers of the Neo4j graph database. For a fine summary of the Neo4j graph database, please review the following presentation.

Neo4j natively supports the property graph data model. However, there are a few peculiarities in Neo4j that make it not completely faithful to the property graph model as specified by Blueprints. These are itemized below.

  1. No user defined element identifiers: Neo4j is the gatekeeper and creator of vertex and edge identifiers. Thus, when creating a new vertex or edge, the provided object identifier is ignored.
  2. No self-loops: Neo4j does not allow a vertex to have an outgoing or incoming edge to itself.
  3. Only primitive property values: Neo4j requires that the value objects in the property map of an element be Java primitives, java.lang.Strings, or arrays of primitives and java.lang.Strings.