tig*_*k89 4 neo4j spring-data-neo4j
我完全是新手Neo4j,这些天我正在测试它。我遇到的一个问题是如何正确实现涉及 3 个不同节点的关系,使用Spring Data. 举个例子,我有3个@NodeEntityS: User,Tag和TaggableObject。
正如您可以争论的那样, aUser可以将 a 添加Tag到 a TaggableObject;我用一个@RelationshipEntity TaggingOperation. 但是,我找不到一种简单的方法来粘合关系中的 3 个实体。我的意思是,显而易见的选择是设置@StartNode User tagger和@EndNode TaggedObject taggedObject;但我怎样才能将 加入Tag到关系中?
我相信这被称为“超边缘”,并且它不是 Neo4j 直接支持的东西。你可以创建一个额外的节点来支持它,很难。因此,您可以拥有一个TagEvent具有如下架构的节点:
(:User)-[:PERFORMED]->(:TagEvent)
(:Tag)<-[:USED]-(:TagEvent)
(:TagObject)<-[:TAGGED]-(:TagEvent)
Run Code Online (Sandbox Code Playgroud)
另一种选择是将外键存储为关系或节点上的属性。显然,这不是很图形化,但如果您只是需要它作为参考,那可能不是一个糟糕的解决方案。请记住不要使用内部 Neo4j ID,因为在可能不可靠的未来版本中。为此,您应该创建自己的 ID。
| 归档时间: |
|
| 查看次数: |
2044 次 |
| 最近记录: |