bob*_*o32 2 java neo4j nested-query
我正在尝试使用Java进行一种嵌套Neo4j查询,该查询首先标记节点的子集,然后尝试匹配其中的某些模式。更具体地说,这就像合并2个此类查询:
1-匹配(n)-[r:RELATIONSHIP * 1..3]->(m)设置m:LABEL
2-匹配(p:LABEL)-[r2:RELATIONSHIP]->(q:OTHERLABEL),其中r2.time <100返回p,r2,q
有没有一种方法可以使用Java函数engine.execute()将两个查询合并为一个?
通常,查询2中的“ p”对应于查询1中的“ m”的超集。如果这是您的意图,则应该可以进行以下操作。请注意,这2个MATCH语句没有公共变量,但是Cypher语法要求使用WITH,因此我随意选择了变量'm'传递给第二个MATCH(即使它将被忽略)。
MATCH (n)-[r:RELATIONSHIP*1..3]->(m)
SET m:LABEL
WITH m
MATCH (p:LABEL)-[r2:RELATIONSHIP]->(q:OTHERLABEL)
WHERE r2.time<100
RETURN p,r2,q;
Run Code Online (Sandbox Code Playgroud)
如果您希望'm'和'p'完全相同,则只需将'(p:LABEL)'替换为'(m)':
MATCH (n)-[r:RELATIONSHIP*1..3]->(m)
SET m:LABEL
WITH m
MATCH (m)-[r2:RELATIONSHIP]->(q:OTHERLABEL)
WHERE r2.time<100
RETURN m,r2,q;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2140 次 |
| 最近记录: |