Packages

abstract class GraphMatcher extends AnyRef

The GraphMatcher abstract class serves as a template for implementing specific algorithms for graph pattern matching.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. GraphMatcher
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new GraphMatcher(g: Graph, q: Graph)

    g

    the data graph G(V, E, l) with vertices v in V

    q

    the query graph Q(U, D, k) with vertices u in U

Abstract Value Members

  1. abstract def prune(phi: Array[Set[Int]]): Array[Set[Int]]

    Given the mappings 'phi' produced by the 'feasibleMates' method, prune mappings 'u -> v' where v's children fail to match u's.

    Given the mappings 'phi' produced by the 'feasibleMates' method, prune mappings 'u -> v' where v's children fail to match u's.

    phi

    array of mappings from a query vertex u to { graph vertices v }

Concrete Value Members

  1. def bijections(): Set[Array[Int]]

    Apply a graph pattern matching algorithm to find subgraphs of data graph 'g' that isomorphically match query graph 'q'.

    Apply a graph pattern matching algorithm to find subgraphs of data graph 'g' that isomorphically match query graph 'q'. These are represented by a set of single-valued bijections {'psi'} where each 'psi' function maps each query graph vertex 'u' to a data graph vertices 'v'.

  2. def disjoint(set1: Set[Int], set2: Set[Int]): Boolean

    Determine whether two sets are disjoint, i.e., have an empty intersection.

    Determine whether two sets are disjoint, i.e., have an empty intersection.

    set1

    the first set

    set2

    the second set

  3. def feasibleMates(): Array[Set[Int]]

    Create an initial array of feasible mappings 'phi' from each query vertex 'u' to the corresponding set of data graph vertices '{v}' whose label matches 'u's.

  4. def mappings(): Array[Set[Int]]

    Apply a graph pattern matching algorithm to find the mappings from the query graph 'q' to the data graph 'g'.

    Apply a graph pattern matching algorithm to find the mappings from the query graph 'q' to the data graph 'g'. These are represented by a multi-valued function 'phi' that maps each query graph vertex 'u' to a set of data graph vertices '{v}'.

  5. def overlaps(set1: Set[Int], set2: Set[Int]): Boolean

    Determine whether two sets overlap, i.e., have a non-empty intersection.

    Determine whether two sets overlap, i.e., have a non-empty intersection.

    set1

    the first set

    set2

    the second set

  6. def showMappings(phi: Array[Set[Int]]): Unit

    Show the mappings between a query graph vertex u and a set of data graph vertices {v}.

    Show the mappings between a query graph vertex u and a set of data graph vertices {v}.

    phi

    the set-valued mapping function

  7. def test(name: String, ans: Array[Set[Int]] = null): Unit

    Test the graph pattern matcher.

    Test the graph pattern matcher.

    name

    the name of graph pattern matcher

    ans

    the correct answer