【发布时间】:2017-05-17 19:50:54
【问题描述】:
GraphTraversal<Vertex, Map<String, Object>> tsList = traversalSource.V().has("request","id_key",114).valueMap();
while(tsList.hasNext())
{
System.out.println(tsList.next().get("status")); //prints result
System.out.println(tsList.next().get("tree_id_key")); //prints result
System.out.println(tsList.next().get("username")); //here throws Exception for any vertex.
System.out.println(tsList.next().get("tree_status"));
}
当我运行上述查询时,我得到了任何第一个和第二个 propertyKey 的值。但是在获得两个键的答案后,它会为任何 propertyKey 抛出 NoFastSuchElementException ...请帮助我..我该如何解决这个问题?
但使用以下查询我能够得到答案:
GraphTraversal<Vertex, Map<String, Object>> tsList = traversalSource.V().has("request","id_key",114).values("status","tree_id_key","username","tree_status");
while(tsList.hasNext())
{
System.out.println(tsList.next());//prints "status" value
System.out.println(tsList.next());//prints "tree_id_key" value
System.out.println(tsList.next());//prints "username" value
System.out.println(tsList.next());//prints "tree_status" value
}
更新:
GraphTraversal<Vertex, Map<String, Object>> ts = traversalSource.V().has("request","id_key",113).valueMap();
while(ts.hasNext())
{
Map<String, Object> tsList=ts.next();
SuiteIdKey=(long)((ArrayList)tsList.get("suiteKey")).get(0);
seqe=(int)((ArrayList)tsList.get("sequence")).get(0);
}
在上面的查询中,ts 会返回很多行,对于每一行我都会得到 suiteIdkey,seqe..我能够得到答案。但是 tsList 是 Map,当我像这样使用 =(long)tsList.get("suiteKey") 时,它不会直接返回答案,没有 ArrayList。这是正确的方法吗?请帮助我。
【问题讨论】:
标签: java cassandra titan gremlin tinkerpop3