option(CUSTOM_SERIALIZER_CLASS, "attribute10"), SpecialIntSerializer.class.getCanonicalName()); PropertyKey num = makeKey("num", SpecialInt.class); PropertyKey barr = makeKey("barr", byte[].class); PropertyKey boolval = makeKey("boolval", Boolean.class); PropertyKey birthday = makeKey("birthday", Instant.class); PropertyKey geo = makeKey("geo", Geoshape.class); PropertyKey precise = makeKey("precise", Double.class); makeKey("pint", int.class); fail(); } catch (IllegalArgumentException e) { makeKey("number", Number.class); fail(); } catch (IllegalArgumentException e) {
@Test public void testForceIndexUsage() { PropertyKey age = makeKey("age", Integer.class); PropertyKey time = makeKey("time", Long.class); mgmt.buildIndex("time", Vertex.class).addKey(time).buildCompositeIndex(); finishSchema(); for (int i = 1; i <= 10; i++) { TitanVertex v = tx.addVertex("time", i, "age", i); } //Graph query with and with-out index support assertCount(1, tx.query().has("time", 5).vertices()); assertCount(1, tx.query().has("age", 6).vertices()); clopen(option(FORCE_INDEX_USAGE), true); //Query with-out index support should now throw exception assertCount(1, tx.query().has("time", 5).vertices()); try { assertCount(1, tx.query().has("age", 6).vertices()); fail(); } catch (Exception e) { } }
PropertyKey w = makeKey(weight, Integer.class); PropertyKey f = ((StandardPropertyKeyMaker) mgmt.makePropertyKey(foo)).dataType(String.class).cardinality(Cardinality.LIST).sortKey(w).sortOrder(Order.DESC).make(); mgmt.buildIndex(foo, Vertex.class).addKey(f).buildCompositeIndex();
PropertyKey weight = makeKey("weight", Double.class); PropertyKey id = makeVertexIndexedUniqueKey("uid", Integer.class); ((StandardEdgeLabelMaker) mgmt.makeEdgeLabel("knows")).sortKey(id).signature(weight).make();
@Test public void testCreateDelete() { makeKey("weight", Double.class); PropertyKey uid = makeVertexIndexedUniqueKey("uid", Integer.class); ((StandardEdgeLabelMaker) mgmt.makeEdgeLabel("knows")).sortKey(uid).sortOrder(Order.DESC).directed().make();
@Test public void testLimitWithMixedIndexCoverage() { final String vt = "vt"; final String fn = "firstname"; final String user = "user"; final String alice = "alice"; final String bob = "bob"; PropertyKey vtk = makeVertexIndexedKey(vt, String.class); PropertyKey fnk = makeKey(fn, String.class); finishSchema(); TitanVertex a = tx.addVertex(vt, user, fn, "alice"); TitanVertex b = tx.addVertex(vt, user, fn, "bob"); TitanVertex v; v = getOnlyElement(tx.query().has(vt, user).has(fn, bob).limit(1).vertices()); assertEquals(bob, v.value(fn)); assertEquals(user, v.value(vt)); v = getOnlyElement(tx.query().has(vt, user).has(fn, alice).limit(1).vertices()); assertEquals(alice, v.value(fn)); assertEquals(user, v.value(vt)); tx.commit(); tx = graph.newTransaction(); v = getOnlyElement(tx.query().has(vt, user).has(fn, bob).limit(1).vertices()); assertEquals(bob, v.value(fn)); assertEquals(user, v.value(vt)); v = getOnlyElement(tx.query().has(vt, user).has(fn, alice).limit(1).vertices()); assertEquals(alice, v.value(fn)); assertEquals(user, v.value(vt)); }
public void testConsistencyEnforcement() { PropertyKey uid = makeVertexIndexedUniqueKey("uid", Integer.class); PropertyKey name = makeKey("name", String.class); mgmt.setConsistency(uid, ConsistencyModifier.LOCK); mgmt.setConsistency(name, ConsistencyModifier.LOCK);
PropertyKey weight = makeKey("weight", Float.class);
@Test public void testVertexCentricIndexWithNull() { EdgeLabel bought = makeLabel("bought"); PropertyKey time = makeKey("time", Long.class); mgmt.buildEdgeIndex(bought, "byTimeDesc", BOTH, decr, time); mgmt.buildEdgeIndex(bought, "byTimeIncr", BOTH, incr, time);
@Test public void testForceIndexUsage() { PropertyKey age = makeKey("age",Integer.class); PropertyKey time = makeKey("time",Long.class); mgmt.buildIndex("time",Vertex.class).addKey(time).buildCompositeIndex(); finishSchema(); for (int i=1;i<=10;i++) { Vertex v = tx.addVertex(); v.setProperty("time",i); v.setProperty("age",i); } //Graph query with and with-out index support assertEquals(1,Iterables.size(tx.query().has("time",5).vertices())); assertEquals(1,Iterables.size(tx.query().has("age",6).vertices())); clopen(option(FORCE_INDEX_USAGE), true); //Query with-out index support should now throw exception assertEquals(1,Iterables.size(tx.query().has("time",5).vertices())); try { assertEquals(1,Iterables.size(tx.query().has("age",6).vertices())); fail(); } catch (Exception e) {} }
PropertyKey w = makeKey(weight,Integer.class); PropertyKey f = ((StandardPropertyKeyMaker)mgmt.makePropertyKey(foo)).dataType(String.class).cardinality(Cardinality.LIST).sortKey(w).sortOrder(Order.DESC).make(); mgmt.buildIndex(foo,Vertex.class).addKey(f).buildCompositeIndex();
option(CUSTOM_SERIALIZER_CLASS,"attribute10"),SpecialIntSerializer.class.getCanonicalName()); PropertyKey sint = makeKey("int",SpecialInt.class); PropertyKey arrayKey = makeKey("barr",byte[].class); PropertyKey boolKey = makeKey("boolval",Boolean.class); PropertyKey birthday = makeKey("birthday",GregorianCalendar.class); PropertyKey geo = makeKey("geo", Geoshape.class); PropertyKey precision = makeKey("precise",Precision.class); makeKey("pint",int.class); fail(); } catch (IllegalArgumentException e) { makeKey("number", Number.class); fail(); } catch (IllegalArgumentException e) {
PropertyKey fnk = makeKey(fn,String.class);
@Test public void testCreateDelete() { makeKey("weight",Double.class); PropertyKey id = makeVertexIndexedUniqueKey("uid",Integer.class); ((StandardEdgeLabelMaker)mgmt.makeEdgeLabel("knows")).sortKey(id).sortOrder(Order.DESC).directed().make();
@Test public void testVertexCentricIndexWithNull() { EdgeLabel bought = makeLabel("bought"); PropertyKey time = makeKey("time",Long.class); mgmt.buildEdgeIndex(bought,"byTimeDesc",BOTH,Order.DESC,time); mgmt.buildEdgeIndex(bought,"byTimeIncr",BOTH,Order.ASC,time);