如何在具有多个依赖关系的2个节点之间获取单个关系数据

时间:2018-03-21 14:36:56

标签: neo4j cypher

我有2个节点,我在具有不同属性的相同节点之间存储2个关系

MATCH (n)-[rel:HAS_PAY_GROUP_AREA]-(m)

此处rel有数量和状态。状态是DRAFT / PUBLISHED,同时状态可能都是已发布的值和草稿值,我想过滤草案关系是否存在然后它将除了给出已发布的(如果存在的话)。 / p>

任何想法或建议 enter image description here enter image description here

1 个答案:

答案 0 :(得分:0)

试试这个:

match (:TEST{name: 1})-[r1:HAS_PAY_GROUP_AREA]->(:TEST2{name: 3})
with r1 order
by r1.state = 'DRAFT' desc
limit 1
return r1

我获得了nn2个节点之间的所有关系。这些关系按表达式r1.state = 'DRAFT'按降序排序。这样,表达式为真的关系在顺序中排在第一位。此外,我限制为1.如果与r1.state = 'DRAFT'没有关系,则返回已发布的关系。