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()` and `inject()`.
-
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 with `Scope.local`.
-
If-Then Semantics
Advocates for readable if-then patterns in Gremlin, comparing `coalesce()`, `choose()`, `sideEffect()` and `optional()`.
-
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 from `map()` and `flatMap()`, highlighting its role in object-local processing.
-
Restricting simplePath()
Examines Gremlin’s `simplePath()` for cycle filtering and advanced path control using `from` and `to` modulators.
-
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()` and `inject()` steps for value transformation.
-
A Nulled Union
Explores Gremlin’s `choose()` step and new handling of nulls for flexible conditional logic in graph traversals.