W3C |
shared bookmarks
<?xml version="1.0" ?> <r:RDF xmlns:r="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:a="http://www.w3.org/2000/10/annotation-ns#" xmlns:http="http://www.w3.org/1999/xx/http#" xmlns:d="http://purl.org/dc/elements/1.1/"> <r:Description> <r:type resource="http://www.w3.org/2000/10/annotation-ns#Annotation" /> <r:type resource="http://www.w3.org/2000/10/annotationType#Comment" /> <a:annotates r:resource="http://example.org/XDoc.html" /> <a:context>#xpointer(/html[1]/body[1]/ul[5]/li[4]/a[1])</a:context> <d:creator>Ralph</d:creator> <a:created>2000-01-10T17:20Z</a:created> <d:date>2000-01-10T17:20Z</d:date> <a:body r:resource="file:///home/swick/.amaya/annotations/postit.html" /> </r:Description> </r:RDF> <?xml version="1.0" ?>
If time, go thru the protocol document, otherwise, use the following content
--> solution: have the server assign it an URI and discard the previous one
GET /Annotation?w3c_annotates=http://serv1.example.com/some/page.html HTTP/1.1
GET /Annotation?w3c_reply_tree=http://annotea.example.org/Annotation/3ACF6D754 HTTP/1.1
--> works, but this is not a generic RDF store query (see Algae)
--> download the body only if you need to see it
(namespace (a http://www.w3.org/2000/10/annotation-ns#)
ask '(
(a::annotates ?annot http://example.com/page.html)
(?property ?annot ?value))
:collect (?annot ?property ?value))
Contributions to the field
Problems, !MVC, keeping all the RDF data
--> Topics instead of folders
--> Each topic has a URL (simplifies sharing)
<rdf:Description rdf:about="ambookmark1">
<bm:hasTopic rdf:resource="amtopic1" / >
</rdf:Description>
<rdf:Description rdf:about="file:///home/kahan/.amaya/bookmarks.rdf#Topic1">
<b:collection rdf:parseType="Collection"> <rdf:Description rdf:about="file:///home/kahan/.amaya/bookmarks.rdf#bookmark2" /> <b:Separator /> <rdf:Description rdf:about="file:///home/kahan/.amaya/bookmarks.rdf#Topic4" /> <rdf:Description rdf:about="file:///home/kahan/.amaya/bookmarks.rdf#bookmark1" /> </b:collection> </rdf:Description>
Bookmarks: new possiblities (cont)
--> Different user "browsing preferences" for the same bookmark file
--> Possible to have different views of a same file using this principle and collections
<rdf:Description rdf:about="amtopic1">
<dc:creator>Jose</dc:creator>
</rdf:Description>
<rdf:Description rdf:about="urn:uid:123-4325-53">
... </rdf:Description>
--> keep the resource in the same bookmkark file, assume the clients knows where are those files
<rdf:Description rdf:about="http://annotea.w3.org/ab213450"> <owl:sameAs rdf:resource="urn:uid:123-4325-53" / > ...
</rdf:Description>
--> UI represented most of the work
--> adding new features is very easy (multiple topics and importing a topic hierarchy, a couple of hours)
--> use the thesaurus paradigm to define bookmark topics
--> create (or populate) thesaurus while making bookmarks
--> small code that makes complex things
--> programming using an MVC paradigm
--> better visiblity
--> RDF data missing properties or having more than one property... it's valid!
--> rdfs:seeAlso and dc:title
--> Could have been used for rdf:seeAlso in bookmarks
--> Don't assume an XML structure order (as RSS does)
--> if it breaks, it probably has a modelizing problem