java.lang.Object
org.apache.jena.graph.impl.GraphMatcher
An implementation 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.
-
Method Summary
Modifier and TypeMethodDescriptionstatic boolean
Are the two models isomorphic? The isomorphism is defined as a bijection between the anonymous variables such that the statements are identical.static int
static Node[][]
Return an isomorphism between the two models.
-
Method Details
-
equals
Are the two models isomorphic? The isomorphism is defined as a bijection between the anonymous variables such that the statements are identical. This is described in http://www.w3.org/TR/rdf-concepts#section-Graph-syntax -
hashCode
-
match
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.- Returns:
null
on failure or an array of related pairs (arrays of length 2) of anonymous nodes.match(m1,m2)[i][0]
is fromm1
, andmatch(m1,m2)[i][1]
is the corresponding node inm2
.
-