小编Pau*_*lug的帖子

使用 neo4j/cypher 返回整个层次结构(树)

我有一个图表,其中包含类别层次结构(类似于购物网站上的产品类别,例如服装 --> 男装 --> 衬衫 --> 短袖 --> ...)。我有一些用例,需要将整个层次结构作为树检索(在本例中是嵌套的 ruby​​ 和/或 javascript 对象)。我能够提出的唯一解决方案是使用NODES()检索每个唯一路径,然后将其转换为客户端中的嵌套对象。这样的性能显然是有问题的。

MATCH (store:Store),
      (store)-[:hasCategory]->(category:Category),
      categories=(category)-[:narrower*0..]->(:Category)
WHERE store.name = {name}
RETURN store, NODES(categories) AS categories
Run Code Online (Sandbox Code Playgroud)

这将返回基本上是如下路径的结果行:

[store, [category1, narrower_category1, narrower_category2, ...]]
Run Code Online (Sandbox Code Playgroud)

在 cypher 中处理这个问题的正确方法是什么,而不需要多次返回服务器或像上面的查询那样大量获取数据?

neo4j cypher

10
推荐指数
1
解决办法
4521
查看次数

标签 统计

cypher ×1

neo4j ×1