gpt4 book ai didi

neo4j - 将数组值与 cypher/neo4j 进行比较

转载 作者:行者123 更新时间:2023-12-04 14:28:44 26 4
gpt4 key购买 nike

我有一张成员图表以及他们查看过的项目。

此数据将用于根据类似成员查看过的项目推荐项目。我想根据项目颜色的相似程度对项目进行排序。颜色存储在数组中的项目上([“red”、“blue”、“green”])。密码中有什么方法可以比较数组以查看它们有多少共同元素?

最佳答案

给定两个节点 n 和 m,看起来像:

CREATE ({id: 1, color: ["red", "blue", "green", "yellow"]})
CREATE ({id: 2, color: ["red", "blue", "green", "white"]})

你可以这样做:
MATCH n, m
WHERE n.id = 1 AND m.id = 2
RETURN length(FILTER(x in n.color WHERE x in m.color))
FILTER函数遍历 n.color 数组,将当前值绑定(bind)到 x (由我任意选择,可能会有所不同)。为每个 x in m.color 检查谓词 ( x)值,如果计算结果为真,则将该元素插入 FILTER 的新数组中。返回。您可以保留它以查看两个数组的交集(在本例中为红色、蓝色和绿色),或将其包装在 length 中函数查看两个节点之间共享的颜色数(在本例中为 3)。

在此处查看完整的过滤器文档: http://docs.neo4j.org/chunked/milestone/query-functions-collection.html#functions-filter

关于neo4j - 将数组值与 cypher/neo4j 进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20482831/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com