Apache TinkerPop graph computing framework

Apache TinkerPop is a graph abstraction layer that works with numerous different graph databases and graph processors. Apache TinkerPop is composed of two elements: a structure API and a process API.

The primary components of the Apache TinkerPop structure API are:

Graph

maintains a set of vertices and edges

Vertex

extends a general class Element and maintains a set of incoming and outgoing edges as well as a collection of properties and a vertex type DSE Graph schema stores VertexLabel - ID, name, TTL

Edge

extends Element and maintains an incoming and outgoing vertex as well as a collection of properties and an edge type DSE Graph schema stores EdgeLabel - ID, name, TTL, multiplicity (multi, simple), unidirected, visible, sort-key

Property

a string key associated with a value DSE Graph schema stores PropertyKey - ID, name, TTL, datatype, cardinality (single, list)

VertexProperty

a string key associated with a value as well as a collection of metadata properties (vertices only)

The primary components of the Apache TinkerPop process API are:

TraversalSource

a generator of traversals for a particular graph, domain specific language (DSL), and execution engine

Traversal<S,E>

a functional data flow process transforming objects of type S into object of type E

GraphTraversal

a traversal DSL that is oriented towards the semantics of the raw graph (i.e. vertices, edges, etc.)

GraphComputer

a system that processes the graph in parallel and potentially, distributed over a multi-machine cluster

VertexProgram

code executed at all vertices in a logically parallel manner with intercommunication via message passing

MapReduce

computations that analyzes all vertices in the graph in parallel and yields a single reduced result

A key feature of Apache TinkerPop is Gremlin, a graph traversal language and virtual machine. Apache TinkerPop and Gremlin are to graph databases what JDBC and SQL are to relational databases. Gremlin variants are available for many languages: Java, Groovy, Python, and others.

Was this helpful?

Give Feedback

How can we improve the documentation?

© 2024 DataStax | Privacy policy | Terms of use

Apache, Apache Cassandra, Cassandra, Apache Tomcat, Tomcat, Apache Lucene, Apache Solr, Apache Hadoop, Hadoop, Apache Pulsar, Pulsar, Apache Spark, Spark, Apache TinkerPop, TinkerPop, Apache Kafka and Kafka are either registered trademarks or trademarks of the Apache Software Foundation or its subsidiaries in Canada, the United States and/or other countries. Kubernetes is the registered trademark of the Linux Foundation.

General Inquiries: +1 (650) 389-6000, info@datastax.com