use of com.tinkerpop.blueprints.Vertex in project frames by tinkerpop.
the class TypedGraphModuleTest method testWildcard.
public void testWildcard() {
Graph graph = new TinkerGraph();
FramedGraphFactory factory = new FramedGraphFactory(new TypedGraphModuleBuilder().withClass(A.class).withClass(B.class).withClass(C.class).build());
FramedGraph<Graph> framedGraph = factory.create(graph);
Vertex v1 = graph.addVertex(null);
Vertex v2 = graph.addVertex(null);
v2.setProperty("type", "A");
Edge cE = graph.addEdge(null, v1, v2, "label");
cE.setProperty("type", "C");
Base c = framedGraph.getEdge(cE.getId(), Direction.OUT, Base.class);
assertTrue(c instanceof C);
assertTrue(((C) c).getInVertex() instanceof A);
}
use of com.tinkerpop.blueprints.Vertex in project frames by tinkerpop.
the class FramedVertexSetTest method testFramedSet.
public void testFramedSet() {
Graph graph = TinkerGraphFactory.createTinkerGraph();
FramedGraph<Graph> framedGraph = new FramedGraph<Graph>(graph);
Set<Vertex> vertices = new HashSet<Vertex>();
vertices.add(graph.getVertex(1));
vertices.add(graph.getVertex(4));
vertices.add(graph.getVertex(6));
FramedVertexSet<Person> set = new FramedVertexSet<Person>(framedGraph, vertices, Person.class);
assertEquals(set.size(), 3);
assertTrue(set.contains(graph.getVertex(1)));
assertTrue(set.contains(graph.getVertex(4)));
assertTrue(set.contains(graph.getVertex(6)));
assertTrue(set.contains(framedGraph.frame(graph.getVertex(1), Person.class)));
assertTrue(set.contains(framedGraph.frame(graph.getVertex(4), Person.class)));
assertTrue(set.contains(framedGraph.frame(graph.getVertex(6), Person.class)));
int counter = 0;
for (Person person : set) {
assertTrue(person.asVertex().getId().equals("1") || person.asVertex().getId().equals("4") || person.asVertex().getId().equals("6"));
counter++;
}
assertEquals(counter, 3);
}
use of com.tinkerpop.blueprints.Vertex in project blueprints by tinkerpop.
the class BatchGraphTest method loadingTest.
public void loadingTest(int total, int bufferSize, VertexIDType type, LoadingFactory ids) {
final VertexEdgeCounter counter = new VertexEdgeCounter();
MockTransactionalGraph tgraph = null;
if (ignoreIDs) {
tgraph = new MockTransactionalGraph(new IgnoreIdTinkerGraph());
} else {
tgraph = new MockTransactionalGraph(new TinkerGraph());
}
BLGraph graph = new BLGraph(tgraph, counter, ids);
BatchGraph<BLGraph> loader = new BatchGraph<BLGraph>(graph, type, bufferSize);
if (assignKeys) {
loader.setVertexIdKey(vertexIDKey);
loader.setEdgeIdKey(edgeIDKey);
}
//Create a chain
int chainLength = total;
Vertex previous = null;
for (int i = 0; i <= chainLength; i++) {
Vertex next = loader.addVertex(ids.getVertexID(i));
next.setProperty(UID, i);
counter.numVertices++;
counter.totalVertices++;
if (previous != null) {
Edge e = loader.addEdge(ids.getEdgeID(i), loader.getVertex(previous.getId()), loader.getVertex(next.getId()), "next");
e.setProperty(UID, i);
counter.numEdges++;
}
previous = next;
}
loader.stopTransaction(TransactionalGraph.Conclusion.SUCCESS);
assertTrue(tgraph.allSuccessful());
loader.shutdown();
}
use of com.tinkerpop.blueprints.Vertex in project blueprints by tinkerpop.
the class BatchGraphTest method testLoadingWithExisting2.
public void testLoadingWithExisting2() {
int numEdges = 1000;
String[][] quads = generateQuads(100, numEdges, new String[] { "knows", "friend" });
TinkerGraph tg = new IgnoreIdTinkerGraph();
BatchGraph bg = new BatchGraph(new WritethroughGraph(tg), VertexIDType.STRING, 100);
try {
bg.setLoadingFromScratch(false);
fail();
} catch (IllegalStateException e) {
}
bg.setVertexIdKey("uid");
bg.setLoadingFromScratch(false);
try {
bg.setVertexIdKey(null);
fail();
} catch (IllegalStateException e) {
}
Graph graph = null;
int counter = 0;
for (String[] quad : quads) {
if (counter < numEdges / 2)
graph = tg;
else
graph = bg;
Vertex[] vertices = new Vertex[2];
for (int i = 0; i < 2; i++) {
vertices[i] = graph.getVertex(quad[i]);
if (vertices[i] == null)
vertices[i] = graph.addVertex(quad[i]);
}
Edge edge = graph.addEdge(null, vertices[0], vertices[1], quad[2]);
edge.setProperty("annotation", quad[3]);
counter++;
}
assertEquals(numEdges, BaseTest.count(tg.getEdges()));
bg.shutdown();
}
use of com.tinkerpop.blueprints.Vertex in project blueprints by tinkerpop.
the class BatchGraphTest method testQuadLoading.
public void testQuadLoading() {
int numEdges = 10000;
String[][] quads = generateQuads(100, numEdges, new String[] { "knows", "friend" });
TinkerGraph graph = new TinkerGraph();
BatchGraph bgraph = new BatchGraph(new WritethroughGraph(graph), VertexIDType.STRING, 1000);
for (String[] quad : quads) {
Vertex[] vertices = new Vertex[2];
for (int i = 0; i < 2; i++) {
vertices[i] = bgraph.getVertex(quad[i]);
if (vertices[i] == null)
vertices[i] = bgraph.addVertex(quad[i]);
}
Edge edge = bgraph.addEdge(null, vertices[0], vertices[1], quad[2]);
edge.setProperty("annotation", quad[3]);
}
assertEquals(numEdges, BaseTest.count(graph.getEdges()));
bgraph.shutdown();
}
Aggregations