返回两跳关系后 target groupby 之后返回路径 进行LIMIT

提问参考模版:

  • nebula 版本:v2.0.1
  • 部署方式(分布式 / 单机 / Docker / DBaaS):分布式
  • 是否为线上版本:Y
  • 问题的具体描述

有这么一条路径 A - Hold → B ← Invest - C
现在入参是A的vid, 想要返回整个路径的所有点和关系属性,这个已经实现
有若干个排序规则,已经实现
但是C 为ValueA 、 ValueB的时候,可能会有若干条路径,比如,ValueA 3 条,ValueB 5条,
现在需要返回时候,保证C为ValueA,ValueB 的若干个路径作为一个整体Limit 5, 需求是C为五个Value 的所有路径,

但是当前Nebula 的limit5 会变成五条路径,C 的值可能只有一个, 请问该怎么实现这个C group by 之后的LIMIT

现在实现语句如下[没有Index 只能用Go语法]

go from 9032281971844695048 OVER Hold yield $^.Company.name as srcName, $^.Company.keyno as srcKeyno, $$.Company.name as mName, $$.Company.keyno as mKeyno, Hold._dst as id, Hold.stockpercent as sr, Hold.type as type| go from $-.id OVER Invest Reversely where Invest.stockpercent >= 10 and Invest._dst != 9032281971844695048 and length($$.Company.keyno) > 0 yield $$.Company.shortstatus as status,  $-.srcName as srcName, $-.srcKeyno as srcKeyno, $-.sr as relPercent, $-.type as relType, $-.mName as middleName, $-.mKeyno as middleKeyno, $$.Company.name as targetName, $$.Company.keyno as targetKeyno, Invest.role as rel2Role, Invest.type as rel2Type, Invest.stockpercent as rel2Percent, $-.sr as p1, Invest.stockpercent as p2 | ORDER BY status ASC, p1 desc, p2 desc, targetKeyno desc  | LIMIT 100

OpenCpyher 语句如下,

MATCH p = (self:Company)-[sr:HOLD]->(:Company)<-[tr:INVEST]-(target:Company) WHERE self.keyNo = "6bc7e7ccdb755391651316a0227c059b" AND tr.stockPercent >= 10 AND target.keyNo <> "6bc7e7ccdb755391651316a0227c059b" RETURN CASE target.status  AS status, target, collect(p) AS path, 'HE-BE10' AS nodeType, max(sr.percent) AS p1, max(tr.stockPercent) AS p2 ORDER BY status, p1 desc, p2 desc SKIP 0 LIMIT 10

有人在吗,请帮忙看一下这个问题

您好,请问您是想只取针对一个 target,来说限制 path对么?

(root@nebula) [basketballplayer]> MATCH p=(v0)-[s:serve]->(v1)<-[t:serve]-(v2) WHERE id(v0) == "player102" RETURN v2.name, collect(p) AS path, max(s.start_year) AS p1, max(t.start_year) as p2, v2.age AS v2age ORDER BY v2age, p1 desc LIMIT 8
+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+------+-------+
| v2.name            | path                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | p1   | p2   | v2age |
+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+------+-------+
| "Kyle Anderson"    | [<("player102" :player{age: 33, name: "LaMarcus Aldridge"})-[:serve@0 {end_year: 2019, start_year: 2015}]->("team204" :team{name: "Spurs"})<-[:serve@0 {end_year: 2018, start_year: 2014}]-("player106" :player{age: 25, name: "Kyle Anderson"})>]                                                                                                                                                                                                                                                                     | 2015 | 2014 | 25    |
+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+------+-------+
| "Cory Joseph"      | [<("player102" :player{age: 33, name: "LaMarcus Aldridge"})-[:serve@0 {end_year: 2019, start_year: 2015}]->("team204" :team{name: "Spurs"})<-[:serve@0 {end_year: 2015, start_year: 2011}]-("player110" :player{age: 27, name: "Cory Joseph"})>]                                                                                                                                                                                                                                                                       | 2015 | 2011 | 27    |
+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+------+-------+
| "Damian Lillard"   | [<("player102" :player{age: 33, name: "LaMarcus Aldridge"})-[:serve@0 {end_year: 2015, start_year: 2006}]->("team203" :team{name: "Trail Blazers"})<-[:serve@0 {end_year: 2019, start_year: 2012}]-("player135" :player{age: 28, name: "Damian Lillard"})>]                                                                                                                                                                                                                                                            | 2006 | 2012 | 28    |
+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+------+-------+
| "Jonathon Simmons" | [<("player102" :player{age: 33, name: "LaMarcus Aldridge"})-[:serve@0 {end_year: 2019, start_year: 2015}]->("team204" :team{name: "Spurs"})<-[:serve@0 {end_year: 2017, start_year: 2015}]-("player112" :player{age: 29, name: "Jonathon Simmons"})>]                                                                                                                                                                                                                                                                  | 2015 | 2015 | 29    |
+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+------+-------+
| "Dejounte Murray"  | [<("player102" :player{age: 33, name: "LaMarcus Aldridge"})-[:serve@0 {end_year: 2019, start_year: 2015}]->("team204" :team{name: "Spurs"})<-[:serve@0 {end_year: 2019, start_year: 2016}]-("player113" :player{age: 29, name: "Dejounte Murray"})>]                                                                                                                                                                                                                                                                   | 2015 | 2016 | 29    |
+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+------+-------+
| "Danny Green"      | [<("player102" :player{age: 33, name: "LaMarcus Aldridge"})-[:serve@0 {end_year: 2019, start_year: 2015}]->("team204" :team{name: "Spurs"})<-[:serve@0 {end_year: 2018, start_year: 2010}]-("player105" :player{age: 31, name: "Danny Green"})>]                                                                                                                                                                                                                                                                       | 2015 | 2010 | 31    |
+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+------+-------+
| "Marco Belinelli"  | [<("player102" :player{age: 33, name: "LaMarcus Aldridge"})-[:serve@0 {end_year: 2019, start_year: 2015}]->("team204" :team{name: "Spurs"})<-[:serve@20182019 {end_year: 2019, start_year: 2018}]-("player104" :player{age: 32, name: "Marco Belinelli"})>, <("player102" :player{age: 33, name: "LaMarcus Aldridge"})-[:serve@0 {end_year: 2019, start_year: 2015}]->("team204" :team{name: "Spurs"})<-[:serve@20132015 {end_year: 2015, start_year: 2013}]-("player104" :player{age: 32, name: "Marco Belinelli"})>] | 2015 | 2018 | 32    |
+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+------+-------+
| "Aron Baynes"      | [<("player102" :player{age: 33, name: "LaMarcus Aldridge"})-[:serve@0 {end_year: 2019, start_year: 2015}]->("team204" :team{name: "Spurs"})<-[:serve@0 {end_year: 2015, start_year: 2013}]-("player107" :player{age: 32, name: "Aron Baynes"})>]                                                                                                                                                                                                                                                                       | 2015 | 2013 | 32    |
+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+------+-------+

collect(p)[..1] AS path 我用 [..1] 限制了这里只返回 1 个路径,可以注意 Marco Belinelli 的路径少了

(root@nebula) [basketballplayer]> MATCH p=(v0)-[s:serve]->(v1)<-[t:serve]-(v2) WHERE id(v0) == "player102" RETURN v2.name, collect(p)[..1] AS path, max(s.start_year) AS p1, max(t.start_year) as p2, v2.age AS v2age ORDER BY v2age, p1 desc LIMIT 8
+--------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+------+-------+
| v2.name            | path                                                                                                                                                                                                                                                        | p1   | p2   | v2age |
+--------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+------+-------+
| "Kyle Anderson"    | [<("player102" :player{age: 33, name: "LaMarcus Aldridge"})-[:serve@0 {end_year: 2019, start_year: 2015}]->("team204" :team{name: "Spurs"})<-[:serve@0 {end_year: 2018, start_year: 2014}]-("player106" :player{age: 25, name: "Kyle Anderson"})>]          | 2015 | 2014 | 25    |
+--------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+------+-------+
| "Cory Joseph"      | [<("player102" :player{age: 33, name: "LaMarcus Aldridge"})-[:serve@0 {end_year: 2019, start_year: 2015}]->("team204" :team{name: "Spurs"})<-[:serve@0 {end_year: 2015, start_year: 2011}]-("player110" :player{age: 27, name: "Cory Joseph"})>]            | 2015 | 2011 | 27    |
+--------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+------+-------+
| "Damian Lillard"   | [<("player102" :player{age: 33, name: "LaMarcus Aldridge"})-[:serve@0 {end_year: 2015, start_year: 2006}]->("team203" :team{name: "Trail Blazers"})<-[:serve@0 {end_year: 2019, start_year: 2012}]-("player135" :player{age: 28, name: "Damian Lillard"})>] | 2006 | 2012 | 28    |
+--------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+------+-------+
| "Jonathon Simmons" | [<("player102" :player{age: 33, name: "LaMarcus Aldridge"})-[:serve@0 {end_year: 2019, start_year: 2015}]->("team204" :team{name: "Spurs"})<-[:serve@0 {end_year: 2017, start_year: 2015}]-("player112" :player{age: 29, name: "Jonathon Simmons"})>]       | 2015 | 2015 | 29    |
+--------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+------+-------+
| "Dejounte Murray"  | [<("player102" :player{age: 33, name: "LaMarcus Aldridge"})-[:serve@0 {end_year: 2019, start_year: 2015}]->("team204" :team{name: "Spurs"})<-[:serve@0 {end_year: 2019, start_year: 2016}]-("player113" :player{age: 29, name: "Dejounte Murray"})>]        | 2015 | 2016 | 29    |
+--------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+------+-------+
| "Danny Green"      | [<("player102" :player{age: 33, name: "LaMarcus Aldridge"})-[:serve@0 {end_year: 2019, start_year: 2015}]->("team204" :team{name: "Spurs"})<-[:serve@0 {end_year: 2018, start_year: 2010}]-("player105" :player{age: 31, name: "Danny Green"})>]            | 2015 | 2010 | 31    |
+--------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+------+-------+
| "Marco Belinelli"  | [<("player102" :player{age: 33, name: "LaMarcus Aldridge"})-[:serve@0 {end_year: 2019, start_year: 2015}]->("team204" :team{name: "Spurs"})<-[:serve@20182019 {end_year: 2019, start_year: 2018}]-("player104" :player{age: 32, name: "Marco Belinelli"})>] | 2015 | 2018 | 32    |
+--------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+------+-------+
| "Aron Baynes"      | [<("player102" :player{age: 33, name: "LaMarcus Aldridge"})-[:serve@0 {end_year: 2019, start_year: 2015}]->("team204" :team{name: "Spurs"})<-[:serve@0 {end_year: 2015, start_year: 2013}]-("player107" :player{age: 32, name: "Aron Baynes"})>]            | 2015 | 2013 | 32    |
+--------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+------+-------+

LIMIT 5 ,需求是返回五个target ,每个target 有对应的所有路径。

截图结果形式如下:

╒════════╤══════════════════════════════════════════════════════════════════════╤══════════════════════════════════════════════════════════════════════╤══════════╤════╤════╕
│"status"│"target"                                                              │"path"                                                                │"nodeType"│"p1"│"p2"│
╞════════╪══════════════════════════════════════════════════════════════════════╪══════════════════════════════════════════════════════════════════════╪══════════╪════╪════╡
│0       │{"keyNo":"fe515832f4273f5ac4efcc1afa28f968","isInvestor":"0","registCa│[[{"keyNo":"6bc7e7ccdb755391651316a0227c059b","isInvestor":"0","regist│"HE-BE10" │100 │100 │
│        │pi":"1000.000","isMain":"0","groupId":"mbc7e7ccdb755391651316a0227c059│Capi":"1099521.022","isMain":"1","groupId":"mbc7e7ccdb755391651316a022│          │    │    │
│        │b","name":"浙江万科随园嘉树老年公寓管理有限公司","econKind":"有限责任公司(非自然人投资或控股的法人独资)","ha│7c059b","name":"万科企业股份有限公司","econKind":"股份有限公司(上市)","hasImage":true,"s│          │    │    │
│        │sImage":true,"status":"存续"}                                           │tatus":"存续"},{"percent":100},{"keyNo":"69dc5394f79526580eef8b8edb08d7c│          │    │    │
│        │                                                                      │3","isInvestor":"0","registCapi":"1000.000","isMain":"0","groupId":"mb│          │    │    │
│        │                                                                      │c7e7ccdb755391651316a0227c059b","name":"深圳市万颐健康管理有限公司","econKind":"有限责│          │    │    │
│        │                                                                      │任公司(法人独资)","hasImage":true,"status":"存续"},{"keyNo":"69dc5394f79526580e│          │    │    │
│        │                                                                      │ef8b8edb08d7c3","isInvestor":"0","registCapi":"1000.000","isMain":"0",│          │    │    │
│        │                                                                      │"groupId":"mbc7e7ccdb755391651316a0227c059b","name":"深圳市万颐健康管理有限公司","e│          │    │    │
│        │                                                                      │conKind":"有限责任公司(法人独资)","hasImage":true,"status":"存续"},{"role":"企业法人",│          │    │    │
│        │                                                                      │"stockPercent":100,"shouldCapi":1000,"iscal":"1"},{"keyNo":"fe515832f4│          │    │    │
│        │                                                                      │273f5ac4efcc1afa28f968","isInvestor":"0","registCapi":"1000.000","isMa│          │    │    │
│        │                                                                      │in":"0","groupId":"mbc7e7ccdb755391651316a0227c059b","name":"浙江万科随园嘉树老│          │    │    │
│        │                                                                      │年公寓管理有限公司","econKind":"有限责任公司(非自然人投资或控股的法人独资)","hasImage":true,"status│          │    │    │
│        │                                                                      │":"存续"}]]                                                             │          │    │    │
├────────┼──────────────────────────────────────────────────────────────────────┼──────────────────────────────────────────────────────────────────────┼──────────┼────┼────┤
│0       │{"keyNo":"fb9d01f47b67e77092a4eab128a1832c","isInvestor":"0","registCa│[[{"keyNo":"6bc7e7ccdb755391651316a0227c059b","isInvestor":"0","regist│"HE-BE10" │100 │100 │
│        │pi":"500.000","isMain":"0","groupId":"mbc7e7ccdb755391651316a0227c059b│Capi":"1099521.022","isMain":"1","groupId":"mbc7e7ccdb755391651316a022│          │    │    │
│        │","name":"徐州市骆驿企业管理服务有限公司","econKind":"有限责任公司(非自然人投资或控股的法人独资)","hasIma│7c059b","name":"万科企业股份有限公司","econKind":"股份有限公司(上市)","hasImage":true,"s│          │    │    │
│        │ge":false,"status":"存续"}                                              │tatus":"存续"},{"percent":100},{"keyNo":"9f497df5dc36d52dae01d365242121f│          │    │    │
│        │                                                                      │d","isInvestor":"0","registCapi":"1034.000","isMain":"0","groupId":"mb│          │    │    │
│        │                                                                      │c7e7ccdb755391651316a0227c059b","name":"徐州市茗智企业管理服务有限公司","econKind":"有│          │    │    │
│        │                                                                      │限责任公司(非自然人投资或控股的法人独资)","hasImage":false,"status":"存续"},{"keyNo":"9f497│          │    │    │
│        │                                                                      │df5dc36d52dae01d365242121fd","isInvestor":"0","registCapi":"1034.000",│          │    │    │
│        │                                                                      │"isMain":"0","groupId":"mbc7e7ccdb755391651316a0227c059b","name":"徐州市茗│          │    │    │
│        │                                                                      │智企业管理服务有限公司","econKind":"有限责任公司(非自然人投资或控股的法人独资)","hasImage":false,"sta│          │    │    │
│        │                                                                      │tus":"存续"},{"role":"企业法人","stockPercent":100,"shouldCapi":1034,"iscal"│          │    │    │
│        │                                                                      │:"1"},{"keyNo":"fb9d01f47b67e77092a4eab128a1832c","isInvestor":"0","re│          │    │    │
│        │                                                                      │gistCapi":"500.000","isMain":"0","groupId":"mbc7e7ccdb755391651316a022│          │    │    │
│        │                                                                      │7c059b","name":"徐州市骆驿企业管理服务有限公司","econKind":"有限责任公司(非自然人投资或控股的法人独资)","│          │    │    │
│        │                                                                      │hasImage":false,"status":"存续"}],[{"keyNo":"6bc7e7ccdb755391651316a0227│          │    │    │
│        │                                                                      │c059b","isInvestor":"0","registCapi":"1099521.022","isMain":"1","group│          │    │    │
│        │                                                                      │Id":"mbc7e7ccdb755391651316a0227c059b","name":"万科企业股份有限公司","econKind":│          │    │    │
│        │                                                                      │"股份有限公司(上市)","hasImage":true,"status":"存续"},{"percent":100},{"keyNo":"│          │    │    │
│        │                                                                      │2799e80c512b4845ee59f2ab0b531bd4","isInvestor":"0","registCapi":"1034.│          │    │    │
│        │                                                                      │000","isMain":"0","groupId":"mbc7e7ccdb755391651316a0227c059b","name":│          │    │    │
│        │                                                                      │"徐州市茗郡企业管理服务有限公司","econKind":"有限责任公司(非自然人投资或控股的法人独资)","hasImage":false│          │    │    │
│        │                                                                      │,"status":"存续"},{"keyNo":"2799e80c512b4845ee59f2ab0b531bd4","isInvesto│          │    │    │
│        │                                                                      │r":"0","registCapi":"1034.000","isMain":"0","groupId":"mbc7e7ccdb75539│          │    │    │
│        │                                                                      │1651316a0227c059b","name":"徐州市茗郡企业管理服务有限公司","econKind":"有限责任公司(非自然人投资或│          │    │    │
│        │                                                                      │控股的法人独资)","hasImage":false,"status":"存续"},{"role":"企业法人","stockPercent│          │    │    │
│        │                                                                      │":100,"shouldCapi":1034,"iscal":"1"},{"keyNo":"fb9d01f47b67e77092a4eab│          │    │    │
│        │                                                                      │128a1832c","isInvestor":"0","registCapi":"500.000","isMain":"0","group│          │    │    │
│        │                                                                      │Id":"mbc7e7ccdb755391651316a0227c059b","name":"徐州市骆驿企业管理服务有限公司","econK│          │    │    │
│        │                                                                      │ind":"有限责任公司(非自然人投资或控股的法人独资)","hasImage":false,"status":"存续"}],[{"keyN│          │    │    │
│        │                                                                      │o":"6bc7e7ccdb755391651316a0227c059b","isInvestor":"0","registCapi":"1│          │    │    │
│        │                                                                      │099521.022","isMain":"1","groupId":"mbc7e7ccdb755391651316a0227c059b",│          │    │    │
│        │                                                                      │"name":"万科企业股份有限公司","econKind":"股份有限公司(上市)","hasImage":true,"status":"│          │    │    │
│        │                                                                      │存续"},{"percent":100},{"keyNo":"e870e3670e17e2bbabba3cc815283b4a","isIn│          │    │    │
│        │                                                                      │vestor":"0","registCapi":"1932.000","isMain":"0","groupId":"mbc7e7ccdb│          │    │    │
│        │                                                                      │755391651316a0227c059b","name":"徐州市茗邈企业管理服务有限公司","econKind":"有限责任公司(非自│          │    │    │
│        │                                                                      │然人投资或控股的法人独资)","hasImage":false,"status":"存续"},{"keyNo":"e870e3670e17e│          │    │    │
│        │                                                                      │2bbabba3cc815283b4a","isInvestor":"0","registCapi":"1932.000","isMain"│          │    │    │
│        │                                                                      │:"0","groupId":"mbc7e7ccdb755391651316a0227c059b","name":"徐州市茗邈企业管理服务有│          │    │    │
│        │                                                                      │限公司","econKind":"有限责任公司(非自然人投资或控股的法人独资)","hasImage":false,"status":"存续│          │    │    │
│        │                                                                      │"},{"role":"企业法人","stockPercent":100,"shouldCapi":1932,"iscal":"1"},{"│          │    │    │
│        │                                                                      │keyNo":"fb9d01f47b67e77092a4eab128a1832c","isInvestor":"0","registCapi│          │    │    │
│        │                                                                      │":"500.000","isMain":"0","groupId":"mbc7e7ccdb755391651316a0227c059b",│          │    │    │
│        │                                                                      │"name":"徐州市骆驿企业管理服务有限公司","econKind":"有限责任公司(非自然人投资或控股的法人独资)","hasImage│          │    │    │
│        │                                                                      │":false,"status":"存续"}]]                                              │          │    │    │
├────────┼──────────────────────────────────────────────────────────────────────┼──────────────────────────────────────────────────────────────────────┼──────────┼────┼────┤

可以看看这个Cypher 表达的意思:

MATCH p = (self:Company)-[sr:HOLD]->(:Company)<-[tr:INVEST]-(target:Company) WHERE self.keyNo = "6bc7e7ccdb755391651316a0227c059b" AND tr.stockPercent >= 10 AND target.keyNo <> "6bc7e7ccdb755391651316a0227c059b" RETURN CASE target.status  AS status, target, collect(p) AS path, 'HE-BE10' AS nodeType, max(sr.percent) AS p1, max(tr.stockPercent) AS p2 ORDER BY status, p1 desc, p2 desc SKIP 0 LIMIT 10

现在就是希望用Go语法改成这个效果,但是我试了几种写法都不行。最大的问题在于LIMIT 分页时,Go返回的每一行记录都是一个路径,一个target 对应了很多路径不是聚合到一起的

明白了,你的意思是MATCH 的 聚合 LIMIT 是能满足的,只不过想用 GO 做等价的聚合对么?

是的,目前没想到可以写出来的方式

1 个赞

如果只是使用 nGQL(不用 OpenCypher 的语法),只有 FIND PATH 能够取得路径,然后结合函数 nodes() 可以做到这样哈,值得注意的是,现在 FIND PATH 中间条件还只能限制 EDGE的属性,TAG的属性下一个版本估计会支持

GO FROM "player102" OVER serve YIELD serve._dst AS id| \
  GO FROM $-.id OVER serve REVERSELY WHERE serve.start_year > 2012 YIELD serve._dst AS v2_id | \
  FIND ALL PATH FROM "player102" TO $-.v2_id OVER serve BIDIRECT WHERE serve.end_year < 2020 | \
  YIELD nodes($-.path) as path| \
  YIELD $-.path[-1] as target, collect($-.path) as path | LIMIT 5

(root@nebula) [basketballplayer]> GO FROM "player102" OVER serve YIELD serve._dst AS id| GO FROM $-.id OVER serve REVERSELY WHERE serve.start_year > 2012 YIELD serve._dst AS v2_id | FIND ALL PATH FROM "player102" TO $-.v2_id OVER serve BIDIRECT WHERE serve.end_year < 2020 | YIELD nodes($-.path) as path| YIELD $-.path[-1] as target, collect($-.path) as path
+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| target        | path                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ("player111") | [[("player102"), ("team204"), ("player111")], [("player102"), ("team204"), ("player104"), ("team200"), ("player111")], [("player102"), ("team204"), ("player104"), ("team200"), ("player111")], [("player102"), ("team204"), ("player104"), ("team204"), ("player111")], [("player102"), ("team204"), ("player104"), ("team204"), ("player111")], [("player102"), ("team204"), ("player104"), ("team215"), ("player111")], [("player102"), ("team204"), ("player104"), ("team215"), ("player111")], [("player102"), ("team204"), ("player104"), ("team215"), ("player111")], [("player102"), ("team204"), ("player104"), ("team215"), ("player111")], [("player102"), ("team204"), ("player101"), ("team215"), ("player111")], [("player102"), ("team204"), ("player110"), ("team220"), ("player111")], [("player102"), ("team204"), ("player108"), ("team215"), ("player111")]]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ("player112") | [[("player102"), ("team204"), ("player112")], [("player102"), ("team204"), ("player109"), ("team219"), ("player112")], [("player102"), ("team204"), ("player104"), ("team204"), ("player112")], [("player102"), ("team204"), ("player104"), ("team204"), ("player112")], [("player102"), ("team204"), ("player104"), ("team219"), ("player112")], [("player102"), ("team204"), ("player104"), ("team219"), ("player112")], [("player102"), ("team204"), ("player114"), ("team226"), ("player112")]]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ("player113") | [[("player102"), ("team204"), ("player113")], [("player102"), ("team204"), ("player104"), ("team204"), ("player113")], [("player102"), ("team204"), ("player104"), ("team204"), ("player113")]]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ("player106") | [[("player102"), ("team204"), ("player106")], [("player102"), ("team204"), ("player138"), ("team212"), ("player106")], [("player102"), ("team204"), ("player104"), ("team204"), ("player106")], [("player102"), ("team204"), ("player104"), ("team204"), ("player106")], [("player102"), ("team204"), ("player103"), ("team212"), ("player106")]]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ("player104") | [[("player102"), ("team204"), ("player104")], [("player102"), ("team204"), ("player104")], [("player102"), ("team204"), ("player138"), ("team221"), ("player104")], [("player102"), ("team204"), ("player109"), ("team219"), ("player104")], [("player102"), ("team204"), ("player109"), ("team222"), ("player104")], [("player102"), ("team204"), ("player104"), ("team215"), ("player104")], [("player102"), ("team204"), ("player104"), ("team215"), ("player104")], [("player102"), ("team204"), ("player104"), ("team215"), ("player104")], [("player102"), ("team204"), ("player104"), ("team215"), ("player104")], [("player102"), ("team204"), ("player101"), ("team215"), ("player104")], [("player102"), ("team204"), ("player101"), ("team215"), ("player104")], [("player102"), ("team204"), ("player110"), ("team218"), ("player104")], [("player102"), ("team204"), ("player111"), ("team200"), ("player104")], [("player102"), ("team204"), ("player111"), ("team215"), ("player104")], [("player102"), ("team204"), ("player111"), ("team215"), ("player104")], [("player102"), ("team204"), ("player112"), ("team219"), ("player104")], [("player102"), ("team204"), ("player114"), ("team218"), ("player104")], [("player102"), ("team204"), ("player103"), ("team218"), ("player104")], [("player102"), ("team204"), ("player103"), ("team208"), ("player104")], [("player102"), ("team204"), ("player105"), ("team218"), ("player104")], [("player102"), ("team204"), ("player108"), ("team215"), ("player104")], [("player102"), ("team204"), ("player108"), ("team215"), ("player104")], [("player102"), ("team204"), ("player108"), ("team222"), ("player104")]] |
+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ("player103") | [[("player102"), ("team204"), ("player103")], [("player102"), ("team204"), ("player138"), ("team212"), ("player103")], [("player102"), ("team204"), ("player104"), ("team204"), ("player103")], [("player102"), ("team204"), ("player104"), ("team204"), ("player103")], [("player102"), ("team204"), ("player104"), ("team218"), ("player103")], [("player102"), ("team204"), ("player104"), ("team218"), ("player103")], [("player102"), ("team204"), ("player104"), ("team208"), ("player103")], [("player102"), ("team204"), ("player104"), ("team208"), ("player103")], [("player102"), ("team204"), ("player110"), ("team218"), ("player103")], [("player102"), ("team204"), ("player114"), ("team218"), ("player103")], [("player102"), ("team204"), ("player105"), ("team218"), ("player103")], [("player102"), ("team204"), ("player106"), ("team212"), ("player103")]]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ("player138") | [[("player102"), ("team204"), ("player138")], [("player102"), ("team204"), ("player104"), ("team204"), ("player138")], [("player102"), ("team204"), ("player104"), ("team204"), ("player138")], [("player102"), ("team204"), ("player104"), ("team221"), ("player138")], [("player102"), ("team204"), ("player104"), ("team221"), ("player138")], [("player102"), ("team204"), ("player103"), ("team212"), ("player138")], [("player102"), ("team204"), ("player106"), ("team212"), ("player138")]]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ("player107") | [[("player102"), ("team204"), ("player107")], [("player102"), ("team204"), ("player104"), ("team204"), ("player107")], [("player102"), ("team204"), ("player104"), ("team204"), ("player107")]]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ("player114") | [[("player102"), ("team204"), ("player114")], [("player102"), ("team204"), ("player104"), ("team204"), ("player114")], [("player102"), ("team204"), ("player104"), ("team204"), ("player114")], [("player102"), ("team204"), ("player104"), ("team218"), ("player114")], [("player102"), ("team204"), ("player104"), ("team218"), ("player114")], [("player102"), ("team204"), ("player110"), ("team218"), ("player114")], [("player102"), ("team204"), ("player112"), ("team226"), ("player114")], [("player102"), ("team204"), ("player103"), ("team218"), ("player114")], [("player102"), ("team204"), ("player105"), ("team218"), ("player114")]]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Got 9 rows (time spent 173956/190009 us)

Tue, 28 Sep 2021 15:30:39 CST

(root@nebula) [basketballplayer]> GO FROM "player102" OVER serve YIELD serve._dst AS id| GO FROM $-.id OVER serve REVERSELY WHERE serve.start_year > 2012 YIELD serve._dst AS v2_id | FIND ALL PATH FROM "player102" TO $-.v2_id OVER serve BIDIRECT WHERE serve.end_year < 2020 | YIELD nodes($-.path) as path| YIELD $-.path[-1] as target, collect($-.path) as path
+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| target        | path                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ("player111") | [[("player102"), ("team204"), ("player111")], [("player102"), ("team204"), ("player101"), ("team215"), ("player111")], [("player102"), ("team204"), ("player110"), ("team220"), ("player111")], [("player102"), ("team204"), ("player108"), ("team215"), ("player111")], [("player102"), ("team204"), ("player104"), ("team200"), ("player111")], [("player102"), ("team204"), ("player104"), ("team200"), ("player111")], [("player102"), ("team204"), ("player104"), ("team204"), ("player111")], [("player102"), ("team204"), ("player104"), ("team204"), ("player111")], [("player102"), ("team204"), ("player104"), ("team215"), ("player111")], [("player102"), ("team204"), ("player104"), ("team215"), ("player111")], [("player102"), ("team204"), ("player104"), ("team215"), ("player111")], [("player102"), ("team204"), ("player104"), ("team215"), ("player111")]]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ("player112") | [[("player102"), ("team204"), ("player112")], [("player102"), ("team204"), ("player109"), ("team219"), ("player112")], [("player102"), ("team204"), ("player104"), ("team204"), ("player112")], [("player102"), ("team204"), ("player104"), ("team204"), ("player112")], [("player102"), ("team204"), ("player104"), ("team219"), ("player112")], [("player102"), ("team204"), ("player104"), ("team219"), ("player112")], [("player102"), ("team204"), ("player114"), ("team226"), ("player112")]]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ("player113") | [[("player102"), ("team204"), ("player113")], [("player102"), ("team204"), ("player104"), ("team204"), ("player113")], [("player102"), ("team204"), ("player104"), ("team204"), ("player113")]]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ("player106") | [[("player102"), ("team204"), ("player106")], [("player102"), ("team204"), ("player138"), ("team212"), ("player106")], [("player102"), ("team204"), ("player104"), ("team204"), ("player106")], [("player102"), ("team204"), ("player104"), ("team204"), ("player106")], [("player102"), ("team204"), ("player103"), ("team212"), ("player106")]]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ("player104") | [[("player102"), ("team204"), ("player104")], [("player102"), ("team204"), ("player104")], [("player102"), ("team204"), ("player105"), ("team218"), ("player104")], [("player102"), ("team204"), ("player101"), ("team215"), ("player104")], [("player102"), ("team204"), ("player101"), ("team215"), ("player104")], [("player102"), ("team204"), ("player111"), ("team200"), ("player104")], [("player102"), ("team204"), ("player111"), ("team215"), ("player104")], [("player102"), ("team204"), ("player111"), ("team215"), ("player104")], [("player102"), ("team204"), ("player110"), ("team218"), ("player104")], [("player102"), ("team204"), ("player138"), ("team221"), ("player104")], [("player102"), ("team204"), ("player109"), ("team222"), ("player104")], [("player102"), ("team204"), ("player109"), ("team219"), ("player104")], [("player102"), ("team204"), ("player108"), ("team222"), ("player104")], [("player102"), ("team204"), ("player108"), ("team215"), ("player104")], [("player102"), ("team204"), ("player108"), ("team215"), ("player104")], [("player102"), ("team204"), ("player104"), ("team215"), ("player104")], [("player102"), ("team204"), ("player104"), ("team215"), ("player104")], [("player102"), ("team204"), ("player104"), ("team215"), ("player104")], [("player102"), ("team204"), ("player104"), ("team215"), ("player104")], [("player102"), ("team204"), ("player112"), ("team219"), ("player104")], [("player102"), ("team204"), ("player103"), ("team208"), ("player104")], [("player102"), ("team204"), ("player103"), ("team218"), ("player104")], [("player102"), ("team204"), ("player114"), ("team218"), ("player104")]] |
+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ("player103") | [[("player102"), ("team204"), ("player103")], [("player102"), ("team204"), ("player105"), ("team218"), ("player103")], [("player102"), ("team204"), ("player106"), ("team212"), ("player103")], [("player102"), ("team204"), ("player110"), ("team218"), ("player103")], [("player102"), ("team204"), ("player138"), ("team212"), ("player103")], [("player102"), ("team204"), ("player104"), ("team208"), ("player103")], [("player102"), ("team204"), ("player104"), ("team208"), ("player103")], [("player102"), ("team204"), ("player104"), ("team204"), ("player103")], [("player102"), ("team204"), ("player104"), ("team204"), ("player103")], [("player102"), ("team204"), ("player104"), ("team218"), ("player103")], [("player102"), ("team204"), ("player104"), ("team218"), ("player103")], [("player102"), ("team204"), ("player114"), ("team218"), ("player103")]]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ("player138") | [[("player102"), ("team204"), ("player138")], [("player102"), ("team204"), ("player106"), ("team212"), ("player138")], [("player102"), ("team204"), ("player104"), ("team221"), ("player138")], [("player102"), ("team204"), ("player104"), ("team221"), ("player138")], [("player102"), ("team204"), ("player104"), ("team204"), ("player138")], [("player102"), ("team204"), ("player104"), ("team204"), ("player138")], [("player102"), ("team204"), ("player103"), ("team212"), ("player138")]]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ("player107") | [[("player102"), ("team204"), ("player107")], [("player102"), ("team204"), ("player104"), ("team204"), ("player107")], [("player102"), ("team204"), ("player104"), ("team204"), ("player107")]]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ("player114") | [[("player102"), ("team204"), ("player114")], [("player102"), ("team204"), ("player105"), ("team218"), ("player114")], [("player102"), ("team204"), ("player110"), ("team218"), ("player114")], [("player102"), ("team204"), ("player104"), ("team204"), ("player114")], [("player102"), ("team204"), ("player104"), ("team204"), ("player114")], [("player102"), ("team204"), ("player104"), ("team218"), ("player114")], [("player102"), ("team204"), ("player104"), ("team218"), ("player114")], [("player102"), ("team204"), ("player112"), ("team226"), ("player114")], [("player102"), ("team204"), ("player103"), ("team218"), ("player114")]]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Got 9 rows (time spent 370840/383871 us)

Tue, 28 Sep 2021 15:32:40 CST

我试了下,聚合效果有了,但是这个两跳 path 中 A - RelA → B ← RelB - C 三个点,两条边的属性,我也需要拿出来的,在这种写法上,我该怎么同时把属性拿出来呢?

FIND PATH 加上 WITH PROP 就有了哈,然后可以按需 YIELD

https://docs.nebula-graph.com.cn/2.5.1/3.ngql-guide/16.subgraph-and-path/2.find-path/

GO FROM "player102" OVER serve YIELD serve._dst AS id| \
  GO FROM $-.id OVER serve REVERSELY WHERE serve.start_year > 2012 YIELD serve._dst AS v2_id | \
  FIND ALL PATH WITH PROP FROM "player102" TO $-.v2_id OVER serve BIDIRECT WHERE serve.end_year < 2020 | \
  YIELD nodes($-.path) as path| \
  YIELD $-.path[-1] as target, collect($-.path) as path

我现在的版本时v2.0.1 应该不支持WITH PROP
奇怪的时,我用了WITH PROP 居然也不报错

(root@nebula) [ProdRelation]>  FIND NOLOOP PATH WITH PROP FROM 9032281971844695048 to -6948844776165116907 OVER Hold, Invest BIDIRECT UPTO 2 steps
+------------------------------------------------------------------------------------------------------+
| path                                                                                                 |
+------------------------------------------------------------------------------------------------------+
| <(9032281971844695048)-[:Hold@0 {}]->(7767364391743728862)<-[:Invest@0 {}]-(-6948844776165116907)>   |
+------------------------------------------------------------------------------------------------------+
| <(9032281971844695048)-[:Invest@0 {}]->(7767364391743728862)<-[:Invest@0 {}]-(-6948844776165116907)> |
+------------------------------------------------------------------------------------------------------+
Got 2 rows (time spent 14259/22503 us)

哈哈,好滴好滴,2.0.1 我记得不带 WITH PROP 应该等价于 2.5 的带上。

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