Graph 如何防止neo4j图与其自身有关系?

Graph 如何防止neo4j图与其自身有关系?,graph,neo4j,cypher,directed-acyclic-graphs,directed-graph,Graph,Neo4j,Cypher,Directed Acyclic Graphs,Directed Graph,1.我应该如何防止节点在neo4j图中与其自身有关系 2.我应该如何强制节点之间只有一个关系,我的意思是如果节点A与节点B的关系是这样的:A-->B,就不应该有任何B-->A 我知道在图中,一切都是我自己的,所以我可以处理这两个,但是考虑到有一个java API,用户说应该创建哪些节点和关系,但是我想阻止用户从1和2?< /p> neo4j中是否有处理它们的可能性?您可以使用GraphDatabaseService实例实现执行强制约束的[TransactionEventHandler][1]。T

1.我应该如何防止节点在neo4j图中与其自身有关系

2.我应该如何强制节点之间只有一个关系,我的意思是如果节点A与节点B的关系是这样的:A-->B,就不应该有任何B-->A

我知道在图中,一切都是我自己的,所以我可以处理这两个,但是考虑到有一个java API,用户说应该创建哪些节点和关系,但是我想阻止用户从1和2?< /p>


neo4j中是否有处理它们的可能性?

您可以使用GraphDatabaseService实例实现执行强制约束的
[TransactionEventHandler][1]
TransactionEventHandler
可以检查当前事务的内容,并最终否决提交,请参见。

听起来您需要一个有向无环图(DAG)-但是长度较长的循环呢?有-->B-->C-->A可以吗?听起来像是多重人格障碍问题。是的,有-->B和C-->A可以。是的,我确实想要DAG,我应该怎样才有DAG?