是否有一种简单的方法可以确保Neo4j/Cypher中的集合中的元素是唯一的?就像把集合变成哈希集合一样?Neo4j中的集合中的独特元素
2
A
回答
1
实体(节点/关系)属性没有Set
的概念,它们具有键/值,并且允许的值是基元/字符串数组。
如果你想Set
类似的功能,它将取决于你的应用程序插入数据来强制这种独特性。
Cypher对此没有任何功能。
-1
1
取决于你正在尝试做的,你可以用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
相关问题
- 1. java独特元素集合
- 2. 如何返回Cypher中的集合联盟的独特元素?
- 3. 红宝石收集独特的元素
- 4. 如何让scala集合包含独特的元素? (“独一无二”的定义)
- 5. 在Java中获取独特的收集元素对的习语
- 6. 独特的集合记录
- 7. 从plist中的一组元素中获取独特元素
- 8. 计算方案中的独特元素
- 9. haskell list中的独特元素
- 10. 两个列表中的独特元素
- 11. 创建独特的元素
- 12. 选择独特的元素
- 13. jQuery独特元素
- 14. protobuf:RepeatedField独特元素
- 15. 集合元素的组合
- 16. 集团独特的零元素在Python或蜂巢独特的第i个元素
- 17. WPF如何绑定到集合中的特定元素
- 18. 删除集合中的元素
- 19. 验证WPF中的集合元素
- 20. 删除集合中的元素
- 21. Java:删除集合中的元素
- 22. 集合中元素的子字符串
- 23. 集合中元素的python顺序
- 24. 集合中元素的Hibernate标准
- 25. symfony表单集合中的空元素
- 26. 集合中的任何元素均为
- 27. 获取集合中的唯一元素
- 28. 选择集合中的随机元素
- 29. LINQ c#集合中的唯一元素
- 30. 访问集合中的元素?
当您说'收集'时,是指查询的结果,或者作为节点/关系的属性? – Nicholas
我的意思是作为节点上的属性。 – user2608171