Did you know ... Search Documentation:
rdf_compare.pl -- Compare RDF graphs
PublicShow source

This library provides predicates that compare RDF graphs. The current version only provides one predicate: rdf_equal_graphs/3 verifies that two graphs are identical after proper labeling of the blank nodes.

Future versions of this library may contain more advanced operations, such as diffing two graphs.

Source rdf_equal_graphs(+GraphA, +GraphB, -Substition) is semidet
True if GraphA and GraphB are the same under Substition. Substition is a list of BNodeA = BNodeB, where BNodeA is a blank node that appears in GraphA and BNodeB is a blank node that appears in GraphB.
GraphA- is a list of rdf(S,P,O) terms
GraphB- is a list of rdf(S,P,O) terms
Substition- is a list if NodeA = NodeB terms.
To be done
- The current implementation is rather naive. After dealing with the subgraphs that contain no bnodes, it performs a fully non-deterministic substitution.