public static SingleInputSemanticProperties getSemanticPropsSingle( Set<Annotation> set, TypeInformation<?> inType, TypeInformation<?> outType) { if (set == null) { return null; } Iterator<Annotation> it = set.iterator(); String[] forwarded = null; String[] nonForwarded = null; String[] read = null; while (it.hasNext()) { Annotation ann = it.next(); if (ann instanceof ForwardedFields) { forwarded = ((ForwardedFields) ann).value(); } else if (ann instanceof NonForwardedFields) { nonForwarded = ((NonForwardedFields) ann).value(); } else if (ann instanceof ReadFields) { read = ((ReadFields) ann).value(); } else if (ann instanceof ForwardedFieldsFirst || ann instanceof ForwardedFieldsSecond || ann instanceof NonForwardedFieldsFirst || ann instanceof NonForwardedFieldsSecond || ann instanceof ReadFieldsFirst || ann instanceof ReadFieldsSecond) { throw new InvalidSemanticAnnotationException("Annotation " + ann.getClass() + " invalid for single input function."); } } if (forwarded != null || nonForwarded != null || read != null) { SingleInputSemanticProperties result = new SingleInputSemanticProperties(); getSemanticPropsSingleFromString(result, forwarded, nonForwarded, read, inType, outType); return result; } return null; }
@FunctionAnnotation.ReadFields("properties") public class EdgeToGellyEdgeWithPropertyValue implements EdgeToGellyEdge<PropertyValue> {
@FunctionAnnotation.ReadFields("f0") public class BuildVertexStep<K> implements MapFunction<IdWithCandidates<K>, VertexStep<K>> {
@FunctionAnnotation.ReadFields("properties") public class VertexToGellyVertexWithPropertyValue implements VertexToGellyVertex<PropertyValue> {
@FunctionAnnotation.ReadFields("properties") public class SplitValues<V extends Vertex> implements FlatMapFunction<V, Tuple2<GradoopId, PropertyValue>> {
@FunctionAnnotation.ReadFields("label;properties") public class MatchingEdges<E extends Edge> extends AbstractFilter<E> {
@FunctionAnnotation.ReadFields("label;properties") public class MatchingVertices<V extends Vertex> extends AbstractFilter<V> {
@FunctionAnnotation.ReadFields("label;properties") public class MatchingVertices<V extends Vertex> extends AbstractFilter<V> {
@FunctionAnnotation.ReadFields("label;properties") public class MatchingEdges<E extends Edge> extends AbstractFilter<E> {
@FunctionAnnotation.ReadFields("f4") public class EdgeTriple implements FlatMapFunction<FatVertex, Tuple3<GradoopId, GradoopId, GradoopId>> {
@FunctionAnnotation.ReadFields("properties") public class VertexToGellyVertexWithPropertyValue implements VertexToGellyVertex<PropertyValue> {
@FunctionAnnotation.ReadFields("f0") public class BuildVertexStep<K> implements MapFunction<IdWithCandidates<K>, VertexStep<K>> {
@FunctionAnnotation.ReadFields("f1") public class ElementHasCandidate<K> implements FilterFunction<IdWithCandidates<K>> {
@FunctionAnnotation.ReadFields("f3") public class TripleHasCandidate<K> implements FilterFunction<TripleWithCandidates<K>> {
@FunctionAnnotation.ReadFields("f4") public class EdgeTriple implements FlatMapFunction<FatVertex, Tuple3<GradoopId, GradoopId, GradoopId>> {
public static SingleInputSemanticProperties getSemanticPropsSingle( Set<Annotation> set, TypeInformation<?> inType, TypeInformation<?> outType) { if (set == null) { return null; } Iterator<Annotation> it = set.iterator(); String[] forwarded = null; String[] nonForwarded = null; String[] read = null; while (it.hasNext()) { Annotation ann = it.next(); if (ann instanceof ForwardedFields) { forwarded = ((ForwardedFields) ann).value(); } else if (ann instanceof NonForwardedFields) { nonForwarded = ((NonForwardedFields) ann).value(); } else if (ann instanceof ReadFields) { read = ((ReadFields) ann).value(); } else if (ann instanceof ForwardedFieldsFirst || ann instanceof ForwardedFieldsSecond || ann instanceof NonForwardedFieldsFirst || ann instanceof NonForwardedFieldsSecond || ann instanceof ReadFieldsFirst || ann instanceof ReadFieldsSecond) { throw new InvalidSemanticAnnotationException("Annotation " + ann.getClass() + " invalid for single input function."); } } if (forwarded != null || nonForwarded != null || read != null) { SingleInputSemanticProperties result = new SingleInputSemanticProperties(); getSemanticPropsSingleFromString(result, forwarded, nonForwarded, read, inType, outType); return result; } return null; }
public static SingleInputSemanticProperties getSemanticPropsSingle( Set<Annotation> set, TypeInformation<?> inType, TypeInformation<?> outType) { if (set == null) { return null; } Iterator<Annotation> it = set.iterator(); String[] forwarded = null; String[] nonForwarded = null; String[] read = null; while (it.hasNext()) { Annotation ann = it.next(); if (ann instanceof ForwardedFields) { forwarded = ((ForwardedFields) ann).value(); } else if (ann instanceof NonForwardedFields) { nonForwarded = ((NonForwardedFields) ann).value(); } else if (ann instanceof ReadFields) { read = ((ReadFields) ann).value(); } else if (ann instanceof ForwardedFieldsFirst || ann instanceof ForwardedFieldsSecond || ann instanceof NonForwardedFieldsFirst || ann instanceof NonForwardedFieldsSecond || ann instanceof ReadFieldsFirst || ann instanceof ReadFieldsSecond) { throw new InvalidSemanticAnnotationException("Annotation " + ann.getClass() + " invalid for single input function."); } } if (forwarded != null || nonForwarded != null || read != null) { SingleInputSemanticProperties result = new SingleInputSemanticProperties(); getSemanticPropsSingleFromString(result, forwarded, nonForwarded, read, inType, outType); return result; } return null; }
@FunctionAnnotation.ReadFields("f1") public class ElementHasCandidate<K> implements FilterFunction<IdWithCandidates<K>> {
@FunctionAnnotation.ReadFields("f3") public class TripleHasCandidate<K> implements FilterFunction<TripleWithCandidates<K>> {
/** * Reduces groups of tuples 2 containin two gradoop ids into one tuple * per group, containing the first gradoop id and a gradoop id set, * containing all the second gradoop ids. */ @FunctionAnnotation.ReadFields("f1") @FunctionAnnotation.ForwardedFields("f0->f0") public class MergeTupleGraphs implements GroupReduceFunction< Tuple2<GradoopId, GradoopId>, Tuple2<GradoopId, GradoopIdSet>> { @Override public void reduce(Iterable<Tuple2<GradoopId, GradoopId>> iterable, Collector<Tuple2<GradoopId, GradoopIdSet>> collector) throws Exception { GradoopIdSet set = new GradoopIdSet(); boolean empty = true; GradoopId first = null; for (Tuple2<GradoopId, GradoopId> tuple : iterable) { set.add(tuple.f1); empty = false; first = tuple.f0; } if (!empty) { collector.collect(new Tuple2<>(first, set)); } } }