Re: protocol doc changed...

On Tue, Mar 15, 2005 at 01:38:44PM +0000, Seaborne, Andy wrote:

> It's the confusion mainly.  I hadn't read it as RDF dataset manipulation at 
> all. I'm now unclear as to what state the server is managing.

"The server" answers queries against various RDF graphs. We call the
graph or graphs against which a query is executed "the RDF dataset".

In our applications at the lab, we often, from a remote client, want
to create a new graph, which is to be added to "the RDF dataset" --
that is, it can on subsequent requests be one of the graphs subsequent
queries are executed against.

Likewise, sometimes we want to remove a graph or graphs from "the RDF
dataset". For example, we use graphs to track the source of assertions
made in those graphs. In a shared knowledge app, for example, often
each user has a graph which contains the assertions made by that user
(sometimes a graph represents a "speech act by a single speaker" --
that is, http://foo.bar/kendall22.rdf may represent the claims made by
speaker S at time T, while http://foo.bar/kendall929.rdf may represent
the claims made by speaker S at time T2). 

But claims can be retracted as well as asserted. In our case this is
equivalent to deleting a graph or graphs. We'd like our clients to be
able to signal our servers that a graph should be "dropped". 

(What "dropping a graph" constitutes is in some sense
application-specific. There are at least two senses: the strong sense
means the "RDF graph resource" is deleted. In a weaker sense, it just
means that it's no longer one of the graphs that the server will
answer queries against. We can be agnostic as to this distinction, I
think, since they both imply that the server will no longer answer
queries against a graph after it's been dropped -- or, to be very
precise, at least not until or unless it's re-asserted.)

> Manipulating a dataset seems to be more for a distributed application 
> (designed together) or for the publisher than making information available 
> on the web but I'll wait until I have a better picture of what's going on 
> before commenting.

Hmm, I don't think I agree with this. We have several rather ordinary
"semweb" applications where this functionality is useful, including
our ontology editor, photo annotation tool, and our portal toolkit
(which has been used in spy stuff, but also life sciences and space
sciences apps).

For us, anyway, dropGraph(http://foo.bar/kendall22.rdf) is equivalent
to removing an interesting class of assertions from a knowledge base.

Kendall

PS--I felt encouraged to add these graph creation & deletion
interfaces because (1) WSDL makes that very easy to do; (2) WSDL gives
us a way for servers to communicate clearly to requesters about which
interface(s) they support; and (3) we had a fruitful conversation in
Boston about "the update problem", which I thought suggested that
creating and deleting graphs was nicely orthogonal from creating and
deleting  *triples*, which strikes me as much more difficult.

Received on Tuesday, 15 March 2005 13:54:33 UTC