是否可以在SDN中的两个节点之间定义唯一的关系类型?
我希望在起始节点和结束节点之间只有一种这种类型的关系,例如:
@Unique
@RelationshipEntity(type="TYPE")
public class Relation {
@StartNode
private NodeTypeOne source;
@EndNode
private NodeTypeTwo target;
}
答案 0 :(得分:1)
如果您正在使用SDN 4,那么没有可用的@Unique注释,您必须自己在应用程序代码中进行管理。如果你没有关系的属性,那么你应该使用简单的@Relationship而不是关系实体。
SDN 4对关系的当前行为是:
Spring Data Neo4j默认确保只有一个 任何两个给定实体之间给定类型的关系。该 此规则的例外情况是将关系指定为其中之一 两个相同类型的实体之间的进行或进入。在这 在这种情况下,可以有两种给定类型的关系 在两个实体之间,两个方向都有一个关系。
对于关系实体,
具有相同属性值和的多个关系实体 关联相同的节点是彼此难以区分的 由SDN 4表示为单一关系。
但是,您的应用程序应该为这些添加足够的检查,而不依赖于SDN的唯一性管理,因为未来的版本可能会增强/改变行为。