/** * Create a {@link java.util.stream.Stream} containing the results of executing the queries, in order. The results * are not loaded into memory first. */ public static Stream<Element> stream(Query... queries) { return Arrays.stream(queries) .map(query -> StreamSupport.stream(query.elements().spliterator(), false)) .reduce(Stream::concat) .orElseGet(Stream::empty); }
/** * Create a {@link java.util.stream.Stream} containing the results of executing the queries, in order. The results * are not loaded into memory first. */ public static Stream<Element> stream(Query... queries) { return Arrays.stream(queries) .map(query -> StreamSupport.stream(query.elements().spliterator(), false)) .reduce(Stream::concat) .orElseGet(Stream::empty); }
/** * Create a {@link java.util.stream.Stream} containing the results of executing the queries, in order. The results * are not loaded into memory first. */ public static Stream<Element> stream(Query... queries) { return Arrays.stream(queries) .map(query -> StreamSupport.stream(query.elements().spliterator(), false)) .reduce(Stream::concat) .orElseGet(Stream::empty); }
graph.flush(); Iterable<Element> results = graph.query("*", AUTHORIZATIONS_A_AND_B).hasNot("prop1").elements(); assertEquals(1, count(results)); assertEquals(1, ((IterableWithTotalHits) results).getTotalHits()); assertEquals("v2", results.iterator().next().getId()); results = graph.query("*", AUTHORIZATIONS_A_AND_B).hasNot("prop3").sort(Element.ID_PROPERTY_NAME, SortDirection.ASCENDING).elements(); assertEquals(2, count(results)); Iterator<Element> iterator = results.iterator(); assertEquals("v2", iterator.next().getId()); results = graph.query("*", AUTHORIZATIONS_A_AND_B).hasNot("exact").elements(); assertEquals(1, count(results)); assertEquals(1, ((IterableWithTotalHits) results).getTotalHits()); assertEquals("v2", results.iterator().next().getId()); results = graph.query("*", AUTHORIZATIONS_A_AND_B).hasNot("location").elements(); assertEquals(1, count(results)); assertEquals(1, ((IterableWithTotalHits) results).getTotalHits());
@Test public void testGraphQueryHasGeoPointAndExact() { graph.defineProperty("location").dataType(GeoPoint.class).define(); graph.defineProperty("exact").dataType(String.class).textIndexHint(TextIndexHint.EXACT_MATCH).define(); graph.prepareVertex("v1", VISIBILITY_A) .setProperty("prop1", "val1", VISIBILITY_A) .setProperty("exact", "val1", VISIBILITY_A) .setProperty("location", new GeoPoint(38.9186, -77.2297), VISIBILITY_A) .save(AUTHORIZATIONS_A_AND_B); graph.prepareVertex("v2", VISIBILITY_A) .setProperty("prop2", "val2", VISIBILITY_A) .save(AUTHORIZATIONS_A_AND_B); graph.flush(); Iterable<Element> results = graph.query("*", AUTHORIZATIONS_A_AND_B).has("prop1").elements(); assertEquals(1, count(results)); assertEquals(1, ((IterableWithTotalHits) results).getTotalHits()); assertEquals("v1", results.iterator().next().getId()); results = graph.query("*", AUTHORIZATIONS_A_AND_B).has("exact").elements(); assertEquals(1, count(results)); assertEquals(1, ((IterableWithTotalHits) results).getTotalHits()); assertEquals("v1", results.iterator().next().getId()); results = graph.query("*", AUTHORIZATIONS_A_AND_B).has("location").elements(); assertEquals(1, count(results)); assertEquals(1, ((IterableWithTotalHits) results).getTotalHits()); assertEquals("v1", results.iterator().next().getId()); }
graph.flush(); Iterable<Element> results = graph.query("*", AUTHORIZATIONS_A_AND_B).hasNot("prop1").elements(); assertEquals(1, count(results)); assertEquals(1, ((IterableWithTotalHits) results).getTotalHits()); assertEquals("v2", results.iterator().next().getId()); results = graph.query("*", AUTHORIZATIONS_A_AND_B).hasNot("prop3").sort(Element.ID_PROPERTY_NAME, SortDirection.ASCENDING).elements(); assertEquals(2, count(results)); Iterator<Element> iterator = results.iterator(); assertEquals("v2", iterator.next().getId()); results = graph.query("*", AUTHORIZATIONS_A_AND_B).hasNot("exact").elements(); assertEquals(1, count(results)); assertEquals(1, ((IterableWithTotalHits) results).getTotalHits()); assertEquals("v2", results.iterator().next().getId()); results = graph.query("*", AUTHORIZATIONS_A_AND_B).hasNot("location").elements(); assertEquals(1, count(results)); assertEquals(1, ((IterableWithTotalHits) results).getTotalHits());
@Test public void testGraphQueryHasGeoPointAndExact() { graph.defineProperty("location").dataType(GeoPoint.class).define(); graph.defineProperty("exact").dataType(String.class).textIndexHint(TextIndexHint.EXACT_MATCH).define(); graph.prepareVertex("v1", VISIBILITY_A) .setProperty("prop1", "val1", VISIBILITY_A) .setProperty("exact", "val1", VISIBILITY_A) .setProperty("location", new GeoPoint(38.9186, -77.2297), VISIBILITY_A) .save(AUTHORIZATIONS_A_AND_B); graph.prepareVertex("v2", VISIBILITY_A) .setProperty("prop2", "val2", VISIBILITY_A) .save(AUTHORIZATIONS_A_AND_B); graph.flush(); Iterable<Element> results = graph.query("*", AUTHORIZATIONS_A_AND_B).has("prop1").elements(); assertEquals(1, count(results)); assertEquals(1, ((IterableWithTotalHits) results).getTotalHits()); assertEquals("v1", results.iterator().next().getId()); results = graph.query("*", AUTHORIZATIONS_A_AND_B).has("exact").elements(); assertEquals(1, count(results)); assertEquals(1, ((IterableWithTotalHits) results).getTotalHits()); assertEquals("v1", results.iterator().next().getId()); results = graph.query("*", AUTHORIZATIONS_A_AND_B).has("location").elements(); assertEquals(1, count(results)); assertEquals(1, ((IterableWithTotalHits) results).getTotalHits()); assertEquals("v1", results.iterator().next().getId()); }
assertIdsAnyOrder(edgeIds, e1.getId()); QueryResultsIterable<Element> elements = graph.query(AUTHORIZATIONS_A).hasAuthorization(VISIBILITY_A_STRING).elements(FetchHints.ALL); assertResultsCount(0, elements); assertResultsCount(0, 0, elementIds); elements = graph.query(AUTHORIZATIONS_A).hasAuthorization(VISIBILITY_A_STRING).elements(FetchHints.ALL_INCLUDING_HIDDEN); assertResultsCount(2, elements); assertElementIdsAnyOrder(elements, v1.getId(), e1.getId());
assertIdsAnyOrder(edgeIds, e1.getId()); QueryResultsIterable<Element> elements = graph.query(AUTHORIZATIONS_A).hasAuthorization(VISIBILITY_A_STRING).elements(FetchHints.ALL); assertResultsCount(0, elements); assertResultsCount(0, 0, elementIds); elements = graph.query(AUTHORIZATIONS_A).hasAuthorization(VISIBILITY_A_STRING).elements(FetchHints.ALL_INCLUDING_HIDDEN); assertResultsCount(2, elements); assertElementIdsAnyOrder(elements, v1.getId(), e1.getId());