- From: Ivan Shmakov <ivan@main.uusia.org>
- Date: Tue, 22 Mar 2011 17:37:01 +0600
- To: semantic-web@w3.org
- Message-ID: <87vczbs7xe.fsf@violet.siamics.net>
>>>>> Reto Bachmann-Gmür <reto@gmuer.ch> writes: >>>>> On Tue, Mar 15, 2011 at 5:30 PM, Ivan Shmakov wrote: >> Treating this particular issue doesn't seem overly difficult. >> First, we may split the source graph into subgraphs so that each of >> the subgraphs will contain only those blank nodes that are linked to >> each other only via arcs and other blank nodes, and only those >> non-blank nodes that are exactly one arc away from any of the blank >> nodes contained. (A procedure similar to the one described in CBD.) >> Then, serializing the resulting subgraphs using a kind of >> “canonical” representation (which, in particular, imposes an ordered >> and stable blank nodes naming), and hashing them, the duplicate >> statements and whole subgraphs could be detected and removed from >> the store. > This procedure doesn't guarantee that the result graph is lean. As > an MSG might be a subgraph of another. > E.g.: […] > Just by not duplicating MSGs this would result in > :joe :has [a :dog; :name "Silvio"]; :has [ a :dog ]. > which doesn't expresses more than > :joe :has [a :dog; :name "Silvio"]. Indeed, thanks! Is the case of the graph being a subgraph to another graph the only obstacle on the way, or are there other ones? Just to be clear — I do not consider OWL for now, as: • this adds a whole new class of “different graphs — same knowledge” cases; • I cannot see how a reasonable graph transport mechanism may alter the graphs in such a way that these cases may occur in practice; (OTOH, it's rather simple to get the same subgraph duplicated while being transported.) > A couple of years ago I implemented an open source Graph Versioning > System which is based on graph decomposition and thus very similar to > what you describe above, it is still available at > http://sourceforge.net/projects/jena/ > files/Graph%20Versioning%20System%20GVS/, > the sources are here: > http:// jena.svn.sourceforge.net/viewvc/jena/gvs/ ACK, thanks for the pointer! (I'm quite bad at reading Java, and even worse at running it, but I'll surely check the documentation.) -- FSF associate member #7257
Received on Tuesday, 22 March 2011 11:37:50 UTC