Dual Graph Simulation by itself can not produce bijections.
Dual Graph Simulation by itself can not produce bijections.
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.
Apply the Dual Graph Simulation pattern matching algorithm to find the mappings from the query graph 'q' to the data graph 'g'.
Apply the Dual 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}'.
Given the mappings 'phi' produced by the 'feasibleMates' method, eliminate mappings 'u -> v' when (1) v's children fail to match u's or (2) v's parents fail to match u's.
Given the mappings 'phi' produced by the 'feasibleMates' method, eliminate mappings 'u -> v' when (1) v's children fail to match u's or (2) v's parents fail to match u's.
array of mappings from a query vertex u to { graph vertices v }
Print the elapsed time in milliseconds (ms) for the execution of an arbitrary block of code: 'time { block }'.
Print the elapsed time in milliseconds (ms) for the execution of an arbitrary block of code: 'time { block }'.
the block of code to be executed
http://stackoverflow.com/questions/9160001/how-to-profile-methods-in-scala
The 'DualSim' classs provides an implementation for Dual Graph Simulation.