pipe之后的fetch多参数中包含变量的问题

version: v2
1、不正常的问题:
多参数,只要一个是变量,SQL就报错
go 2 STEPS FROM “department2432” OVER parent_department yield parent_department._dst as did,parent_department.id as id | fetch prop on member, department $-.id, "user11898"
提示:[ERROR (-7)]: SyntaxError: syntax error near `, "user1’

2、下面两种情况是正常的

  1. 只有一个参数(变量):
    go 2 STEPS FROM “department2432” OVER parent_department yield parent_department._dst as did,parent_department.id as id | fetch prop on member, department $-.id

  2. 两个参数都不是变量
    go 2 STEPS FROM “department2432” OVER parent_department yield parent_department._dst as did,parent_department.id as id | fetch prop on member, department “user11898”, "department1864"

fetch 中的 vertex id 只能是一列,当 pipeline 的时候,可以先 union一下。
需要注意的是,union 的列名必须一样的

(go 2 STEPS FROM “department2432” OVER parent_department yield parent_department.id as id union yield “user11898” as id) | fetch prop on member, department $-.id

这里有个奇怪的,两个参数都不是变量(并且不是相同的vertex id)的时候,为什么又是可以查询出结果的?

目前 fetch 只支持你列举的两种情况:

  1. 常量 id 列表
  2. pipe 的输入

还不能混着书写,这里可以记个新的需求 @steam

1 个赞

针对上面的需求,我们的结论是可以通过 UNION 来表达相同的语义:

(
  GO 2 STEPS 
  FROM “department2432” 
  OVER parent_department 
  YIELD 
    parent_department._dst AS did,
    parent_department.id AS id 
  | 
  FETCH PROP ON member, department $-.id
)
UNION
FETCH PROP ON member, department "user11898"

暂时不再支持混写的需求

我也遇到类似问题:

以下代码1.1版本执行没有问题:(1.1版本返回了VertexID字段 是我需要用到的)

go from 362050 over edge_type1 yield edge_type1._dst as id | go from $-.id over edge_type1  YIELD edge_type1._src,edge_type1._dst as dst |  GROUP BY $-.dst yield $-.dst as id,count(1) as count | FETCH PROP ON tag1 $-.id YIELD tag1.name,$-.count as count | order by $-.count desc;

尤其是 下面这段语法

FETCH PROP ON tag1 $-.id YIELD tag1.name,$-.count as count

在2.x里面 还不支持

请问如何在fetch里面获取前一个步骤获取的$-.count值 我要按照它排序 过滤等
@yee @HarrisChu @min.wu

目前试了各种办法都不行

这个是之前 反馈的:v2-nightly版本的fetch语句和1.x不兼容? - #5 由 CPWstatic
还是希望fetch 2.x能兼容1.1的语法 @jude-zhu

核心诉求,fetch from 的点,和 yield 值,同时使用 $-
目前 2.0 还不兼容。

yield 933 as id, 100 as count | fetch prop on Person $-.id yield Person.firstName, $-.count

1 个赞