Star

如何查询多个顶点的信息

查询语句:GO FROM 3 OVER visit YIELD visit.port AS port, $$.server.name AS Name;

这个语句是查询以3为顶点的查询,3如何通过通道作为参数进行查询

比如我想查询顶点的user属性为‘test’的所有顶点的边,这个应该怎么查,谢谢



我想通过lookup把满足条件的顶点id查出来,然后通过管道查询这些顶点对外连接的信息,但是lookup报错不支持or操作,麻烦问一下如果不用lookup,用其他查询可以满足我这种需求吗,谢谢

可以用union加lookup

麻烦帮忙看一下 应该怎么写,我这样写的话报错。
另外这个不用lookup不行吗,因为查询条件很多,根据业务可能有上百个,用lookup不知道是否合适,谢谢

根据属性做过滤现在也只有 lookup, 您先试试把 最后一个 over 后面的先去了, 看看能不能跑通.

通过属性过滤查出符合条件的顶点,这是很常见的需求,为什么loopup现在不支持or的查询了

pipe的优先级是比union高的,你union的右边的输出,是pipe之后的yield,假如你想先执行union,在前面加个括号

1.0中的OR查询性能不太理想,建议用 lookup union lookup.

麻烦请教一下 union的次数有限制 吗, 这个性能怎么样
我们的需求大概是这样的,比如我们的顶点是云主机,业务上用户会对云主机划分组,而组不会体现在图上的,因为组是随时变动的,如果用户需要查询一个或者多个组的云主机,就需要根据组把这些组所有的云主机查出来,然后再在图里通过lookup进行云主机查询,多个云主机之间union,有些情况用户的组可能有成百上千的云主机, 就需要union成百上千个lookup,麻烦问一下语句会不会过长,性能会不会受影响

大概语句是这样的
(LOOKUP ON server WHERE server.name == “i-4234” yield server.id as id union LOOKUP ON server WHERE server.name == “i-4234” yield server.id as id)| GO FROM $-.id over visit yield visit.proto, $^.server.name, $$.server.name;

如果查询成百上千个server, 整个语句就会变得特别长,这样对查询会不会造成影响,谢谢

应该没有影响的, 就是看着长而已, nebula 现在也没有对于语句长度的限制

浙ICP备20010487号