Gremlin:使用 as() 时删除重复值
Gremlin: removing duplicate values while using as()
这是我的图表示例:
图是我用graphdb的例子,问题是:想得到jetse的建议吗?
这是vertices and edges creation for this example
我尝试了不同的查询。有时我会收到列引用错误,但我找到了解决方案,但我确定它不是最佳解决方案。
起始顶点:jetse
所有顶点都有 属性 调用:fname
边缘:工作、知识、教学、注册
我想做的是:1- jetse 在 itph 工作,让与 stef 一起工作的人,知道 stef 的人是 Remsy,remsy 在有学生的地方教授一门课程。
问题是当我输出结果时:
史蒂夫
雷姆西
奥马尔
斯蒂夫
雷姆西
ufuk1
因为他们都有自己的优点
我想要这样的结果
Stef Remsey Omar ufuk1 ufuk2
我的解决方案是:
g.V('jetse').as('exclude').
out('works').
in().as('sug').
where(neq('exclude')).
in('knows').as('b').
out('teaches').
in('enroll').as('std').
union(select('sug').by('fname'),
select('b').by('fname'),
select('std').by('fname')).
dedup()
您对此解决方案有更好的查询吗?
感谢 tiny-wa 让我对我的回答充满信心。
g.V('jetse').as('exclude').
out('works').
in().as('sug').
where(neq('exclude')).
in('knows').as('b').
out('teaches').
in('enroll').as('std').
union(select('sug').by('fname'),
select('b').by('fname'),
select('std').by('fname')).
dedup()
这是我的图表示例:
图是我用graphdb的例子,问题是:想得到jetse的建议吗?
这是vertices and edges creation for this example
我尝试了不同的查询。有时我会收到列引用错误,但我找到了解决方案,但我确定它不是最佳解决方案。
起始顶点:jetse 所有顶点都有 属性 调用:fname 边缘:工作、知识、教学、注册
我想做的是:1- jetse 在 itph 工作,让与 stef 一起工作的人,知道 stef 的人是 Remsy,remsy 在有学生的地方教授一门课程。
问题是当我输出结果时: 史蒂夫 雷姆西 奥马尔
斯蒂夫 雷姆西 ufuk1
因为他们都有自己的优点
我想要这样的结果
Stef Remsey Omar ufuk1 ufuk2
我的解决方案是:
g.V('jetse').as('exclude').
out('works').
in().as('sug').
where(neq('exclude')).
in('knows').as('b').
out('teaches').
in('enroll').as('std').
union(select('sug').by('fname'),
select('b').by('fname'),
select('std').by('fname')).
dedup()
您对此解决方案有更好的查询吗?
感谢 tiny-wa 让我对我的回答充满信心。
g.V('jetse').as('exclude').
out('works').
in().as('sug').
where(neq('exclude')).
in('knows').as('b').
out('teaches').
in('enroll').as('std').
union(select('sug').by('fname'),
select('b').by('fname'),
select('std').by('fname')).
dedup()