在 Neo4J 中,如何检索节点,以及有关它们是否连接到特定节点的附加信息
In Neo4J, how to retrieve nodes, along with additional information about if they are connected or not to a specific node
我有包含产品信息 (P) 的节点。每次用户喜欢该产品时,都会创建关系 [L] 连接用户 (U)->[L]->[P]
现在我需要根据特定条件检索一组 Product 节点,还需要 return 额外的信息,表明它们是否被特定用户喜欢。
所以如果产品结构是这样的
{ Product Name, Price }
如果说,3 个产品中有 1 个被用户 X 喜欢,我需要的结果集可能是这样的
[{Product1, 29.00, true}, {Product2, 39.00, false}, {Product3, 25.00, false}]
这里的true是指用户喜欢过Product1,没有喜欢过Product2。
我不确定如何编写包含 returned 节点是否受欢迎的附加信息的查询
我认为这样的东西可以满足您的需求。
匹配所有产品。您将希望以某种方式缩小这场比赛的范围。
可选择匹配用户喜欢的每个产品。
Return 包含名称、价格和类似状态的地图集合。
match (p:Product)
optional match (u:User)-[:LIKES]->p
with {product:p.name, price:p.price, like: case when u is null then false else true end} as Product_Detail
return collect(Product_Detail)
我有包含产品信息 (P) 的节点。每次用户喜欢该产品时,都会创建关系 [L] 连接用户 (U)->[L]->[P]
现在我需要根据特定条件检索一组 Product 节点,还需要 return 额外的信息,表明它们是否被特定用户喜欢。
所以如果产品结构是这样的
{ Product Name, Price }
如果说,3 个产品中有 1 个被用户 X 喜欢,我需要的结果集可能是这样的
[{Product1, 29.00, true}, {Product2, 39.00, false}, {Product3, 25.00, false}]
这里的true是指用户喜欢过Product1,没有喜欢过Product2。
我不确定如何编写包含 returned 节点是否受欢迎的附加信息的查询
我认为这样的东西可以满足您的需求。
匹配所有产品。您将希望以某种方式缩小这场比赛的范围。
可选择匹配用户喜欢的每个产品。
Return 包含名称、价格和类似状态的地图集合。
match (p:Product)
optional match (u:User)-[:LIKES]->p
with {product:p.name, price:p.price, like: case when u is null then false else true end} as Product_Detail
return collect(Product_Detail)