JanusGraph

JanusGraph is a transactional graph DBMS optimized for storing and querying graphs distributed across a multi-machine cluster.

History

  • Originally called Titan. It was renamed to JanusGraph in 2015.

Query Interface

Gremlin

JanusGraph uses Gremlin graph query language to retrieve data from and modify data in the graph. Gremlin is a functional language whereby traversal operators are chained together to form path-like expressions, expressing query or data modification on graphs.

A Gremlin query is a chain of operations/functions that are evaluated from left to right. A simple example of gremlin language to query the name of Alex's grandson on his genealogy graph is provided below

g.V().has('name', 'Alex').out('father').out('father').values('name')

The query can be read as g: for the current graph V: for the vertices in the graph has('name', 'Alex'): filters the vertices down to those with the "name" property "Alex" out('father'): traverse outgoing through edges whose type is "father" from "Alex" (Notice here the result can be more than one vertices) out('father'): traverse outgoing through edges whose type is "father" from "Alex"' son (the result from the last traversal) values('name'): get the property of "name"

Data Model

Graph

JanusGraph Logo
Website

http://janusgraph.org

Source Code

https://github.com/JanusGraph/janusgraph/

Tech Docs

https://docs.janusgraph.org/latest/

Developer

The Linux Foundation

Country of Origin

US

Start Year

2012

Former Name

Titan

Acquired By

DataStax

Project Type

Open Source

Written in

Java

Supported languages

Java

Derived From

1010data

Compatible With

Berkeley DB

Operating Systems

All OS with Java VM

Licenses

Apache v2