我的图表如下所示:
Brand--SOLD_BY-->Store
某个商品的一个品牌可以由多个商店出售。同样,单个商店可以销售多个品牌的商品。
我想要实现的是找到所有销售特定品牌的商店,但结果与商店一起,我也希望其他品牌由该特定商店销售。
例如:
Brand1由StoreA,StoreB,StoreC销售。结果应该看起来像......
StoreA - Brand1,Brand2
StoreB - Brand1,Brand3
StoreC - Brand1
我设法找到商店,但我找不到商店出售的其他品牌。
MATCH (b:Brand)-[s:SOLD_BY]->(s:Store)
WHERE b.id=1
WITH DISTINCT s AS stores
RETURN stores
我曾经想过的一件事是,如果我应该在收集的商店内找到并找到品牌,但我不知道效率是多少,因为图表可以有很多节点。
任何帮助都将不胜感激,谢谢。
答案 0 :(得分:0)
您可以尝试此查询:
MATCH (:Brand {id:1})-[:SOLD_BY]->(s:Store)
RETURN s, [ (b)-[:SOLD_BY]->(s) | b] AS brands
请参阅此链接以获取更多信息:https://neo4j.com/blog/cypher-graphql-neo4j-3-1-preview/
干杯