我有一个具有以下结构的图表:
|-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是因为在遍历过程中我不能从一个顶点转到另一个顶点,还是查询中存在一些问题?蒂娅。
发布于 2017-09-07 10:29:39
您的choose()正在使用values(),这并不意味着从Map中选择值。它用于与Element一起使用。我在船员玩具图上也有同样的错误:
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您应该使用select
gremlin> g.V().properties('location').valueMap().choose(select('startTime')).option(2004,constant(1)).option(none,constant(2))
==>2
==>2
==>1
...
==>2https://stackoverflow.com/questions/46089388
复制相似问题