You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hugegraph.apache.org by "YuanchengJiang (via GitHub)" <gi...@apache.org> on 2023/03/30 06:05:01 UTC

[GitHub] [incubator-hugegraph] YuanchengJiang opened a new issue, #2185: Inconsistent results in equivalent queries

YuanchengJiang opened a new issue, #2185:
URL: https://github.com/apache/incubator-hugegraph/issues/2185

   ### Bug Type (问题类型)
   
   gremlin (结果不合预期)
   
   ### Before submit
   
   - [X] 我已经确认现有的 [Issues](https://github.com/apache/hugegraph/issues) 与 [FAQ](https://hugegraph.apache.org/docs/guides/faq/) 中没有相同 / 重复问题 (I have confirmed and searched that there are no similar problems in the historical issue and documents)
   
   ### Environment (环境信息)
   
   HugeGraph: v1.0.0
   
   ### Expected & Actual behavior (期望与实际表现)
   
   Query 1: 
   ```
   g.V().as('cccccccc').hasLabel('A').emit(__.loops().is(gte(1))).repeat(__.outE().inV()).times(2).emit(__.loops().is(gte(1))).repeat(__.outE().inV()).times(2).as('hketwcbf').hasLabel('B').bothE().dedup().by(__.path()).otherV().as('test').where(__.select('test').where(eq('cccccccc'))).select('hketwcbf').count()
   ```
   Query 2:
   ```
   g.V().as('cccccccc').hasLabel('A').bothE().dedup().by(__.path()).otherV().as('hketwcbf').hasLabel('B').emit(__.loops().is(gte(1))).repeat(__.inE().outV()).times(2).emit(__.loops().is(gte(1))).repeat(__.inE().outV()).times(2).as('test').where(__.select('test').where(eq('cccccccc'))).select('hketwcbf').count() 
   ```
   
   They are equivalent queries that have symmetric graph pattern. They would look like these in Cypher:
   ```
   Q1: MATCH (cccccccc:A)-[]-(hketwcbf:B)<-[*1..2]-(ahdnqvvl)<-[*1..2]-(cccccccc:A) RETURN count(hketwcbf) 
   Q2: MATCH (cccccccc:A)-[*1..2]->(ahdnqvvl)-[*1..2]->(hketwcbf:B)-[]-(cccccccc:A) RETURN count(hketwcbf)
   ```
   
   ### Vertex/Edge example (问题点 / 边数据举例)
   
   _No response_
   
   ### Schema [VertexLabel, EdgeLabel, IndexLabel] (元数据结构)
   
   ```javascript
   g.addV('A').as('n1').property(single, 'name', 56).property(single, 'id', 2).property(single, 'undefined', 18).addV('A').as('n2').property(single, 'name', 61).property(single, 'id', 61).addV('A').as('n3').property(single, 'name', 49).property(single, 'id', 92).property(single, 'undefined', 16).addV('B').as('n4').property(single, 'name', 79).property(single, 'id', 47).addV('B').as('n5').property(single, 'name', 22).property(single, 'id', 17).property(single, 'undefined', 74).addV('A').as('n6').property(single, 'name', 99).property(single, 'id', 95).addV('B').as('n7').property(single, 'name', 29).property(single, 'id', 25).property(single, 'undefined', 1).addV('A').as('n8').property(single, 'name', 65).property(single, 'id', 62).addV('B').as('n9').property(single, 'name', 34).property(single, 'id', 83).property(single, 'undefined', 24).addV('B').as('n10').property(single, 'name', 91).property(single, 'id', 74).addE('x').from('n1').to('n8').addE('y').from('n2').to('n9').addE('x').from
 ('n3').to('n3').addE('y').from('n4').to('n1').addE('x').from('n5').to('n5').addE('y').from('n6').to('n5').addE('x').from('n7').to('n6').addE('y').from('n8').to('n7').addE('x').from('n9').to('n5').addE('y').from('n10').to('n5').addE('x').from('n1').to('n5').addE('y').from('n2').to('n8').addE('x').from('n3').to('n2').addE('y').from('n4').to('n3').addE('x').from('n5').to('n6').addE('y').from('n6').to('n10').addE('x').from('n7').to('n7').addE('y').from('n8').to('n8').addE('x').from('n9').to('n9').addE('y').from('n10').to('n9').addE('x').from('n1').to('n8').addE('y').from('n2').to('n3').addE('x').from('n3').to('n1').addE('y').from('n4').to('n6').addE('x').from('n5').to('n9').addE('y').from('n6').to('n6').addE('x').from('n7').to('n5').addE('y').from('n8').to('n5').addE('x').from('n9').to('n10').addE('y').from('n10').to('n3').addE('x').from('n1').to('n10').addE('y').from('n2').to('n6').addE('x').from('n3').to('n2').addE('y').from('n4').to('n4').addE('x').from('n5').to('n3').addE('y').from(
 'n6').to('n8').addE('x').from('n7').to('n4').addE('y').from('n8').to('n3').addE('x').from('n9').to('n8').addE('y').from('n10').to('n9').addE('x').from('n1').to('n9').addE('y').from('n2').to('n5').addE('x').from('n3').to('n7').addE('y').from('n4').to('n9').addE('x').from('n5').to('n5').addE('y').from('n6').to('n5').addE('x').from('n7').to('n7').addE('y').from('n8').to('n7').addE('x').from('n9').to('n9').addE('y').from('n10').to('n5').barrier().limit(0)
   ```
   ```
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hugegraph.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@hugegraph.apache.org
For additional commands, e-mail: issues-help@hugegraph.apache.org


[GitHub] [incubator-hugegraph] javeme commented on issue #2185: Inconsistent results in equivalent queries

Posted by "javeme (via GitHub)" <gi...@apache.org>.
javeme commented on issue #2185:
URL: https://github.com/apache/incubator-hugegraph/issues/2185#issuecomment-1511259195

   If you mean the order of `emit()` step leads to different results, that's expected, please refer to: https://tinkerpop.apache.org/docs/current/reference/#repeat-step


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hugegraph.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@hugegraph.apache.org
For additional commands, e-mail: issues-help@hugegraph.apache.org