gpt4 book ai didi

java - Neo4j/CYPHER : How can I query some properties from a node, 它的关系和目标节点有效吗?

转载 作者:行者123 更新时间:2023-11-29 03:13:31 25 4
gpt4 key购买 nike

我想查询一组节点的属性子集、它们的关系以及具有某些属性的目标节点(从 Java 和 CYPHER 通过 REST)。我的想法如下:

MATCH a WHERE id(a) IN {ids}
OPTIONAL MATCH (a)-[r]->(b)
RETURN id(a), a.name, a.attr1, r.attr2, id(b), b.name

现在我得到每个关系的“行”,但它多次包含每个节点“a”的数据。

有没有更好的方法来进行这样的查询,以便节点“a”的属性只传输一次?一种想法是进行 2 个单独的查询,但是如果 WHERE 条件稍微复杂一点,它可能会执行两次。

最佳答案

使用收集功能。

http://neo4j.com/docs/stable/query-aggregation.html#aggregation-collect

MATCH a WHERE id(a) IN {ids}
OPTIONAL MATCH (a)-[r]->(b)
RETURN id(a), a.name, a.attr1, collect([r.attr2, id(b), b.name])

关于java - Neo4j/CYPHER : How can I query some properties from a node, 它的关系和目标节点有效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27985564/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com