I, for one, love this idea.

I've had several use cases in the past where there was a large "global"
graph, but then a "local" (personalized, sliced, whatever) graph was
extracted for in-memory analysis.

For a 2.0 I would love the ability to apply the "diff" of a mutated graph
back to the global graph.

-Josh



On Thu, Jun 4, 2026 at 3:40 PM Stephen Mallette <[email protected]>
wrote:

> Recent work on gremlin-mcp which now has access to the ANTLR grammar and
> the introduction of proper subgraph() support in GLVs, particularly
> javascript, had me thinking about an old idea of codifying a subset of
> Gremlin that would be implemented as a processing engine outside of
> Javascript. The primary use case would be to use subgraph() to return a
> slice of a remote graph and then use the subset of Gremlin to traverse that
> subgraph locally on the client side. I think that core use case kicks open
> a lot of doors for applications.. Secondly, I think I've seen a number of
> Gremlin "lite" or "inspired" graph query syntaxes out there over the years
> and perhaps standardizing around what that idea means could open up wider
> opportunities for those systems to be more aligned with the official
> TinkerPop community.
>
> i sense these initial steps would probably be:
>
> Source
> V, E
>
> Navigation
> out, in, both, outE, inE, bothE, outV, inV, otherV
>
> Filter
> has, hasId, hasLabel, hasNot, hasKey, hasValue
>
> Value Extraction
> id, label, values, valueMap, elementMap, value, key
>
> Path
> path
>
> Range
> limit, range, skip, tail
>
> Ordering
> order
>
> Mutation
> addV, addE (with from/to), property
>
> Any additional processing you might do would have to fall back to lambda
> style processing like via forEach or reduce.
>
> Anyway, I think we could call this diminutive standard Tiny Gremlin and
> perhaps just start with Javascript as some kind of proof of concept.
>

Reply via email to