Difference between revisions of "Gremlin"

From BITPlan Wiki
Jump to navigation Jump to search
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
Gremlin is the graph traversal language of [http://tinkerpop.apache.org/ Apache TinkerPop]. Gremlin is a functional, data-flow language that enables users to succinctly express complex traversals on (or queries of) their application's property graph. Every Gremlin traversal is composed of a sequence of (potentially nested) steps. A step performs an atomic operation on the data stream. Every step is either a map-step (transforming the objects in the stream), a filter-step (removing objects from the stream), or a sideEffect-step (computing statistics about the stream). The Gremlin step library extends on these 3-fundamental operations to provide users a rich collection of steps that they can compose in order to ask any conceivable question they may have of their data for Gremlin is Turing Complete.  
+
[[File:Gremlin programming language.png|300px|left|link=https://tinkerpop.apache.org/gremlin.html]] Gremlin is the graph traversal language of [http://tinkerpop.apache.org/ Apache TinkerPop]. Gremlin is a functional, data-flow language that enables users to succinctly express complex traversals on (or queries of) their application's property graph. Every Gremlin traversal is composed of a sequence of (potentially nested) steps. A step performs an atomic operation on the data stream. Every step is either a map-step (transforming the objects in the stream), a filter-step (removing objects from the stream), or a sideEffect-step (computing statistics about the stream). The Gremlin step library extends on these 3-fundamental operations to provide users a rich collection of steps that they can compose in order to ask any conceivable question they may have of their data for Gremlin is Turing Complete.  
  
 
* https://tinkerpop.apache.org/gremlin.html
 
* https://tinkerpop.apache.org/gremlin.html
Line 16: Line 16:
  
 
For example let's assume we want to Traverse the family tree of a person.
 
For example let's assume we want to Traverse the family tree of a person.
 
+
= What links here =
 +
{{WhatLinksHere}}
 
= Links =
 
= Links =
 
* [https://docs.google.com/presentation/d/1JmwvKY7gS5Hcynw3yijeoSpqh-1zJCmdnSYs54whrDs/edit#slide=id.g24323db4b1_0_20 That Conf - Graph Database - What, Why, How - Presentation by Andrew Glassmann]
 
* [https://docs.google.com/presentation/d/1JmwvKY7gS5Hcynw3yijeoSpqh-1zJCmdnSYs54whrDs/edit#slide=id.g24323db4b1_0_20 That Conf - Graph Database - What, Why, How - Presentation by Andrew Glassmann]

Revision as of 07:57, 18 February 2019

Gremlin programming language.png

Gremlin is the graph traversal language of Apache TinkerPop. Gremlin is a functional, data-flow language that enables users to succinctly express complex traversals on (or queries of) their application's property graph. Every Gremlin traversal is composed of a sequence of (potentially nested) steps. A step performs an atomic operation on the data stream. Every step is either a map-step (transforming the objects in the stream), a filter-step (removing objects from the stream), or a sideEffect-step (computing statistics about the stream). The Gremlin step library extends on these 3-fundamental operations to provide users a rich collection of steps that they can compose in order to ask any conceivable question they may have of their data for Gremlin is Turing Complete.

GraphTraversal

One of the core concepts of tinkerpop/gremlin is the GraphTraversal It's interface has a generic definition as:

public interface GraphTraversal<S,E> extends Traversal<S,E>

and at https://markorodriguez.com/ the Author Marko Rodriguez explains the ideas behind using an generic approach vor handling Graphs. The Java implementation is available on github.

S is generic Start class, and E is a generic End class as explained in the Apache Tinkerpop documentation.

For example let's assume we want to Traverse the family tree of a person.

What links here

Links

Stackoverflow Questions

Recipes

Practical Gremlin: An Apache TinkerPop Tutorial by Kelvin Lawrence

load PDF