Packages

class DualIso[TLabel] extends GraphMatcher[TLabel]

The DualIso class provides an implementation for Subgraph Isomorphism that uses Dual Graph Simulation for pruning.

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

Instance Constructors

  1. new DualIso(g: Graph[TLabel], q: Graph[TLabel], duals: GraphMatcher[TLabel])(implicit arg0: ClassTag[TLabel])

    g

    the data graph G(V, E, l)

    q

    the query graph Q(U, D, k)

    duals

    the base dual simulation pattern matcher

Value Members

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

    Apply the Dual Subgraph Isomorphism algorithm to find subgraphs of data graph 'g' that isomorphically match query graph 'q'.

    Apply the Dual Subgraph Isomorphism 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' unction maps each query graph vertex 'u' to a data graph vertices 'v'.

    Definition Classes
    DualIsoGraphMatcher
  2. def countMappings(psi: Set[Array[Int]]): Pair

    Count the number of mappings between query graph vertices 'u_i' and their sets of data graph vertices {v}, giving the number of distinct vertices and edges.

    Count the number of mappings between query graph vertices 'u_i' and their sets of data graph vertices {v}, giving the number of distinct vertices and edges.

    psi

    the set of bijection

  3. def countMappings(phi: Array[Set[Int]]): Pair

    Count the number of mappings between query graph vertices 'u_i' and their sets of data graph vertices {v}, giving the number of distinct vertices and edges.

    Count the number of mappings between query graph vertices 'u_i' and their sets of data graph vertices {v}, giving the number of distinct vertices and edges.

    phi

    the set-valued mapping function

    Definition Classes
    GraphMatcher
  4. def disjoint(set1: Set[Int], set2: Set[Int]): Boolean

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

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

    set1

    the first set

    set2

    the second set

    Definition Classes
    GraphMatcher
  5. 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.

    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.

    Definition Classes
    GraphMatcher
  6. def feasibleMatesW(): 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.

    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. This version handles query graph labels that have wildcards.

    Definition Classes
    GraphMatcher
  7. def filterGraph(phi: Array[Set[Int]]): Graph[TLabel]

    Filter the data graph by consider only those vertices and edges which are part of feasible matches after performing initial dual simulation.

    Filter the data graph by consider only those vertices and edges which are part of feasible matches after performing initial dual simulation.

    phi

    mappings from a query vertex u_q to { graph vertices v_g }

    Definition Classes
    GraphMatcher
  8. def mappings(): Array[Set[Int]]

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

    Apply the Dual Subgraph Isomorphism 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}'.

    Definition Classes
    DualIsoGraphMatcher
  9. def numMatches(): Int

    Return the count of the number of matches.

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

    The 'prune' is not needed, pruning is delegated to incorporated graph simulation algorithm.

    The 'prune' is not needed, pruning is delegated to incorporated graph simulation algorithm.

    phi

    array of mappings from a query vertex u_q to { graph vertices v_g }

    Definition Classes
    DualIsoGraphMatcher
  11. def setLimit(_limit: Int): Unit

    Set an upper bound on the number matches to allow before quitting.

    Set an upper bound on the number matches to allow before quitting.

    _limit

    the number of matches before quitting

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

    Show all mappings between query graph vertices 'u_i' and their sets of data graph vertices {v}.

    Show all mappings between query graph vertices 'u_i' and their sets of data graph vertices {v}.

    phi

    the set-valued mapping function

    Definition Classes
    GraphMatcher
  13. def test(name: String, ans: Set[Array[Int]]): Set[Array[Int]]

    Test the Graph Iso Pattern Matcher.

    Test the Graph Iso Pattern Matcher.

    ans

    the correct answer

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

    Test the Graph Pattern Matcher.

    Test the Graph Pattern Matcher.

    ans

    the correct answer

    Definition Classes
    GraphMatcher