0

查询

 CALL db.labels() YIELD label 

在 Neo4j 中提供了图表中存在的标签

在 memgraph 上,相同的查询给出了错误

`input 'CALL' expecting {CREATE, DELETE, DETACH, DROP, EXPLAIN,   
    MATCH, MERGE, OPTIONAL, REMOVE, RETURN, SET, UNWIND, WITH}`
4

1 回答 1

2

可以通过以下方式重写查询

MATCH (n) UNWIND labels(n) AS labels RETURN DISTINCT labels;

得到等效的结果。

从两个查询返回的结果是相等的,但替代查询较慢,因为它扫描整个数据集。在相关查询的实现中,结果可能会被缓存。替代查询的执行时间取决于节点的数量和标签的数量。在大多数情况下,数据集中的标签数量明显小于节点数量,这意味着查询以线性时间返回。即使在标签数量高于节点数量的情况下,数据库系统也应该在合理的时间内做出响应。

于 2018-12-13T18:00:25.190 回答