a mapping generator that knows to find for two graphs the possible mappings of bnodes between them. Better mapping generators will find less mappings for the same graphs, without missing out on correct ones.
Find possible bnode mappings
Find possible bnode mappings
A list of possible bnode mappings or a reason for the error
filter a graphs into two subgraphs the first one containing no blank nodes the other one containing only statements with blank nodes
filter a graphs into two subgraphs the first one containing no blank nodes the other one containing only statements with blank nodes
a pair of Ground graph and non ground graph
Verify that the bnode bijection allows one to map graph1 to graph2
Verify that the bnode bijection allows one to map graph1 to graph2
the mappings to verify.
a list of exceptions in case of failure or an empty list in case of success
a mapping generator that knows to find for two graphs the possible mappings of bnodes between them.
a mapping generator that knows to find for two graphs the possible mappings of bnodes between them. Better mapping generators will find less mappings for the same graphs, without missing out on correct ones.
(graphIsomorphism: StringAdd).self
(graphIsomorphism: StringFormat).self
(graphIsomorphism: ArrowAssoc[GraphIsomorphism[Rdf]]).x
(Since version 2.10.0) Use leftOfArrow
instead
(graphIsomorphism: Ensuring[GraphIsomorphism[Rdf]]).x
(Since version 2.10.0) Use resultOfEnsuring
instead
Methods to establish Graph Equivalences
Following Jeremy J. Carroll's "Matching RDF Graphs" article http://www.hpl.hp.com/techreports/2001/HPL-2001-293.pdf
Also I found it useful to think in terms of the RDF category as defined by Benjamin Braatz in "Formal Modelling and Application of Graph Transformations in the Resource Description Framework" Proposition 2.1 ( p 16 )
http://www.researchgate.net/profile/Benjamin_Braatz/publication/40635984_Formal_Modelling_and_Application_of_Graph_Transformations_in_the_Resource_Description_Framework/file/d912f50d3189b51ef1.pdf
This code can be ameliorated in a number of ways:
- by using lazy data structures - by optimising memory
RDF implementation to work with