class DualIso[TLabel] extends GraphMatcher[TLabel]
The DualIso
class provides an implementation for Subgraph Isomorphism
that uses Dual Graph Simulation for pruning.
- Alphabetic
- By Inheritance
- DualIso
- GraphMatcher
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- 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
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- val CHECK: Int
- Attributes
- protected
- Definition Classes
- GraphMatcher
- val LIMIT: Double
- Attributes
- protected
- Definition Classes
- GraphMatcher
- val SELF_LOOPS: Boolean
- Attributes
- protected
- Definition Classes
- GraphMatcher
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- 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
- DualIso → GraphMatcher
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- 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
- 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
- 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
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- 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
- 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
- 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
- val gRange: Range
- Attributes
- protected
- Definition Classes
- GraphMatcher
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- 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
- DualIso → GraphMatcher
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def numMatches: Int
Return the count of the number of matches.
- 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
- DualIso → GraphMatcher
- val qRange: Range
- Attributes
- protected
- Definition Classes
- GraphMatcher
- 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
- 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
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- 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
- def test(name: String, ans: Array[Set[Int]] = null): Array[Set[Int]]
Test the Graph Pattern Matcher.
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated