W3C home > Mailing lists > Public > public-cwm-talk@w3.org > April to June 2004

Re: diff:replacement of a document.

From: Henry Story <henry.story@bblfish.net>
Date: Tue, 11 May 2004 01:50:10 +0200
Message-Id: <D3C2D0BA-A2DC-11D8-BE2D-000A95D9FA7A@bblfish.net>
To: Henry Story <henry.story@bblfish.net>

Oh well perhaps it just really is not that complicated. It is probably 
just what I had thought initially, adding the following to your file:

{ ?x blog:entry "1"; blog:text "RDF is difficult."}		diff:replacement
{ ?x blog:entry" "1"; blog:text "RDF is easy!"}

is  an act of changing the theory of your file change, just like adding 
most simple grounded statements will result in a change of theory.

I suppose part of my difficulty was trying to understand what adding 
the inverse would do to the same file. Especially if one thinks of the 
fact that these statements are not meant to be ordered.

{ ?x blog:entry" "1"; blog:text "RDF is easy!"}
		diff:replacement
{ ?x blog:entry "1"; blog:text "RDF is difficult."}

But I suppose a good interpreter, noticing these two statements cancel 
each other out, would just remove them.

Thanks for the extended  examples at
http://www.w3.org/2000/10/swap/doc/

It is helping me get my head around all of this.

Henry

On 10 May 2004, at 20:50, Henry Story wrote:

> Hi,
>
> <background>
> I am setting out to write a log file in RDF for James Gosling's BlogEd 
> editor (https://bloged.dev.java.net/). The current log file is in a 
> simple and inflexible binary format, so the improvement would be 
> welcome.
>
> We have settled on an OWL ontology derived from the Atom api.
> Since people may change their blog entries we need to allow for 
> changes in the theory represented by the RDF file. I was thinking to 
> do this using diff:replacement as descibed by 
> http://www.w3.org/DesignIssues/Diff
>
> One of the nice thing about the RDF for our data file format is that 
> it is statement based, so we can just append changes quickly to the 
> end of the data file, and so in case of a crash it will be very easy 
> to recover. It is also very close to the way James Gosling programmed 
> his editor.
> </background>
>
> The idea would be to use diff:replacement somehow like this:
>
> # up here lot of info about the Blog feed and its entry...
> #
> #
> <> {
> 		{ ?x blog:entry "1"; blog:text "RDF is difficult."}
> 		diff:replacement
> 		{ ?x blog:entry" "1"; blog:text "RDF is easy!"}
> 	} <#newstate>
>
> <#newstate> :asserts {
> 				?x blog:entry "1";
> 				   blog:publicationDate "12 May 2004, 12:00 UTC"
> 			}
>
> What I hope this says is that there is a theory that is a diff of this 
> document's theory that can be generated by replacing the text of blog 
> number 1 by "RDF is easy!". That theory is called #newstate. #newstate 
> also asserts that its publication date is "12 May 2004, 12:00 UTC".
>
> This way I can speak create a theory, create diffs of the theory, and 
> changes to that diffed theory, and perhaps even make diffs of that 
> theory, ad infinitum...
>
> Is this close to being right?
>
>
> PS. And also, what is a good book to read? I have "The Semantic Web" 
> published by Wiley written by Daconta, Obrst, and Smith. And of course 
> I have been reading what is on the web. The many tools are really 
> helpful in helping one to get to grips quickly. I think I probably 
> need to spend more time on cwm.
Received on Monday, 10 May 2004 19:50:37 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 8 January 2008 14:11:01 GMT