if (endNodeName == "")
endNodeName = (String) rel.getEndNode().getProperty("name");
if ((String) rel.getEndNode().getProperty("name") != endNodeName)
foundConflict = true;
Comparing strings by identity (==) is almost always the wrong thing. You can easily have "" != "" and "Rana" != "Rana".
I don't understand why the names are being compared at all, as opposed to the identity of the nodes? I would expect neo4j to preserve Node identity, in which case just say: endNode = ..., and if (rel.getEndNode() != endNode) ...
In TaxonomySynthesizer.java :
Comparing strings by identity (==) is almost always the wrong thing. You can easily have "" != "" and "Rana" != "Rana".
I don't understand why the names are being compared at all, as opposed to the identity of the nodes? I would expect neo4j to preserve Node identity, in which case just say: endNode = ..., and if (rel.getEndNode() != endNode) ...