nebula icon indicating copy to clipboard operation
nebula copied to clipboard

Inconsistent results occur when edge VS fixed-length edge of the same type.

Open stupalpa opened this issue 7 months ago • 0 comments

Environment

Nebula Version: nightly Operating System: Ubuntu22.04 Installation Method: Docker API: Docker

Steps to Reproduce

  1. Create the graph database:log.txt
  2. Execute the following two queries:
  • query1
OPTIONAL MATCH (n0)-[]->(n1)<-[]-(n2) MATCH (n0 :L2)-[m4]->(n1)<-[m5]-(n2 :L5) WITH n1 RETURN *
  • query2
OPTIONAL MATCH (n0)-[]->(n1)<-[]-(n2) MATCH (n0:L2)-[m4*1..1]->(n1)<-[m5*1..1]-(n2:L5) WITH n1 RETURN *

Expected Result

Both queries return the same result

Actual Result

The first query returns:

+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| n1                                                                                                                                                                                   |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ("n1" :L1{k5: false, k6: "O", k7: -1331633351, k8: "i", k9: 1892646325} :L0{k0: false, k1: false, k2: false, k3: "ea", k4: "GR"})                                                    |
| ("n1" :L1{k5: false, k6: "O", k7: -1331633351, k8: "i", k9: 1892646325} :L0{k0: false, k1: false, k2: false, k3: "ea", k4: "GR"})                                                    |
| ("n4" :L5{k28: __NULL__, k29: -1959567049, k30: 1444797385, k31: false, k32: false, k33: "j"} :L2{k10: -306143249, k11: true, k12: 727967119, k13: "b", k14: 1745388973, k15: true}) |
| ("n5" :L1{k5: false, k6: "znpfXqf7", k7: -516012623, k8: "9TY6kay", k9: -416869436})                                                                                                 |
| ("n5" :L1{k5: false, k6: "znpfXqf7", k7: -516012623, k8: "9TY6kay", k9: -416869436})                                                                                                 |
| ("n5" :L1{k5: false, k6: "znpfXqf7", k7: -516012623, k8: "9TY6kay", k9: -416869436})                                                                                                 |
| ("n5" :L1{k5: false, k6: "znpfXqf7", k7: -516012623, k8: "9TY6kay", k9: -416869436})                                                                                                 |
| ("n5" :L1{k5: false, k6: "znpfXqf7", k7: -516012623, k8: "9TY6kay", k9: -416869436})                                                                                                 |
| ("n5" :L1{k5: false, k6: "znpfXqf7", k7: -516012623, k8: "9TY6kay", k9: -416869436})                                                                                                 |
| ("n7" :L0{k0: false, k1: true, k2: false, k3: "Yl", k4: "6"} :L2{k10: -1643299059, k11: true, k12: -1044994680, k13: "db", k14: 240098927, k15: true})                               |
| ("n2" :L4{k23: -480362196, k24: 1596664815, k25: 1701234373, k26: 1649065104, k27: false})                                                                                           |
| ("n2" :L4{k23: -480362196, k24: 1596664815, k25: 1701234373, k26: 1649065104, k27: false})                                                                                           |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Got 12 rows (time spent 16.467ms/17.696339ms)

The second query returns:

+--------------------------------------------------------------------------------------------+
| n1                                                                                         |
+--------------------------------------------------------------------------------------------+
| ("n5" :L1{k5: false, k6: "znpfXqf7", k7: -516012623, k8: "9TY6kay", k9: -416869436})       |
| ("n5" :L1{k5: false, k6: "znpfXqf7", k7: -516012623, k8: "9TY6kay", k9: -416869436})       |
| ("n5" :L1{k5: false, k6: "znpfXqf7", k7: -516012623, k8: "9TY6kay", k9: -416869436})       |
| ("n5" :L1{k5: false, k6: "znpfXqf7", k7: -516012623, k8: "9TY6kay", k9: -416869436})       |
| ("n5" :L1{k5: false, k6: "znpfXqf7", k7: -516012623, k8: "9TY6kay", k9: -416869436})       |
| ("n2" :L4{k23: -480362196, k24: 1596664815, k25: 1701234373, k26: 1649065104, k27: false}) |
+--------------------------------------------------------------------------------------------+
Got 6 rows (time spent 15.92ms/16.789356ms)

Issue Analysis

I executed both queries in Neo4j, and their results matched the second set of results above. Hope this helps your team.

stupalpa avatar May 21 '25 11:05 stupalpa