我知道可以使用Collect()将值存储为向量,如何对节点的所有属性值执行此操作?
答案 0 :(得分:0)
不确定对您有多大帮助,因为对于值集合,您将丢失该值所属属性的上下文。我想如果你对它进行排序你可能有一些想法,只要你为此做的所有节点具有相同的属性,但是Neo4j没有表格模式来限制属性,所以我不建议这样做。
此示例显示了如何执行此操作:
match (n:Person)
with n
with n, keys(n) as keys
return [key in keys | n[key]] as values
编辑
您可能已经知道如何在Cypher中应用余弦相似性,但如果没有,这个graphgist涵盖了一般方法,尽管它是关系而不是节点属性。
就你的情况而言,你需要确保你的订购是一致的,所以也许先订购密钥,或者通过UNWINDING回到行然后做WITH ... ORDER BY
然后再次收集,或者通过使用`apoc.coll.sort()'使用APOC Procedures。