Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取NoFastSuchElementException,当我使用java在gremlin查询中使用valueMap()时 GraphTraversal tsList=traversalSource.V().has(“请求”,“id_键”,114).valueMap(); while(tsList.hasNext()) { System.out.println(tsList.next().get(“status”);//打印结果 System.out.println(tsList.next().get(“tree_id_key”);//打印结果 System.out.println(tsList.next().get(“username”);//这里对任何顶点抛出异常。 System.out.println(tsList.next().get(“树的状态”); }_Java_Cassandra_Titan_Gremlin_Tinkerpop3 - Fatal编程技术网

获取NoFastSuchElementException,当我使用java在gremlin查询中使用valueMap()时 GraphTraversal tsList=traversalSource.V().has(“请求”,“id_键”,114).valueMap(); while(tsList.hasNext()) { System.out.println(tsList.next().get(“status”);//打印结果 System.out.println(tsList.next().get(“tree_id_key”);//打印结果 System.out.println(tsList.next().get(“username”);//这里对任何顶点抛出异常。 System.out.println(tsList.next().get(“树的状态”); }

获取NoFastSuchElementException,当我使用java在gremlin查询中使用valueMap()时 GraphTraversal tsList=traversalSource.V().has(“请求”,“id_键”,114).valueMap(); while(tsList.hasNext()) { System.out.println(tsList.next().get(“status”);//打印结果 System.out.println(tsList.next().get(“tree_id_key”);//打印结果 System.out.println(tsList.next().get(“username”);//这里对任何顶点抛出异常。 System.out.println(tsList.next().get(“树的状态”); },java,cassandra,titan,gremlin,tinkerpop3,Java,Cassandra,Titan,Gremlin,Tinkerpop3,当我运行上述查询时,我将获得任何第一个和第二个propertyKey的值。但是,在得到两把钥匙的答案后,它不会对任何财产抛出这样的错误概念。请帮帮我。我如何解决这个问题 但通过以下查询,我可以得到答案: GraphTraversal<Vertex, Map<String, Object>> tsList = traversalSource.V().has("request","id_key",114).valueMap(); while(tsList.ha

当我运行上述查询时,我将获得任何第一个和第二个propertyKey的值。但是,在得到两把钥匙的答案后,它不会对任何财产抛出这样的错误概念。请帮帮我。我如何解决这个问题

但通过以下查询,我可以得到答案:

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"));
}
GraphTraversal tsList=traversalSource.V().has(“请求”、“id\u键”、114).值(“状态”、“树id\u键”、“用户名”、“树状态”);
while(tsList.hasNext())
{
System.out.println(tsList.next());//打印“status”值
System.out.println(tsList.next());//打印“tree\u id\u key”值
System.out.println(tsList.next());//打印“username”值
System.out.println(tsList.next());//打印“树的状态”值
}
更新:

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 ts=traversalSource.V().has(“请求”,“id_键”,113).valueMap();
while(ts.hasNext())
{
Map tsList=ts.next();
SuiteIdKey=(长)((ArrayList)tsList.get(“suiteKey”)).get(0);
seqe=(int)((ArrayList)tsList.get(“sequence”).get(0);
}

在上面的查询中,ts将返回许多行,对于每一行,我将得到suiteIdkey,seq.。我能够得到答案。但tsList是Map,当我使用like this=(long)tsList.get(“suiteKey”)而不使用ArrayList时,它不会直接返回答案。这是正确的方法吗?请帮帮我。

在这两次遍历中,您要求的是两种不同的东西。带有
valueMap()
的第一个命令要求将顶点转换为
Map
,因此您不希望在该循环中继续调用
next()
。只要做:

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);
}

你好,斯蒂芬,谢谢你的回答。它现在正在工作。但是我有一些疑问。我已经更新了关于这个问题的问题。你能帮我吗?是的,你得到了一个
列表,因为-我更新了一点我的答案。@stephen。我已经创建了我的id_键,用户名属性和基数。SINGLE,现在,当我尝试使用valueMap(“我的id_键”、“用户名”)检索时,它正在返回列表..那么valueMap是否会始终返回列表,因为有多个属性,而不考虑cardinality.SINGLE或cardinality.list?(而且cardinality.LIST只能有同一属性键的值列表)我相信是这样的-这样无论发生什么情况,都可以保持解析结果的一致性
Map<String, List<Object>> m = traversalSource.V().has("request", "id_key", 114).
                                                  valueMap().next();        
System.out.println(m.get("status").get(0)); 
System.out.println(m.get("tree_id_key").get(0)); 
System.out.println(m.get("username").get(0)); 
System.out.println(m.get("tree_status").get(0));
Map<String, Object> m = traversalSource.V().has("request", "id_key", 114).
                                            project('s`,'tik', 'u', 'ts').
                                              by('status').
                                              by('tree_id_key').
                                              by('username')
                                              by('tree_status').
                                            next();        
System.out.println(m.get("s")); 
System.out.println(m.get("tik")); 
System.out.println(m.get("u")); 
System.out.println(m.get("ts"));