首页 > 解决方案 > 检索图表使用的标签

问题描述

查询

 CALL db.labels() YIELD label 

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

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

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

标签: neo4jmemgraphdb

解决方案


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

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

得到等效的结果。

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


推荐阅读