【发布时间】:2019-10-16 14:42:47
【问题描述】:
所以,我目前正在编写一个 Cypher 查询,我想在其中获取数据库中的所有条目及其关系,以便将它们导入 Cytoscape 以进行进一步分析。
我想将两种关系类型组合到一个变量中,对它们使用 WHERE 操作并返回结果。假设我想根据用户花了多少钱(例如收藏版)或他是否真的设法观看了这部电影来获取有趣电影的列表。
现在,我的查询看起来像这样,based on this example:
MATCH (p:Person)-[rel:`watched`|`bought`]->(c:Movie)
WHERE
(rel.watch_min >= 50) or (rel.bought_price > 10)
RETURN p, rel, c
现在,在 Neo4j 浏览器中,这可以正常工作。但是rel 的输出只有watched 关系的关系属性,而不是组合的关系属性。
查询需要是什么样子才能使rel 包含来自watched 和bought 的两个属性?
我主要想写的是这样的:
MATCH (p:Person)-[r1:`watched`|r2:`bought`]->(c:Movie)
WHERE
(rl.watch_min >= 50) or (r2.bought_price > 10)
RETURN p, r1, r2, c
但不幸的是,这是无效的语法。
【问题讨论】: