neo4j - Neo4j 集合中的独特元素

标签 neo4j cypher

有没有一种简单的方法可以确保 Neo4j/Cypher 中集合中的元素是唯一的?比如将集合变成哈希集?

最佳答案

根据您想要执行的操作,您也许可以使用 Cypher 来完成此操作。

例如,如果您只想将不存在的项目添加到属性中,则可以通过多种方式执行此操作。

此示例过滤查询,如果集合修改是唯一被修改的属性,则该示例非常有用:

START n=node({id}) WHERE NONE(x IN n.cols WHERE x = {val}) SET n.cols = n.cols + {val} RETURN n;

下一个示例最终将始终修改属性,但会确保唯一性,并且如果还需要同时修改其他一些属性,这将是一个有用的方法,但副作用是项目的顺序将更改:

START n=node({id})
WITH n, FILTER(x IN n.cols WHERE x <> {val}) as existingCols 
SET n.cols = existingCols + {val}
RETURN n 

关于neo4j - Neo4j 集合中的独特元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19502294/

相关文章:

performance - Neo4j 查询 : conditional match

neo4j - 我的密码 WHERE 子句没有过滤

neo4j - 将所有关系移动/复制到不同的节点

neo4j - 带有 MAX(n.property) 的 Cypher 返回节点

java - 在 JUNG 图中创建冗余重复节点

java - 如何创建非托管 Neo4j 扩展?

neo4j - 什么是 neo4j 密码中的模式理解和自定义投影

graph - Neo4j 空间服务器插件在 withinDistance 和最近的 java.lang.NoClassDefFoundError 上失败

Neo4j SDN 4 GraphId 性能与索引

neo4j - 在不同的属性上使用 neo4j DISTINCT 和 ORDER BY