Property Graph Model

jbmusso edited this page Jul 12, 2016 · 31 revisions

Attention: this Wiki hosts an outdated version of the TinkerPop framework and Gremlin language documentation.

Please visit the Apache TinkerPop website and latest documentation.


Blueprints provides a set of interfaces for the property graph data model. An example instance is diagrammed above. In order to make a data management system “Blueprints-enabled,” the Blueprints interfaces must be implemented. However, note that there are various Graph interfaces, each with different types of functionality. For example, if an application only needs a Graph, then a TransactionalGraph implementation is not required of the underlying graph.

The following diagram identifies the names of the different components of a Graph. In general, these are the basic components of a property graph.

  • Graph: An object that contains vertices and edges.
    • Element: An object that can have any number of key/value pairs associated with it (i.e. properties)
      • Vertex: An object that has incoming and outgoing edges.
      • Edge: An object that has a tail and head vertex.

A property graph has these elements:

  1. a set of vertices
    • each vertex has a unique identifier.
    • each vertex has a set of outgoing edges.
    • each vertex has a set of incoming edges.
    • each vertex has a collection of properties defined by a map from key to value.
  2. a set of edges
    • each edge has a unique identifier.
    • each edge has an outgoing tail vertex.
    • each edge has an incoming head vertex.
    • each edge has a label that denotes the type of relationship between its two vertices.
    • each edge has a collection of properties defined by a map from key to value.
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.