我有一个复杂的场景。所以我试图创建一个如下示例。
g.AddV('class').property('id','1').property('name','class1').AddE('roster').to(g.AddV('student').property('id','11').property('name','student1'))
g.AddV('class').property('id','2').property('name','class2').AddE('roster').to(g.AddV('student').property('id','22').property('name','student2'))
g.AddV('class').property('id','3').property('name','class3').AddE('roster').to(g.AddV('student').property('id','33').property('name','student3'))
g.AddV('class4').property('id','4').property('name','class4').AddE('roster').to(g.V('11'))
g.V('11').AddE('logs').property('class_id','1').to(g.AddV('log').property('id','111').property('name','log1'))
您可能已经观察到它student1
属于 2 个类(class1 和 class4)。并student1
写入登录log1
。class1
但是如果我运行这个查询g.V('111').as('l').in().as('s').in().as('c').project('log','student','class').by(select('l').by('name')).by(select('s').by('name')).by(select('c').by('name'))
它返回重复数据,如下所示。
[
{
"log": "log1",
"student": "student1",
"class": "class1"
},
{
"log": "log1",
"student": "student1",
"class": "class4"
}
]
预期的行为是只返回来自 class1 的日志。为了实现这一点,我向边缘添加了一个属性class_id
,logs
但不确定如何应用条件来返回去重结果,即返回属于同一类的日志。
非常感谢您对查询的任何帮助。