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 ccc8327099 Make hasValue() value-matching semantics explicit in 
provider docs
ccc8327099 is described below

commit ccc8327099988c52ce4d42c058edf0f38d136473
Author: Stephen Mallette <[email protected]>
AuthorDate: Wed Sep 9 20:34:11 2026 +0000

    Make hasValue() value-matching semantics explicit in provider docs
    
    Clarify the value-matching contract for hasValue() in the Gremlin
    semantics provider guide: multiple values use within-set (any-of)
    matching, value comparison follows Gremlin equality and comparability
    including cross-type numeric coercion, and a null argument matches
    nothing without raising an error.
    
    Assisted-by: Kiro:claude-opus-4.8
---
 docs/src/dev/provider/gremlin-semantics.asciidoc | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/docs/src/dev/provider/gremlin-semantics.asciidoc 
b/docs/src/dev/provider/gremlin-semantics.asciidoc
index 633083c939..cc133ee833 100644
--- a/docs/src/dev/provider/gremlin-semantics.asciidoc
+++ b/docs/src/dev/provider/gremlin-semantics.asciidoc
@@ -2159,7 +2159,14 @@ None
 
 *Considerations:*
 
-* Equivalent to `has(T.value, ...)`.
+* `hasValue(value)` is equivalent to `has(T.value, value)`.
+* When multiple values are supplied, `hasValue(value, otherValues...)` is 
equivalent to
+  `has(T.value, within(value, otherValues...))`: the property matches if its 
value equals *any* of the
+  supplied values (any-of / OR semantics).
+* Value matching uses Gremlin equality, so it follows the rules described in
+  <<gremlin-semantics-equality-comparability, Equality and Comparability>>, 
including cross-type numeric
+  coercion (for example, the integer `1` matches the long `1L`, per <<Numeric 
Type Promotion>>).
+* A `null` argument matches nothing (produces an empty result) and does not 
raise an error.
 * Operates on `Property` or `VertexProperty` traversers (typically reached via 
`properties()`).
 * Child traversals must be read-only; mutating steps are rejected with an 
`Argument Error`.
 

Reply via email to