Difference between revisions of "Gremlin"

From BITPlan Wiki
Jump to navigation Jump to search
Line 19: Line 19:
 
= 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]
* [http://kelvinlawrence.net/book/Gremlin-Graph-Guide.html Gremlin Graph Guide by Kelvin Lawrence]
+
* [http://kelvinlawrence.net/book/Gremlin-Graph-Guide.html Practical Gremlin: An Apache TinkerPop Tutorial by Kelvin Lawrence] see also https://github.com/krlawrence/graph
 
[[Category:frontend]]
 
[[Category:frontend]]
 
[[Category:SiGNaL]]
 
[[Category:SiGNaL]]

Revision as of 09:09, 15 February 2018

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.

Links