class GraphSimIso extends GraphMatcher
The GraphSimIso
object provides an implementation for Subgraph Isomorphism
that uses an adjacency set version of Ullmann's Algorithm.
- Alphabetic
- By Inheritance
- GraphSimIso
- GraphMatcher
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
Value Members
-
def
bijections(): Set[Array[Int]]
Apply the Ullmann's Subgraph Isomorphism algorithm to find subgraphs of data graph 'g' that isomorphically match query graph 'q'.
Apply the Ullmann's 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' function maps each query graph vertex 'u' to a data graph vertices 'v'.
- Definition Classes
- GraphSimIso → GraphMatcher
-
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
-
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
getMatches(): Int
Get the count of the number of matches.
-
def
makeOrder(): Array[Int]
Establish a vertex order from largest to smallest adjacency set ('ch') size.
-
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}'.
- Definition Classes
- GraphMatcher
-
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
-
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
- GraphSimIso → GraphMatcher
-
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
-
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