@Test public void testProjectLoop() throws Exception { CNF predicates = predicateFromQuery("MATCH (a)-[b]->(a)"); GradoopId a = GradoopId.get(); EPGMEdge edge = new EPGMEdgeFactory().createEdge(a, a); DataSet<EPGMEdge> edges = getExecutionEnvironment().fromElements(edge); Embedding result = new FilterAndProjectEdges<>(edges, predicates, Collections.emptyList(), true) .evaluate().collect().get(0); assertEquals(result.size(), 2); assertEquals(a, result.getId(0)); assertEquals(edge.getId(), result.getId(1)); }
@Override public DataSet<Embedding> evaluate() { return input .flatMap(new FilterAndProjectEdge<>(predicates, projectionPropertyKeys, isLoop)) .name(getName()); }
FilterAndProjectEdges implements PhysicalOperator { @Override public DataSet<Embedding> evaluate() { return input .flatMap(new FilterAndProjectEdge<>(predicates, projectionPropertyKeys, isLoop)) .name(getName()); } }
FilterAndProjectEdges implements PhysicalOperator { @Override public DataSet<Embedding> evaluate() { return input .flatMap(new FilterAndProjectEdge<>(predicates, projectionPropertyKeys, isLoop)) .name(getName()); } FilterAndProjectEdges(DataSet<E> input, CNF predicates,
    List<String> projectionPropertyKeys, boolean isLoop); }
FilterAndProjectEdges implements PhysicalOperator { @Override public DataSet<Embedding> evaluate() { return input .flatMap(new FilterAndProjectEdge<>(predicates, projectionPropertyKeys, isLoop)) .name(getName()); } FilterAndProjectEdges(DataSet<E> input, CNF predicates,
    List<String> projectionPropertyKeys, boolean isLoop); @Override DataSet<Embedding> evaluate(); @Override void setName(String newName); @Override String getName(); }
FilterAndProjectEdges implements PhysicalOperator { @Override public DataSet<Embedding> evaluate() { return input .flatMap(new FilterAndProjectEdge<>(predicates, projectionPropertyKeys, isLoop)) .name(getName()); } FilterAndProjectEdges(DataSet<E> input, CNF predicates,
    List<String> projectionPropertyKeys, boolean isLoop); @Override DataSet<Embedding> evaluate(); @Override void setName(String newName); @Override String getName();  }