Neo4j和Cypher:从共享关系的连接节点获取计数

时间:2018-05-31 15:46:53

标签: neo4j cypher

对标题感到抱歉。试图找出解决问题的最佳方式。

我正在开发一个有3个节点(经销商,汽车和颜色(汽车)的项目。我想使用我的图形数据库而不是MySQL数据库。

我有一个经销商,连接到汽车的年份/品牌/型号,每个经销商都提供某种颜色的ymm汽车。因此看起来连接类似于(d:经销商) - [:OFFERS] - >(c:Car) - [:PAINTED] - >(co:Color)。但是一些经销商提供不同颜色的相同ymm汽车。所以我需要弄清楚的是从经销商到汽车再到颜色的正确关系和密码,以便能够为每个经销商收集()每辆汽车的颜色。

我在绘制空白的地方是因为多个经销商可能连接到同一个车节点(因为它一般)然后关闭到颜色,如何获得经销商提供的所有车辆以及该车的所有颜色他们提供。即使汽车连接10种颜色(总共可能),经销商可能只提供5种颜色。

每辆车都需要成为一个独特的节点才能实现这一目标吗?谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用Offer节点代表经销商提供的特定产品。例如:

(d:Dealership)-[:OFFERS]->(o:Offer),
(c:Car)<-[:MODEL]-(o)-[:PAINTED]->(co:Color)

Offer节点还可以包含特定于该产品的数据,例如price