I would like to suggest using the RDF (Resource Description Framework)
data model [1] instead of inventing anything new. The reasoning is
simply because I think majority of OpenBookmarks' needs are already met.
For those that are not familiar with RDF, some quick highlights:
* RDF is a data model.
* RDF/XML [2], RDFa [3], Turtle [4], NTriples [5], JSON/RDF are
different ways to serialize data which are essentially equivalent.
* RDF uses URIs to identify resources in absolute terms.
* Widely used and scales really well on the Web.
* Everyone is free to claim any amount of information about anything.
Why would the RDF data model be beneficial for this task?
* RDF is a widely accepted standard.
* No need to create custom parsers, APIs etc. that's particular to
bookmarking.
* Bookmarking can reuse existing vocabularies about bibliographic
objects
* If need be, terms that are particular to bookmarking can be added at a
later date
Let me start with an example from the wiki [6]:
<bmxl>
<Bookmark>
<work>
<title>Ulysses</title>
<author>James Joyce</author>
<isbn>9780141182803</isbn>
<id>OL86344W</id>
</work>
<mark>
<position>123</position>
<note>Stately, plump Buck Mulligan came from the stairhead</note>
</mark>
<meta>
<timestamp>2010-12-01T15:33Z</timestamp>
<latitude>51.52311534332867</latitude>
<longitude>-0.08179262280464172</longitude>
</meta>
</Bookmark>
</bmxl>
can be represented in Turtle as such:
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix wgs: <http://www.w3.org/2003/01/geo/wgs84_pos#> .
@prefix book: <http://purl.org/NET/book/vocab#> .
@prefix bookmark: <http://example.org/bookmark#> .
<http://csarven.ca/bookmark/1234>
rdf:type bookmark:Bookmark;
bookmark:marks <urn:isbn:9780141182803>;
bookmark:position "123" ;
dcterms:created "2010-12-01T15:33:00-00:00"^^xsd:dateTime;
dcterms:creator <http://csarven.ca/#i>;
dcterms:description "Stately, plump Buck Mulligan came from the
stairhead"@en .
<urn:isbn:9780141182803>
rdf:type book:Book;
dcterms:title "Ulysses"@en;
dcterms:creator "James Joyce"@en;
book:isbn "9780141182803";
wgs:lat "51.52311534332867"^^xsd:float;
wgs:long "-0.08179262280464172"^^xsd:float .
Here I've used an example namespace http://example.org/bookmark# which
defines bookmarking. That namespace essentially serves as the
dictionary/vocabulary for bookmarking. That way, wherever the terms
therein are used, we can be sure to agree on what they mean. So, the URI
http://csarven.ca/bookmark/1234 is a type of a bookmark; tells us which
object it marks; and the position of the bookmark for that object. We
also know when it was created, whom it was created by, and the
description (annotation) of the bookmark.
One can even connect more information to that:
<http://csarven.ca/#i>
book:ownsCopyOf <urn:isbn:9780141182803> .
At the most basic level, the above data would allow us to:
* Grab someone's bookmarks (and later import them into our own
application)
* Look up bookmarks that are attached to any bibliographic record
RDF allows us do things like:
* Grab a bibliographic record's bookmarks that are created by Canadian
scientists between the years 2000 and 2010.
* Find out which books have bookmarks that are made by most people.
In my opinion, what would be worthwhile for this group is to focus on:
* Further identify concepts that are particular to bookmarks.
* Investigate whether the existing RDF vocabularies are sufficient to
build bookmarking data.
* Create a vocabulary for new terms that are not already defined
elsewhere.
Besides the example vocabulary for bookmarking that I've used earlier,
any other vocabulary can be used to extend the data about the bookmark
e.g., Open Notations [7], Functional Requirements for Bibliographic
Records (FRBR) [8].
Hope this helps,
-Sarven
[1] http://www.w3.org/TR/2004/REC-rdf-primer-20040210/
[2] http://www.w3.org/TR/rdf-syntax-grammar/
[3] http://www.w3.org/TR/xhtml-rdfa-primer/
[4] http://www.w3.org/2007/02/turtle/primer/
[5] http://www.w3.org/2000/10/swap/Primer.html
[6] http://wiki.openbookmarks.org/Bookmark_Exchange_Format
[7] http://www.openannotation.org/
[8]
http://en.wikipedia.org/wiki/Functional_Requirements_for_Bibliographic_Records