Graph数据库中用于提取数据的场景

时间:2014-09-15 05:29:25

标签: gremlin titan

我有以下情况:

    +--belongsToL1(catg:c1)--->P1[(name:This is p1)]--belongsToL2--\
    +--belongsToL1(catg:c2)--->P1[(name:This is p1)]--belongsToL2-->TOP-A(name:this is topA)
    +--belongsToL1(catg:c3)--->P1[(name:This is p1)]--belongsToL2--/
Page+
    +--belongsToL1(catg:cc1)--->P1[(name:This is p11)]--belongsToL2--\
    +--belongsToL1(catg:cc2)--->P1[(name:This is p11)]--belongsToL2-->TOP-B(name:this is topB)
    +--belongsToL1(catg:cc3)--->P1[(name:This is p11)]--belongsToL2--/

现在我想要这些数据:

This is TopA :: This is p1 :: c1, c2, c3

This is TopB :: This is p11 :: cc1, cc2, cc3

我该怎么做?

1 个答案:

答案 0 :(得分:0)

这里有一个树结构,所以为什么不使用tree() step。类似的东西:

g.v('TOP-A','TOP-B').in('belongsToL2').in('belongsToL1').tree().cap()

请注意,tree是一个副作用步骤,因此要将树变量从那里取出,您需要调用cap将其弹出。您也可以将Tree实例传递给tree步骤,它会将副作用写入其中,如我提供的GremlinDocs链接所示。