Packages

class TightSim2 extends GraphMatcher

The 'TightSim2' class provides an implementation for tight simulation graph pattern matching. This version uses DualSim2.

See also

hipore.com/ijbd/2014/IJBD%20Vol%201%20No%201%202014.pdf FIX: try to implement without using parent references 'pa'.

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

Instance Constructors

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

    g

    the data graph G(V, E, l)

    q

    the query graph Q(U, D, k)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. val CHECK: Int
    Attributes
    protected
    Definition Classes
    GraphMatcher
  5. val LIMIT: Double
    Attributes
    protected
    Definition Classes
    GraphMatcher
  6. val SELF_LOOPS: Boolean
    Attributes
    protected
    Definition Classes
    GraphMatcher
  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. 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'.

    Definition Classes
    GraphMatcher
  9. def calculateBallDiameterMetrics(balls: Map[Int, Ball]): Statistic

    Calculate statistics (e.g., min, max, average diameter and standard deviation) on the balls left after post-processing.

    Calculate statistics (e.g., min, max, average diameter and standard deviation) on the balls left after post-processing.

    balls

    mappings from a center vertex to the Ball B(Graph, Center, Radius)

  10. def calculateTotalEdges(g: Graph, balls: Map[Int, Ball], matchCenters: Set[Int]): Int

    Count distinct edges left after post processing.

    Count distinct edges left after post processing.

    g

    the data graph G(V, E, l)

    balls

    mappings from a center vertex to the Ball B(Graph, Center, Radius)

    matchCenters

    set of all vertices which are considered as center

  11. def calculateTotalVertices(): Int

    Count distinct vertices left after post processing.

  12. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  13. 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

    Definition Classes
    GraphMatcher
  14. def dualFilter(phi: Array[Set[Int]], ball: Ball): Array[Set[Int]]

    Perform dual simulation onto the ball.

    Perform dual simulation onto the ball.

    phi

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

    ball

    the Ball B(Graph, Center, Radius)

  15. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  17. 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
  18. def filterGraph(phi: Array[Set[Int]]): Graph

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

    Prune 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 }

  19. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  20. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  21. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  22. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  23. def mappings(): Array[Set[Int]]

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

    Apply the Tight Graph Simulation 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
    TightSim2GraphMatcher
  24. def mappings2(): Map[Int, Array[Set[Int]]]

    Return mapping results per ball.

  25. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  26. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  27. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  28. 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

    Definition Classes
    GraphMatcher
  29. def prune(phi: Array[Set[Int]]): Array[Set[Int]]

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

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

    phi

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

    Definition Classes
    TightSim2GraphMatcher
  30. val qRange: Range
    Attributes
    protected
    Definition Classes
    GraphMatcher
  31. def refine(phi: Array[Set[Int]]): Map[Int, Array[Set[Int]]]

    Refine 'phi' using tight simulation to find mappings with balls.

    Refine 'phi' using tight simulation to find mappings with balls.

    phi

    the initial mapping after applying Dual to the whole graph

  32. def selectivityCriteria(qmet: GraphMetrics): Int

    Return the vertex from an array of central vertices, those which have highest 'ch' set size and lowest frequency of label in the query graph, i.e., highest ratio.

  33. 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

    Definition Classes
    GraphMatcher
  34. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  35. 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

    Definition Classes
    GraphMatcher
  36. def toString(): String
    Definition Classes
    AnyRef → Any
  37. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  38. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  39. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from GraphMatcher

Inherited from AnyRef

Inherited from Any

Ungrouped