match查询边结果

  • nebula 版本:2.6.1
  • 部署方式: 单机
  • 安装方式: RPM
  • 是否为线上版本: N
  • 问题的具体描述:

    执行了一次insert为什么会产生两条数据

麻烦把insert语句贴出来,thanks

INSERT EDGE big(big, wide) VALUES “player109”->“player100”:(1, 1);
执行的这条语句,现在操作studio查询时发现正常了,只有一条数据,我不知道上次为什么会出现这种情况

可以复现吗?语句是没有问题的。@hetao

结果是预期的。
这是我在 neo4j 4.2.4 版本的测试结果:

neo4j@neo4j> match (v) optional match (v)-[e]-() delete v,e;
0 rows available after 180 ms, consumed after another 0 ms
Deleted 6 nodes, Deleted 3 relationships

neo4j@neo4j> create (:A{id:1})-[:E{eid:12}]->(:B{id:2});
0 rows available after 149 ms, consumed after another 0 ms
Added 2 nodes, Created 1 relationships, Set 3 properties, Added 2 labels

neo4j@neo4j> match ()-[e:E]-() return e;
+----------------+
| e              |
+----------------+
| [:E {eid: 12}] |
| [:E {eid: 12}] |
+----------------+
2 rows available after 32 ms, consumed after another 11 ms
neo4j@neo4j> match ()-[e:E]-() return distinct e;
+----------------+
| e              |
+----------------+
| [:E {eid: 12}] |
+----------------+

1 row available after 75 ms, consumed after another 152 ms

你需要理解下 cypher pattern 的语义定义。可以参考下 cypher 的标准文档 OpenCypher9 或者 neo4j 的官方文档 neo4j-doc


上面这张图是我在标准里边截的图,希望可以解答你的疑惑。