如何在neo4j中建模通过第三个节点相关的两个节点?

时间:2016-05-24 13:32:01

标签: neo4j

我正在学习Neo4j,目前正在考虑我想到的场景。 我有3个产品P1,P2,P3。 P1和P2是独立产品。 P3是一个可以帮助您连接P1和P2的适配器。

我想到了this,P3是P1-[connects_to]-P2关系的属性,但那么我如何存储P3的属性? 如果我将所有三个产品创建为节点并执行connects_toP1-[connects_to]-P3,那么这并不能真正代表域名。 我如何在Neo4j中建模?

3 个答案:

答案 0 :(得分:1)

  1. 您还可以在关系中存储属性

  2. 为什么将P3创建为节点并将其连接到不代表域的其他节点?

  3. connections_to是一个非常糟糕的非描述性关系类型,在您的域中找到更好地表达该关系的内容。

答案 1 :(得分:1)

将P1,P2和P3作为节点(因为您说它们中的所有3个都是产品)并将P3与不同的标签放在一起,将其标识为连接节点。

答案 2 :(得分:0)

我认为你可以使用类似的模型:

(P1)-[:connected_through]->(A:Adapter)<-[:connected_through]-(P2)

(A)-[:type_is]->(P3)

enter image description here