About Titan
Titan graph database is focused on high scalability and distributed processing.
The below excerpts should give you an high-level overview of what ecosystem Titan lives in. There are lots of names, terms and concepts to grasp to fully employ Titan so be prepared for...mental damage early and often.
From http://s3.thinkaurelius.com/docs/titan/current/arch-overview.html:
- Titan is a graph database engine.
- Titan itself is focused on compact graph serialization, rich graph data modeling, and efficient query execution.
- In addition, Titan utilizes Hadoop for graph analytics and batch graph processing.
- Between Titan and the disks sits one or more storage and indexing adapters.
From http://s3.thinkaurelius.com/docs/titan/0.5.2/gremlin.html:
- Gremlin is Titan’s query language used to retrieve data from and modify data in the graph.
- a path-oriented language
- developed independently from Titan and supported by most graph databases.
From https://github.com/tinkerpop/gremlin/wiki:
- Gremlin is a graph traversal language.
- use Gremlin for graph query, analysis, and manipulation.
- Gremlin works over those graph databases/frameworks that implement the Blueprints property graph data model.
- This distribution of Gremlin provides support for Java and Groovy.
From https://github.com/mpollmeier/gremlin-scala:
- Gremlin-Scala = a thin wrapper for Gremlin to make it easily usable for Scala Developers.
- Gremlin is a graph DSL for traversing graph databases
- graph databases including Neo4j, OrientDB, DEX, InfiniteGraph, Titan, Rexster graph server, and Sesame 2.0 compliant RDF stores.
From https://github.com/tinkerpop/gremlin/wiki/Getting-Started:
- Graphs are data structures where there exists vertices (i.e. dots, nodes) and edges (i.e. lines, arcs).
- By using Gremlin, it is possible make use of a REPL (command line/console) to interactively traverse a graph.
From http://zcox.wordpress.com/2013/05/15/first-steps-with-titan-using-rexster-and-scala/#comment-135:
- Titan is interesting to me for a few reasons: its vertex-centric indexes can greatly improve query performance, it can use ElasticSearch for external indexes to quickly find vertexes to start queries at, it scales-out simply thanks to Cassandra, and integrates tightly with Faunus for global graph processing via map-reduce.
A very interesting and short reading is Defining a Property Graph. Perhaps the entire Wiki article could've been copied over here.
TinkerPop recommends that labels be camel cased (e.g. "SuperHuman").