MATCH 查询获取起始节点问题

场景:match (n)-[r:XX]-(m) return startNode(r);
neo4j startNode获取的是起始节点
nebula startNode获取的是起始节点的tag
nebula哪个函数可以直接获取起始节点呢?

return startNode(r) 目前只能拿到vid, 拿不到属性. 你可以直接return n呀.

1 个赞

因为我不知道以前的neo4J的startNode是否存在方向
startNode-[]->endNode

  1. 拿到起点id后fetch下
    match (n)-[r:like]-(m) return id(startNode(r)) as vid | fetch prop on * $-.vid yield vertex as v
  2. 用typeid函数判断边的方向
    match (n)-[r:like]-(m) return case when typeid(r) > 0 then n else m end

startNode(r) 好像无论方向怎么变都是返回的n的参数…
match (n)<-[r]-(m) return startNode(r) 这样,,起点是n,然而我需要起点id按照方向来而不是语句来。感觉是个BUG。

将原有起始点和边数据拿出来再加上箭头看有无结果,有结果方向正确,没结果,交换起始点数据返回出参了

1 个赞

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。