相关疑难解决方法(0)

如果不存在关系,则返回节点

我正在尝试使用cypher创建一个查询,它将"找到"厨师可能缺少的成分,我的图形设置如下:

(ingredient_value)-[:is_part_of]->(ingredient)
Run Code Online (Sandbox Code Playgroud)

(ingredient)将具有name ="染料颜色"的键/值. (ingredient_value)可以有一个键值/值="红色"和"是"的一部分(ingredient, name="dye colors").

(chef)-[:has_value]->(ingredient_value)<-[:requires_value]-(recipe)-[:requires_ingredient]->(ingredient)
Run Code Online (Sandbox Code Playgroud)

我正在使用这个查询获得ingredients食谱所需的所有,但不是它们的实际值,但我希望只返回ingredients厨师没有的,而不是每个食谱所需的所有成分.我试过了

(chef)-[:has_value]->(ingredient_value)<-[:requires_value]-(recipe)-[:requires_ingredient]->(ingredient)<-[:has_ingredient*0..0]-chef
Run Code Online (Sandbox Code Playgroud)

但这没有任何回报.

这是可以通过cypher/neo4j实现的东西,还是通过返回所有成分并通过它们自行分类来最好地处理这个问题?

额外奖励:还有一种方法可以使用cypher来匹配厨师拥有的所有值以及食谱所需的所有值.到目前为止,我只返回了a返回的所有部分匹配,chef-[:has_value]->ingredient_value<-[:requires_value]-recipe并自己聚合结果.

neo4j cypher

82
推荐指数
3
解决办法
7万
查看次数

标签 统计

cypher ×1

neo4j ×1