2016-10-17 55 views
2

我想两个顶点之间的边缘提取属性值,并获得例外低于ClassCastException异常而取边缘属性值bewteen两个顶点

java.lang.ClassCastException:java.lang.String中不能转换为 阶.runtime.Nothing $

ENV:泰坦InMemory

代码:

val age = Key[Int]("age") 

A ---("knows",age -> 10) --> B 

的Gremlin查询:

graph.traversal().V().has("ID", "A").bothE("knows").as("x").otherV() 
     .has("ID", "B").select("x").properties("age").headOption().get 

输出:P [年龄> 10]

graph.traversal().V().has("ID", "A").bothE("knows").as("x").otherV() 
      .has("ID", "B").select("x").label().head() 

输出:知道

graph.traversal().V().has("ID", "A").bothE("knows").as("x").otherV() 
     .has("ID", "B").select("x").values("age").head() 

输出:

java.lang.ClassCastException:当我尝试获取属性值java.lang.String中不能转换到 scala.runtime.Nothing $

任何想法,我得到这个错误

与gremlin控制台相同 http://gremlinbin.com/bin/view/58044fa931772

+0

val age_value = graph.traversal().V().has("ID", "A").bothE("knows").as("x").otherV() .has("ID", "B").select("x").values("age").head() 

后。可能是scala插件的一个问题。可能想在github上提出这个问题。 –

+0

@FilipeTeixeira目前我正在使用'com.michaelpollmeier“%%”gremlin-scala“%”3.0.2-incubating.2'版本。我需要移动任何更高版本的Scala – Gopi

回答

0

不确定这是正确的解决方案。 这解决了我的问题。

我被插入整数值边缘属性

之前:mgmt.makePropertyKey("age").dataType(classOf[String]).cardinality(Cardinality.SET).make()

后:

mgmt.makePropertyKey("age").dataType(classOf[Integer]).cardinality(Cardinality.SET).make() 

改变这一点,下面的错误后,存在的

java.lang中。 ClassCastException:java.lang.Integer不能转换为 scala.r untime.Nothing $

之前:这穿越应该工作

val age_value:Integer = graph.traversal().V().has("ID", "A").bothE("knows").as("x").otherV() 
     .has("ID", "B").select("x").values("age").head() 
相关问题