在类似 MATCH (v:player{name:“Tim Duncan”})-[e]->(v2)
RETURN v2.player.name, type(e), v2.player.age;
这样的语句中 如何只返回e的属性呢, 直接properties(e) 会返回badtype 因为e是一个list
THX
在类似 MATCH (v:player{name:“Tim Duncan”})-[e]->(v2)
RETURN v2.player.name, type(e), v2.player.age;
这样的语句中 如何只返回e的属性呢, 直接properties(e) 会返回badtype 因为e是一个list
THX
我这里properties(e) , properties(e).degree 都可以正常返回结果的, 类似这样, 你的数据集是什么?
(root@nebula) [basketballplayer]> MATCH (v:player{name:"Tim Duncan"})-[e]->(v2) RETURN v2.player.name, properties(e), v2.player.age;
+-----------------+------------------------------------+---------------+
| v2.player.name | properties(e) | v2.player.age |
+-----------------+------------------------------------+---------------+
| __NULL__ | {end_year: 2016, start_year: 1997} | __NULL__ |
| "Manu Ginobili" | {degree: 95} | 41 |
| "Tony Parker" | {degree: 95} | 36 |
+-----------------+------------------------------------+---------------+
感谢回复,
MATCH (v:player{name:“Tim Duncan”})-[e*1..9]->(v2) RETURN properties(e);
试下这种呢,e要是一个列表
是一个list吗, 可以试试下标语法: properties(e[0])
是的,这样是可以的,但是只返回了第一个边的属性,想要返回所有边的属性。
return properties(e[0]),properties(e[1]),properties(e[2]) …
这样太长了吧? 有没有更好的方式呢?
return e 全部返回呢, 这样满足需求吗
或者unwind一下也可以
MATCH (v:player{name:“Tim Duncan”})-[e*1…2]->(v2) unwind e as edgelist return edgelist
试了一下 返回的结果里的edges_parsed_list里能直接读取到边的属性了,可以满足需求