24. Enter
• single Property Graph API supported by diverse
graph database backends
• choose your favorite, but avoid vendor lock-in
• Blueprints : graph DB :: JDBC : RDBMS
• implementations, “ouplementations”, test suites,
and helper utilities are built on top
26. Now we need a
query language…
• build it on the Blueprints API
• query over any Blueprints-compatible DB
• make it path-like, with side-effects
• match abstract traversals through the graph,
filtering, ranking, and mutating as you go
• make it interactive. How about a REPL?
27. • a domain-specific language for traversing graphs
• Turing-complete, permits access to the full JDK
• has been adapted to various JVM languages
• Gremlin : graph DB :: SQL : RDBMS… sort of
Enter
29. • Pipes: dataflow framework. The basis of Gremlin
• Frames: Java bean framework for graphs
• Furnace: Property Graph algorithms
• Rexster: high-performance graph database server
The rest of the TinkerPop family
30. TinkerPop is…
• a developer group creating an open-source graph DB
stack
• a community of users and third-party implementors
• a foundation for building high-performance graph
applications of any size
• model some data on your laptop
• build massive clustered applications
• open source, BSD licensed
31. A detailed guide to the
rest of this workshop
• intro to the Aurelius Graph Cluster
• demos of graph tools and concepts
• guided installation of tools
• preview of TinkerPop3
37. Titan highlights
• graphs, transactions scale with the number of
machines in a cluster
• geo, numeric range, and full text search for vertices
and edges
• support for either of two indexing backends
• ElasticSearch, Lucene
• native support for Blueprints, Rexster
38. Dealing with supernodes
• Titan’s vertex-centric indices permit ordered querying
from a vertex
• e.g. retrieve “knows” edges… in order of “since”
timestamp
• iterates efficiently, even if there are thousands of edges
40. Faunus…
• is a Hadoop-based graph analytics engine
• in Titan 0.5 will simply be called Titan/Hadoop
• adds support for global distributed graph
operations
• applies (a subset of) Gremlin in a breadth-first
fashion
41. Faunus inputs and outputs
• Hadoop SequenceFile format (in/out)
• Titan graph DB (in/out)
• GraphSON format (in/out)
• Rexster (in)
• RDF (in)
• Gremlin scripts (in/out)
44. What’s new in TP3
• new Gremlin implementation which makes good use of
Java 8 closures, enables introspection and optimization of
traversals
• new OLAP API with support for message passing systems
like Giraph, Hama, Faunus, etc.
• revamped I/O utilities with support for GraphSON,
GraphML, and GremlinKryo
• new server model, incl. remote execution of scripts via
WebSocket API, server plugin support, customizable
serialization formats
45. Gremlitron
• Blueprints, Pipes, and
Gremlin are all integrated
in TinkerPop3
• Frames obsoleted by
Gremlin DSLs
• Furnace is Gremlin OLAP
• Rexster is Gremlin Server
46. Try it out
• at:
• https://github.com/tinkerpop/tinkerpop3
• mailing list:
• https://groups.google.com/forum/gremlin-users
• we welcome your feedback and/or PRs