The Apache Software Foundation announced that TinkerPop graduated to a top-level project. TinkerPop is a graph compute framework for real-time transactional processing (OLTP), as well as batch analytic graph analysis (OLAP) and can be thought of as an umbrella for a number of sub-projects and modules that integrate with the core TinkerPop Gremlin engine. The framework also provides the Gremlin language, a graph traversal language as part of its core functionality.
The Gremlin engine processes graph traversals, but is analogous to the JVM in the sense that it’s capable of running graph traversals written in other languages with the Gremlin engine bindings supported by a myriad number of language drivers. The Gremlin language, SPARQL, SQL, Python, JavaScript, Scala and Go can be run on the Gremlin engine. The graduation signifies that the project's community and products have been well-governed under the Apache’s meritocratic process and principles.
Stephen Mallette, Vice President of Apache TinkerPop and the post contributor known as "Sally in General"noted scalability behaviors in reference to the need for a ubiquitous, easily accessible graph database. TinkerPop gained industry adoption well before becoming a top-level project.
TinkerPop is useful for working with small graphs that fit within the confines of a single machine, as well as massive graphs that can only exist partitioned and distributed across a multi-machine compute cluster… TinkerPop is in use at organizations such as DataStax and IBM, among many others. Amazon.com is currently using TinkerPop and Gremlin to process its order fulfillment graph which contains approximately one trillion edges.
TinkerPop originated in 2009 at the Los Alamos National Laboratory and provides production ready reference implementations for Neo4j, Giraph, Spark and Hadoop among others.
Prior to becoming a top-level Apache project some community members noted challenges with understanding the scope of TinkerPop, specifically whether or not it is the core Gremlin language and engine, or all the various integrations and bindings that provide developer options for implementing graph traversals on the Gremlin engine.
Some of the earlier ambiguity can be seen via public commentary. Of noteworthy significance, Mallette responded to a post with clarification around what TinkerPop is and is not.
TinkerPop is not a specification, mandate or standard for writing graph applications, nor does it aspire to be. TinkerPop merely provides a set of interfaces that graph databases that database vendors can implement (Blueprints) to get all the features of the rest of the TinkerPop stack (Pipes, Frames, Rexster, Furnace, and Gremlin) where each part of the stack provides a specific function in supporting graph-based application development... TinkerPop no longer has individual separate projects such as Blueprints, Pipes, etc. It is all a single project repository that has folded in all of those projects.
Moving TinkerPop related projects under a central Apache repo allows the community to more easily capture and understand the full scope of coverage for both gremlin integration via language drivers, gremlin engine support for various graph systems, query language support, tutorials and relevant publications.