Posts
All Posts
-
TinkerPop 3.8.0 Reflections
Reflects on TinkerPop 3.8.0’s release strategy, bridging stable Gremlin semantics with future-focused upgrades.
-
Semantics of times(0)
Unpacks subtle differences in Gremlin’s repeat step when
times(0)is used -
constant() is Not inject() – A Follow-Up
Distills the core distinction between Gremlin’s
constant()andinject(). -
Unique Vertex Label Anti-pattern
Warns against the anti-pattern of unique vertex labels in graph databases and advocates for categorical labeling.
-
Eager and Lazy tree()
Differentiates eager and lazy
tree()semantics in Gremlin. -
dedup() on Path objects
Details deduplication nuances for Path objects in Gremlin, stressing effects of path labeling on result sets.
-
tree() Node Equality
Explains the behavior of
tree()node equality in Gremlin and how unique nodes shape traversal output structure. -
Use of local() Revisited
Revisits the
local()step in Gremlin, clarifying its use case amid common confusion withScope.local. -
If-Then Semantics
Advocates for readable if-then patterns in Gremlin, comparing
coalesce(),choose(),sideEffect()andoptional(). -
Thinking in VertexPrograms
Discusses OLAP-style Gremlin and custom VertexProgram implementations for specialized graph analytics.
-
Subgraphing without subgraph()
Reviews alternatives to Gremlin’s
subgraph()step for non-JVM languages, focusing on edge list extraction. -
Removing Backtracking
Encourages Gremlin query refactoring by removing excessive backtracking for clarity and performance.
-
Use of local()
Distinguishes Gremlin’s
local()step frommap()andflatMap(), highlighting its role in object-local processing. -
Restricting simplePath()
Examines Gremlin’s
simplePath()for cycle filtering and advanced path control usingfromandtomodulators. -
profile() and Indices
Shows how Gremlin’s
profile()step exposes query optimization potential and performance issues around indices. -
Inserting a Vertex Using a Map
Explains efficient ways to insert vertex properties in Gremlin using Maps and advocates for simplifying with a DSL.
-
Grouping Edge Directions
Demonstrates techniques for grouping and analyzing edge directions in Gremlin to understand message flows.
-
Maps as Keys
Highlights language-specific issues of using Maps as keys in Gremlin and practical workarounds for compatibility.
-
Static and Dynamic Map Instances
Compares static vs dynamic Map creation in Gremlin and how object equality impacts traversal results.
-
WTF - What the fold()
Demystifies Gremlin’s
fold()step and illustrates its importance in stream reduction and transformation. -
constant() Is Not inject()
Clarifies the practical differences between Gremlin’s
constant()andinject()steps for value transformation. -
A Nulled Union
Explores Gremlin’s
choose()step and new handling of nulls for flexible conditional logic in graph traversals.