The TinkerPop Book

Harness the Power of Graphs with the TinkerPop Stack

(In the Works, See Below)

Get Access to the Early Release

You're on the list! We'll notify you as soon as the Early Release edition is ready.
Eeek, Error:

TINKERPOP

TinkerPop is a developer group creating an open-source stack for the emerging graph landscape.

The TinkerPop stack provides a foundation for building high-performance graph applications of any size, whether you are just modeling some data on your local laptop or you are building massive applications to handle trillion edge graphs scaled across a cluster of computers. The entire stack is open source, BSD Licensed.

NEWS

What's happening now in TinkerPop.

BOOK

Learn how to use new open-source graph technologies to build the next generation of real-time, data-driven applications.

Overview

This book provides a brief introduction to graphs and a comprehensive guide to building applications with the TinkerPop stack. You'll learn how to use new open-source technologies to build real-time, data-driven graph applications, like the ones that power Facebook, Twitter, and Google.

The book is divided into 8 parts:

  1. The Big Picture Your journey begins with a big-picture overview of the graph database ecosystem, fundamental concepts, and the TinkerPop stack.
  2. TinkerPop Stack in Depth You learn about each component of the stack in depth.
  3. Working with Data You learn how to load data, perform backups, and integrate TinkerPop with external tools for graph processing and visualization.
  4. Analyzing Graphs Marko presents a new way of thinking about graph analysis.
  5. Advanced Topics You learn about advanced topics like supernodes, scaling, creating DSLs, linked data, and the Semantic Web.
  6. Example Applications You are walked through seven complete examples, ranging from building a social network and recommendation engine, to learning how to build and analyze connections in a graph of campaign-finance and lobbyist data
  7. Case Studies You are presented with five case studies showing how organizations are using TinkerPop graph technology in real-world projects.
  8. Problem Sets You are challenged to complete five problem sets. These are not easy problem sets, and we do not provide solutions like we do for the example applications. If you are able to meet this challenge, you will be at tinkerpopper status.

Databases

TinkerPop supports multiple graph databases, and each database excels in different areas so we will discuss and compare the different database options and provide examples of working with each, including: Neo4j, Titan, OrientDB, DEX, TinkerGraph, and more.

Programming Languages

We are writing the book to be language agnostic. The TinkerPop stack is written in Java, but the Rexster server allows you to use any programming language to connect to the stack.

Example applications will be presented in Python because Python is concise and the closest thing to executable pseudocode so many can read it even if they are not familiar with the language.

However, most of the code in the book will be presented in Gremlin-Groovy (the original Gremlin) -- think of Gremlin as a domain-specific language for graphs you use in harmony with your native programming language.

The chapters on "Rexster Drivers & Client Libraries" and "Gremlin Variants" will provide language-specific examples. There are 7 Gremlin variants in various stages of development:

  1. Gremlin-Java (base implementation)
  2. Gremlin-Groovy (original)
  3. Gremlin-JavaScript
  4. Gremlin-Clojure
  5. Gremlin-Scala
  6. Gremlin-Python* (planned)
  7. Gremlin-Ruby* (planned)

* If you are interested in helping develop Gremlin-Python or Gremlin-Ruby (or any other implementation currently in development), please post to the Gremlin Users Group.

AUTHORS

Five TinkerPop members and their trusty illustrator are authoring this book. It will be the definitive title.

James Thornton is a TinkerPop member and the lead developer of Bulbs, the Python graph-database framework that supports Rexster, Neo4j Server, and Titan. In 2003 he co-founded the national online division for Colorado Federal Savings Bank, and he is now the President of Electric Speed, an Internet consulting company in Dallas, TX. James received his Bachelor of Business Administration in Management Information Systems from Baylor University and continued with post-baccalaureate studies in Computer Science.

Stephen Mallette has been developing commercial software for about fifteen years, with most of those years focused on healthcare-based applications. He is a primary contributor to the TinkerPop stack and the lead developer of the Rexster graph server. Stephen also maintains the GremlinDocs website, which offers learn-by-example documentation of the Gremlin graph traversal language. He received his Bachelor of Science in Management Information Systems and Decision Sciences from George Mason University.

Joshua Shinavier is a PhD candidate in RPI's Tetherless World Constellation, as well as a co-founder of TinkerPop, where he contributes tools which bridge the gap between graph databases and the Semantic Web. His dissertation explores the possibilities of wearable computers, real-time computing, and Linked Data to give us new ways of interacting with each other and our physical environment. Joshua’s work has been featured in ReadWriteWeb and New Scientist.

Dr. Matthias Broecheler is the lead developer of Titan, the distributed graph database, and has researched large scale graph database systems for more than 5 years. His award-winning research includes high performance index structures and query answering algorithms for graph structured data. In addition, he developed the Probabilistic Similarity Logic (PSL) machine learning framework to analyze and reason about multi-relational data. Matthias holds a Ph.D. in Computer Science from the University of Maryland.

Dr. Marko Rodriguez has focused his academic and commercial career on graph theory, network science, and graph-system architecture and development. He is a TinkerPop co-founder and serves as the lead developer of the Gremlin graph traversal language. Marko received his Bachelors in Cognitive Science from UC San Diego, his Masters and Ph.D. in Computer Science from UC Santa Cruz and was a Director’s Fellow at the Center for Nonlinear Studies of the Los Alamos National Laboratory.

Ketrina Yim sits on the fence between the artistic and the technical and is the creative force behind the TinkerPop illustrations. She began the Computer Science Illustrated project at UC Berkeley as her Master's thesis, and it lives as new students continue to create posters and handouts to facilitate learning for their fellow students. She received her Bachelor of Arts and Master of Science in Computer Science from UC Berkeley. Ketrina's artistic and technical side continue to flourish in the world of graphics and animation at PhaseSpace.

RESOURCES

The graph ecosystem is thriving.
Here a few things to check out.

TinkerPop Core Contributors

Videos

Books

Blog Posts

Papers