0
我在Neo4j中有一個圖並且此圖中的每個關係都有一個名爲InverseRandomNumber的屬性。我想遍歷所有的節點,並且每個節點都從連接到節點的所有關係中獲取這些屬性,對這些屬性值求和並將總和保存爲節點中的屬性。 InverseRandomNumber是一個整數或雙精度值,我使用嵌入在Java中的Neo4j 2.3.3。下面你可以找到我的代碼。使用從圖中取得的屬性進行計算 - Neo4j嵌入式Java
Label myLabel = DynamicLabel.label("Data");
final RelationshipType type2 = DynamicRelationshipType.withName("Rel");
ResourceIterator<Node> users = graphDb.findNodes(myLabel, "Group", "Random");
Node firstUserNode;
while (users.hasNext())
{
firstUserNode = users.next();
ArrayList<Object> RelList = new ArrayList<Object>();
if(firstUserNode.hasRelationship(Direction.BOTH)){
for (Relationship relationship : firstUserNode.getRelationships(Direction.BOTH)){
RelList.add(relationship.getProperty("InverseRandomNumber"));
}
}
Double sum = 0.0;
Double dd = 0.0;
for(int j=0; j < RelList.size(); j++){
dd = toDouble(RelList.get(j));
sum+=dd;
}
firstUserNode.setProperty("SumInverse",sum);
}
users.close();
在上述代碼中,我使用的toDouble
方法把我進入雙值。這是處理數字屬性的正確方法還是有另一種方法更有效和準確?
任何想法?
屬性的值,如我前面提到的,可以是整數或雙所以當我用你的方法,我得到一個錯誤整數不能轉換爲double。 – lostromos