neo4j cypher,找到节点,它是id的关系

时间:2014-07-18 13:07:25

标签: java neo4j cypher

我希望按节点id匹配节点,并且还得到它与另一个节点的关系, 第一部分是工作,当你传递params,但我不知道如何获得另一个节点之间的关系,并返回第二个节点属性。

这部分是工作:

MATCH (a:Player) where ID(a)= {id} RETURN ID(a), a.name, a.surname, a.position

这是完整查询:

Map<String, Object> params = new HashMap<>();
params.put("id", id);
ExecutionResult result = engine.execute("MATCH (a:Player) where ID(a)= {id}- [:`PLAY_IN`]-(b:Team) "
        + " RETURN ID(a), a.name, a.surname, a.position, ID(b), b.name ", params);

1 个答案:

答案 0 :(得分:3)

如果我正确阅读了您的密码,您需要:

MATCH (a)-[:PLAY_IN]-(b:Team)
WHERE ID(a) = {id}
RETURN ID(a), a.name, a.surname, a.position, ID(b), b.name

我不完全确定在这里使用参数的语法,但是你的WHERE位置错误。你也可以这样做:

MATCH (a)
WHERE ID(a) = {id}
MATCH (a)-[:PLAY_IN]-(b:Team)
RETURN ID(a), a.name, a.surname, a.position, ID(b), b.name

但基本上是where where match子句,你需要启动一个新的Match子句。