我正在尝试获取两个顶点之间的边缘属性值并获得低于异常
java.lang.ClassCastException:java.lang.String无法强制转换为 scala.runtime.Nothing $
环境:Titan 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 [age-> 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 :(得分: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.runtime.Nothing $
之前:
val age_value = graph.traversal().V().has("ID", "A").bothE("knows").as("x").otherV()
.has("ID", "B").select("x").values("age").head()
之后:
val age_value:Integer = graph.traversal().V().has("ID", "A").bothE("knows").as("x").otherV()
.has("ID", "B").select("x").values("age").head()