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,
ďŹltering, ranking, and mutating as you go
⢠make it interactive. How about a REPL?
27. ⢠a domain-speciďŹc 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: dataďŹow 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 efďŹciently, 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-ďŹrst
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