Skip to content
spmallette edited this page Oct 17, 2012 · 146 revisions

Blueprints is a collection of interfaces, implementations, ouplementations, and test suites for the property graph data model. Blueprints is analogous to the JDBC, but for graph databases. As such, it provides a common set of interfaces to allow developers to plug-and-play their graph database backend. Moreover, software written atop Blueprints works over all Blueprints-enabled graph databases. Within the TinkerPop software stack, Blueprints serves as the foundational technology for:

  • Pipes: A lazy, data flow framework
  • Gremlin: A graph traversal language
  • Frames: An object-to-graph mapper
  • Furnace: A graph algorithms package
  • Rexster: A graph server

The documentation herein will provide information regarding the use of Blueprints.1 Please join the Gremlin users group at http://groups.google.com/group/gremlin-users for all TinkerPop related discussions.

Blueprints JavaDoc: 2.1.0
Older JavaDocs (2.x): 2.0.0
Older JavaDocs (1.x): 1.21.11.00.90.80.70.60.50.40.30.20.1
For previous wikidocs, use the following URL schema: http://tinkerpop.com/docs/wikidocs/blueprints/${version}/Home.html


<!-- neo4j used in this example -->
<dependency>
   <groupId>com.tinkerpop.blueprints</groupId>
   <artifactId>blueprints-neo4j-graph</artifactId>
   <version>2.1.0</version>
</dependency>

Non-Maven users can get the raw jars from Apache’s Central Repository.

Graph graph = new Neo4jGraph("/tmp/my_graph");
Vertex a = graph.addVertex(null);
Vertex b = graph.addVertex(null);
a.setProperty("name","marko");
b.setProperty("name","peter");
Edge e = graph.addEdge(null, a, b, "knows");
e.setProperty("since", 2006);
graph.shutdown();

The Major Differences Between Blueprints 1.x and 2.x

1 Blueprints documentation is up to date with the current Blueprints codebase, not with the latest Blueprints release.