package org.jboss.windup.graph.test.polymorf; import com.tinkerpop.blueprints.Graph; import com.tinkerpop.blueprints.Vertex; import com.tinkerpop.blueprints.impls.tg.TinkerGraph; /** * Creates test graphs with some data. * * @author <a href="mailto:ozizka@redhat.com">Ondrej Zizka</a> */ public class GraphCreator { public static Graph createFamilyGraph() { Graph g = new TinkerGraph(); // Manipulation through BluePrints API. // Ja Vertex oz = g.addVertex(null); oz.setProperty("name", "Ondrej Zizka"); oz.setProperty("man", true); // Mamka Vertex sz = g.addVertex(null); sz.setProperty("name", "Stanislava Zizkova"); sz.setProperty("man", false); g.addEdge(null, sz, oz, "parent"); // Deda Vertex jz0 = g.addVertex(null); jz0.setProperty("name", "Josef Zizka"); jz0.setProperty("man", true); // Babicka Vertex bab = g.addVertex(null); bab.setProperty("name", "Jaroslava Zizkova"); bab.setProperty("man", false); g.addEdge(null, jz0, bab, "married"); g.addEdge(null, bab, jz0, "married"); // Tata Vertex jz1 = g.addVertex(null); jz1.setProperty("name", "Josef Zizka"); jz1.setProperty("man", true); g.addEdge(null, jz1, oz, "parent"); g.addEdge(null, sz, jz1, "married"); g.addEdge(null, jz1, sz, "married"); // Bracha Vertex jz2 = g.addVertex(null); jz2.setProperty("name", "Josef Zizka"); jz2.setProperty("man", true); g.addEdge(null, jz1, jz2, "parent"); // Pepicek Vertex jz3 = g.addVertex(null); jz3.setProperty("name", "Josef Zizka"); jz3.setProperty("man", true); g.addEdge(null, jz2, jz3, "parent"); return g; } }