@Override public Integer apply(Integer state, TitanEdge edge, Direction dir) { assertNotNull(state); if (state.intValue() == Integer.MAX_VALUE) return state; else return state + edge.<Integer>getProperty("distance"); } }, new Combiner<Integer>() {
edge = (TitanEdge)Iterables.getOnlyElement(v.query().types(connect).direction(BOTH).edges()); assertEquals(2,edge.getPropertyKeys().size()); assertEquals("e1",edge.getProperty(id)); assertEquals(v,edge.getProperty(link)); try { edge = (TitanEdge)Iterables.getOnlyElement(v.query().types(connect).direction(BOTH).edges()); assertEquals(2,edge.getPropertyKeys().size()); assertEquals("e1",edge.getProperty(id)); assertEquals(v,edge.getProperty(link)); try {
@Override public boolean apply(@Nullable TitanEdge edge) { TypeDefinitionDescription desc = edge.getProperty(BaseKey.SchemaDefinitionDesc); return desc.getCategory()==def; } });
private void setStatusEdges(TitanSchemaVertex vertex, SchemaStatus status, Set<PropertyKeyVertex> keys) { Preconditions.checkArgument(vertex.asIndexType().isMixedIndex()); for (TitanEdge edge : vertex.getEdges(TypeDefinitionCategory.INDEX_FIELD,Direction.OUT)) { if (!keys.contains(edge.getVertex(Direction.IN))) continue; //Only address edges with matching keys TypeDefinitionDescription desc = edge.getProperty(BaseKey.SchemaDefinitionDesc); assert desc.getCategory()==TypeDefinitionCategory.INDEX_FIELD; Parameter[] parameters = (Parameter[])desc.getModifier(); assert parameters[parameters.length-1].getKey().equals(ParameterType.STATUS.getName()); if (parameters[parameters.length-1].getValue().equals(status)) continue; Parameter[] paraCopy = Arrays.copyOf(parameters,parameters.length); paraCopy[parameters.length-1]=ParameterType.STATUS.getParameter(status); edge.remove(); addSchemaEdge(vertex,edge.getVertex(Direction.IN),TypeDefinitionCategory.INDEX_FIELD,paraCopy); } for (PropertyKeyVertex prop : keys) prop.resetCache(); }
@Override public void run() { TitanTransaction tx = graph.newTransaction(); long ruid = random.nextInt(maxUID) + 1; getVertex(tx,"uid", ruid).setProperty("name", fixedName); for (int t = 1; t <= trials; t++) { TitanVertex v = getVertex(tx,"uid", random.nextInt(maxUID) + 1); assertEquals(2, Iterables.size(v.getProperties())); int count = 0; for (TitanEdge e : v.getEdges()) { count++; assertTrue(((Number) e.getProperty("time")).longValue() >= 0); } assertTrue(count <= 2); // if (t%(trials/10)==0) System.out.println(t); } assertEquals(fixedName, getVertex(tx,"uid", ruid).getProperty("name")); tx.commit(); } });
@Override public void run() { TitanTransaction tx = graph.newTransaction(); long ruid = random.nextInt(maxUID) + 1; tx.getVertex("uid", ruid).setProperty("name", fixedName); for (int t = 1; t <= trials; t++) { TitanVertex v = tx.getVertex("uid", random.nextInt(maxUID) + 1); assertEquals(2, Iterables.size(v.getProperties())); int count = 0; for (TitanEdge e : v.getEdges()) { count++; assertTrue(((Number) e.getProperty("time")).longValue() >= 0); } assertTrue(count <= 2); // if (t%(trials/10)==0) System.out.println(t); } assertEquals(fixedName, tx.getVertex("uid", ruid).getProperty("name")); tx.commit(); } });
assertEquals(10, e.getProperty("time")); assertEquals(v3, e.getProperty("link")); assertEquals(10, e.getProperty("time")); assertEquals(v3, e.getProperty("link"));
assertEquals(1,e.getProperty("sig")); e.remove(); sign(v.addEdge("es",u),txid); e = (TitanEdge)Iterables.getOnlyElement(v.getEdges(Direction.OUT,"o2o")); assertEquals(1,e.getProperty("sig")); sign(e,txid); e = (TitanEdge)Iterables.getOnlyElement(v.getEdges(Direction.OUT,"o2m")); assertEquals(1,e.getProperty("sig")); e.remove(); sign(v.addEdge("o2m",u),txid); for (String label : new String[]{"em","emf"}) { e = (TitanEdge)Iterables.getOnlyElement(v.getEdges(Direction.OUT,label)); assertEquals(1,e.getProperty("sig")); sign(e,txid);
TitanVertex n2 = r.getOtherVertex(n); int idsum = ((Number) n.getProperty(id)).intValue() + ((Number) n2.getProperty(id)).intValue(); assertEquals(idsum, r.getProperty(id)); double k = ((Number) r.getProperty(weight)).doubleValue() / 1.5; int ki = (int) k; assertEquals(i + "-" + ki, r.getProperty(name));
assertTrue(e.getProperty(weight).equals(3.0)); assertEquals("HasProperties TitanRelation", e.getProperty(name)); n3 = e.getVertex(IN); assertEquals(111, e.getProperty(id)); n2 = getVertex("name", "Node2"); e = Iterables.getOnlyElement(n2.getTitanEdges(OUT, tx.getEdgeLabel("knows"))); assertEquals("New TitanRelation", e.getProperty(tx.getPropertyKey("name"))); assertTrue(e.getProperty("weight").equals(111.5));
assertEquals(3.0, e.getProperty(weight)); assertEquals("HasProperties TitanRelation", e.getProperty(name)); n3 = e.getVertex(IN); assertEquals(111, e.getProperty(id)); n2 = tx.getVertex("name", "Node2"); e = Iterables.getOnlyElement(n2.getTitanEdges(OUT, tx.getEdgeLabel("knows"))); assertEquals("New TitanRelation", e.getProperty(tx.getPropertyKey("name"))); assertEquals(111.5, ((Double) e.getProperty("weight")).doubleValue(), 0.01);
TitanVertex n2 = r.getOtherVertex(n); int idsum = ((Number) n.getProperty(id)).intValue() + ((Number) n2.getProperty(id)).intValue(); assertEquals(idsum, r.getProperty(id)); double k = ((Number) r.getProperty(weight)).doubleValue() / 1.5; int ki = (int) k; assertEquals(i + "-" + ki, r.getProperty(name));
assertEquals(v1id,v.getLongId()); TitanEdge e = Iterables.getOnlyElement(changes.getEdges(v,Change.REMOVED,Direction.OUT,"knows")); assertNull(e.getProperty("weight")); assertEquals(v,e.getVertex(Direction.IN)); e = Iterables.getOnlyElement(changes.getEdges(v,Change.ADDED,Direction.OUT,"knows")); assertEquals(44.4,e.<Decimal>getProperty("weight").doubleValue(),0.0); assertEquals(v,e.getVertex(Direction.IN));
e.setProperty(id, 111); n3.addProperty(id, 445); assertEquals(111, e.getProperty(id)); graph.commit(); assertEquals(445, n3.getProperty("uid")); e = (TitanEdge) Iterables.getOnlyElement(n3.getEdges(OUT, "knows")); assertEquals(111, e.getProperty("uid")); assertEquals(e, graph.getEdge(e.getId())); assertEquals(e, graph.getEdge(e.getId().toString())); assertEquals(222,e.getProperty(id));
e.setProperty(id, 111); n3.addProperty(id, 445); assertEquals(111, e.getProperty(id)); graph.commit(); assertEquals(445, n3.getProperty("uid")); e = (TitanEdge) Iterables.getOnlyElement(n3.getEdges(OUT, "knows")); assertEquals(111, e.getProperty("uid")); assertEquals(e, graph.getEdge(e.getId())); assertEquals(e, graph.getEdge(e.getId().toString())); assertEquals(222,e.getProperty(id));
TitanVertex oth = edge.getVertex(dir.opposite()); assert oth instanceof TitanSchemaVertex; TypeDefinitionDescription desc = edge.getProperty(BaseKey.SchemaDefinitionDesc); Object modifier = null; if (desc.getCategory().hasDataType()) {
assertEquals(wintx,e.getProperty("sig")); assertNotEquals(rs[6].getLongId(),e.getLongId()); e = (TitanEdge)Iterables.getOnlyElement(v.getEdges(Direction.OUT,"o2o")); assertEquals(wintx,e.getProperty("sig")); assertEquals(rs[7].getLongId(),e.getLongId()); e = (TitanEdge)Iterables.getOnlyElement(v.getEdges(Direction.OUT,"o2m")); assertEquals(wintx,e.getProperty("sig")); assertNotEquals(rs[8].getLongId(),e.getLongId()); e = (TitanEdge)Iterables.getOnlyElement(v.getEdges(Direction.OUT,"em")); assertEquals(wintx,e.getProperty("sig")); assertEquals(rs[4].getLongId(),e.getLongId()); for (Edge ee : v.getEdges(Direction.OUT,"emf")) {
e = (TitanEdge)Iterables.getOnlyElement(u.getEdges(Direction.IN,"knows")); assertEquals("juju",u.getProperty("name")); assertEquals("edge",e.getProperty("name")); tx.commit(); if (!cache || i==0) {
long e2id = e2.getLongId(); e1 = (TitanEdge)Iterables.getOnlyElement(v1.getEdges(OUT,connect.getName())); assertEquals("e1",e1.getProperty(name.getName())); assertEquals(e1id,e1.getLongId()); e2 = (TitanEdge)Iterables.getOnlyElement(v1.getEdges(OUT,related.getName())); assertEquals("e2",e2.getProperty(name.getName())); assertEquals(e2id,e2.getLongId()); assertEquals("e1.2",e1.getProperty(name.getName())); assertEquals("e2.2",e2.getProperty(name.getName()));
if (e.<Long>getProperty(time)<(numV/2)) e.remove();