private void addMutantToDB( Individual original, Individual mutant, int generationNumber, Location location) { final GraphDatabaseService graphDB = GraphDB.graphDB(); IndexManager index = graphDB.index(); Index<Node> individualNodes = index.forNodes("individuals"); Index<Node> locationNodes = index.forNodes("locations"); Transaction tx = graphDB.beginTx(); Relationship mutantRelationship; Relationship node; Node individualNode; try { individualNode = graphDB.createNode(); individualNode.setProperty("fitness", mutant.getGlobalFitness()); individualNode.setProperty("id", mutant.uid.toString()); Node locationNode = locationNodes.get("locationID", location.getPosition()).next(); node = individualNode.createRelationshipTo(locationNode, RelTypes.LOCATEDIN); node.setProperty("generation", generationNumber); Node originalNode = individualNodes.get("id", original.uid.toString()).next(); mutantRelationship = individualNode.createRelationshipTo(originalNode, RelTypes.MUTANTOF); mutantRelationship.setProperty("generation", generationNumber); individualNodes.add(individualNode, "id", mutant.uid.toString()); tx.success(); } finally { tx.finish(); } }