我试图首先检查一个特定的顶点是否存在于图形中,如果它不存在然后我创建一个新的顶点,检查器基于属性,这是以下代码:
<application ... />
但是我收到了以下错误。
public Vertex addVertex(Enum label, Map properties){
Vertex x = null;int fl=0,f=0;
if(properties.size()==0)
return null;
GraphTraversalSource g = graph.traversal();
Set<Enum> keys = properties.keySet();
for(Enum key: keys){
f++;
properties.get(key);
System.out.println("enter");
if(g.V().hasLabel(label.toString()).has(key.toString(),properties.get(key)).next()!=null ){
fl++;
System.out.println("exit");
x= g.V().hasLabel(label.toString()).has(key.toString(),properties.get(key)).next();
System.out.println("exit2");
}
}
if(fl==f){
return x;
}
x=graph.addVertex(T.label,label.toString(),properties);
return x;
}
如何解决这个问题,任何潜在客户都会非常感激
答案 0 :(得分:1)
Traversal实现了Iterator,因此您应该首先将.hasNext()
附加到Traversal。当没有剩余值时,当你尝试next()
迭代器时,会抛出异常。