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. >
