用LOOKUP 进行边查询,查出来的这个界面,能指定返回Src和Dst的某个属性值,而不返回ID吗?
可以用yield子句,参考文档
SrcVID , DstVID, Ranking 三要素是默认返回的,不能去掉,某个edge的属性值可以通过yield子句返回
YIELD字句只能返回EDGE的属性值吗?能不能返回节点的属性值呢?
假设我返回tag为node的属性
我试过后面接| GO FROM $-.SrcID OVER edge YIELD $^.node.name AS source, $$.node.name AS target
但是这样会有重复数据返回。
EDGE的属性值能通过YIELD字句返回,节点的不可以吗?
如果需要返回vertex的属性,需要为tag创建index,并 lookup on tag。目前不支持lookup edge的时候返回vertex的属性。
请问下LOOKUP EDGE 返回的SrcVID的值(比如说100)能通过什么方式让我GO FROM吗?不通过GO FROM $-.SrcID的方式。不然会出现重复数据返回
比如说我返回结果如下
如果我通过GO FROM $-.SrcID 会返回64条数据(每8条循环,因为我这里有8条数据,这里对每一条输出都进行GO FROM了)
如果我通过GO FROM 100 就只返回8条。但是这个“100” 有办法能不手动输入吗? 就是从上条语句的输出来获得。
lookup … | yield distinct $-.SrcID as id | go from $-.id
我是LOOKUP ON edge… YIELD DISTINCT $-.SrcVID AS id | GO FROM $-.id
还是出现这个[ERROR (-8)]: Inputs nullptr.
具体的query发一下
LOOKUP ON relation WHERE relation.name == “师生”
返回结果:
LOOKUP ON relation WHERE relation.name == “师生” YIELD DISTINCT $-.SrcVID AS id | GO FROM $-.id OVER relation YIELD $^.node.name AS source, $$.node.name AS target, relation.name AS Relation | LIMIT 0, 300
返回结果:
[ERROR (-8)]: Inputs nullptr.
LOOKUP ON relation WHERE relation.name == “师生” | YIELD DISTINCT $-.SrcVID AS id | GO FROM $-.id OVER relation YIELD $^.node.name AS source, $$.node.name AS target, relation.name AS Relation | LIMIT 0, 300
我照输入了。仍然报错呀
[ERROR (-7)]: SyntaxError: syntax error near `DISTINCT’
emm 1.0的yield语句没有支持distinct,我们添加稍后添加一下支持。
也就是说现在没有办法获得一个不重复的结果吗?
GO … YIELD DISTINCT
LOOKUP ON 不支持是吧。2.0会支持吗?
YIELD不支持distinct后面会修改
请问LOOKUP ON EDGE的返回结果的rows能获取并放在LIMIT后吗?
lookup 可以接limit
这个我清楚,我是想说假日LOOKUP ON edge …返回了10条(SrcVID,DstVID,Ranking)数据,能够获取这个“10”并放在LIMIT后吗