[ https://issues.apache.org/jira/browse/TINKERPOP-2863?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17711596#comment-17711596 ]
ASF GitHub Bot commented on TINKERPOP-2863: ------------------------------------------- xiazcy commented on code in PR #2020: URL: https://github.com/apache/tinkerpop/pull/2020#discussion_r1164737644 ########## gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java: ########## @@ -2561,14 +2557,14 @@ public default GraphTraversal<S, E> property(final Object key, final Object valu return this.property(null, key, value, keyValues); } } - + /** * When a {@link Map} is supplied then each of the key/value pairs in the map will - * be added as property. This method is the long-hand version of looping through the + * be added as property. This method is the long-hand version of looping through the Review Comment: ```suggestion * be added as property. This method is the long-hand version of looping through the ``` > HasId Step generates incorrect results when given a list of IDs mid-traversal > ----------------------------------------------------------------------------- > > Key: TINKERPOP-2863 > URL: https://issues.apache.org/jira/browse/TINKERPOP-2863 > Project: TinkerPop > Issue Type: Bug > Components: process > Affects Versions: 3.6.2 > Reporter: Taylor Riggan > Priority: Critical > > In most situations, hasId() will accept a list of potential IDs to filter on > and implicitly use within() filtering semantics to return the correct > results. Examples: > {code:java} > g.V().hasId(['1','2']) > {code} > returns: > {code:java} > [v[1], v[2]]{code} > or > {code:java} > g.E().hasId(['5140','5261']){code} > returns: > {code:java} > [e[5140][1-route->51], e[5261][1-route->398]]{code} > However, when using the same form of semantics mid-traversal, both of these > queries return empty results: > {code:java} > g.V().has('code','ATL').outE('route').hasId(['5140','5261']) > g.V().has('code','ATL').outE('route').inV().hasId(['2','3']) > {code} > When using profile() against both queries, the hasId() bytecode gets > transformed into > {code:java} > HasStep([~id.eq([5140, 5261])]) {code} > This equates to finding a vertex or edge with an ID that matches the entire > list instead of the elements within the list. > The preceding was tested against Gremlin Server 3.6.2 with the Airroutes > dataset. -- This message was sent by Atlassian Jira (v8.20.10#820010)