コード例 #1
0
  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();
    }
  }