Gremlin Tinkerpop3小精灵遍历错误

Gremlin Tinkerpop3小精灵遍历错误,gremlin,tinkerpop3,Gremlin,Tinkerpop3,我有一个结构如下的图表: |-ProductFit |-|-Part |-|-App |-|-|-ProductID |-|-|-ProductModelID |-|-|-ProductYearID |-ProductID |-|-ProductName |-|-ProductModelID |-|-ProductYearID |-ProductModelID |-|-ProductModelName |-ProductYearID |-|-ProductYear 其中ProductFi

我有一个结构如下的图表:

|-ProductFit
|-|-Part
|-|-App
|-|-|-ProductID
|-|-|-ProductModelID
|-|-|-ProductYearID

|-ProductID
|-|-ProductName
|-|-ProductModelID
|-|-ProductYearID

|-ProductModelID
|-|-ProductModelName

|-ProductYearID
|-|-ProductYear
其中ProductFit是我的第一个独立顶点,ProductID、ProductModelID和ProductYearID是我的连接顶点

现在,ProductFit中ProductID的某些字段的值错误,我需要从ProductID的其他顶点获取这些字段的值

我的问题是:

g.V().has('ProductFit','Part','PA01').properties('App')
.valueMap('ProductID','ProductModelID','ProductYearID')
.choose(values('ProductModelID'))
.option(PM01, g.V().has('ProductFit','Part','PA01').properties('App').values('ProductModelID'))
.option(PM02, g.V().has('ProductID','ProductModelID','PM01'))
.values('ProductModelID')
但这给了我一个错误:

java.util.HashMap cannot be cast to org.apache.tinkerpop.gremlin.structure.Element
是在遍历过程中我不能从一个顶点转到另一个顶点,还是在查询过程中出现了一些问题?TIA.

您的
choose()
正在使用
values()
,这并不是要从
映射中选择值。它用于
元素
。我在乘员玩具图上得到了相同的错误:

gremlin> graph = TinkerFactory.createTheCrew()
==>tinkergraph[vertices:6 edges:14]
gremlin> g = graph.traversal()
==>graphtraversalsource[tinkergraph[vertices:6 edges:14], standard]
gremlin> g.V().properties('location').valueMap().choose(values('startTime')).option(2004,constant(1)).option(none,constant(2))
java.util.HashMap cannot be cast to org.apache.tinkerpop.gremlin.structure.Element
Type ':help' or ':h' for help.
Display stack trace? [yN]n
您应该改为使用
选择

gremlin> g.V().properties('location').valueMap().choose(select('startTime')).option(2004,constant(1)).option(none,constant(2))
==>2
==>2
==>1
...
==>2
您的
choose()
使用的是
values()
,而不是从
映射中选取值。它用于
元素
。我在乘员玩具图上得到了相同的错误:

gremlin> graph = TinkerFactory.createTheCrew()
==>tinkergraph[vertices:6 edges:14]
gremlin> g = graph.traversal()
==>graphtraversalsource[tinkergraph[vertices:6 edges:14], standard]
gremlin> g.V().properties('location').valueMap().choose(values('startTime')).option(2004,constant(1)).option(none,constant(2))
java.util.HashMap cannot be cast to org.apache.tinkerpop.gremlin.structure.Element
Type ':help' or ':h' for help.
Display stack trace? [yN]n
您应该改为使用
选择

gremlin> g.V().properties('location').valueMap().choose(select('startTime')).option(2004,constant(1)).option(none,constant(2))
==>2
==>2
==>1
...
==>2