private int growVertex(TitanVertex vertex, int depth, int maxDepth, int maxBranch) { vertex.setProperty("distance",depth); int total=1; if (depth>=maxDepth) return total; for (int i=0;i<random.nextInt(maxBranch)+1;i++) { int dist = random.nextInt(3)+1; TitanVertex n = tx.addVertex(); n.addEdge("connect",vertex).setProperty("distance",dist); total+=growVertex(n,depth+dist,maxDepth,maxBranch); } return total; }
@Override public void run() { TitanTransaction tx = graph.newTransaction(); TitanVertex[] vs = new TitanVertex[verticesPerTask]; for (int j=0;j<verticesPerTask;j++) { vs[j]=tx.addVertex(); vs[j].setProperty("w", random.nextInt(maxWeight)); } for (int j=0;j<verticesPerTask*10;j++) { TitanEdge e = vs[random.nextInt(verticesPerTask)].addEdge("l",vs[random.nextInt(verticesPerTask)]); e.setProperty("t",random.nextInt(maxTime)); } System.out.print("."); tx.commit(); } });
private TitanEdge addSchemaEdge(TitanVertex out, TitanVertex in, TypeDefinitionCategory def, Object modifier) { assert def.isEdge(); TitanEdge edge = transaction.addEdge(out,in, BaseLabel.SchemaDefinitionEdge); TypeDefinitionDescription desc = new TypeDefinitionDescription(def,modifier); edge.setProperty(BaseKey.SchemaDefinitionDesc,desc); return edge; }
@Override public void run() { for (int r = 0; r < rounds; r++) { TitanTransaction tx = graph.newTransaction(); TitanVertex previous = null; for (int c = 0; c < commitSize; c++) { TitanVertex v = tx.addVertex(); long uid = uidCounter.incrementAndGet(); v.setProperty("uid", uid); v.setProperty("name", "user" + uid); if (previous != null) { v.addEdge("friend", previous).setProperty("time", Math.abs(random.nextInt())); } previous = v; } tx.commit(); } } });
@Override public void run() { for (int r = 0; r < rounds; r++) { TitanTransaction tx = graph.newTransaction(); TitanVertex previous = null; for (int c = 0; c < commitSize; c++) { TitanVertex v = tx.addVertex(); long uid = uidCounter.incrementAndGet(); v.setProperty("uid", uid); v.setProperty("name", "user" + uid); if (previous != null) { v.addEdge("friend", previous).setProperty("time", Math.abs(random.nextInt())); } previous = v; } tx.commit(); } } });
e.setProperty("time", 5); e = v1.addEdge(connect, v2); e.setProperty("time", 10); e.setProperty("link", v3); e = v2.addEdge(connect, v3); e.setProperty("time", 15); e.setProperty("link", v1);
Preconditions.checkNotNull(other); TitanEdge e = n.addEdge(connect, other); e.setProperty(id, i); e.setProperty(name, "Edge" + (i % mod));
TitanVertex n2 = nodes[wrapAround(i + k, noNodes)]; TitanEdge r = n.addEdge(knows, n2); r.setProperty(id, ((Number) n.getProperty(id)).intValue() + ((Number) n2.getProperty(id)).intValue()); r.setProperty(weight, k * 1.5); r.setProperty(name, i + "-" + k); nodeEdges[i].add(r);
Preconditions.checkNotNull(other); TitanEdge e = n.addEdge("connect", other); e.setProperty("uid", i); e.setProperty("name", "Edge" + (i % mod));
private void setupChainGraph(int numV, String[] strs) { TitanKey name = graph.makeKey("name").dataType(String.class).indexed(INDEX, Element.class, Parameter.of(Mapping.MAPPING_PREFIX,Mapping.STRING)).single().make(); TitanKey text = graph.makeKey("text").dataType(String.class).indexed(INDEX, Element.class, Parameter.of(Mapping.MAPPING_PREFIX,Mapping.TEXT)).single().make(); graph.makeLabel("knows").sortKey(name).sortOrder(Order.DESC).make(); TitanVertex previous = null; for (int i=0;i<numV;i++) { TitanVertex v = graph.addVertex(null); v.setProperty("name",strs[i%strs.length]); v.setProperty("text",strs[i%strs.length]); TitanEdge e = v.addEdge("knows",previous==null?v:previous); e.setProperty("name",strs[i%strs.length]); e.setProperty("text",strs[i%strs.length]); previous=v; } }
assertEquals(n2, e.getVertex(IN)); e = n2.addEdge(knows, n3); e.setProperty(weight, 3.0); e.setProperty(name, "HasProperties TitanRelation"); e = n3.addEdge(knows, n1); n3.addEdge(connect, n3); e.setProperty(id, 111); assertEquals(4, Iterables.size(n3.getEdges())); assertEquals(2, Iterables.size(n3.getEdges(Direction.OUT))); e.setProperty(weight, 111.5); e.setProperty(name, "New TitanRelation"); assertEquals(1, Iterables.size(n2.getEdges(BOTH, "knows"))); assertEquals(2, Iterables.size(n1.getEdges(BOTH, "knows")));
TitanVertex n2 = nodes[wrapAround(i + k, noNodes)]; TitanEdge r = n.addEdge("knows", n2); r.setProperty(id, ((Number) n.getProperty(id)).intValue() + ((Number) n2.getProperty(id)).intValue()); r.setProperty("weight", k * 1.5); r.setProperty("name", i + "-" + k); nodeEdges[i].add(r);
TitanEdge e = n3.addEdge("knows", n1); Edge e2 = n1.addEdge("friend",n3); e.setProperty(id, 111); n3.addProperty(id, 445); assertEquals(111, e.getProperty(id)); e.setProperty(id,222);
TitanEdge e = n3.addEdge(knows, n1); Edge e2 = n1.addEdge("friend",n3); e.setProperty(id, 111); n3.addProperty(id, 445); assertEquals(111, e.getProperty(id)); e.setProperty(id,222);
for (int t=0;t<edgePerV;t++) { TitanEdge e = v.addEdge("knows",v); e.setProperty("time",t);
@Test public void testWithoutIndex() { TitanKey kid = graph.makeKey("kid").dataType(Long.class).single().make(); graph.makeKey("name").dataType(String.class).single().make(); graph.makeLabel("knows").signature(kid).make(); Random random = new Random(); int numV = 1000; TitanVertex previous = null; for (int i=0;i<numV;i++) { TitanVertex v = graph.addVertex(null); v.setProperty("kid",random.nextInt(numV)); v.setProperty("name","v"+i); if (previous!=null) { TitanEdge e = v.addEdge("knows",previous); e.setProperty("kid",random.nextInt(numV/2)); } previous=v; } clopen(); TestUtil.verifyElementOrder(graph.query().orderBy("kid",Order.ASC).limit(500).vertices(),"kid",Order.ASC,500); TestUtil.verifyElementOrder(graph.query().orderBy("kid",Order.ASC).limit(300).edges(),"kid",Order.ASC,300); TestUtil.verifyElementOrder(graph.query().orderBy("kid",Order.DESC).limit(400).vertices(),"kid",Order.DESC,400); TestUtil.verifyElementOrder(graph.query().orderBy("kid",Order.DESC).limit(200).edges(),"kid",Order.DESC,200); }
private void setupChainGraph(int numV, String[] strs, boolean sameNameMapping) { clopen(option(INDEX_NAME_MAPPING,INDEX),sameNameMapping); TitanGraphIndex vindex = getExternalIndex(Vertex.class,INDEX); TitanGraphIndex eindex = getExternalIndex(Edge.class,INDEX); TitanGraphIndex pindex = getExternalIndex(TitanProperty.class,INDEX); PropertyKey name = makeKey("name",String.class); mgmt.addIndexKey(vindex, name, getStringMapping()); mgmt.addIndexKey(eindex, name, getStringMapping()); mgmt.addIndexKey(pindex, name, getStringMapping(), Parameter.of("mapped-name", "xstr")); PropertyKey text = makeKey("text",String.class); mgmt.addIndexKey(vindex, text, getTextMapping(), Parameter.of("mapped-name","xtext")); mgmt.addIndexKey(eindex, text, getTextMapping()); mgmt.addIndexKey(pindex, text, getTextMapping()); mgmt.makeEdgeLabel("knows").signature(name).make(); mgmt.makePropertyKey("uid").dataType(String.class).signature(text).make(); finishSchema(); TitanVertex previous = null; for (int i=0;i<numV;i++) { TitanVertex v = graph.addVertex(null); v.setProperty("name",strs[i%strs.length]); v.setProperty("text",strs[i%strs.length]); TitanEdge e = v.addEdge("knows",previous==null?v:previous); e.setProperty("name",strs[i%strs.length]); e.setProperty("text",strs[i%strs.length]); TitanProperty p = v.addProperty("uid","v"+i); p.setProperty("name", strs[i % strs.length]); p.setProperty("text", strs[i % strs.length]); previous=v; } }
u.setProperty("name","juju"); TitanEdge e = v.addEdge("knows",u); e.setProperty("name","edge"); tx.commit(); verifyStoreMetrics(EDGESTORE_NAME);
@Test public void testWithoutIndex() { PropertyKey kid = mgmt.makePropertyKey("kid").dataType(Long.class).make(); mgmt.makePropertyKey("name").dataType(String.class).make(); mgmt.makeEdgeLabel("knows").signature(kid).make(); finishSchema(); Random random = new Random(); int numV = 1000; TitanVertex previous = null; for (int i=0;i<numV;i++) { TitanVertex v = graph.addVertex(null); v.setProperty("kid",random.nextInt(numV)); v.setProperty("name","v"+i); if (previous!=null) { TitanEdge e = v.addEdge("knows",previous); e.setProperty("kid",random.nextInt(numV/2)); } previous=v; } TestUtil.verifyElementOrder(graph.query().orderBy("kid",Order.ASC).limit(500).vertices(),"kid",Order.ASC,500); TestUtil.verifyElementOrder(graph.query().orderBy("kid",Order.ASC).limit(300).edges(),"kid",Order.ASC,300); TestUtil.verifyElementOrder(graph.query().orderBy("kid",Order.DESC).limit(400).vertices(),"kid",Order.DESC,400); TestUtil.verifyElementOrder(graph.query().orderBy("kid",Order.DESC).limit(200).edges(),"kid",Order.DESC,200); clopen(); //Copied from above TestUtil.verifyElementOrder(graph.query().orderBy("kid",Order.ASC).limit(500).vertices(),"kid",Order.ASC,500); TestUtil.verifyElementOrder(graph.query().orderBy("kid",Order.ASC).limit(300).edges(),"kid",Order.ASC,300); TestUtil.verifyElementOrder(graph.query().orderBy("kid",Order.DESC).limit(400).vertices(),"kid",Order.DESC,400); TestUtil.verifyElementOrder(graph.query().orderBy("kid",Order.DESC).limit(200).edges(),"kid",Order.DESC,200); }
v.addEdge("knows",v).setProperty("time",11);