nGQL语法请教

  • nebula 版本:2.0.1

点结构:
a { my_tags }

边结构:
a_a { }

如何在所有的N跳中,根据点 a 的my_tags属性过滤数据?
MATCH p=(v)-[e:a_a*1…9]-(v2)
WHERE id(v)==1
RETURN p

你是想 在每一跳时 都对目的点的属性进行过滤吗

如果是对 每一跳 的目的点的属性进行过滤 ,可以使用 GO语法中的 MTON 语句
go 1 to 9 steps from "1" over a_a where $$.my_tasgs.prop > 0 yield $^.my_tasgs.id

go 1 to 9 steps from 1 over a_a where $$.my_tasgs.prop == “a”
似乎不行耶,语法报错了,要过滤的属性是字符串类型

我还尝试了这样,语法正确,但查不到结果
go 1 to 9 steps from 1 over a_a where $$.a.my_tasgs== “a”

发现可以通过 AND ALL(l IN e WHERE l.xxx == “xxx” ) 过滤每一跳的边
MATCH p=(v)-[e:a_a*1…9]-(v2)
WHERE id(v) == 1 AND ALL(l IN e WHERE l.xxx == “xxx” )
RETURN p

但是过滤点就不知如何表达了,试过下面这样,但查不到结果
MATCH p=(v)-[e:a_a*1…9]-(v2)
WHERE id(v) == 1 AND ALL(l IN nodes( p ) WHERE l.my_tags == ‘c’)
RETURN p

数据是没问题的

$a = GO 1 to 90 STEPS FROM 1 OVER a_a YIELD a_a._src AS src, a_a._dst AS dst;
GO FROM $a.src OVER a_a where $$.a.my_tags==“c”
YIELD DISTINCT a_a._dst

该主题在最后一个回复创建后7天后自动关闭。不再允许新的回复。

浙ICP备20010487号