@Override public <T extends Comparable<?>> GraphQuery interval(String key, T startValue, T endValue) { this.q.range(key, startValue, true, endValue, false); hasFilter = true; return this; }
.range("age", 25, 25) .vertices(); Assert.assertEquals(1, count(vertices)); .range("age", 20, 29) .vertices(); Assert.assertEquals(1, count(vertices)); .range("age", 25, 30) .vertices(); Assert.assertEquals(2, count(vertices)); .range("age", 25, true, 30, false) .vertices(); Assert.assertEquals(1, count(vertices)); .range("age", 25, false, 30, true) .vertices(); Assert.assertEquals(1, count(vertices)); .range("age", 25, true, 30, true) .vertices(); Assert.assertEquals(2, count(vertices)); .range("age", 25, false, 30, false) .vertices(); Assert.assertEquals(0, count(vertices));
.range("age", 25, 25) .vertices(); Assert.assertEquals(1, count(vertices)); .range("age", 20, 29) .vertices(); Assert.assertEquals(1, count(vertices)); .range("age", 25, 30) .vertices(); Assert.assertEquals(2, count(vertices)); .range("age", 25, true, 30, false) .vertices(); Assert.assertEquals(1, count(vertices)); .range("age", 25, false, 30, true) .vertices(); Assert.assertEquals(1, count(vertices)); .range("age", 25, true, 30, true) .vertices(); Assert.assertEquals(2, count(vertices)); .range("age", 25, false, 30, false) .vertices(); Assert.assertEquals(0, count(vertices));
@Test public void testIPAddress() { graph.defineProperty("ipAddress2").dataType(IpV4Address.class).define(); graph.prepareVertex("v1", VISIBILITY_A) .addPropertyValue("k1", "ipAddress1", new IpV4Address("192.168.0.1"), VISIBILITY_A) .addPropertyValue("k1", "ipAddress2", new IpV4Address("192.168.0.2"), VISIBILITY_A) .save(AUTHORIZATIONS_A); graph.prepareVertex("v2", VISIBILITY_A) .addPropertyValue("k1", "ipAddress1", new IpV4Address("192.168.0.5"), VISIBILITY_A) .save(AUTHORIZATIONS_A); graph.prepareVertex("v3", VISIBILITY_A) .addPropertyValue("k1", "ipAddress1", new IpV4Address("192.168.1.1"), VISIBILITY_A) .save(AUTHORIZATIONS_A); graph.flush(); Vertex v1 = graph.getVertex("v1", AUTHORIZATIONS_A); assertEquals(new IpV4Address("192.168.0.1"), v1.getPropertyValue("ipAddress1")); assertEquals(new IpV4Address(192, 168, 0, 2), v1.getPropertyValue("ipAddress2")); List<Vertex> vertices = toList(graph.query(AUTHORIZATIONS_A).has("ipAddress1", Compare.EQUAL, new IpV4Address("192.168.0.1")).vertices()); assertEquals(1, vertices.size()); assertEquals("v1", vertices.get(0).getId()); vertices = sortById(toList( graph.query(AUTHORIZATIONS_A) .range("ipAddress1", new IpV4Address("192.168.0.0"), new IpV4Address("192.168.0.255")) .vertices() )); assertEquals(2, vertices.size()); assertEquals("v1", vertices.get(0).getId()); assertEquals("v2", vertices.get(1).getId()); }
@Test public void testIPAddress() { graph.defineProperty("ipAddress2").dataType(IpV4Address.class).define(); graph.prepareVertex("v1", VISIBILITY_A) .addPropertyValue("k1", "ipAddress1", new IpV4Address("192.168.0.1"), VISIBILITY_A) .addPropertyValue("k1", "ipAddress2", new IpV4Address("192.168.0.2"), VISIBILITY_A) .save(AUTHORIZATIONS_A); graph.prepareVertex("v2", VISIBILITY_A) .addPropertyValue("k1", "ipAddress1", new IpV4Address("192.168.0.5"), VISIBILITY_A) .save(AUTHORIZATIONS_A); graph.prepareVertex("v3", VISIBILITY_A) .addPropertyValue("k1", "ipAddress1", new IpV4Address("192.168.1.1"), VISIBILITY_A) .save(AUTHORIZATIONS_A); graph.flush(); Vertex v1 = graph.getVertex("v1", AUTHORIZATIONS_A); assertEquals(new IpV4Address("192.168.0.1"), v1.getPropertyValue("ipAddress1")); assertEquals(new IpV4Address(192, 168, 0, 2), v1.getPropertyValue("ipAddress2")); List<Vertex> vertices = toList(graph.query(AUTHORIZATIONS_A).has("ipAddress1", Compare.EQUAL, new IpV4Address("192.168.0.1")).vertices()); assertEquals(1, vertices.size()); assertEquals("v1", vertices.get(0).getId()); vertices = sortById(toList( graph.query(AUTHORIZATIONS_A) .range("ipAddress1", new IpV4Address("192.168.0.0"), new IpV4Address("192.168.0.255")) .vertices() )); assertEquals(2, vertices.size()); assertEquals("v1", vertices.get(0).getId()); assertEquals("v2", vertices.get(1).getId()); }
Assert.assertEquals(1, count(graph.query(AUTHORIZATIONS_A).range("float", 6.3f, 6.5f).vertices())); // can't search for 6.4f her because of float precision Assert.assertEquals(1, count(graph.query(AUTHORIZATIONS_A).has("string", "test").vertices())); Assert.assertEquals(1, count(graph.query(AUTHORIZATIONS_A).has("byte", 5).vertices()));
Assert.assertEquals(1, count(graph.query(AUTHORIZATIONS_A).range("float", 6.3f, 6.5f).vertices())); // can't search for 6.4f her because of float precision Assert.assertEquals(1, count(graph.query(AUTHORIZATIONS_A).has("string", "test").vertices())); Assert.assertEquals(1, count(graph.query(AUTHORIZATIONS_A).has("byte", 5).vertices()));
Assert.assertEquals(1, count(graph.query(AUTHORIZATIONS_A).range("float", 6.3f, 6.5f).vertices())); // can't search for 6.4f her because of float precision Assert.assertEquals(1, count(graph.query(AUTHORIZATIONS_A).has("string", "test").vertices())); Assert.assertEquals(1, count(graph.query(AUTHORIZATIONS_A).has("byte", 5).vertices()));
Assert.assertEquals(1, count(graph.query(AUTHORIZATIONS_A).range("float", 6.3f, 6.5f).vertices())); // can't search for 6.4f her because of float precision Assert.assertEquals(1, count(graph.query(AUTHORIZATIONS_A).has("string", "test").vertices())); Assert.assertEquals(1, count(graph.query(AUTHORIZATIONS_A).has("byte", 5).vertices()));