Re: Some use scenarios

On Wed, Jan 23, 2002 at 08:40:53PM -0500, Charles McCathieNevile wrote:
> Hi, I thought I would write up the ideas I have had recently for using
> annotea and see if these make sense and what they mean for the development...
> 
> So here are the things that occurred to me in the last few days as really
> interesting for me <grin/>
> 
> 1. There are a number of archived mailing lists at W3C. There are a number of
> cases where essentially similar discussions occur on different lists, and I
> would like to note that a thread in one archive is related to a threadd in
> another archive. So far, so good I think. But sme of these threads have
> different confidentiality levels, so I want to make sure that public things
> have annotations where people with public access find out what other public
> things are related, but where people with "private access" also get
> annotations for things that they have the ability to access. (I also want to
> point out that one thread is a continuation of another - that is intersting
> but I don't think makes a big issue).
> 
> 2. I edited a specification for a long time, and now I am handing it over. I
> want to make it clear how this thing is developed, and what are the tools
> that make the spec. Again, there are different levels of confidentiality
> involved here.
> 
> 3. I  want to annotate images with descriptions of them
> 
> 4. I want to put my bookmarks online, so I can keep finding them. Again,
> tehre are things for me only, and things that I would like to share as
> bookmarks with some information about them
> 
> 5. I want to use annotations to provide EARL reports (assessments of some
> kind of conformance) for various things. It is important that these can be
> updated - is this replacing an annotation, or responding to one?

This gets into some stuff that Ralph and I were discussing recently.
The RDF DB used by annotea has an attribution for each statement. The
attribution points to the document from which the statements were
learned. It turns out that the annotations documents are served from
the database rather than a static page, but that doesn't change the
model.

I use the attribution to handle the PUTs and DELETEs so that the
"document" that asserts an anntation can have all of it's statements
revoked and optionally replaced. The attribution also stores the time
and auth associated with a GET, PUT or POST. Ralph pointed out that
this message-related stuff should be in a separate object. Soon I
should have:
Statements:
  subject	predicate	object		message
  annot1	annotates	www.w3.org/	1
  annot1	earl:valid	"nope"		1
  annot2	annotates	www.w3.org/	8
  annot1	annotates	www.w3.org/	15
  annot1	earl:valid	"yup"		15

Messages:
  #	method	timestamp	authUser status	attribution
  1	POST	 998975810	Joe	 0	1
  8	POST	 999337327	Fred	 1	2
  15	PUT	1000382774	Joe	 1	1

Attributions:
  #	uri
  1	http://annotest.w3.org/annotations/attribution/998975810
  2	http://annotest.w3.org/annotations/attribution/999337327

I can then do a query for annotations of http://www.w3.org/
  SELECT Statements.subject 
  FROM Statements, Messages
  WHERE Statements.predicate='annotates' AND
    Statements.object="http://www.w3.org/" AND 
    Statements.message=Messages.# AND 
    Statements.status=1;
I'll select the set of statements that annotate http://www.w3.org/
that came from message #15

This status stores the currency ($20 will do fine) of the annotation.
When Joe PUT http://annotest.w3.org/annotations/attribution/998975810
at 1000382774, the database "invalidated" the triples from the first
message. These statements are still there. Another query could not put
in the currency check. This solution puts the history of validity
assertions into the the general history mechanism. Standard queries
will only see the current validity.

Another option is to place this assertion time in the graph:
  annot1 --earl:valid--> _:1
  _:1 --when--> 998975810
  _:1 --validity--> "nope"
  annot1 --earl:valid--> _:2
  _:2 --when--> 1000382774
  _:2 --validity--> "yup"

I guess it depends on why you need the historical info. Do you want
the historical data presented as if it were current and only separated
by the application-specific date stamp in the validity structure?

I suspect this question could go to the earl list. Feel free to
forward if Chaals signs off on his part of the message.

-- 
-eric

(eric@w3.org)
Feel free to forward this message to any list for any purpose other than
email address distribution.

Received on Wednesday, 30 January 2002 13:11:15 UTC