首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Janusgraph Gremlin查询

Janusgraph Gremlin查询
EN

Stack Overflow用户
提问于 2018-09-10 04:15:57
回答 1查看 184关注 0票数 1

我对图表比较陌生。

寻找帮助来建立gremlin查询等同于4以下的sql。

从table1 a的表b中选择a.x1、a.x2、b.y1、b.y2,其中a.x1=b.y1和a.x2=b.y2。

将表视为顶点,将x1 x2 y1 y2视为属性。

在janusgraph中,这些顶点没有边,属性标签也是不同的。在得到结果之前,需要检查顶点是否没有边。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-19 19:12:07

如果没有边,那么这不是一个可怕的“图形”查询,所以这看起来可能有点笨拙。我认为您必须使用某种形式的中间遍历V()。我在这里用一些数据进行了演示:

代码语言:javascript
复制
gremlin> g.addV('a').property('x1',1).property('x2',2).
......1>   addV('b').property('y1',1).property('y2',2).
......2>   addV('b').property('y1',2).property('y2',3).iterate()
gremlin> g.V().hasLabel('a').as('a').
......1>   V().hasLabel('b').as('b').
......2>   where('a', eq('b')).
......3>     by('x1').
......4>     by('y1').
......5>   where('a', eq('b')).
......6>     by('x2').
......7>     by('y2').
......8>   select('a','b').
......9>     by(valueMap(true))
==>[a:[label:a,id:0,x1:[1],x2:[2]],b:[label:b,id:3,y1:[1],y2:[2]]]

我不确定是否有更好的方法来做到这一点。根据您的数据集的大小,这可能是一个非常昂贵的遍历,并且可能是使用Gremlin Spark的OLAP遍历形式的更好的候选者。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52248347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档