| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <div class="container"> |
| <div class="hero-unit"> |
| <div class="row"> |
| <div class="col-md-6"> |
| <b><font size="6" face="american typewriter">Apache TinkerPop™</font></b> |
| <p><img src="img/tinkerpop-splash.png" width="420" class="img-responsive" style="padding:10px;"/></p> |
| <p><font size="3">Apache TinkerPop™ is a graph computing framework for both graph databases (OLTP) and graph analytic systems (OLAP).</font></p> |
| </div> |
| <div class="col-md-6"> |
| <br/> |
| <p> |
| </p> |
| <b><font size="4">TinkerPop</font> <font size="4">3.4.4</font></b> (<font size="2">Released: 14-Oct-2019</font>) |
| <p><b>Downloads</b></p> |
| <p> |
| <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.4.4/apache-tinkerpop-gremlin-console-3.4.4-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a> |
| <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.4.4/apache-tinkerpop-gremlin-server-3.4.4-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a> |
| <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.4.4/apache-tinkerpop-3.4.4-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a> |
| </p> |
| <div class="row"> |
| <div class="col-md-6"> |
| <p><b>Documentation</b></p> |
| <ul> |
| <li><a href="http://tinkerpop.apache.org/docs/current/">TinkerPop Documentation</a></li> |
| <ul> |
| <li><a href="http://tinkerpop.apache.org/docs/current/reference">Reference Documentation</a></li> |
| </ul> |
| <li><a href="http://tinkerpop.apache.org/docs/3.4.4/upgrade/#_tinkerpop_3_4_4">Upgrade Information</a></li> |
| <li>TinkerPop Javadoc - <a href="http://tinkerpop.apache.org/javadocs/current/core/">core</a> / <a href="http://tinkerpop.apache.org/javadocs/current/full/">full</a></li> |
| </ul> |
| </div> |
| <div class="col-md-6"> |
| <br/> |
| <a href="http://kelvinlawrence.net/book/Gremlin-Graph-Guide.html"> |
| <img src="img/practical-gremlin-titled.png" width="150" class="img-responsive" align="left"/> |
| </a> |
| </div> |
| </div> |
| <div class="row"> |
| <div class="col-md-5"> |
| <div class="hovereffect"> |
| <img src="img/cityscape-button.png" style="width:200px;" class="img-responsive" /></a> |
| <div class="overlay"><a class="info" href="gremlin.html">Understand Gremlin</a></div> |
| </div> |
| </div> |
| <div class="col-md-5"> |
| <div class="hovereffect"> |
| <img src="img/meeting-room-button.png" style="width:200px;" class="img-responsive" /></a> |
| <div class="overlay"><a class="info" href="providers.html">Become TinkerPop-Enabled</a></div> |
| </div> |
| </div> |
| <div class="col-md-2"></div> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div><br/></div> |
| <div id="gremlinCarousel" class="carousel slide" data-ride="carousel" data-interval="30000" border="none"> |
| <!-- Indicators --> |
| <ol class="carousel-indicators carousel-indicators-numbers"> |
| <li data-target="#gremlinCarousel" data-slide-to="0" class="active">1</li> |
| <li data-target="#gremlinCarousel" data-slide-to="1">2</li> |
| <li data-target="#gremlinCarousel" data-slide-to="2">3</li> |
| <li data-target="#gremlinCarousel" data-slide-to="3">4</li> |
| <li data-target="#gremlinCarousel" data-slide-to="4">5</li> |
| </ol> |
| <div class="carousel-inner" role="listbox"> |
| <div class="item active"> |
| <pre><code class="language-gremlin"> |
| |
| |
| // What are the names of Gremlin's friends' friends? |
| g.V().has("name","gremlin"). |
| out("knows").out("knows").values("name") |
| |
| |
| </code></pre> |
| </div> |
| <div class="item"> |
| <pre><code class="language-gremlin"> |
| // What are the names of projects that were created by two friends? |
| g.V(). |
| match(as("a").out("knows").as("b"), |
| as("a").out("created").as("c"), |
| as("b").out("created").as("c"), |
| as("c").in("created").count().is(2)). |
| select("c").by("name") |
| </code></pre> |
| </div> |
| <div class="item"> |
| <pre><code class="language-gremlin"> |
| |
| // What are the names of the managers in the |
| // management chain going from Gremlin to the CEO? |
| g.V().has("name","gremlin"). |
| repeat(in("manages")).until(has("title","ceo")). |
| path().by("name") |
| |
| </code></pre> |
| </div> |
| <div class="item"> |
| <pre><code class="language-gremlin"> |
| |
| // What is the distribution of job titles amongst Gremlin's collaborators? |
| g.V().has("name","gremlin").as("a"). |
| out("created").in("created"). |
| where(neq("a")). |
| groupCount().by("title") |
| |
| </code></pre> |
| </div> |
| <div class="item"> |
| <pre><code class="language-gremlin"> |
| |
| // Get a ranking of the most relevant products for Gremlin given his purchase history. |
| g.V().has("name","gremlin").out("bought").aggregate("stash"). |
| in("bought").out("bought"). |
| where(not(within("stash"))). |
| groupCount(). |
| order(local).by(values,desc) |
| </code></pre> |
| </div> |
| </div> |
| </div> |
| <!-- /.carousel --> |
| <div class="container"> |
| <h3>The Benefits of Graph Computing</h3> |
| <p><img src="img/graph-globe.png" style="float:left;width:15%;padding:10px;"> A <strong>graph</strong> is a structure composed of <strong>vertices</strong> and <strong>edges</strong>. |
| Both vertices and edges can have an arbitrary number of key/value-pairs called <strong>properties</strong>. |
| Vertices denote discrete objects such as a person, a place, or an event. Edges denote relationships between vertices. For instance, a person may know |
| another person, have been involved in an event, and/or have recently been at a particular place. Properties express non-relational information about the |
| vertices and edges. Example properties include a vertex having a name and an age, and an edge having a timestamp and/or a weight. Together, the aforementioned |
| graph is known as a <strong>property graph</strong> and it is the foundational data structure of Apache TinkerPop. |
| </p> |
| <br/> |
| <p><img src="img/graph-vs-table.png" style="float:right;width:22%;padding:10px;">If a user's domain is composed of a heterogeneous set of objects (vertices) that can be related to one another in a multitude of ways (edges), |
| then a graph may be the right representation to use. In a graph, each vertex is seen as an atomic entity (not simply a "row in a table") that |
| can be linked to any other vertex or have properties added or removed at will. This empowers the data modeler to think in terms of actors within |
| a world of complex relations as opposed to, in relational databases, statically-typed tables joined in aggregate. Once a domain is modeled, that |
| model must then be exploited in order to yield novel, differentiating information. Graph computing has a rich history that includes not only query |
| languages devoid of table-join semantics, but also algorithms that support complex reasoning: path analysis, vertex clustering and ranking, subgraph |
| identification, and more. The world of applied graph computing offers a flexible, intuitive data structure along with a host of algorithms able to |
| effectively leverage that structure. |
| </p> |
| <br/> |
| <p><a href="#"><img src="img/apache-tinkerpop-logo.png" style="float:left;width:22%;padding:10px;"/></a>Apache TinkerPop™ is an open source, vendor-agnostic, graph computing framework distributed under the commercial friendly <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache2 license</a>. |
| When a data system is <a href="providers.html">TinkerPop-enabled</a>, its users are able to model their domain as a graph and analyze that graph using the <a href="gremlin.html">Gremlin graph traversal language</a>. |
| Furthermore, all TinkerPop-enabled systems integrate with one another allowing them to easily expand their offerings as well as allowing users to choose the appropriate graph |
| technology for their application. Sometimes an application is best served by an in-memory, transactional graph database. Sometimes a multi-machine distributed graph database will do the job. |
| Or perhaps the application requires both a distributed graph database for real-time queries and, in parallel, a Big(Graph)Data processor for batch analytics. Whatever the application's |
| requirements, there exists a TinkerPop-enabled graph system out there to meet its needs. |
| </p> |
| </div> |
| <h3>Contributing to Apache TinkerPop</h3> |
| <div class="row"> |
| <div class="col-xs-12"> |
| <div class="row"> |
| <div class="col-xs-8"> |
| TinkerPop is an open source project that <a href="http://tinkerpop.apache.org/docs/current/dev/developer#_contributing">welcomes contributions</a>. There are many ways to get involved: |
| <p/> |
| <ol> |
| <li> |
| Join the <a href="http://groups.google.com/group/gremlin-users">Gremlin-Users</a> public mailing list. |
| <ul> |
| <li>Help users by answering questions and demonstrating your expertise in TinkerPop and graphs.</li> |
| </ul> |
| <li> |
| Join the <a href="https://lists.apache.org/list.html?dev@tinkerpop.apache.org">TinkerPop Developer</a> public mailing list. |
| <ul> |
| <li>Contribute ideas on how to make the TinkerPop code- and documentation-base better.</li> |
| </ul> |
| <li>Submit bug and feature issues to TinkerPop <a href="https://issues.apache.org/jira/browse/TINKERPOP/">JIRA</a>.</li> |
| <ul> |
| <li>Provide easily reproducible bug reports and well articulated feature requests.</li> |
| </ul> |
| <li> |
| Clone the TinkerPop <a href="https://github.com/apache/tinkerpop">Git repository</a> and provide a <a href="https://help.github.com/articles/using-pull-requests/">pull-request</a>. |
| <ul> |
| <li>Focus on a particular area of the codebase and take responsibility for your contribution.</li> |
| </ul> |
| <li>Make significant, long lasting contributions over time.</li> |
| <ul> |
| <li>Become a TinkerPop Committer and help determine the evolution of The TinkerPop.</li> |
| </ul> |
| </ol> |
| <p>To build TinkerPop from source, please review the <a href="http://tinkerpop.apache.org/docs/current/dev/developer/#building-testing">developer documentation</a>. |
| </div> |
| <div class="col-xs-4"> |
| <a href="http://tinkerpop.apache.org/docs/current/dev/developer/"><img src="img/gremlin-apache.png" width="250" class="img-responsive" /></a> |
| </div> |
| </div> |
| <h3>Community Contributions</h3> |
| TinkerPop is at the center of a larger development ecosystem that extends on its core interfaces, integration points, and ideas. The graph systems and libraries below represent both |
| TinkerPop-maintained reference implementations and third-party managed projects. The TinkerPop community is always interested in hearing about projects like these and aiding |
| in their support. Please read our <a href="policy.html">provider listing policy</a> and feel free to promote such projects on the user and developer mailing lists. Information on |
| how to build implementations of the various interfaces that TinkerPop exposes can be found in the <a href="http://tinkerpop.apache.org/docs/current/dev/provider/">Provider Documentation</a>. |
| <p/> |
| <a name="graph-systems"></a> |
| <h4 id="graph-systems">Graph Systems</h4> |
| <small>[<a href="providers.html#data-system-providers">learn more</a>]</small> |
| <ul> |
| <li><a href="https://cn.aliyun.com/product/gdb">Alibaba Graph Database</a> - A real-time, reliable, cloud-native graph database service that supports property graph model.</li> |
| <li><a href="https://aws.amazon.com/neptune/">Amazon Neptune</a> - Fully-managed graph database service.</li> |
| <li><a href="https://github.com/ArangoDB-Community/arangodb-tinkerpop-provider">ArangoDB</a> - OLTP Provider for ArangoDB.</li> |
| <li><a href="https://github.com/lambdazen/bitsy/wiki">Bitsy</a> - A small, fast, embeddable, durable in-memory graph database.</li> |
| <li><a href="https://github.com/blazegraph/tinkerpop3">Blazegraph</a> - RDF graph database with OLTP support.</li> |
| <li><a href="https://docs.microsoft.com/en-us/azure/cosmos-db/graph-introduction">CosmosDB</a> - Microsoft's distributed OLTP graph database.</li> |
| <li><a href="https://github.com/MartinHaeusler/chronos/tree/master/org.chronos.chronograph">ChronoGraph</a> - A versioned graph database.</li> |
| <li><a href="http://www.datastax.com/products/datastax-enterprise-graph">DSEGraph</a> - DataStax graph database with OLTP and OLAP support.</li> |
| <li><a href="https://grakn.ai/">GRAKN.AI</a> - Distributed OLTP/OLAP knowledge graph system.</li> |
| <li><a href="http://tinkerpop.apache.org/docs/current/reference/#sparkgraphcomputer">Hadoop (Spark)</a> - OLAP graph processor using Spark.</li> |
| <li><a href="https://github.com/rayokota/hgraphdb">HGraphDB</a> - OLTP graph database running on Apache HBase.</li> |
| <li><a href="https://www.huaweicloud.com/en-us/product/ges.html">Huawei Graph Engine Service</a> - Fully-managed, distributed, at-scale graph query and analysis service that provides a visualized interactive analytics platform.</li> |
| <li><a href="https://console.ng.bluemix.net/catalog/services/ibm-graph/">IBM Graph</a> - OLTP graph database as a service.</li> |
| <li><a href="http://janusgraph.org/">JanusGraph</a> - Distributed OLTP and OLAP graph database with BerkeleyDB, Apache Cassandra and Apache HBase support.</li> |
| <li><a href="https://github.com/awslabs/dynamodb-janusgraph-storage-backend//">JanusGraph (Amazon)</a> - The Amazon DynamoDB Storage Backend for JanusGraph.</li> |
| <li><a href="http://tinkerpop.apache.org/docs/current/reference/#neo4j-gremlin">Neo4j</a> - OLTP graph database (embedded and high availability).</li> |
| <li><a href="https://github.com/SteelBridgeLabs/neo4j-gremlin-bolt">neo4j-gremlin-bolt</a> - OLTP graph database (using Bolt Protocol).</li> |
| <li><a href="https://github.com/orientechnologies/orientdb-gremlin">OrientDB</a> - OLTP graph database</li> |
| <li><a href="http://s2graph.apache.org/">Apache S2Graph</a> - OLTP graph database running on Apache HBase.</li> |
| <li><a href="https://github.com/pietermartin/sqlg">Sqlg</a> - OLTP implementation on SQL databases.</li> |
| <li><a href="http://stardog.com/">Stardog</a> - RDF graph database with OLTP and OLAP support.</li> |
| <li><a href="http://tinkerpop.apache.org/docs/current/reference/#tinkergraph-gremlin">TinkerGraph</a> - In-memory OLTP and OLAP reference implementation.</li> |
| <li><a href="http://thinkaurelius.github.io/titan/">Titan</a> - Distributed OLTP and OLAP graph database with BerkeleyDB, Apache Cassandra and Apache HBase support.</li> |
| <li><a href="https://github.com/awslabs/dynamodb-titan-storage-backend">Titan (Amazon)</a> - The Amazon DynamoDB storage backend for Titan.</li> |
| <li><a href="https://github.com/classmethod/tupl-titan-storage-backend">Titan (Tupl)</a> - The Tupl storage backend for Titan.</li> |
| <li><a href="https://github.com/rmagen/unipop">Unipop</a> - OLTP Elasticsearch and JDBC backed graph.</li> |
| </ul> |
| <a name="language-variants-compilers"></a> |
| <h4 id="language-variants-compilers">Query Languages</h4> |
| <small>[<a href="providers.html#query-language-providers">learn more</a>]</small> |
| <ul> |
| <li><a href="https://github.com/opencypher/cypher-for-gremlin">cypher-for-gremlin</a> - A Cypher-to-Gremlin traversal transpiler.</li> |
| <li><a href="http://syncleus.com/Ferma/">Ferma</a> (java/dsl) - An ORM / OGM for Apache TinkerPop.</li> |
| <li><a href="https://github.com/davebshow/goblin">Goblin</a> (python/dsl) - Goblin OGM for the TinkerPop 3 Gremlin Server.</li> |
| <li><a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-DotNet">Gremlin.Net</a> (.NET - C#/variant) - Gremlin hosted in C# for use with any .NET-based VM.</li> |
| <li><a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-javascript">gremlin-javascript</a> (js) - Gremlin hosted in JavaScript for use with Node.js.</li> |
| <li><a href="https://github.com/gremlin-orm/gremlin-orm">gremlin-orm</a> (javascript) Gremlin ORM for Node.js.</li> |
| <li><a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-python">gremlin-python</a> (python/variant) - Gremlin hosted in Python for use with any Python-based VM.</li> |
| <li><a href="https://github.com/emehrkay/gremlinpy">gremlin-py</a> (python/variant) - Write pure Python Gremlin that can be sent to Gremlin Server.</li> |
| <li><a href="https://github.com/wolf4ood/gremlin-rs">gremlin-rs</a> (rust/variant) - A Gremlin Server driver and language variant for Rust.</li> |
| <li><a href="https://github.com/mpollmeier/gremlin-scala">gremlin-scala</a> (scala/variant) - A Scala-based Gremlin language variant for TinkerPop3.</li> |
| <li><a href="https://github.com/karthicks/gremlin-ogm">gremlin-objects</a> (java/dsl) - An Object Graph Mapping Library For Gremlin.</li> |
| <li><a href="https://github.com/jbmusso/gremlin-template-string">gremlin-template-string</a> (js/variant) - A Gremlin language builder.</li> |
| <li><a href="https://github.com/debug-ito/greskell">greskell</a> (haskell/variant) - Haskell binding for Gremlin graph query language.</li> |
| <li><a href="https://github.com/davebshow/ipython-gremlin">ipython-gremlin</a> (python/variant) - Gremlin in IPython and Jupyter.</li> |
| <li><a href="https://github.com/pm-dev/kotlin-gremlin-ogm">kotlin-gremlin-ogm</a> (kotlin/dsl) - An Object Graph Mapping Library for Kotlin and Gremlin.</li> |
| <li><a href="http://ogre.clojurewerkz.org/">ogre</a> (clojure/variant) - A Clojure language wrapper for TinkerPop3.</li> |
| <li><a href="http://bayofmany.github.io/">Peapod</a> (java/dsl) - An object-graph-wrapper.</li> |
| <li><a href="http://tinkerpop.apache.org/docs/current/reference/#sparql-gremlin">sparql-gremlin</a> (sparql/distinct) - A SPARQL to Gremlin traversal compiler.</li> |
| <li><a href="https://github.com/Microsoft/spring-data-gremlin">spring-data-gremlin</a> (java/dsl) - Spring Data support for TinkerPop-enabled graph systems.</li> |
| <li><a href="https://github.com/twilmes/sql-gremlin">sql-gremlin</a> (sql/distinct) - An SQL to Gremlin traversal compiler.</li> |
| </ul> |
| <a name="language-drivers"></a> |
| <h4 id="language-drivers">Language Drivers</h4> |
| <ul> |
| <li><a href="https://github.com/davebshow/gremlinclient">gremlinclient</a> (python) - An asynchronous Python 2/3 client for Gremlin Server that allows for flexible coroutine syntax - Trollius, Tornado, Asyncio.</li> |
| <li><a href="https://github.com/marcelocf/gremlin_client">gremlin_client</a> (ruby) - A Gremlin Server driver for Ruby.</li> |
| <li><a href="http://tinkerpop.apache.org/docs/current/reference/#connecting-via-java">gremlin-driver</a> (java) - A Gremlin Server driver for Java.</li> |
| <li><a href="https://github.com/northwesternmutual/grammes">grammes</a> (go) - A strongly typed Gremlin server driver for Go.</li> |
| <li><a href="https://github.com/qasaur/gremgo">gremgo</a> (go) - A Gremlin Server driver for Go.</li> |
| <li><a href="https://github.com/Revmaker/gremlex">gremlex</a> (elixir) - A Gremlin Server driver for Elixir.</li> |
| <li><a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-DotNet">Gremlin.Net</a> (.NET - C#) - Gremlin Server driver for .NET.</li> |
| <li><a href="https://github.com/PommeVerte/gremlin-php">gremlin-php</a> (php) - A Gremlin Server driver for PHP.</li> |
| <li><a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-python">gremlin-python</a> (python) - Gremlin Server driver for Python.</li> |
| <li><a href="http://gremlinrestclient.readthedocs.org/en/latest/">gremlinrestclient</a> (python) - Python 2/3 library that uses HTTP to communicate with the Gremlin Server over REST.</li> |
| <li><a href="https://github.com/ExRam/ExRam.Gremlinq">Gremlinq</a> (.NET) - A strongly typed server driver.</li> |
| <li><a href="https://github.com/windj007/python-gremlin-rest">python-gremlin-rest</a> (python) - A REST-based client for Gremlin Server.</li> |
| <li><a href="https://github.com/coreyauger/reactive-gremlin">reactive-gremlin</a> (scala) - An Akka HTTP Websocket Connector.</li> |
| <li><a href="https://github.com/viagraphs/scalajs-gremlin-client">scalajs-gremlin-client</a> (scala) - A Gremlin-Server client with ad-hoc extensible, reactive, typeclass based API.</li> |
| <li><a href="https://github.com/RedSeal-co/ts-tinkerpop">ts-tinkerpop</a> (typescript) - A helper library for Typescript applications via node-java.</li> |
| </ul> |
| <a name="poweredby"></a> |
| <h4 id="poweredby">Powered By</h4> |
| <ul> |
| <li><a href="https://www.exakat.io/">exakat.io</a> - Static analysis engine for PHP, powered by Gremlin.</li> |
| <li><a href="https://bricaud.github.io/graphexp/graphexp.html">Graphexp</a> - Interactive visualization of the Gremlin graph database with D3.js.</li> |
| <li><a href="https://github.com/bechbd/gremlin-ide">gremlin-ide</a> - An IDE for Apache TinkerPop-enabled databases using React and Electron.</li> |
| <li><a href="http://cambridge-intelligence.com/keylines/">KeyLines</a> - A JavaScript SDK for building powerful, custom and scalable graph visualization applications.</li> |
| <li><a href="https://github.com/meltwater/jugri">JUGRI</a> - A Jupyter Gremlin interface.</li> |
| <li><a href="http://linkurio.us/">Linkurious</a> - A browser-based graph visualization software to search, explore and visualize connected data.</li> |
| <li><a href="http://www.pitneybowes.com/us/customer-information-management/data-integration-management/spectrum-data-hub-module.html">Pitney Bowes Spectrum Data Hub Module</a> - Uses Gremlin OLTP to query Neo4j-powered master data management based graph database.</li> |
| <li><a href="https://www.stackstate.com/">StackState</a> - Monitoring and AIOps allowing users to utilize Gremlin for analytical functions.</li> |
| <li><a href="http://tomsawyer.com/products/perspectives/">Tom Sawyer Perspectives</a> - Advanced graphics-based software for building enterprise-class data relationship visualization and analysis applications.</li> |
| </ul> |
| <a name="committers"></a> |
| <a name="contributors"></a> |
| <h3 id="contributors">Apache TinkerPop Contributors</h3> |
| <img src="img/tinkerpop-logo-small.png" style="float:right" />TinkerPop seeks contributors dedicated to the art of graph computing. TinkerPop contributors bring solid theoretical, |
| development, testing, documentation, etc. skills to the group. These individuals contribute to TinkerPop beyond the ever-changing requirements of their day-to-day jobs and maintain |
| responsibility for their contributions through time. |
| <p/> |
| <h4 id="contributors-active">Active</h4> |
| <ul> |
| <li><a href="http://markorodriguez.com">Marko A. Rodriguez</a> (2009 - PMC): Gremlin language, Gremlin machine, documentation.</li> |
| <li><a href="https://www.linkedin.com/in/joshuashinavier/">Joshua Shinavier</a> (2009 - Committer): Graph data models, semantics, and interoperability</li> |
| <li><a href="http://stephen.genoprime.com/">Stephen Mallette</a> (2011 - PMC Chair): Gremlin Console/Server/Driver, Language Variants and general core development.</li> |
| <li><a href="http://gremlin.guru">Daniel Kuppitz</a> (2014 - PMC): Gremlin language design, benchmarking, testing, documentation, mailing list support.</li> |
| <li><a href="https://github.com/robertdale">Robert Dale</a> (2016 - PMC): Gremlin Console/Server, documentation, mailing list support.</li> |
| <li><a href="https://github.com/jorgebay">Jorge Bay</a> (2017 - PMC): GraphBinary serialization, JavaScript and .NET libraries, mailing list support.</li> |
| <li><a href="https://github.com/FlorianHockmann/">Florian Hockmann</a> (2017 - PMC): .NET libraries, mailing list support.</li> |
| <li><a href="http://www.kelvinlawrence.net/">Kelvin Lawrence</a> (2017 - Committer): Documentation and mailing list support.</li> |
| <li><a href="http://harshthakkar.in/">Harsh Thakkar</a> (2018 - Committer): Gremlin-SPARQL module.</li> |
| </ul> |
| <h4 id="contributors-inactive">Inactive</h4> |
| <ul> |
| <li><a href="http://ketrinadrawsalot.tumblr.com">Ketrina Yim</a> (2009 - Committer): Illustrator, creator of Gremlin and his merry band of robots.</li> |
| <li><a href="http://jamesthornton.com/">James Thornton</a> (2013 - PMC): Promotions, evangelism.</li> |
| <li><a href="https://www.linkedin.com/in/hzbarcea">Hadrian Zbarcea</a> (2015 - PMC): Project mentor, provider liason.</li> |
| <li><a href="https://github.com/Humbedooh">Daniel Gruno</a> (2015 - PMC): Project mentor, infrastructure liason.</li> |
| <li><a href="https://github.com/mhfrantz">Matt Frantz</a> (2015 - Committer): Gremlin language design, ts-tinkerpop.</li> |
| <li><a href="https://github.com/pluradj">Jason Plurad</a> (2015 - PMC): Gremlin Console/Server, mailing list support.</li> |
| <li><a href="https://www.linkedin.com/in/dylan-millikin-32567934">Dylan Millikin</a> (2015 - PMC): Gremlin Server/Driver, gremlin-php, GremlinBin, mailing list support.</li> |
| <li><a href="https://github.com/twilmes">Ted Wilmes</a> (2015 - PMC): Promotions, mailing list support, benchmarking, sql-gremlin.</li> |
| <li><a href="https://github.com/pietermartin">Pieter Martin</a> (2016 - Committer): Gremlin language, Sqlg.</li> |
| <li><a href="https://github.com/jbmusso">Jean-Baptiste Musso</a> (2016 - Committer): Gremlin Server testing, Gremlin Driver (Node.js/JavaScript), mailing list support.</li> |
| <li><a href="http://www.michaelpollmeier.com/">Michael Pollmeier</a> (2016 - Committer): Gremlin language, Gremlin-Scala.</li> |
| <li><a href="https://github.com/davebshow">David Brown</a> (2016 - Committer): Python libraries, Gremlin Server testing.</li> |
| </ul> |
| </div> |
| </div> |
| </div> |