anchor.diff:  
       // Steven also acted in "Temple Of Doom" (according to IMDB...)
       temple.getActors().add(steven.as(Actor.class));
  -    cm.currentTransaction.commit();
  -    cmf.close();
  +    xm.currentTransaction.commit();
  +    xmf.close();
     }
   }
   ----
  
positive.code: public class RaidersOfTheLostArk {
  
    public static void main(String[] args) {
      // Bootstrap CDO, a file META-INF/cdo.xml is expected on the classpath
      CdoManagerFactory cmf = Cdo.createCdoManagerFactory("movies");
  
      // Obtain a CdoManager (i.e. a connection to the datastore)
      CdoManager cm = cmf.createCdoManager();
  
      // Begin a transaction
      cm.currentTransaction.begin();
  
      // Create a data object representing an actor
      Actor harrison = cm.create(Actor.class);
      harrison.setName("Harrison Ford");
  
      // Create a data object representing a director
      Directory steven = cm.create(Director.class);
      steven.setName("Steven Spielberg");
  
      // Create a data object representing a movie
      Movie raiders = cm.create(Movie.class);
      raiders.setTitle("Raiders Of The Lost Ark");
  
      // Set the relations between all the created data objects
  
negative.code: public class TempleOfDoom {
  
    public static void main(String[] args) {
      XOManagerFactory xmf = XO.createXOManagerFactory("movies");
      XOManager xm = xmf.createXOManager();
      xm.currentTransaction.begin();
  
      // Create Steven as a director
      Director steven = xm.create(Director.class);
      steven.setName("Steven Spielberg");
  
      Movie temple = xm.create(Movie.class);
      temple.setTitle("Temple Of Doom");
      temple.setDirectedBy(steven);
      xm.currentTransaction.commit();
  
      // Some days later a fan discovers that Steven also acted in Temple Of Doom
      xm.currentTransaction.begin();
      CompositeObject multiTalentedSteven = xm.migrate(steven, Director.class, Actor.class);
      temple.getActors().add(multiTalentedSteven.as(Actor.class));
  
      xm.currentTransaction.commit();
      xmf.close();
    }
  }
  ----
  
  Mapping eXtended Objects to Neo4j
  ---------------------------------------
  
  As a graph database Neo4j provides very powerful capabilities to store and query highly interconnected data structures
  