如何在neo4j中收集向量中节点的所有属性

时间:2017-03-23 10:01:34

标签: neo4j

我知道可以使用Collect()将值存储为向量,如何对节点的所有属性值执行此操作?

1 个答案:

答案 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