Skip to content
Timo edited this page Mar 4, 2021 · 14 revisions

Graph operators

The EPGM provides operators for both single logical graphs as well as collections of logical graphs; operators may also return single graphs or graph collections. The following tables contains an overview (GC = Graph Collection, G = Logical Graph).

Unary logical graph operators (one graph as input):

Operator Output Output description Impl
Aggregation G Graph with result of an aggregate function as a new property Yes
CAPF GC Graphs that match a given Cypher graph pattern Yes
Query GC Graphs that match a given Cypher-based GDL graph pattern Yes
Transformation G Graph with transformed (graph, vertex, edge) data Yes
Grouping G Structural condense of the input graph Yes
RollUp GC Graphs representing structural condense of the input graph according to SQL RollUp Yes
Subgraph G Subgraph that fulfils given vertex and edge predicates Yes
Cloning G Creates a copy of a logical graph Yes
Sampling G Create samplings of logical graphs (e.g PageRank-Sampling) Yes
Split GC Splits a logical graph into a graph collection Yes
AverageClusteringCoefficient G Calculates the average local clustering coefficient Yes
AverageDegree G Calculates the average degree of a logical graph Yes
GraphDensity G Calculates the density of a logical graph Yes
ClusteringCoefficient G Calculates the local/ global clustering coefficient Yes
WeaklyConnectedComponents G/GC Calculates or annotates weakly connected components using Flink® Gelly Yes
HITS G Operator wrapping Flink® Gelly's Hyperlink-Induced Topic Search Yes
LabelPropagation G Operator executing label propagation integrated in Flink® Gelly Yes
PageRank G Operator wrapping PageRank integrated in Flink® Gelly Yes
RandomJump G Performs RandomJump, using VertexCentricIteration Flink® Gelly Yes
SingleSourceShortestPaths G Operator wrapping SingleSourceShortestPaths integrated in Flink® Gelly Yes
TriangleCounting G Operator wrapping TriangleCounting integrated in Flink® Gelly Yes
DistinctVertexDegrees G Operator VertexDegrees calculation integrated in Flink® Gelly Yes
Verify G Removes dangling edges Yes
VerifyGraphContainment G Removes graph ids different from this graphs id Yes

Binary logical graph operators (two graphs as input):

Operator Output Output description Impl
Combination G Graph with vertices and edges from both input graphs Yes
Overlap G Graph with vertices and edges that exist in both input graphs Yes
Exclusion G Graph with vertices and edges that exist only in the first graph Yes
Equality {true, false} Compare graphs in terms of identity or equality of contained elements Yes
VertexFusion G The second graph is fused to a single vertex within the first graph Yes

Unary graph collection operators (one collection as input):

Operator Output Output description Impl
Cypher GC Graphs that match a given Cypher graph pattern Yes
Query GC Graphs that match a given Cypher-based GDL graph pattern Yes
Selection GC Filter graphs based on their attached data (i.e. label, properties) Yes
Distinct GC Collection with no duplicate graphs Yes
SortBy GC Collection sorted by values of a given property key No
TransactionalFSM GC Collection of frequent subgraphs Yes
Limit GC The first n arbitrary elements of the input collection Yes
VerifyCollection GC Graphs with dangling edges removed Yes
VerifyGraphsContainment GC Collection with graph ids from graphs not in the collection removed Yes

Binary graph collection operators (two collections as input):

Operator Output Output description Impl
Union GC All graphs from both input collections Yes
Intersection GC Only graphs that exist in both collections Yes
Difference GC Only graphs that exist only in the first collection Yes
Equality {true, false} Compare collections in terms of identity or equality of contained elements Yes
Operator In Out Output description Impl
Apply GC GC Applies unary operator (e.g. aggregate) on each graph in the collection Yes
Reduce GC G Reduces collection to single graph using binary operator (e.g. combine) Yes
Call GC/G GC/G Applies external algorithm on graph or graph collection Yes
Operator Output Output description Impl
VertexToEdge G Converts all vertices of a given label into edges Yes
EdgeToVertex G Converts all edges of a given label into vertices Yes
ConnectNeighbors G Connects neighbors of specific vertices with newly created edges Yes
VertexDeduplication G Deletes duplicates of vertices Yes
ExtractPropertyFromVertex G Extracts properties to newly created vertices Yes
PropagatePropertyToNeighbor G Operator to copy properties to neighbored vertices Yes