Files
awesome-awesomeness/html/tinkerpop.md2.html
2025-07-18 23:13:11 +02:00

327 lines
14 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<h1 id="awesome-tinkerpop-awesome">Awesome TinkerPop <a
href="https://github.com/sindresorhus/awesome"><img
src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg"
alt="Awesome" /></a></h1>
<figure>
<img
src="https://raw.githubusercontent.com/mohataher/awesome-tinkerpop/master/tinkerpop-splash.png"
alt="alt tag" />
<figcaption aria-hidden="true">alt tag</figcaption>
</figure>
<p>A curated list of only awesome TinkerPop libraries on Github.</p>
<blockquote>
<p>Apache TinkerPop™ is a graph computing framework for both graph
databases (OLTP) and graph analytic systems (OLAP).</p>
</blockquote>
<h3 id="table-of-contents">Table of Contents</h3>
<ul>
<li><a href="#tinkerpop3">TinkerPop3</a>
<ul>
<li><a href="#tinkerpop3-implementations">Implementations</a></li>
<li><a href="#wrappers">Wrappers/Clients</a></li>
<li><a href="#qlang">Query Languages</a></li>
</ul></li>
<li><a href="#tinkerpop2">TinkerPop2</a></li>
<li><a href="#communites">Communites</a></li>
<li><a href="#people-to-follow">People to Follow</a></li>
<li><a href="#tutorials-and-resources">Tutorials and Resources</a></li>
<li><a href="#contributing">How to Contribute</a></li>
<li><a href="#license">License</a></li>
</ul>
<h3 id="tinkerpop3-libraries"><A NAME="tinkerpop3"></A>TinkerPop3
Libraries</h3>
<h4
id="implementations"><A NAME="tinkerpop3-implementations"></A>Implementations</h4>
<ul>
<li><a href="https://github.com/apache/tinkerpop">TinkerPop3
implementation</a> - Mirror of Apache TinkerPop.</li>
<li><a href="https://github.com/pietermartin/sqlg">sqlg</a> - Sqlg is a
implementation of TinkerPop3 on a RDBMS.</li>
<li><a href="https://github.com/blazegraph/database">blazegraph</a> -
TinkerPop3 <a
href="https://github.com/blazegraph/tinkerpop3">implementation</a> for
Blaze Graph; a high performance graph database.</li>
<li><a
href="https://github.com/jbmusso/tinkergraph-js">tinkergraph-js</a> - A
pure JavaScript implementation of TinkerPops TinkerGraph in-memory
graph database.</li>
<li><a
href="https://github.com/jbmusso/gremlin-javascript">gremlin-javascript</a>
- JavaScript graph database client for TinkerPop3 Gremlin Server.</li>
<li><a href="https://github.com/rmagen/elastic-gremlin">Elastic
Gremlin</a> - TinkerPop3 implementation on Elasticsearch backend.</li>
<li><a
href="http://tinkerpop.apache.org/docs/current/reference/#giraphgraphcomputer">Hadoop
(Giraph)</a> - OLAP graph processor using Giraph.</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://console.ng.bluemix.net/catalog/services/ibm-graph/">IBM
Graph</a> - OLTP graph database as a service.</li>
<li><a
href="http://tinkerpop.apache.org/docs/currentg/#neo4j-gremlin">Neo4j</a>
- OLTP graph database.</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="https://github.com/rmagen/unipop">Unipop</a> - OLTP
Elasticsearch and JDBC backed graph.</li>
<li><a
href="https://github.com/PureSolTechnologies/DuctileDB">DuctileDB</a> -
Ductile DB is a graph database based on Hadoop/HBase which provides a
vast set of features.</li>
<li><a href="https://github.com/rayokota/hgraphdb">hgraphdb</a> - HBase
as a TinkerPop Graph Database.</li>
<li><a href="https://github.com/JanusGraph/janusgraph">JanusGraph</a> -
JanusGraph: an open-source, distributed graph database
http://janusgraph.org</li>
<li><a
href="https://github.com/awslabs/dynamodb-janusgraph-storage-backend">JanusGraph
for DynamoDB (Amazon)</a> - The Amazon DynamoDB storage backend for
JanusGraph.</li>
<li><a
href="https://github.com/orientechnologies/orientdb-gremlin">orientdb-gremlin</a>
- TinkerPop3 Graph Structure Implementation for OrientDB.</li>
</ul>
<h4 id="wrappersclients"><A NAME="wrappers"></A>Wrappers/Clients</h4>
<h5 id="c-.net">C# .NET</h5>
<ul>
<li><a
href="https://www.nuget.org/packages/Teva.Common.Data.Gremlin/">Teva
Gremlin</a> (.NET - C#) - A Gremlin Server driver for .NET.</li>
</ul>
<h5 id="clojure">Clojure</h5>
<ul>
<li><a href="https://github.com/clojurewerkz/ogre">ogre</a> - Clojure
library for querying TinkerPop graphs.</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>
</ul>
<h5 id="go">Go</h5>
<ul>
<li><a href="https://github.com/go-gremlin/gremlin">go-gremlin</a> - Go
graph database client for TinkerPop3 Gremlin Server.</li>
<li><a href="https://github.com/qasaur/gremgo">Gremgo</a> - A fast,
efficient, and easy-to-use Go client for the TinkerPop graph database
stack.</li>
<li><a href="https://github.com/northwesternmutual/grammes">grammes</a>
- A Go package built to communicate with Apache TinkerPop™ Graph
computing framework using Gremlin.</li>
</ul>
<h5 id="haskell">Haskell</h5>
<ul>
<li><a
href="https://github.com/debug-ito/greskell">greskell-websocket</a> -
Haskell client for TinkerPop3 Gremlin Server.</li>
</ul>
<h5 id="java">Java</h5>
<ul>
<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/neo4j-contrib/neo4j-tinkerpop-api">neo4j-tinkerpop-api</a>
- Apache Licensed Neo4j API for TinkerPop3.</li>
<li><a
href="https://github.com/SteelBridgeLabs/neo4j-gremlin-bolt">neo4j-gremlin-bolt</a>
- Allows use of the Apache Tinkerpop Java API with the neo4j server
using the BOLT protocol.</li>
<li><a href="https://github.com/Syncleus/Ferma">Ferma</a> - An ORM / OGM
for the TinkerPop graph stack.</li>
</ul>
<h5 id="javascript">Javascript</h5>
<ul>
<li><a
href="https://github.com/RedSeal-co/ts-tinkerpop">ts-tinkerpop</a> -
Utilities for using TinkerPop3 via the node-java API in Typescript.</li>
<li><a
href="https://github.com/jbmusso/gremlin-javascript">gremlin-javascript</a>
(js) - A Gremlin Server driver for JavaScript.</li>
</ul>
<h5 id="php">PHP</h5>
<ul>
<li><a href="https://github.com/PommeVerte/gremlin-php">gremlin-php</a>
- gremlin-server php driver compatible with TinkerPop3. It will allow
you to connect to gremlin-server and its backends (Neo4J, Titan,
etc.).</li>
</ul>
<h5 id="python">Python</h5>
<ul>
<li><a href="https://github.com/platinummonkey/mogwai">Mogwai</a> -
TinkerPop3 Graph Database Library for Python.</li>
<li><a
href="https://github.com/windj007/python-gremlin-rest">python-gremlin-rest</a>
- A REST-based client for Gremlin Server.</li>
<li><a
href="https://github.com/davebshow/gremlinclient">gremlinclient</a> - 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/davebshow/aiogremlin">aiogremlin</a>
(python) - A Python 3 library based on asyncio and aiohttp that uses
websockets to communicate with the Gremlin Server.</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/ZEROFAIL/goblin">goblin</a> - OGM for
TinkerPop3 Gremlin Server.</li>
<li><a href="https://github.com/davebshow/goblin">goblin 3.5</a> - A
Python 3.5 rewrite of the TinkerPop 3 OGM Goblin.</li>
</ul>
<h5 id="reactive">Reactive</h5>
<ul>
<li><a
href="https://github.com/coreyauger/reactive-gremlin">reactive-gremlin</a>
(scala) - An Akka HTTP Websocket Connector.</li>
</ul>
<h5 id="scala">Scala</h5>
<ul>
<li><a href="https://github.com/mpollmeier/gremlin-scala">Gremlin
Scala</a> - Scala wrapper for Apache TinkerPop3 Graph DSL.</li>
<li><a
href="https://github.com/anvie/blueprints-scala">blueprints-scala</a> -
Tinkerpop Blueprints Scala.</li>
</ul>
<h4 id="query-languages"><A NAME="qlang"></A>Query Languages</h4>
<ul>
<li><a href="https://github.com/emehrkay/gremlinpy">gremlin-py</a> -
Write pure Python Gremlin that can be sent to Gremlin Server.</li>
<li><a
href="https://github.com/mpollmeier/gremlin-scala">gremlin-scala</a> - A
Scala language wrapper for TinkerPop3.</li>
<li><a
href="https://github.com/jbmusso/gremlin-template-string">gremlin-template-string</a>
- A Javascript Gremlin language builder.</li>
<li><a
href="https://github.com/davebshow/ipython-gremlin">ipython-gremlin</a>
- Gremlin in IPython and Jupyter.</li>
<li><a href="http://ogre.clojurewerkz.org/">ogre</a> - A Clojure
language wrapper for TinkerPop3.</li>
<li><a href="https://github.com/bayofmany/peapod">Peapod</a> - A new
object-graph-wrapper for the Tinkerpop3 graph stack.</li>
<li><a
href="https://github.com/dkuppitz/sparql-gremlin">sparql-gremlin</a> - A
SPARQL to Gremlin traversal compiler.</li>
<li><a href="https://github.com/twilmes/sql-gremlin">sql-gremlin</a> - A
SQL to Gremlin traversal compiler.</li>
<li><a href="https://github.com/debug-ito/greskell">greskell</a> -
Haskell binding for Gremlin graph query language</li>
<li><a href="https://github.com/opencypher/cypher-for-gremlin">Cypher
for Gremlin</a> - Cypher for Gremlin adds Cypher support to any Gremlin
graph database.</li>
</ul>
<h3 id="tinkerpop-2-libraries"><A NAME="tinkerpop2"></A>TinkerPop 2
Libraries</h3>
<ul>
<li><a href="https://github.com/Syncleus/Ferma">Ferma</a> - An ORM / OGM
for the TinkerPop graph stack.</li>
<li><a href="https://github.com/tinkerpop/frames">Frames</a> - An Object
to Graph Framework.</li>
<li><a href="https://github.com/clojurewerkz/archimedes">Archimedes</a>
- Clojure library for Blueprints (part of the TinkerPop graph
stack).</li>
<li><a href="https://github.com/JHUAPL/AccumuloGraph">AccumuloGraph</a>
- An implementation of TinkerPop Blueprints using Accumulo.</li>
<li><a href="https://github.com/Loupi/Frontenac">Frontenac</a> - A .NET
port of the TinkerPop Stack.</li>
<li><a href="https://github.com/platinummonkey/mogwai">Mogwai</a> -
TinkerPop 2 Graph Database Library for Python.</li>
<li><a
href="https://github.com/gjrwebber/spring-data-gremlin">spring-data-gremlin</a>
- Spring data gremlin makes it easier to implement Graph based
repositories. This module extends Spring Data to allow support for
potentially any Graph database that implements the TinkerPop Blueprints
2.x API.</li>
<li><a
href="https://github.com/anvie/blueprints-scala">blueprints-scala</a> -
TinkerPop Blueprints Scala.</li>
</ul>
<h2 id="communities"><A NAME="communites"></A>Communities</h2>
<ul>
<li><a
href="https://groups.google.com/forum/#!forum/gremlin-users">Gremlin-users</a>
- Mailing list for Gremlin users.</li>
<li><a href="http://stackoverflow.com/questions/tagged/tinkerpop3">Stack
Overflow</a> - Stack Overflow has a relatively active community.</li>
<li><a
href="http://mail-archives.apache.org/mod_mbox/incubator-tinkerpop-dev/">TinkerPop-dev</a>
- Mailing list for TP3 deverlopers.</li>
</ul>
<h2 id="people-to-follow"><A NAME="people-to-follow"></A>People to
Follow</h2>
<ul>
<li><a href="https://markorodriguez.com/">Marko Rodriguez</a> - Founder
of TinkerPop and Aurelius.</li>
<li><a href="https://twitter.com/spmallette?lang=en-gb">Stephen
Mallette</a> - Senior developer for Gremlin, TinkerPop and Titan
DB.</li>
<li><a href="https://about.me/daniel.kuppitz">Daniel Kuppitz</a> - One
of the main developers of Gremlin.</li>
<li><a href="https://github.com/pluradj">Jason Plurad</a> - Senior
Developer at IBM. TinkerPop committer and active on the community.</li>
</ul>
<h2
id="tutorials-and-resources"><A NAME="tutorials-and-resources"></A>Tutorials
and Resources</h2>
<ul>
<li><a href="http://tinkerpop.apache.org/gremlin.html">Introduction to
Gremlin</a> - Official introduction to the Gremlin language.</li>
<li><a
href="https://academy.datastax.com/resources/getting-started-tinkerpop-and-gremlin">Datastax
Introduction</a> - A tutorial provided by Datastax to Gremlin and
TinkerPop3.</li>
<li><a href="http://www.tinkerpopbook.com/">TinkerPop Book</a> - A long
promised book for Tinkeprop but never fulfilled until now. You cans till
request a notification.</li>
<li><a
href="http://events.linuxfoundation.org/sites/events/files/slides/ApacheCon2015TinkerPop3.pdf">Linux
Foundation Presentation</a> - A presentation by Linux Foundation given
by David Robinson at IBM aboit Apache TinkerPop3.</li>
<li><a
href="http://tinkerpop.apache.org/docs/current/tutorials/getting-started/">Getting
Started with TinkerPop</a> - Learn the basics of getting up and going
with TinkerPop.</li>
<li><a
href="http://tinkerpop.apache.org/docs/current/tutorials/the-gremlin-console/">The
Gremlin Console</a> - Discusses uses cases of the Gremlin Console and
usage patterns.</li>
<li><a
href="http://tinkerpop.apache.org/docs/3.2.1-SNAPSHOT/recipes/">Gremlin
Recipes</a> - Reference for common traversal patterns and style.</li>
<li><a
href="http://tinkerpop.apache.org/docs/3.2.1-SNAPSHOT/tutorials/gremlin-language-variants/">Gremlin
Language Variants</a> - Learn how to embed Gremlin in a host programming
language.</li>
<li><a href="http://sql2gremlin.com/">SQL2Gremlin</a> - Learn Gremlin
using typical patterns found when querying data with SQL.</li>
<li><a
href="https://academy.datastax.com/demos/getting-started-graph-databases">Getting
Started with Graph Databases</a> - Compares relational databases to
graph databases and SQL to Gremlin.</li>
<li><a href="https://github.com/krlawrence/graph">Graph</a> - Graph
Databases, Gremlin and TinkerPop - A Tutorial.</li>
</ul>
<h2 id="how-to-contribute"><A NAME="contributing"></A>How to
Contribute</h2>
<figure>
<img src="awesome-tinkerpop.jpg" alt="alt tag" />
<figcaption aria-hidden="true">alt tag</figcaption>
</figure>
<p>Please follow the <a href="contributing.md">guidelines here</a>.
Please, make sure your contribution and PR are awesome!</p>
<h2 id="license"><A NAME="license"></A>License</h2>
<p><a href="http://creativecommons.org/publicdomain/zero/1.0/"><img
src="https://licensebuttons.net/p/zero/1.0/88x31.png"
alt="CC0" /></a></p>
<p>To the extent possible under law, <a
href="https://github.com/mohataher"><span class="citation"
data-cites="mohataher">@mohataher</span></a> has waived all copyright
and related or neighboring rights to this work.</p>
<p><a href="https://github.com/mohataher/awesome-tinkerpop">tinkerpop.md
Github</a></p>