Swish GraphDiff: nifty!

[thread starts in rdf-interest
http://lists.w3.org/Archives/Public/www-rdf-interest/2004Feb/0056.html
goes via rdf-calendar and #rdfig...
http://rdfig.xmlhack.com/2004/02/11/2004-02-11.html#1076540342.902364

And I'm taking it to the new public-cwm-talk@w3.org , cuz diff
is high on the cwm/swap agenda...
psst... timbl, you haven't subscribed yet.
]

On Wed, 2004-02-11 at 16:36, Dan Connolly wrote:
> On Wed, 2004-02-11 at 15:05, Graham Klyne wrote:
> > At 10:52 11/02/04 -0600, Dan Connolly wrote:
> > >I'm still leaning toward finding or making a better
> > >XML serializer. I'm tired of running tidy to indent
> > >the results so that I can look at them.
> > 
> > I have recently been playing "nearby", so to speak.
> > 
> > In my just-announced RDF graph-difference displayer [1],
> 
> I followed the link to...
>  http://www.ninebynine.org/RDFNotes/Swish/Intro.html#GraphDiff
> 
> wow! That's really cool! We've been noodling on the diff
> problem for quite a while, and your solution looks appealing
> from theoretical _and_ practical angles.
> 
> I gotta try it out...

I'm able to reproduce your results on a debian GNU/linux box thusly:

# apt-get install hugs

connolly@dirk:~/src/gk-swish/HaskellRDF$ runhugs -98
-P:.:../HaskellUtils/:Parsec:HUnit:Sort:Dfa Swish.hs -i=Data/Diff1.n3
-d=Data/Diff2.n3
Graph differences: 8
---- Difference 1 ----
Graph 1:"lx12"
Graph 2:"lx22"
---- Difference 2 ----
Graph 1:base3:o3
Graph 2:_:o3
---- Difference 3 ----
Graph 1:
(_:11 base2:5 "lx13")
Graph 2:
(No arcs)
---- Difference 4 ----
Graph 1:
(No arcs)
Graph 2:
(_:11 base2:p5 "lx13")
---- Difference 5 ----
Graph 1:
(_:7 base2:p22
  (_:8 rdf:rest
    (_:10 rdf:rest rdf:nil
      ; rdf:first "lx12")
    ; rdf:first
    (_:9 base2:p23 "lx11")))
Graph 2:
(No arcs)
---- Difference 6 ----
Graph 1:
(No arcs)
Graph 2:
(_:7 base2:p22a
  (_:8 rdf:rest
    (_:10 rdf:rest rdf:nil
      ; rdf:first "lx22")
    ; rdf:first
    (_:9 base2:p23 "lx21")))
---- Difference 7 ----
Graph 1:"p3-diff1"
Graph 2:"p3-diff2"
---- Difference 8 ----
Graph 1:base4:o1
Graph 2:base4:o2



> >  I use an approach 
> > that starts by partitioning the RDF graph into subtrees whose branches 
> > jointly span the graph.  One of my plans for the future is to use this to 
> > add an improved serializer to Swish.  The module concerned is at [2], and 
> > you may be able to glean some ideas, even if you're not fluent in Haskell...
> > 
> > #g
> > --
> > 
> > [1] http://lists.w3.org/Archives/Public/www-rdf-interest/2004Feb/0056.html
> > 
> > [2] http://www.ninebynine.org/Software/Swish-0.2.1/HaskellRDF/GraphPartition.hs
> > 
> > 
> > 
> > 
> > ------------
> > Graham Klyne
> > For email:
> > http://www.ninebynine.org/#Contact
-- 
Dan Connolly, W3C http://www.w3.org/People/Connolly/
see you at the W3C Tech Plenary in Cannes 1-5 Mar 2003?

Received on Wednesday, 11 February 2004 19:01:21 UTC