| java.lang.Object com.hp.hpl.jena.graph.impl.GraphMatcher
GraphMatcher | public class GraphMatcher extends java.lang.Object (Code) | | An implemantation of graph isomorphism for Graph equality.
The underlying algorithm is exponential but will only enter
a non-deterministic polynomial part when there are a lot of difficult to
distinguish anonymous nodes
connected to each other by statements with the same property(s).
Non-pathological examples, where most nodes have some properties that
help distinguish them from other nodes, will experience nearly linear
performance.
author: jjc version: Release='$Name: $' Revision='$Revision: 1.18 $' Date='$Date: 2008/01/02 12:05:16 $' |
Method Summary | |
static void | count(Map bag, SomeResource r, int pos) | public static boolean | equals(Graph m1, Graph m2) Are the two models isomorphic?
The isomorphism is defined as a bijection between the anonymous
variables such that the statements are identical. | public static int | hashCode(Graph g) | public static Node[][] | match(Graph m1, Graph m2) Return an isomorphism between the two models. |
count | static void count(Map bag, SomeResource r, int pos)(Code) | | |
match | public static Node[][] match(Graph m1, Graph m2)(Code) | | Return an isomorphism between the two models.
This function is nondeterministic in that it may return a
different bijection on each call, in cases where there are
multiple isomorphisms between the models.
null on failure or an array of related pairs (arrays of length 2) of anonymous nodes.match(m1,m2)[i][0] is from m1 , and match(m1,m2)[i][1] is the corresponding node inm2 . |
|
|