-
例如我插入以下边
nebula> INSERT EDGE e1(p1) VALUES “1”->“2”@0:(10);
nebula> INSERT EDGE e1(p1) VALUES “1”->“2”@1:(11);
nebula> INSERT EDGE e1(p1) VALUES “1”->“2”@2:(12);
nebula> INSERT EDGE e1(p1) VALUES “1”->“2”@3:(13);
nebula> INSERT EDGE e1(p1) VALUES “1”->“2”@4:(14);
nebula> INSERT EDGE e1(p1) VALUES “1”->“2”@5:(15);
nebula> INSERT EDGE e1(p1) VALUES “1”->“2”@6:(16); -
我是否可以筛选出e1 edge类型各边数 = 1 才展现出来,上面的数据是 6条边,所以不出来数据
MATCH 语句或者是聚合函数都是可以的
有demo可以看看吗,我是初学者不知道怎么写
MATCH (v)-[e:e1]->() where id(v) in ["1","3","5"]
WITH id(v) AS vid, collect(e) AS edge where size(edge)==1
RETURN vid
go from "1","3","5" over e1 yield id($^) AS sVid, id($$) AS eVid | yield $-.sVid AS sVid,collect($-.eVid) AS es | yield $-.sVid where size($-.es)==1
MATCH (v:player)
where size((v)-[:e1]->())==1
RETURN id(v)
前两条是指定 vid 用聚合函数算,第三条是指定 tag 用 pattern expression 来描述
谢谢你的回答,但是我想需要的是这种
player101 → player100 是两条次数,所以我期望想得出的是 player105和player102的,排除掉 player100
- 使用以下语句的话是没有数据出来
MATCH (v)-[e:follow]->() where id(v) in ["player101"]
WITH id(v) AS vid, collect(e) AS edge1 where size(edge1)==1
RETURN edge1
噢,我理解错你的意思了。
试试这个
MATCH (v)-[e:follow]->(n) where id(v) in ["player101"]
WITH id(v) AS vid1, id(n) AS vid2 collect(e) AS edge1 where size(edge1)==1
RETURN edge1
2 个赞
谢谢,完美解决
此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。