@SuppressWarnings("unchecked") @Override public TypeInformation<Vertex> getProducedType() { return TypeExtractor.createTypeInfo(vertexFactory.getType()); } }
@SuppressWarnings("unchecked") @Override public TypeInformation<Vertex> getProducedType() { return TypeExtractor.createTypeInfo(vertexFactory.getType()); } }
@Override public TypeInformation<Vertex> getProducedType() { return TypeExtractor.createTypeInfo(vertexFactory.getType()); } }
@Override public TypeInformation<Vertex> getProducedType() { return TypeExtractor.createTypeInfo(vertexFactory.getType()); } }
@Override public TypeInformation<Tuple3<K, GradoopId, Vertex>> getProducedType() { return new TupleTypeInfo<>(getKeyTypeInfo(), TypeExtractor.getForClass(GradoopId.class), TypeExtractor.createTypeInfo(vertexFactory.getType())); } }
/** * {@inheritDoc} */ @Override public TypeInformation<Tuple3<K, GradoopId, Vertex>> getProducedType() { return new TupleTypeInfo<>(getKeyTypeInfo(), TypeExtractor.getForClass(GradoopId.class), TypeExtractor.createTypeInfo(vertexFactory.getType())); } }
@Override protected GraphCollection executeForVertex(LogicalGraph graph) { GradoopFlinkConfig config = graph.getConfig(); EPGMGraphHeadFactory<GraphHead> graphHeadFactory = config.getGraphHeadFactory(); EPGMVertexFactory<Vertex> vertexFactory = config.getVertexFactory(); String variable = getQueryHandler().getVertices().iterator().next().getVariable(); DataSet<Vertex> matchingVertices = graph.getVertices() .filter(new MatchingVertices<>(getQuery())); if (!doAttachData()) { matchingVertices = matchingVertices .map(new Id<>()) .map(new ObjectTo1<>()) .map(new VertexFromId(vertexFactory)); } DataSet<Tuple2<Vertex, GraphHead>> pairs = matchingVertices .map(new AddGraphElementToNewGraph<>(graphHeadFactory, variable)) .returns(new TupleTypeInfo<>( TypeExtractor.getForClass(vertexFactory.getType()), TypeExtractor.getForClass(graphHeadFactory.getType()))); return config.getGraphCollectionFactory().fromDataSets( pairs.map(new Value1Of2<>()), pairs.map(new Value0Of2<>())); }
@Override protected GraphCollection executeForVertex(LogicalGraph graph) { GradoopFlinkConfig config = graph.getConfig(); EPGMGraphHeadFactory<GraphHead> graphHeadFactory = config.getGraphHeadFactory(); EPGMVertexFactory<Vertex> vertexFactory = config.getVertexFactory(); String variable = getQueryHandler().getVertices().iterator().next().getVariable(); DataSet<Vertex> matchingVertices = graph.getVertices() .filter(new MatchingVertices<>(getQuery())); if (!doAttachData()) { matchingVertices = matchingVertices .map(new Id<>()) .map(new ObjectTo1<>()) .map(new VertexFromId(vertexFactory)); } DataSet<Tuple2<Vertex, GraphHead>> pairs = matchingVertices .map(new AddGraphElementToNewGraph<>(graphHeadFactory, variable)) .returns(new TupleTypeInfo<>( TypeExtractor.getForClass(vertexFactory.getType()), TypeExtractor.getForClass(graphHeadFactory.getType()))); return config.getGraphCollectionFactory().fromDataSets( pairs.map(new Value1Of2<>()), pairs.map(new Value0Of2<>())); }
/** * Applies the transformation functions on the given datasets. * * @param graphHeads graph heads * @param vertices vertices * @param edges edges * @param factory the factory that is responsible for creating an instance of the logical graph * @return transformed logical graph */ @SuppressWarnings("unchecked") protected LG executeInternal(DataSet<G> graphHeads, DataSet<V> vertices, DataSet<E> edges, BaseGraphFactory<G, V, E, LG> factory) { DataSet<G> transformedGraphHeads = graphHeadTransFunc != null ? graphHeads .map(new TransformGraphHead(graphHeadTransFunc, factory.getGraphHeadFactory())) .returns(TypeExtractor.createTypeInfo(factory.getGraphHeadFactory().getType())) : graphHeads; DataSet<V> transformedVertices = vertexTransFunc != null ? vertices .map(new TransformVertex(vertexTransFunc, factory.getVertexFactory())) .returns(TypeExtractor.createTypeInfo(factory.getVertexFactory().getType())) : vertices; DataSet<E> transformedEdges = edgeTransFunc != null ? edges .map(new TransformEdge(edgeTransFunc, factory.getEdgeFactory())) .returns(TypeExtractor.createTypeInfo(factory.getEdgeFactory().getType())) : edges; return factory.fromDataSets(transformedGraphHeads, transformedVertices, transformedEdges); }
/** * Applies the transformation functions on the given datasets. * * @param graphHeads graph heads * @param vertices vertices * @param edges edges * @param factory the factory that is responsible for creating an instance of the logical graph * @return transformed logical graph */ @SuppressWarnings("unchecked") protected LG executeInternal(DataSet<G> graphHeads, DataSet<V> vertices, DataSet<E> edges, BaseGraphFactory<G, V, E, LG> factory) { DataSet<G> transformedGraphHeads = graphHeadTransFunc != null ? graphHeads .map(new TransformGraphHead(graphHeadTransFunc, factory.getGraphHeadFactory())) .returns(TypeExtractor.createTypeInfo(factory.getGraphHeadFactory().getType())) : graphHeads; DataSet<V> transformedVertices = vertexTransFunc != null ? vertices .map(new TransformVertex(vertexTransFunc, factory.getVertexFactory())) .returns(TypeExtractor.createTypeInfo(factory.getVertexFactory().getType())) : vertices; DataSet<E> transformedEdges = edgeTransFunc != null ? edges .map(new TransformEdge(edgeTransFunc, factory.getEdgeFactory())) .returns(TypeExtractor.createTypeInfo(factory.getEdgeFactory().getType())) : edges; return factory.fromDataSets(transformedGraphHeads, transformedVertices, transformedEdges); } }