private final long[] writeGraph(final int numV, final int numE, final String label) throws Exception { TitanVertex[] vs = new TitanVertex[numV]; long start = System.currentTimeMillis(); for (int i = 0; i < numV; i++) { vs[i] = tx.addVertex(); } final Random random = new Random(); for (int i = 0; i < numV; i++) { for (int j = 0; j < numE; j++) { vs[i].addEdge(label, vs[random.nextInt(numV)]); } } newTx(); System.out.println("Write time for [" + (numE * numV) + "] edges in ms: " + (System.currentTimeMillis() - start)); final long[] vids = new long[numV]; for (int i = 0; i < numV; i++) vids[i] = vs[i].getID(); vs = null; return vids; }
@Override public void run() { while (true) { // Make or break relType between two (possibly same) random nodes // TitanVertex source = tx.getVertex(idProp, RandomGenerator.randomInt(0, nodeCount)); // TitanVertex sink = tx.getVertex(idProp, RandomGenerator.randomInt(0, nodeCount)); TitanVertex source = Iterables.getOnlyElement(tx.getVertices(idProp, 0)); TitanVertex sink = Iterables.getOnlyElement(tx.getVertices(idProp, 1)); for (TitanEdge r : source.getTitanEdges(Direction.OUT, relType)) { if (r.getVertex(Direction.IN).getID() == sink.getID()) { r.remove(); continue; } } source.addEdge(relType, sink); if (Thread.interrupted()) break; } }
@Override protected void doRun() throws Exception { TitanVertex n = Iterables.getOnlyElement(tx.getVertices(id, nodeid)); for (int i = 0; i < nodeTraversalCount; i++) { assertEquals("On vertex: " + n.getID(), expectedEdges, Iterables.size(n.getTitanEdges(Direction.BOTH, relTypeToTraverse))); for (TitanEdge r : n.getTitanEdges(Direction.OUT, relTypeToTraverse)) { n = r.getVertex(Direction.IN); } } } }
v.setProperty(prop,0); graph.commit(); vids[i]=v.getID();
v = tx.getVertex(v.getID()); assertEquals(2,Iterables.size(v.getProperties())); verifyMetrics(STORE_NAMES.get(0), ImmutableMap.of(M_MUTATE, 8l, M_GET_SLICE, 6l)); //1 verify vertex existence, 1 for query, 2 for each of the 2 types (getName/Definition) v = tx.getVertex(v.getID()); assertEquals(2,Iterables.size(v.getProperties())); verifyMetrics(STORE_NAMES.get(0), ImmutableMap.of(M_MUTATE, 8l, M_GET_SLICE, 12l)); v = tx.getVertex(v.getID()); assertNotNull(v.getProperty("age")); assertNotNull(v.getProperty("name")); v = tx.getVertex(v.getID()); Iterable<TitanRelation> relations = v.query().relations(); Iterator<TitanRelation> relationsIter = relations.iterator();
public void neighborhoodTest() { testCreateAndRetrieveComprehensive(); log.debug("Neighborhood:"); TitanVertex n1 = tx.getVertex("name", "Node1"); TitanVertexQuery q = n1.query().direction(OUT).types(tx.getEdgeLabel("connect")); VertexList res = q.vertexIds(); assertEquals(1, res.size()); TitanVertex n2 = tx.getVertex("name", "Node2"); assertEquals(n2.getID(), res.getID(0)); }
v = tx.getVertex(v.getID()); Iterable<TitanProperty> iter = v.getProperties(foo); assertFalse("Failed to durably remove multivalued property",
@Test public void testPropertyIndexPersistence() { final String propName = "favorite_color"; final String sharedValue = "blue"; makeStringPropertyKey(propName); TitanVertex alice = tx.addVertex(); TitanVertex bob = tx.addVertex(); alice.addProperty(propName, sharedValue); clopen(); alice = tx.getVertex(alice.getID()); bob = tx.getVertex(bob.getID()); assertEquals(sharedValue, alice.getProperty(propName)); assertEquals(null, bob.getProperty(propName)); alice.removeProperty(propName); bob.addProperty(propName, sharedValue); clopen(); }
@Test public void testVertexDeletion() throws Exception { TitanKey name = makeUniqueStringPropertyKey("name"); newTx(); TitanVertex v = tx.addVertex(); TitanProperty p = v.addProperty("name", "oldName"); newTx(); TitanVertex v1 = tx.getVertex(v.getID()); tx.removeVertex(v1); newTx(); if (graph.getFeatures().supportsVertexIteration) { int count = 0; for (Vertex vertex : tx.getVertices()) count++; assertEquals(0, count); } }
v21 = tx.getVertex(v21.getID()); tx.makeLabel("link").unidirected().make(); TitanVertex v3 = tx.addVertex(); v21.addEdge("link", v3); newTx(); v21 = tx.getVertex(v21.getID()); v3 = (TitanVertex) Iterables.getOnlyElement(v21.getVertices(OUT, "link")); assertFalse(v3.isRemoved()); v3.remove(); newTx(); v21 = tx.getVertex(v21.getID()); v3 = (TitanVertex) Iterables.getOnlyElement(v21.getVertices(OUT, "link")); assertFalse(v3.isRemoved()); v21 = tx3.getVertex(v21.getID()); v3 = (TitanVertex) Iterables.getOnlyElement(v21.getVertices(OUT, "link")); assertTrue(v3.isRemoved());
long vertexId = previous.getID(); assertEquals(numV, Iterables.size(graph.getVertices()));
@Test public void testBasic() { TitanKey weight = makeWeightPropertyKey("weight"); TitanVertex n1 = tx.addVertex(); n1.addProperty(weight, 10.5); clopen(); long nid = n1.getID(); assertTrue(tx.containsVertex(nid)); assertTrue(tx.containsVertex(weight.getID())); assertFalse(tx.containsVertex(nid + 64)); assertFalse(tx.containsVertex(weight.getID() + 64)); assertTrue(tx.containsType("weight")); weight = tx.getPropertyKey("weight"); assertEquals(weight.getDataType(), Double.class); assertEquals(weight.getName(), "weight"); n1 = tx.getVertex(nid); for (TitanProperty prop : n1.getProperties()) { Object o = prop.getValue(); } n1.query().relations(); assertEquals(10.5, n1.getProperty(weight)); }
for (int i = 0; i < vidsubset.length; i++) vidsubset[i] = vs[i + 3].getID(); Arrays.sort(vidsubset); for (int i = 1; i < noVertices; i++) vs[i] = tx.getVertex(vs[i].getID()); v = tx.getVertex(v.getID()); u = tx.getVertex(u.getID()); qvs = new TitanVertex[]{vs[6], vs[9], vs[12], vs[15], vs[60]}; for (int i = 1; i < noVertices; i++) vs[i] = tx.getVertex(vs[i].getID()); v = tx.getVertex(v.getID()); u = tx.getVertex(u.getID()); qvs = new TitanVertex[]{vs[6], vs[9], vs[12], vs[15], vs[60]}; for (int i=0;i<qvs.length;i++) qvs2[i+1]=tx.getVertex(qvs[i].getID()); qvs2[qvs2.length-1]=tx.addVertex(); qvs2[0].addEdge("connect",qvs2[qvs2.length-1]);