Graph 如何在gremlin中输出当前顶点及其相邻顶点?

Graph 如何在gremlin中输出当前顶点及其相邻顶点?,graph,gremlin,titan,nosql,Graph,Gremlin,Titan,Nosql,我正在尝试对图形进行一个复杂的查询,并且成功地做到了这一点。在该查询中输出的顶点还具有一些通过别名关系连接到这些顶点的别名顶点 现在,我希望输出所有以前的顶点及其别名顶点,但我可以执行/或(原始顶点或每个顶点的别名顶点) 如果有人知道一种方法来输出一个特定顶点的相邻顶点,并在同一个查询中输出该顶点,我想我的问题会得到解决 有什么建议吗? 让我们考虑下面的例子: [AliasUser1][ItemA][AliasUser2] 使用以下代码: result = [] as Set; user1.ou

我正在尝试对图形进行一个复杂的查询,并且成功地做到了这一点。在该查询中输出的顶点还具有一些通过别名关系连接到这些顶点的别名顶点

现在,我希望输出所有以前的顶点及其别名顶点,但我可以执行/或(原始顶点或每个顶点的别名顶点)

如果有人知道一种方法来输出一个特定顶点的相邻顶点,并在同一个查询中输出该顶点,我想我的问题会得到解决


有什么建议吗?

让我们考虑下面的例子:

[AliasUser1][ItemA][AliasUser2]

使用以下代码:

result = [] as Set;
user1.out('likes')  // we are at ItemA
     .in('likes')   // we are at User2 but also back at User1
     .store(result) // store the users vertices
     .out('alias')  // we are at the alias vertices 
     .store(result) // store the alias vertices
     .iterate()     // run
你会得到:

gremlin> result.name
==>User2
==>AliasOfUser2
==>User1
==>AliasOfUser1
所以我想
存储
是解决问题的关键。

下面是示例的示例图:

g = new TinkerGraph()

user1 = g.addVertex()
user1.name ='User1'
user2 = g.addVertex()
user2.name ='User2'
itemA = g.addVertex()
itemA.name ='ItemA'
myAlias1 = g.addVertex()
myAlias1.name ='AliasOfUser1'
myAlias2 = g.addVertex()
myAlias2.name ='AliasOfUser2'

g.addEdge(user1, itemA, 'likes')
g.addEdge(user2, itemA, 'likes')
g.addEdge(user1, myAlias1, 'alias')
g.addEdge(user2, myAlias2, 'alias')

正是我想要的!!谢谢