graph.flush(); QueryResultsIterable<ExtendedDataRow> results = graph.query(AUTHORIZATIONS_A).extendedDataRows(); assertResultsCount(2, 2, results); results = graph.query("red", AUTHORIZATIONS_A).extendedDataRows(); assertResultsCount(1, 1, results); results = graph.query("green", AUTHORIZATIONS_A).extendedDataRows(); assertResultsCount(1, 1, results); results = graph.query("blue", AUTHORIZATIONS_A).extendedDataRows(); assertResultsCount(0, 0, results); results = graph.query(AUTHORIZATIONS_A).extendedDataRows(); assertResultsCount(2, 2, results); results = graph.query("red", AUTHORIZATIONS_A).extendedDataRows(); assertResultsCount(1, 1, results); results = graph.query("green", AUTHORIZATIONS_A).extendedDataRows(); assertResultsCount(1, 1, results); results = graph.query("blue", AUTHORIZATIONS_A).extendedDataRows(); assertResultsCount(1, 1, results); results = graph.query("purple", AUTHORIZATIONS_A).extendedDataRows(); assertResultsCount(1, 1, results);
graph.flush(); QueryResultsIterable<ExtendedDataRow> results = graph.query(AUTHORIZATIONS_A).extendedDataRows(); assertResultsCount(2, 2, results); results = graph.query("red", AUTHORIZATIONS_A).extendedDataRows(); assertResultsCount(1, 1, results); results = graph.query("green", AUTHORIZATIONS_A).extendedDataRows(); assertResultsCount(1, 1, results); results = graph.query("blue", AUTHORIZATIONS_A).extendedDataRows(); assertResultsCount(0, 0, results); results = graph.query(AUTHORIZATIONS_A).extendedDataRows(); assertResultsCount(2, 2, results); results = graph.query("red", AUTHORIZATIONS_A).extendedDataRows(); assertResultsCount(1, 1, results); results = graph.query("green", AUTHORIZATIONS_A).extendedDataRows(); assertResultsCount(1, 1, results); results = graph.query("blue", AUTHORIZATIONS_A).extendedDataRows(); assertResultsCount(1, 1, results); results = graph.query("purple", AUTHORIZATIONS_A).extendedDataRows(); assertResultsCount(1, 1, results);
@Test public void testExtendedDataQueryAfterDeleteForVertex() { graph.prepareVertex("v1", VISIBILITY_A) .addExtendedData("table1", "row1", "name", "value 1", VISIBILITY_A) .addExtendedData("table1", "row2", "name", "value 2", VISIBILITY_A) .save(AUTHORIZATIONS_A); graph.flush(); List<ExtendedDataRow> searchResultsList = toList(graph.query(AUTHORIZATIONS_A).extendedDataRows()); assertRowIdsAnyOrder(Lists.newArrayList("row1", "row2"), searchResultsList); graph.deleteVertex("v1", AUTHORIZATIONS_A); graph.flush(); searchResultsList = toList(graph.query(AUTHORIZATIONS_A).extendedDataRows()); assertRowIdsAnyOrder(Lists.newArrayList(), searchResultsList); }
@Test public void testExtendedDataQueryAfterDeleteForVertex() { graph.prepareVertex("v1", VISIBILITY_A) .addExtendedData("table1", "row1", "name", "value 1", VISIBILITY_A) .addExtendedData("table1", "row2", "name", "value 2", VISIBILITY_A) .save(AUTHORIZATIONS_A); graph.flush(); List<ExtendedDataRow> searchResultsList = toList(graph.query(AUTHORIZATIONS_A).extendedDataRows()); assertRowIdsAnyOrder(Lists.newArrayList("row1", "row2"), searchResultsList); graph.deleteVertex("v1", AUTHORIZATIONS_A); graph.flush(); searchResultsList = toList(graph.query(AUTHORIZATIONS_A).extendedDataRows()); assertRowIdsAnyOrder(Lists.newArrayList(), searchResultsList); }
@Test public void testExtendedDataQueryAfterDeleteForEdge() { graph.prepareVertex("v1", VISIBILITY_A).save(AUTHORIZATIONS_A); graph.prepareVertex("v2", VISIBILITY_A).save(AUTHORIZATIONS_A); graph.prepareEdge("e1", "v1", "v2", LABEL_LABEL1, VISIBILITY_A) .addExtendedData("table1", "row1", "name", "value 1", VISIBILITY_A) .addExtendedData("table1", "row2", "name", "value 2", VISIBILITY_A) .save(AUTHORIZATIONS_A); graph.flush(); List<ExtendedDataRow> searchResultsList = toList(graph.query(AUTHORIZATIONS_A).extendedDataRows()); assertRowIdsAnyOrder(Lists.newArrayList("row1", "row2"), searchResultsList); graph.deleteEdge("e1", AUTHORIZATIONS_A); graph.flush(); searchResultsList = toList(graph.query(AUTHORIZATIONS_A).extendedDataRows()); assertRowIdsAnyOrder(Lists.newArrayList(), searchResultsList); }
@Test public void testExtendedDataQueryAfterDeleteForEdge() { graph.prepareVertex("v1", VISIBILITY_A).save(AUTHORIZATIONS_A); graph.prepareVertex("v2", VISIBILITY_A).save(AUTHORIZATIONS_A); graph.prepareEdge("e1", "v1", "v2", LABEL_LABEL1, VISIBILITY_A) .addExtendedData("table1", "row1", "name", "value 1", VISIBILITY_A) .addExtendedData("table1", "row2", "name", "value 2", VISIBILITY_A) .save(AUTHORIZATIONS_A); graph.flush(); List<ExtendedDataRow> searchResultsList = toList(graph.query(AUTHORIZATIONS_A).extendedDataRows()); assertRowIdsAnyOrder(Lists.newArrayList("row1", "row2"), searchResultsList); graph.deleteEdge("e1", AUTHORIZATIONS_A); graph.flush(); searchResultsList = toList(graph.query(AUTHORIZATIONS_A).extendedDataRows()); assertRowIdsAnyOrder(Lists.newArrayList(), searchResultsList); }
QueryResultsIterable<ExtendedDataRow> results = graph.query("red", AUTHORIZATIONS_A).extendedDataRows(); assertResultsCount(0, 0, results); results = graph.query("red", AUTHORIZATIONS_B).extendedDataRows(); assertResultsCount(0, 0, results); results = graph.query("red", AUTHORIZATIONS_A_AND_B).extendedDataRows(); assertResultsCount(1, 1, results); results = graph.query(AUTHORIZATIONS_A).extendedDataRows(); assertResultsCount(0, 0, results); results = graph.query(AUTHORIZATIONS_B).extendedDataRows(); assertResultsCount(0, 0, results); results = graph.query(AUTHORIZATIONS_A_AND_B).extendedDataRows(); assertResultsCount(2, 2, results); results = graph.query(AUTHORIZATIONS_A).extendedDataRows(); assertResultsCount(0, 0, results); results = graph.query(AUTHORIZATIONS_B).extendedDataRows(); assertResultsCount(0, 0, results); results = graph.query(AUTHORIZATIONS_C).extendedDataRows(); assertResultsCount(0, 0, results); results = graph.query(authorizationsAandC).extendedDataRows(); assertResultsCount(1, 1, results);
QueryResultsIterable<ExtendedDataRow> results = graph.query("red", AUTHORIZATIONS_A).extendedDataRows(); assertResultsCount(0, 0, results); results = graph.query("red", AUTHORIZATIONS_B).extendedDataRows(); assertResultsCount(0, 0, results); results = graph.query("red", AUTHORIZATIONS_A_AND_B).extendedDataRows(); assertResultsCount(1, 1, results); results = graph.query(AUTHORIZATIONS_A).extendedDataRows(); assertResultsCount(0, 0, results); results = graph.query(AUTHORIZATIONS_B).extendedDataRows(); assertResultsCount(0, 0, results); results = graph.query(AUTHORIZATIONS_A_AND_B).extendedDataRows(); assertResultsCount(2, 2, results); results = graph.query(AUTHORIZATIONS_A).extendedDataRows(); assertResultsCount(0, 0, results); results = graph.query(AUTHORIZATIONS_B).extendedDataRows(); assertResultsCount(0, 0, results); results = graph.query(AUTHORIZATIONS_C).extendedDataRows(); assertResultsCount(0, 0, results); results = graph.query(authorizationsAandC).extendedDataRows(); assertResultsCount(1, 1, results);
@Test public void testAddExtendedDataRows() { graph.prepareVertex("v1", VISIBILITY_A) .addExtendedData("table1", "row1", "name", "value1", VISIBILITY_A) .addExtendedData("table1", "row2", "name", "value2", VISIBILITY_A) .save(AUTHORIZATIONS_A); graph.flush(); if (graph instanceof GraphWithSearchIndex) { SearchIndex searchIndex = ((GraphWithSearchIndex) graph).getSearchIndex(); searchIndex.truncate(graph); searchIndex.flush(graph); Iterable<ExtendedDataRow> extendedData = graph.getExtendedData(ElementType.VERTEX, "v1", "table1", AUTHORIZATIONS_A); searchIndex.addExtendedData(graph, extendedData, AUTHORIZATIONS_A); graph.flush(); } QueryResultsIterable<ExtendedDataRow> rows = graph.query(AUTHORIZATIONS_A).extendedDataRows(); assertResultsCount(2, 2, rows); rows = graph.query(AUTHORIZATIONS_A) .has("name", "value1") .extendedDataRows(); assertResultsCount(1, 1, rows); ExtendedDataRow row = IterableUtils.single(rows); assertEquals("v1", row.getId().getElementId()); assertEquals("table1", row.getId().getTableName()); assertEquals("row1", row.getId().getRowId()); }
@Test public void testAddExtendedDataRows() { graph.prepareVertex("v1", VISIBILITY_A) .addExtendedData("table1", "row1", "name", "value1", VISIBILITY_A) .addExtendedData("table1", "row2", "name", "value2", VISIBILITY_A) .save(AUTHORIZATIONS_A); graph.flush(); if (graph instanceof GraphWithSearchIndex) { SearchIndex searchIndex = ((GraphWithSearchIndex) graph).getSearchIndex(); searchIndex.truncate(graph); searchIndex.flush(graph); Iterable<ExtendedDataRow> extendedData = graph.getExtendedData(ElementType.VERTEX, "v1", "table1", AUTHORIZATIONS_A); searchIndex.addExtendedData(graph, extendedData, AUTHORIZATIONS_A); graph.flush(); } QueryResultsIterable<ExtendedDataRow> rows = graph.query(AUTHORIZATIONS_A).extendedDataRows(); assertResultsCount(2, 2, rows); rows = graph.query(AUTHORIZATIONS_A) .has("name", "value1") .extendedDataRows(); assertResultsCount(1, 1, rows); ExtendedDataRow row = IterableUtils.single(rows); assertEquals("v1", row.getId().getElementId()); assertEquals("table1", row.getId().getTableName()); assertEquals("row1", row.getId().getRowId()); }