The APShortestPath
class is used to solve shortest path problems for graphs
stored in matrices.
The APShortestPath
class is used to solve shortest path problems for graphs
stored in matrices. It solves the All-Pairs Shortest Path (APSP) problem
for directed graphs. The edge cost/distance (must be non-negative) can be
stored in either a dense or sparse matrix. The Floyd-Warshall Algorithm is used.
http://math.stackexchange.com/questions/240556/radius-diameter-and-center-of-graph
http://en.wikipedia.org/wiki/Floyd%E2%80%93Warshall_algorithm APSP can be used to determine a graph's eccentricities, radius and diameter. These can also be computed using a BFS-based algorithm.
The Ball
class provides an implementation for ball construction.
The Ball
class provides an implementation for ball construction.
A ball consists of all vertices within a given radius of a given center.
http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=6691601&tag=1&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D6691601%26tag%3D1
The BipartiteMatching
class provides an implementation of finding maximal
Bipartite Matching.
The BipartiteMatching
class provides an implementation of finding maximal
Bipartite Matching.
http://www.geeksforgeeks.org/maximum-bipartite-matching/
The ColorDAG
class provides a data structure Directed Acyclic Graphs (DAGs) with colored
nodes.
The ColorDAG
class provides a data structure Directed Acyclic Graphs (DAGs) with colored
nodes. The ColorDAG consists of source nodes (in-degree is 0), sink nodes (out-degree is 0)
and internal nodes. The edges connecting nodes must have color compatibility.
The ColorDAG is divided into 'k' stages: e.g., sources (stage 0), internals (stages 1..k-2)
and sinks (stage k-1).
The ColorTree
class provides a data structure for multi-way trees with
colored nodes.
The Cycle
class provides a means for building a precedence/directed graph
and checking it for cycles.
The Cycle
class provides a means for building a precedence/directed graph
and checking it for cycles. For cycle detection, vertices are marked with
traffic-light colors:
The DualIso
class provides an implementation for Subgraph Isomorphism
that uses Dual Graph Simulation for pruning.
The 'DualSim' classs provides an implementation for Dual Graph Simulation.
The DualSim2
class provides a second implementation for Dual Graph Simulation.
The DualSim2
class provides a second implementation for Dual Graph Simulation.
It differs from DualSim by not using inverse adjacency sets ('par') in
order to save space.
The DualSim3
class provides a second implementation for Dual Graph Simulation.
The DualSim3
class provides a second implementation for Dual Graph Simulation.
It differs from DualSim by not using inverse adjacency sets ('par') in
order to save space.
The Graph
class stores vertex-labeled directed graphs using an adjacency
set ('adj') representation, e.g., adj = { {1, 2}, {0}, {1} } means that the
graph has the following edges { (0, 1), (0, 2), (1, 0), (2, 1) }.
The Graph
class stores vertex-labeled directed graphs using an adjacency
set ('adj') representation, e.g., adj = { {1, 2}, {0}, {1} } means that the
graph has the following edges { (0, 1), (0, 2), (1, 0), (2, 1) }.
Optionally, inverse adjacency via the 'par' array can be stored at the cost
of nearly doubling the storage requirements.
the array of vertex (child) adjacency sets (outgoing edges)
the array of verter labels
whether to store inverse adjacency sets (parents)
The Graph2
class is used for representing "Directed Graphs".
The Graph2
class is used for representing "Directed Graphs". It uses an
adjacency list 'adj' representation, e.g., adj = { (1, 2), (0), (1) } means
that the graph has the following edges { (0, 1), (0, 2), (1, 0), (2, 1) }.
Options:
(1) the graph may have vertex labels,
(2) the graph may have edge labels, and
(3) the graph may maintain inverse adjacency via the parent 'par' array can be
stored at the cost of nearly doubling the storage requirements.
the array of vertex (child) adjacency list (outgoing edges)
the array of vertex labels
the map of edge labels
whether to store inverse adjacency list (parents)
The GraphBFS
performs Breadth First Search on a Directed Graph.
The GraphIso
class determines whether two labelled directed graphs are
Graph Isomorphic.
The GraphMetrics
class provides methods for determining graph metrics that
can be efficiently computed using Breadth-First Search (BFS).
The GraphMetrics
class provides methods for determining graph metrics that
can be efficiently computed using Breadth-First Search (BFS). This works for
undirected graphs. If a directed graph is passed in, it will be converted to
a corresponding undirected graph.
The GraphSim
class provides an implementation for Simple Graph Simulation.
The GraphSim2
class provides a second implementation for Simple Graph
Simulation.
The GraphSim2
class provides a second implementation for Simple Graph
Simulation. It differ from GraphSim in the looping order in the main for-loop
and early termination when phi(u) is empty.
The GraphSim3
class provides a second implementation for Simple Graph
Simulation.
The GraphSim3
class provides a second implementation for Simple Graph
Simulation. It differ from GraphSim in the looping order in the main for-loop
and early termination when phi(u) is empty.
This GraphSimIso
object provides an implementation for Subgraph Isomorphism
that uses an adjacency set version of Ullmann's Algorithm.
The 'GraphqlOpt' class provides an implementation for Subgraph Isomorphism of GraphQL's Algorithm.
The 'GraphqlOpt' class provides an implementation for Subgraph Isomorphism of GraphQL's Algorithm.
http://cs.ucsb.edu/~dbl/papers/he_sigmod_2008.pdf (GraphQL paper)
The IsomorphismChecker
trait check the validity of the isomorphic matches
between the query graph 'q' and subgraphs of the data graph 'g'.
The PatternMatcher
abstract class serves as a template for implementing
specific algorithms for graph pattern matching.
The PatternMatcher
abstract class serves as a template for implementing
specific algorithms for graph pattern matching.
The SSShortestPath
class is used to solve shortest path problems for graphs
stored in matrices.
The SSShortestPath
class is used to solve shortest path problems for graphs
stored in matrices. It solves the Single-Source Shortest Path (SSSP) problem
for directed graphs. The edge cost/distance (must be non-negative) can be
stored in either a dense or sparse matrix. Dijkstra's Algorithm is used.
http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm
The 'TightSimulation' class provides an implementation for graph pattern matching.
The 'TightSimulation' class provides an implementation for graph pattern matching.
http://hipore.com/ijbd/2014/IJBD%20Vol%201%20No%201%202014.pdf
The TreeNode
class is for a node in the color tree.
The APShortestPath
companion object provides factory methods for the
APShortestPath
class.
The APShortestPathTest
object is used to test the APShortestPath
class.
The 'BipartiteMatchingTest' object is used to test BipartiteMatching
class.
The ColorDAGTest
object used to test the ColorDAG
class.
The ColorTreeTest
object is used to test the 'ColorTree
class.
The Convert
object is used to convert between an Adjacency Matrix
representation to an Adjacency Sets representation.
The ConvertTest
object is used to test the Convert
object.
The CycleTest
object tests the Cycle
class using a label-free precedence
graph.
The CycleTest
object tests the Cycle
class using a label-free precedence
graph. Graphs are created by passing in an array of adjacency sets (one for
each vertex).
The DualIsoTest
object is used to test the DualIso
class.
The DualSim2Test
object is used to test the 'DualSim2' class.
The DualSim3Test
object is used to test the 'DualSim3' class.
The 'DualSimTest' object is used to test the 'DualSim' class.
The Graph
object is the companion object to the Graph
class and is used
for reading graphs from files or graph databases.
The Graph2Test
object is used to test the Graph2
class.
The Graph2Types
specifies type for vertices and vertex labels.
The GraphBFSTest
is used to test the GraphBFS
class.
The GraphGenerator
object is used to build random graph with various
characteristics.
The GraphGenerator2
object is used to build random graph with various
characteristics.
The 'GraphGenerator2Test' object is used to test the 'GraphGenerator2' class for building random graphs where a vertex's degree is uniformly distributed.
The 'GraphGenerator2Test2' object is used to test the 'GraphGenerator2' class for building power law graphs.
The GraphGenerator2Test3
object is used to test the GraphGenerator2
class
for extracting query graphs from data graphs.
The 'GraphGeneratorTest' object is used to test the 'GraphGenerator' class for building random graphs where a vertex's degree is uniformly distributed.
The 'GraphGeneratorTest2' object is used to test the 'GraphGenerator' class for building power law graphs.
The GraphGeneratorTest3
object is used to test the GraphGenerator
class
for extracting query graphs from data graphs.
The GraphIsoTest
object is used to test the GraphIso
class.
The GraphMetricsTest
object is used to test the GraphMetrics
class.
The GraphMetricsTest
object is used to test the GraphMetrics
class.
http://math.stackexchange.com/questions/240556/radius-diameter-and-center-of-graph
The GraphSim2Test
object is used to test the GraphSim2
class.
The GraphSim3Test
object is used to test the GraphSim3
class.
The GraphSim3Test2
object is used to test the GraphSim3
class.
The GraphSimIsoTest
object is used to test the GraphSimIso
class.
The GraphSimTest
object is used to test the GraphSim
class.
The GraphTest
object is used to test the Graph
class and object.
The GraphTypes
specifies type for vertices and vertex labels.
The GraphqlOptTest
object randomly generates the data graph and corresponding
query graph to test GraphqlOpt class.
The GraphqlOptTest2
object test the GraphqlOpt class by feeding the value
of data graph and query graph.
The GraphqlOptTest3
object test the GraphqlOpt class by feeding data graph and
query graph absolute file path.
The GraphqlOptTest4
object test the GraphqlOpt class by passing data graph and
query graph absolute file path as an argument.
The 'PatternMatcherTest' object runs six pattern matching algorithms on the above test graph.
The 'PatternMatcherTest' object runs six pattern matching algorithms on the above test graph. The algorithms tested are the following: GraphSim - Simple Graph Simulation GraphSim2 - Simple Graph Simulation (with early termination) DualSim - Dual Graph Simulation DualSim2 - Dual Graph Simulation (with reduced memory footprint) UllmannIso - Adjacency List Version of Ullmann's Subgraph Isomorphism Algorithm DualIso - Subgraph Isomorphism using Dual Simulation for Pruning
The SSShortestPath
companion object provides factory methods for the
APShortestPath
class.
The SSShortestPathTest
object is used to test the SSShortestPath
class.
The PatternMatcherTest
object creates data graph and query graph that
can be used to test the results produced by the pattern matching algorithms.
The PatternMatcherTest
object creates data graph and query graph that
can be used to test the results produced by the pattern matching algorithms.
MS Thesis, "A Comparison of Techniques for Graph Analytics on Big Data"
The TightSimulationTest
object test the TightSimulation
class by passing
data graph, query graph absolute file path, print match/ball (0/1)
The TightSimulationTest2
object test the TightSimulation
class by feeding
data graph, query graph absolute file path, print match/ball (0/1).
The graphalytics package contains classes, traits and objects for graph analytics on Trees, DAGs and Directed Graphs.