我想限制创建的关系,如果已经在现有节点之间创建的话。现在它多次创建?有没有类似'合并'的命令来限制重复关系?感谢任何建议Neo4j-避免在cypher中的相同节点之间创建多个关系?
0
A
回答
0
用户合并而不是创建关系时创建。
MERGE (Product)-[:listed_under_category]->(level3)
MERGE (level3)-[:child_of]->(level2)
0
MERGE
子句也避免了重复关系。
0
嘿,我想混合起来,但我需要更多的信息。是合并,合并整个声明。所以如果他没有为整个陈述找到一个“匹配”,数据库就会“创建”整个陈述。
所以,当你输入像合并(一) - [] - >(二) - [] - >(Q) 如果你已经有(一) - [] - >(B)
(a) - [] - >(b) - [] - >(q),(a) - [] - >(b) - [] - > ) - [] - >(b)
但如果键入合并的(a) - [] - >(b)中合并(b) - [] - >(q)
,你知道你有节点。如果没有关系,Neo4j合并将创建关系。并且如果存在关系则匹配
0
如果我理解你的问题,CREATE UNIQUE可能是你正在寻找的解决方案。例如:
create (a:Ex {name: 'A'})-[r:inside]->(b:Ex {name: 'B'}) return a, b, r
设置您的原始(a) - [] - >(b)关系。然后扩大你提议的方式的关系....
match (a)-[:inside]->(b) where a.name = 'A' and b.name = 'B'
create unique (a)-[:inside]->(b)-[:inside]->(q:Ex {name: 'Q'})
return a, b, q
CREATE UNIQUE也适用,如果关系是不同的:
match (a)-[:inside]->(b) where a.name = 'A' and b.name = 'B'
create unique (a)-[:inside]->(b)-[:under]->(q:Ex {name: 'Q'})
return a, b, q
相关问题
- 1. 在Neo4j节点之间创建关系
- 2. Cypher支架的Neo4j建立两个节点之间的关系,避免双向关系
- 3. Neo4j的Cypher支架:创建关系仅在端节点存在
- 4. 创建两个节点之间的关系类型neo4j
- 5. Neo4j Cypher:只有存在末端节点时才创建关系
- 6. 不能在neo4j中添加多个节点之间的关系
- 7. 无法使用Java中的Cypher查询在Neo4J数据库中创建两个节点之间的关系
- 8. 创建具有相同属性的节点之间的关系
- 9. Neo4j/Cypher:返回节点本身内节点之间关系值的总和
- 10. 使用Cypher在Neo4j中创建多个节点
- 11. Neo4j Cypher优化在笛卡尔积中的每个节点之间创建关系
- 12. Neo4J Optimsation用于创建节点之间的关系
- 13. 在Java中新建一个neo4j节点和现有节点之间的关系
- 14. Neo4j节点之间的关系
- 15. 无法在两个节点之间创建超过2个相同的关系
- 16. Neo4j查询到具有相同关系的多个节点
- 17. 使用Cypher与现有节点创建多个关系
- 18. 使用一个Cypher查询创建具有相同属性值的节点之间的关系
- 19. Neo4j/Cypher创建节点如果丢失
- 20. Neo4J Cypher:匹配多个属性并创建关系的性能
- 21. 创建2个新创建的节点之间的关系
- 22. 在neo4j中同时创建节点和关系
- 23. 在STRUCTR.org中创建两个现有节点之间的关系
- 24. 在Neo4j中创建后续节点(日期属性)之间的关系
- 25. 如何在neo4j中的标签下分组节点之间创建关系?
- 26. Cypher:基于公共属性密钥ID在节点之间创建关系
- 27. Neo4j:REST API Cypher Query查找两个节点之间的关系
- 28. Neo4j cypher - 根据csv值导入CSV并添加节点之间的关系
- 29. py2neo,neo4j:如何创建两个现有节点之间的关系
- 30. Neo4j与C#:创建2个现有节点之间的关系,否则不要