我有以下查询
MATCH (wallstreet { title:'Wall Street' })<-[r:ACTED_IN|DIRECTED]-(person)
RETURN person
我需要
分别对ACTED_IN
和DIRECTED
应用过滤器。
路径可以包含ACTED_IN
两次。我可能需要对OR
或AND
应用两个条件。
分别为ACTED_IN和DIRECTED申请INCOMING和OUTGOING以及
任何正文都可以提供满足上述三个要求的密码查询吗?
MATCH (wallstreet { title:'Wall Street' })<-[r:ACTED_IN{Name:"Titanic"}|r1:DIRECTED{Name:"iceage1"}|r1:DIRECTED{Name:"Iceage2"}]-(person)
RETURN person
如果您观察到Psedo代码,我只更改了关系部分。我添加了三个相同类型的关系。我为关系部分中的每个关系添加了过滤器属性。
答案 0 :(得分:1)
这可能接近你要找的东西。我假设电影标题存储在电影节点中,而不是关系中:
MATCH ({title:'Wall Street'})<-[:ACTED_IN|DIRECTED]-(person)-[r:ACTED_IN|DIRECTED]->(other)
WHERE
(TYPE(r) = 'ACTED_IN' AND other.title = 'Titanic') OR
(TYPE(r) = 'DIRECTED' AND other.title IN ['Ice Age 1', 'Ice Age 2'])
RETURN person;
该查询会查找所有参与或指示过“华尔街&#34;谁也参加了泰坦尼克号&#34;或指导前2&#34;冰河时代&#34;电影。