package org.openntf.domino.tests.ntf;
import java.util.List;
import org.openntf.domino.Database;
import org.openntf.domino.Session;
import org.openntf.domino.graph2.annotations.AdjacencyUnique;
import org.openntf.domino.graph2.annotations.IncidenceUnique;
import org.openntf.domino.graph2.annotations.TypedProperty;
import org.openntf.domino.graph2.impl.DConfiguration;
import org.openntf.domino.graph2.impl.DElementStore;
import org.openntf.domino.graph2.impl.DFramedGraphFactory;
import org.openntf.domino.graph2.impl.DGraph;
import org.openntf.domino.junit.TestRunnerUtil;
import org.openntf.domino.utils.Factory;
import org.openntf.domino.utils.Factory.SessionType;
import com.tinkerpop.blueprints.Direction;
import com.tinkerpop.blueprints.Edge;
import com.tinkerpop.blueprints.Vertex;
import com.tinkerpop.frames.EdgeFrame;
import com.tinkerpop.frames.FramedTransactionalGraph;
import com.tinkerpop.frames.InVertex;
import com.tinkerpop.frames.OutVertex;
import com.tinkerpop.frames.Property;
import com.tinkerpop.frames.VertexFrame;
import com.tinkerpop.frames.modules.javahandler.JavaHandler;
import com.tinkerpop.frames.modules.javahandler.JavaHandlerClass;
import com.tinkerpop.frames.modules.javahandler.JavaHandlerContext;
import com.tinkerpop.frames.modules.typedgraph.TypeField;
import com.tinkerpop.frames.modules.typedgraph.TypeValue;
@SuppressWarnings("unused")
public class Graph2Test extends org.openntf.domino.thread.AbstractDominoRunnable {
private static int THREAD_COUNT = 1;
private long marktime;
private DGraph graph;
// public static String crewId = "85257D640018A1B3";
// public static String movieId = "85257D640018AD81";
// public static String characterId = "85257D6B007ECB47";
// public static String edgeId = "85257D640018BCDF";
public static String crewPath = "graph2/crew.nsf";
public static String moviePath = "graph2/movie.nsf";
public static String charactersPath = "graph2/characters.nsf";
public static String edgePath = "graph2/edges.nsf";
// public static String usersId = "85257D810065979B";
// public static String nabId = "85257A600051D882";
// public static String ntfUnid = "2F25B5EDE23C245785257A600059FD2E";
private static final String directedBy = "DirectedBy";
private static final String likes = "Likes";
private static final String appearsIn = "AppearsIn";
private static final String portrays = "Portrays";
private static final String starring = "Starring";
private static final String spawns = "Spawns";
private static final String kills = "Kills";
@TypeField("form")
public interface DVertexFrame extends VertexFrame {
}
@TypeField("form")
public interface DEdgeFrame extends EdgeFrame {
}
@TypeValue("Person")
public interface User extends DVertexFrame {
@TypedProperty("FirstName")
public String getFirstName();
@TypedProperty("FirstName")
public void setFirstName(String firstName);
@TypedProperty("LastName")
public String getLastName();
@TypedProperty("LastName")
public void setLastName(String lastName);
@TypedProperty("FullName")
public String[] getFullName();
@TypedProperty("FullName")
public void setFullName(String[] fullName);
@IncidenceUnique(label = likes)
public Likes getLikes();
@IncidenceUnique(label = likes)
public Likes addLikes(Movie movie);
@IncidenceUnique(label = likes)
public void removeLikes(Movie movie);
@AdjacencyUnique(label = likes)
public Movie getLikesMovies();
@AdjacencyUnique(label = likes)
public Movie addLikesMovie(Movie movie);
@AdjacencyUnique(label = likes)
public Movie removeLikesMovie(Movie movie);
}
@TypeValue(likes)
public interface Likes extends DEdgeFrame {
@TypedProperty("rating")
public Integer getRating();
@TypedProperty("rating")
public void setRating(Integer rating);
@OutVertex
User getUser();
@InVertex
Movie getMovie();
}
@TypeValue("movie")
public interface Movie extends DVertexFrame {
@TypedProperty("title")
public String getTitle();
@TypedProperty("title")
public void setTitle(String title);
@IncidenceUnique(label = directedBy)
public DirectedBy getDirectedBy();
@IncidenceUnique(label = directedBy)
public DirectedBy addDirectedBy(Crew crew);
@IncidenceUnique(label = directedBy)
public void removeDirectedBy(Crew crew);
@AdjacencyUnique(label = directedBy)
public Crew getDirectedByCrew();
@AdjacencyUnique(label = directedBy)
public Crew addDirectedByCrew(Crew crew);
@AdjacencyUnique(label = directedBy)
public Crew removeDirectedByCrew(Crew crew);
@IncidenceUnique(label = starring, direction = Direction.IN)
public Iterable<Starring> getStarring();
@IncidenceUnique(label = starring, direction = Direction.IN)
public Starring addStarring(Crew crew);
@IncidenceUnique(label = starring, direction = Direction.IN)
public void removeStarring(Crew crew);
@AdjacencyUnique(label = starring, direction = Direction.IN)
public Iterable<Crew> getStarringCrew();
@AdjacencyUnique(label = starring, direction = Direction.IN)
public Crew addStarringCrew(Crew crew);
@AdjacencyUnique(label = starring, direction = Direction.IN)
public Crew removeStarringCrew(Crew crew);
@IncidenceUnique(label = likes, direction = Direction.IN)
public Likes getLikedBy();
@IncidenceUnique(label = likes, direction = Direction.IN)
public Likes addLikedBy(User user);
@IncidenceUnique(label = likes, direction = Direction.IN)
public void removeLikedBy(User user);
@AdjacencyUnique(label = likes, direction = Direction.IN)
public Movie getLikedByUsers();
@AdjacencyUnique(label = likes, direction = Direction.IN)
public Movie addLikedByUser(User user);
@AdjacencyUnique(label = likes, direction = Direction.IN)
public Movie removeLikedByUser(User user);
}
@TypeValue(directedBy)
public interface DirectedBy extends DEdgeFrame {
@TypedProperty("rating")
public Integer getRating();
@TypedProperty("rating")
public void setRating(Integer rating);
@OutVertex
Crew getDirector();
@InVertex
Movie getMovie();
}
@TypeValue(starring)
public interface Starring extends DEdgeFrame {
@InVertex
Movie getMovie();
@OutVertex
Crew getStar();
}
@TypeValue(portrays)
public interface Portrays extends DEdgeFrame {
@OutVertex
Crew getStar();
@InVertex
Character getCharacter();
}
@TypeValue(appearsIn)
public interface AppearsIn extends DEdgeFrame {
@OutVertex
Character getCharacter();
@InVertex
Movie getMovie();
}
@TypeValue(spawns)
public interface Spawns extends DEdgeFrame {
@OutVertex
Character getParent();
@InVertex
Character getChild();
}
@TypeValue(kills)
public interface Kills extends DEdgeFrame {
@Property("film")
public String getFilm();
@Property("film")
public void setFilm(String film);
@OutVertex
Character getKiller();
@InVertex
Character getVictim();
}
@TypeValue("character")
public interface Character extends DVertexFrame {
@Property("name")
public String getName();
@Property("name")
public void setName(String name);
@AdjacencyUnique(label = appearsIn)
public Iterable<Movie> getAppearsInMovies();
@IncidenceUnique(label = appearsIn)
public Iterable<AppearsIn> getAppearsIn();
@IncidenceUnique(label = appearsIn)
public AppearsIn addAppearsIn(Movie movie);
@IncidenceUnique(label = appearsIn)
public void removeAppearsIn(AppearsIn appearance);
@AdjacencyUnique(label = portrays, direction = Direction.IN)
public Iterable<Crew> getPortrayedByCrew();
@IncidenceUnique(label = portrays, direction = Direction.IN)
public Iterable<Portrays> getPortrayedBy();
@IncidenceUnique(label = portrays, direction = Direction.IN)
public Portrays addPortrayedBy(Crew crew);
@IncidenceUnique(label = portrays, direction = Direction.IN)
public void removePortrayedBy(Portrays portrayal);
@AdjacencyUnique(label = kills, direction = Direction.IN)
public Iterable<Character> getKilledByCharacters();
@IncidenceUnique(label = kills, direction = Direction.IN)
public Iterable<Kills> getKilledBy();
@IncidenceUnique(label = kills, direction = Direction.IN)
public Kills addKilledBy(Character character);
@IncidenceUnique(label = kills, direction = Direction.IN)
public void removeKilledBy(Kills kill);
@AdjacencyUnique(label = kills, direction = Direction.OUT)
public Iterable<Character> getKillsCharacters();
@IncidenceUnique(label = kills, direction = Direction.OUT)
public Iterable<Kills> getKills();
@IncidenceUnique(label = kills, direction = Direction.OUT)
public Kills addKills(Character character);
@IncidenceUnique(label = kills, direction = Direction.OUT)
public void removeKills(Kills kill);
@AdjacencyUnique(label = spawns, direction = Direction.IN)
public Iterable<Character> getSpawnedByCharacters();
@IncidenceUnique(label = spawns, direction = Direction.IN)
public Iterable<Spawns> getSpawnedBy();
@IncidenceUnique(label = spawns, direction = Direction.IN)
public Spawns addSpawnedBy(Character character);
@IncidenceUnique(label = spawns, direction = Direction.IN)
public void removeSpawnedBy(Spawns spawn);
@AdjacencyUnique(label = spawns, direction = Direction.OUT)
public Iterable<Character> getSpawnsCharacters();
@IncidenceUnique(label = spawns, direction = Direction.OUT)
public Iterable<Spawns> getSpawns();
@IncidenceUnique(label = spawns, direction = Direction.OUT)
public Spawns addSpawns(Character character);
@AdjacencyUnique(label = spawns, direction = Direction.OUT)
public void removeSpawns(Character spawn);
}
@TypeValue("crew")
@JavaHandlerClass(CrewImpl.class)
public interface Crew extends DVertexFrame {
@Property("firstName")
public String getFirstName();
@Property("lastName")
public String getLastName();
@Property("firstName")
public void setFirstName(String firstName);
@Property("lastName")
public void setLastName(String lastName);
@JavaHandler
public void setFullName(String fullName);
@AdjacencyUnique(label = portrays)
public Iterable<Character> getPortraysCharacters();
@IncidenceUnique(label = portrays)
public Iterable<Portrays> getPortrayals();
@IncidenceUnique(label = portrays)
public Portrays addPortrayals(Character character);
@IncidenceUnique(label = portrays)
public void removePortrayals(Portrays portrayal);
@AdjacencyUnique(label = starring)
public Iterable<Movie> getStarsInMovies();
@IncidenceUnique(label = starring)
public Iterable<Starring> getStarsIn();
@IncidenceUnique(label = starring)
public Starring addStarsInMovie(Movie movie);
@AdjacencyUnique(label = starring)
public void removeStarsInMovie(Movie movie);
}
public static abstract class CrewImpl implements JavaHandlerContext<Vertex>, Crew {
@Override
public void setFullName(final String fullName) {
int pos = fullName.lastIndexOf(' ');
setFirstName(fullName.substring(0, pos));
setLastName(fullName.substring(pos + 1));
}
}
public static void main(final String[] args) {
TestRunnerUtil.runAsDominoThread(Graph2Test.class, TestRunnerUtil.NATIVE_SESSION, 1);
}
public void timelog(final String message) {
long curtime = System.nanoTime();
long elapsed = curtime - marktime;
marktime = curtime;
System.out.println(elapsed / 1000000 + " ms: " + message);
}
public Graph2Test() {
// whatever you might want to do in your constructor, but stay away from Domino objects
}
@Override
public void run() {
run1();
// run2();
run3();
}
public void run3() {
long testStartTime = System.nanoTime();
marktime = System.nanoTime();
//Session session = Factory.getSession(SessionType.CURRENT);
try {
timelog("Beginning graph2 test3...");
DElementStore crewStore = new DElementStore();
crewStore.setStoreKey(crewPath);
crewStore.addType(Crew.class);
DElementStore movieStore = new DElementStore();
movieStore.setStoreKey(moviePath);
movieStore.addType(Movie.class);
DElementStore characterStore = new DElementStore();
characterStore.setStoreKey(charactersPath);
characterStore.addType(Character.class);
DElementStore edgeStore = new DElementStore();
edgeStore.setStoreKey(edgePath);
DConfiguration config = new DConfiguration();
graph = new DGraph(config);
config.addElementStore(crewStore);
config.addElementStore(movieStore);
config.addElementStore(characterStore);
config.addElementStore(edgeStore);
config.setDefaultElementStore(edgeStore.getStoreKey());
DFramedGraphFactory factory = new DFramedGraphFactory(config);
FramedTransactionalGraph<DGraph> framedGraph = factory.create(graph);
Movie newhopeMovie = framedGraph.getVertex("Star Wars", Movie.class);
Movie empireMovie = framedGraph.getVertex("The Empire Strikes Back", Movie.class);
Movie jediMovie = framedGraph.getVertex("Return of the Jedi", Movie.class);
Movie phantomMovie = framedGraph.getVertex("The Phantom Menace", Movie.class);
Movie clonesMovie = framedGraph.getVertex("Attack of the Clones", Movie.class);
Movie revengeMovie = framedGraph.getVertex("Revenge of the Sith", Movie.class);
System.out.println("***************************");
System.out.println("Don't miss " + newhopeMovie.getTitle() + " " + newhopeMovie.getDirectedBy().getRating() + " stars!");
List<Starring> starrings = (List) newhopeMovie.getStarring();
for (Starring starring : starrings) {
Crew crew = starring.getStar();
Character character = crew.getPortraysCharacters().iterator().next();
System.out.println(crew.getFirstName() + " " + crew.getLastName() + " as " + character.getName());
}
System.out.println("***************************");
System.out.println("Don't miss " + empireMovie.getTitle() + " " + empireMovie.getDirectedBy().getRating() + " stars!");
starrings = (List) empireMovie.getStarring();
for (Starring starring : starrings) {
Crew crew = starring.getStar();
Character character = crew.getPortraysCharacters().iterator().next();
System.out.println(crew.getFirstName() + " " + crew.getLastName() + " as " + character.getName());
}
System.out.println("***************************");
System.out.println("Don't miss " + jediMovie.getTitle() + " " + jediMovie.getDirectedBy().getRating() + " stars!");
starrings = (List) jediMovie.getStarring();
System.out.println("TEMP DEBUG found " + starrings.size() + " starrings");
for (Starring starring : starrings) {
Crew crew = starring.getStar();
Character character = crew.getPortraysCharacters().iterator().next();
System.out.println(crew.getFirstName() + " " + crew.getLastName() + " as " + character.getName());
}
} catch (Throwable t) {
t.printStackTrace();
}
}
public void run2() {
long testStartTime = System.nanoTime();
marktime = System.nanoTime();
try {
timelog("Beginning graph2 test...");
for (Vertex v : graph.getVertices()) {
System.out.println("RESULT: " + v.getId().toString());
}
for (Edge e : graph.getEdges()) {
System.out.println("RESULT: " + e.getId().toString() + ":" + e.getLabel());
}
// lotus.domino.Session s = Factory.terminate();
// s.recycle();
graph = null;
System.gc();
} catch (Throwable t) {
t.printStackTrace();
}
long testEndTime = System.nanoTime();
System.out.println("Completed " + getClass().getSimpleName() + " run2 in " + ((testEndTime - testStartTime) / 1000000) + " ms");
}
public void resetDbs() {
System.out.println("Resetting Star Wars test databases");
Session session = Factory.getSession(SessionType.NATIVE);
Database crewDb = session.getDatabase(crewPath);
if (crewDb != null) {
crewDb.getAllDocuments().removeAll(true);
} else {
Factory.println("crewDb was null");
}
Database movieDb = session.getDatabase(moviePath);
if (movieDb != null) {
movieDb.getAllDocuments().removeAll(true);
}
Database characterDb = session.getDatabase(charactersPath);
if (characterDb != null) {
characterDb.getAllDocuments().removeAll(true);
}
Database edgeDb = session.getDatabase(edgePath);
if (edgeDb != null) {
edgeDb.getAllDocuments().removeAll(true);
}
// Database nabDb = session.getDatabase("", "names.nsf");
// Document ntfDoc = nabDb.getDocumentByUNID(ntfUnid);
// ntfDoc.removeItem("_COUNT_OPEN_OUT_rates");
// ntfDoc.removeItem("_OPEN_OUT_rates");
// ntfDoc.removeItem("_ODA_GRAPHTYPE");
// ntfDoc.save();
session.recycle();
System.gc();
}
public void run1() {
long testStartTime = System.nanoTime();
marktime = System.nanoTime();
try {
timelog("Beginning graph2 test...");
DElementStore crewStore = new DElementStore();
crewStore.setStoreKey(crewPath);
crewStore.addType(Crew.class);
DElementStore movieStore = new DElementStore();
movieStore.setStoreKey(moviePath);
movieStore.addType(Movie.class);
DElementStore characterStore = new DElementStore();
characterStore.setStoreKey(charactersPath);
characterStore.addType(Character.class);
DElementStore edgeStore = new DElementStore();
edgeStore.setStoreKey(edgePath);
// DElementStore usersStore = new DElementStore();
// usersStore.setStoreKey(NoteCoordinate.Utils.getLongFromReplid(nabId));
// usersStore.setProxyStoreKey(NoteCoordinate.Utils.getLongFromReplid(usersId));
// usersStore.addType(User.class);
DConfiguration config = new DConfiguration();
graph = new DGraph(config);
config.addElementStore(crewStore);
config.addElementStore(movieStore);
config.addElementStore(characterStore);
config.addElementStore(edgeStore);
// config.addElementStore(usersStore);
config.setDefaultElementStore(edgeStore.getStoreKey());
DGraph graph = new DGraph(config);
DFramedGraphFactory factory = new DFramedGraphFactory(config);
FramedTransactionalGraph<DGraph> framedGraph = factory.create(graph);
resetDbs();
// User ntfUser = framedGraph.getVertex(nabId + ntfUnid, User.class);
Movie newhopeMovie = framedGraph.addVertex("Star Wars", Movie.class);
newhopeMovie.setTitle("Star Wars");
// Likes ntfLikesNH = ntfUser.addLikes(newhopeMovie);
// ntfLikesNH.setRating(4);
Movie empireMovie = framedGraph.addVertex("The Empire Strikes Back", Movie.class);
empireMovie.setTitle("The Empire Strikes Back");
// Likes ntfLikesESB = ntfUser.addLikes(empireMovie);
// ntfLikesESB.setRating(5);
Movie jediMovie = framedGraph.addVertex("Return of the Jedi", Movie.class);
jediMovie.setTitle("Return of the Jedi");
// Likes ntfLikesRoJ = ntfUser.addLikes(jediMovie);
// ntfLikesRoJ.setRating(5);
Movie phantomMovie = framedGraph.addVertex("The Phantom Menace", Movie.class);
phantomMovie.setTitle("The Phantom Menace");
Movie clonesMovie = framedGraph.addVertex("Attack of the Clones", Movie.class);
clonesMovie.setTitle("Attack of the Clones");
Movie revengeMovie = framedGraph.addVertex("Revenge of the Sith", Movie.class);
revengeMovie.setTitle("Revenge of the Sith");
Crew lucasCrew = framedGraph.addVertex("George Lucas", Crew.class);
lucasCrew.setFullName("George Lucas");
Crew kershnerCrew = framedGraph.addVertex("Irvin Kershner", Crew.class);
kershnerCrew.setFullName("Irvin Kershner");
Crew marquandCrew = framedGraph.addVertex("Richard Marquand", Crew.class);
marquandCrew.setFullName("Richard Marquand");
DirectedBy nhDirector = newhopeMovie.addDirectedBy(lucasCrew);
nhDirector.setRating(4);
DirectedBy esbDirector = empireMovie.addDirectedBy(kershnerCrew);
esbDirector.setRating(5);
DirectedBy rojDirector = jediMovie.addDirectedBy(marquandCrew);
rojDirector.setRating(4);
DirectedBy pmDirector = phantomMovie.addDirectedBy(lucasCrew);
pmDirector.setRating(3);
DirectedBy aocDirector = clonesMovie.addDirectedBy(lucasCrew);
aocDirector.setRating(2);
DirectedBy rosDirector = revengeMovie.addDirectedBy(lucasCrew);
rosDirector.setRating(1);
Character luke = framedGraph.addVertex("Luke Skywalker", Character.class);
luke.setName("Luke Skywalker");
luke.addAppearsIn(newhopeMovie);
luke.addAppearsIn(empireMovie);
luke.addAppearsIn(jediMovie);
Character leia = framedGraph.addVertex("Leia Organa", Character.class);
leia.setName("Leia Organa");
leia.addAppearsIn(newhopeMovie);
leia.addAppearsIn(empireMovie);
leia.addAppearsIn(jediMovie);
Character han = framedGraph.addVertex("Han Solo", Character.class);
han.setName("Han Solo");
han.addAppearsIn(newhopeMovie);
han.addAppearsIn(empireMovie);
han.addAppearsIn(jediMovie);
Character chewy = framedGraph.addVertex("Chewbacca", Character.class);
chewy.setName("Chewbacca");
chewy.addAppearsIn(newhopeMovie);
chewy.addAppearsIn(empireMovie);
chewy.addAppearsIn(jediMovie);
chewy.addAppearsIn(revengeMovie);
Character threepio = framedGraph.addVertex("C-3PO", Character.class);
threepio.setName("C-3PO");
threepio.addAppearsIn(newhopeMovie);
threepio.addAppearsIn(empireMovie);
threepio.addAppearsIn(jediMovie);
threepio.addAppearsIn(phantomMovie);
threepio.addAppearsIn(clonesMovie);
threepio.addAppearsIn(revengeMovie);
Character artoo = framedGraph.addVertex("R2D2", Character.class);
artoo.setName("R2D2");
artoo.addAppearsIn(newhopeMovie);
artoo.addAppearsIn(empireMovie);
artoo.addAppearsIn(jediMovie);
artoo.addAppearsIn(phantomMovie);
artoo.addAppearsIn(clonesMovie);
artoo.addAppearsIn(revengeMovie);
Character lando = framedGraph.addVertex("Lando Calrissian", Character.class);
lando.setName("Lando Calrissian");
lando.addAppearsIn(empireMovie);
lando.addAppearsIn(jediMovie);
Character anakin = framedGraph.addVertex("Anakin Skywalker", Character.class);
anakin.setName("Anakin Skywalker");
anakin.addAppearsIn(newhopeMovie);
anakin.addAppearsIn(empireMovie);
anakin.addAppearsIn(jediMovie);
anakin.addAppearsIn(phantomMovie);
anakin.addAppearsIn(clonesMovie);
anakin.addAppearsIn(revengeMovie);
Character palpatine = framedGraph.addVertex("Darth Sidious", Character.class);
palpatine.setName("Darth Sidious");
palpatine.addAppearsIn(empireMovie);
palpatine.addAppearsIn(jediMovie);
palpatine.addAppearsIn(phantomMovie);
palpatine.addAppearsIn(clonesMovie);
palpatine.addAppearsIn(revengeMovie);
Character obiwan = framedGraph.addVertex("Obi-Wan Kenobi", Character.class);
obiwan.setName("Obi-Wan Kenobi");
obiwan.addAppearsIn(newhopeMovie);
obiwan.addAppearsIn(empireMovie);
obiwan.addAppearsIn(jediMovie);
obiwan.addAppearsIn(phantomMovie);
obiwan.addAppearsIn(clonesMovie);
obiwan.addAppearsIn(revengeMovie);
Character quigon = framedGraph.addVertex("Qui-Gon Jinn", Character.class);
quigon.setName("Qui-Gon Jinn");
quigon.addAppearsIn(phantomMovie);
Character yoda = framedGraph.addVertex("Yoda", Character.class);
yoda.setName("Yoda");
yoda.addAppearsIn(empireMovie);
yoda.addAppearsIn(jediMovie);
yoda.addAppearsIn(phantomMovie);
yoda.addAppearsIn(clonesMovie);
yoda.addAppearsIn(revengeMovie);
Character jango = framedGraph.addVertex("Jango Fett", Character.class);
jango.setName("Jango Fett");
jango.addAppearsIn(clonesMovie);
Character boba = framedGraph.addVertex("Boba Fett", Character.class);
boba.setName("Boba Fett");
boba.addAppearsIn(empireMovie);
boba.addAppearsIn(jediMovie);
boba.addAppearsIn(clonesMovie);
Character padme = framedGraph.addVertex("Padme", Character.class);
padme.setName("Padme");
padme.addAppearsIn(phantomMovie);
padme.addAppearsIn(clonesMovie);
padme.addAppearsIn(revengeMovie);
Character shmi = framedGraph.addVertex("Shmi Skywalker", Character.class);
shmi.setName("Shmi Skywalker");
shmi.addAppearsIn(phantomMovie);
shmi.addAppearsIn(clonesMovie);
Character tyranus = framedGraph.addVertex("Darth Tyranus", Character.class);
tyranus.setName("Darth Tyranus");
tyranus.addAppearsIn(clonesMovie);
tyranus.addAppearsIn(revengeMovie);
Character maul = framedGraph.addVertex("Darth Maul", Character.class);
maul.setName("Darth Maul");
maul.addAppearsIn(phantomMovie);
maul.addAppearsIn(clonesMovie);
Character tarkin = framedGraph.addVertex("Grand Moff Tarkin", Character.class);
tarkin.setName("Grand Moff Tarkin");
tarkin.addAppearsIn(newhopeMovie);
Character windu = framedGraph.addVertex("Mace Windu", Character.class);
windu.setName("Mace Windu");
windu.addAppearsIn(phantomMovie);
windu.addAppearsIn(clonesMovie);
windu.addAppearsIn(revengeMovie);
Character greedo = framedGraph.addVertex("Greedo", Character.class);
greedo.setName("Greedo");
greedo.addAppearsIn(newhopeMovie);
Character wedge = framedGraph.addVertex("Wedge Antilles", Character.class);
wedge.setName("Wedge Antilles");
wedge.addAppearsIn(newhopeMovie);
wedge.addAppearsIn(empireMovie);
wedge.addAppearsIn(jediMovie);
Crew ford = framedGraph.addVertex("Harrison Ford", Crew.class);
ford.setFullName("Harrison Ford");
ford.addStarsInMovie(newhopeMovie);
ford.addStarsInMovie(empireMovie);
ford.addStarsInMovie(jediMovie);
han.addPortrayedBy(ford);
Crew fischer = framedGraph.addVertex("Carrie Fischer", Crew.class);
fischer.setFullName("Carrie Fischer");
fischer.addStarsInMovie(newhopeMovie);
fischer.addStarsInMovie(empireMovie);
fischer.addStarsInMovie(jediMovie);
fischer.addPortrayals(leia);
Crew hammill = framedGraph.addVertex("Mark Hammill", Crew.class);
hammill.setFullName("Mark Hammill");
hammill.addStarsInMovie(newhopeMovie);
hammill.addStarsInMovie(empireMovie);
hammill.addStarsInMovie(jediMovie);
hammill.addPortrayals(luke);
Crew daniels = framedGraph.addVertex("Anthony Daniels", Crew.class);
daniels.setFullName("Anthony Daniels");
daniels.addStarsInMovie(newhopeMovie);
daniels.addStarsInMovie(empireMovie);
daniels.addStarsInMovie(jediMovie);
daniels.addStarsInMovie(phantomMovie);
daniels.addStarsInMovie(clonesMovie);
daniels.addStarsInMovie(revengeMovie);
daniels.addPortrayals(threepio);
Crew baker = framedGraph.addVertex("Kenny Baker", Crew.class);
baker.setFullName("Kenny Baker");
baker.addStarsInMovie(newhopeMovie);
baker.addStarsInMovie(empireMovie);
baker.addStarsInMovie(jediMovie);
baker.addStarsInMovie(phantomMovie);
baker.addStarsInMovie(clonesMovie);
baker.addStarsInMovie(revengeMovie);
baker.addPortrayals(artoo);
Crew prowse = framedGraph.addVertex("David Prowse", Crew.class);
prowse.setFullName("David Prowse");
prowse.addStarsInMovie(newhopeMovie);
prowse.addStarsInMovie(empireMovie);
prowse.addStarsInMovie(jediMovie);
prowse.addPortrayals(anakin);
Crew williams = framedGraph.addVertex("Billy Dee Williams", Crew.class);
williams.setFullName("Billy Dee Williams");
williams.addStarsInMovie(empireMovie);
williams.addStarsInMovie(jediMovie);
williams.addPortrayals(lando);
Crew guinness = framedGraph.addVertex("Alec Guinness", Crew.class);
guinness.setFullName("Alec Guinness");
guinness.addStarsInMovie(newhopeMovie);
guinness.addStarsInMovie(empireMovie);
guinness.addStarsInMovie(jediMovie);
guinness.addPortrayals(obiwan);
Crew ewan = framedGraph.addVertex("Ewan McGregor", Crew.class);
ewan.setFullName("Ewan McGregor");
ewan.addStarsInMovie(phantomMovie);
ewan.addStarsInMovie(clonesMovie);
ewan.addStarsInMovie(revengeMovie);
ewan.addPortrayals(obiwan);
Crew cushing = framedGraph.addVertex("Peter Cushing", Crew.class);
cushing.setFullName("Peter Cushing");
cushing.addStarsInMovie(newhopeMovie);
cushing.addPortrayals(tarkin);
Crew mayhew = framedGraph.addVertex("Peter Mayhew", Crew.class);
mayhew.setFullName("Peter Mayhew");
mayhew.addStarsInMovie(newhopeMovie);
mayhew.addStarsInMovie(empireMovie);
mayhew.addStarsInMovie(jediMovie);
mayhew.addStarsInMovie(revengeMovie);
mayhew.addPortrayals(chewy);
Crew oz = framedGraph.addVertex("Frank Oz", Crew.class);
oz.setFullName("Frank Oz");
oz.addStarsInMovie(empireMovie);
oz.addStarsInMovie(jediMovie);
oz.addStarsInMovie(phantomMovie);
oz.addStarsInMovie(clonesMovie);
oz.addStarsInMovie(revengeMovie);
oz.addPortrayals(yoda);
Crew bulloch = framedGraph.addVertex("Jeremy Bulloch", Crew.class);
bulloch.setFullName("Jeremy Bulloch");
bulloch.addStarsInMovie(empireMovie);
bulloch.addStarsInMovie(jediMovie);
bulloch.addPortrayals(boba);
Crew revill = framedGraph.addVertex("Clive Revill", Crew.class);
revill.setFullName("Clive Revill");
revill.addStarsInMovie(empireMovie);
revill.addPortrayals(palpatine);
Crew ian = framedGraph.addVertex("Ian McDiarmid", Crew.class);
ian.setFullName("Ian McDiarmid");
ian.addStarsInMovie(jediMovie);
ian.addStarsInMovie(phantomMovie);
ian.addStarsInMovie(clonesMovie);
ian.addStarsInMovie(revengeMovie);
ian.addPortrayals(palpatine);
Crew shaw = framedGraph.addVertex("Sebastian Shaw", Crew.class);
shaw.setFullName("Sebastian Shaw");
shaw.addStarsInMovie(jediMovie);
shaw.addPortrayals(anakin);
Crew liam = framedGraph.addVertex("Liam Neeson", Crew.class);
liam.setFullName("Liam Neeson");
liam.addStarsInMovie(phantomMovie);
liam.addPortrayals(quigon);
Crew portman = framedGraph.addVertex("Natalie Portman", Crew.class);
portman.setFullName("Natalie Portman");
portman.addStarsInMovie(phantomMovie);
portman.addStarsInMovie(clonesMovie);
portman.addStarsInMovie(revengeMovie);
portman.addPortrayals(padme);
Crew lloyd = framedGraph.addVertex("Jake Lloyd", Crew.class);
lloyd.setFullName("Jake Lloyd");
lloyd.addStarsInMovie(phantomMovie);
lloyd.addPortrayals(anakin);
Crew hayden = framedGraph.addVertex("Hayden Christensen", Crew.class);
hayden.setFullName("Hayden Christensen");
hayden.addStarsInMovie(clonesMovie);
hayden.addStarsInMovie(revengeMovie);
hayden.addPortrayals(anakin);
Crew august = framedGraph.addVertex("Pernill August", Crew.class);
august.setFullName("Pernill August");
august.addStarsInMovie(phantomMovie);
august.addStarsInMovie(clonesMovie);
august.addPortrayals(shmi);
Crew park = framedGraph.addVertex("Ray Park", Crew.class);
park.setFullName("Ray Park");
park.addStarsInMovie(phantomMovie);
park.addPortrayals(maul);
Crew samuel = framedGraph.addVertex("Samuel L. Jackson", Crew.class);
samuel.setFullName("Samuel L. Jackson");
samuel.addStarsInMovie(phantomMovie);
samuel.addStarsInMovie(clonesMovie);
samuel.addStarsInMovie(revengeMovie);
samuel.addPortrayals(windu);
Crew lee = framedGraph.addVertex("Christopher Lee", Crew.class);
lee.setFullName("Christopher Lee");
lee.addStarsInMovie(clonesMovie);
lee.addStarsInMovie(revengeMovie);
lee.addPortrayals(tyranus);
Crew morrison = framedGraph.addVertex("Temuera Morrison", Crew.class);
morrison.setFullName("Temuera Morrison");
morrison.addStarsInMovie(clonesMovie);
morrison.addPortrayals(jango);
Crew logan = framedGraph.addVertex("Daniel Logan", Crew.class);
logan.setFullName("Daniel Logan");
logan.addStarsInMovie(clonesMovie);
logan.addPortrayals(boba);
Crew blake = framedGraph.addVertex("Paul Blake", Crew.class);
blake.setFullName("Paul Blake");
blake.addStarsInMovie(newhopeMovie);
blake.addPortrayals(greedo);
Crew lawson = framedGraph.addVertex("Denis Lawson", Crew.class);
lawson.setFullName("Denis Lawson");
lawson.addStarsInMovie(newhopeMovie);
lawson.addStarsInMovie(empireMovie);
lawson.addStarsInMovie(jediMovie);
lawson.addPortrayals(wedge);
Kills curKills = null;
curKills = anakin.addKills(obiwan);
curKills.setFilm(newhopeMovie.asVertex().getId().toString());
curKills = luke.addKills(tarkin);
curKills.setFilm(newhopeMovie.asVertex().getId().toString());
curKills = windu.addKills(jango);
curKills.setFilm(clonesMovie.asVertex().getId().toString());
curKills = palpatine.addKills(windu);
curKills.setFilm(revengeMovie.asVertex().getId().toString());
curKills = wedge.addKills(anakin);
curKills.setFilm(jediMovie.asVertex().getId().toString());
curKills = lando.addKills(anakin);
curKills.setFilm(jediMovie.asVertex().getId().toString());
curKills = anakin.addKills(palpatine);
curKills.setFilm(jediMovie.asVertex().getId().toString());
curKills = maul.addKills(quigon);
curKills.setFilm(phantomMovie.asVertex().getId().toString());
curKills = obiwan.addKills(maul);
curKills.setFilm(phantomMovie.asVertex().getId().toString());
curKills = han.addKills(greedo);
curKills.setFilm(newhopeMovie.asVertex().getId().toString());
curKills = han.addKills(boba);
curKills.setFilm(jediMovie.asVertex().getId().toString());
curKills = anakin.addKills(tyranus);
curKills.setFilm(revengeMovie.asVertex().getId().toString());
anakin.addSpawns(threepio);
anakin.addSpawns(luke);
anakin.addSpawns(leia);
padme.addSpawns(luke);
padme.addSpawns(leia);
shmi.addSpawns(anakin);
jango.addSpawns(boba);
graph.commit();
} catch (Throwable t) {
t.printStackTrace();
}
long testEndTime = System.nanoTime();
System.out.println("Completed " + getClass().getSimpleName() + " run in " + ((testEndTime - testStartTime) / 1000000) + " ms");
}
}