This is an automated email from the ASF dual-hosted git repository.
spmallette pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
The following commit(s) were added to refs/heads/master by this push:
new e2087c91da Clarify gremlin-javascript Limitations for
Character/Duration and subgraph
e2087c91da is described below
commit e2087c91da8cb1527e6479222ff192bc19c7efd2
Author: Stephen Mallette <[email protected]>
AuthorDate: Thu Jul 23 19:50:51 2026 +0000
Clarify gremlin-javascript Limitations for Character/Duration and subgraph
Name the actual failure mode for unsupported Character and Duration values
(the client throws a deserialization error on the unknown type code) and
note
that these types cannot currently be produced from the client. Reword the
subgraph limitation to explain that passing the detached graph to
traversal().with_() does not error immediately but yields a non-functional
traversal source that fails on execution.
Assisted-by: Kiro:claude-opus-4.8
---
docs/src/reference/gremlin-variants.asciidoc | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/docs/src/reference/gremlin-variants.asciidoc
b/docs/src/reference/gremlin-variants.asciidoc
index c853aacb67..0b88c144ca 100644
--- a/docs/src/reference/gremlin-variants.asciidoc
+++ b/docs/src/reference/gremlin-variants.asciidoc
@@ -2533,10 +2533,15 @@ GraphBinary `DateTime` values are not supported.
signed range are unsuffixed (Int), integers beyond that up to
`Number.MAX_SAFE_INTEGER` use the `L` suffix (Long),
non-integer numbers and integers beyond the safe range use the `D` suffix
(Double), and `BigInt` values use the `N`
suffix (BigInteger).
-* Gremlin `Character` and `Duration` values are not supported.
+* Gremlin `Character` and `Duration` values are not supported. If the server
returns one of these types, the client
+throws a deserialization error for the unknown type code rather than failing
silently or coercing the value. These
+types also cannot currently be produced from the client, as GremlinLang
provides no literal syntax for them, so this
+failure can only be observed with a server that emits them directly.
* The `subgraph()`-step returns a detached `Graph` data container exposing
`vertices: Map<any, Vertex>` and `edges: Map<any, Edge>`. The result is not a
live `Graph` instance: mutating the
-collections has no effect on the source graph, and it cannot be passed to
`traversal().with(...)`. To re-query
+collections has no effect on the source graph. Passing it to
`traversal().with_(...)` does not raise an error
+immediately, but yields a non-functional traversal source that fails only when
a traversal is executed against it
+(surfacing as an opaque `this.connection.submit is not a function`). To
re-query
subgraph elements against the original graph, extract their `id` and use
`g.V(id)` / `g.E(id)` on the original
`GraphTraversalSource`.