<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: skos as atom</title>
	<atom:link href="http://inkdroid.org/journal/2009/11/04/skos-as-atom/feed/" rel="self" type="application/rss+xml" />
	<link>http://inkdroid.org/journal/2009/11/04/skos-as-atom/</link>
	<description>$pithy_personal_mission_statement</description>
	<lastBuildDate>Wed, 10 Mar 2010 02:04:23 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Reading List : Web, Linked Data, REST, Semantic Web &#8211; webr3.org</title>
		<link>http://inkdroid.org/journal/2009/11/04/skos-as-atom/comment-page-1/#comment-82102</link>
		<dc:creator>Reading List : Web, Linked Data, REST, Semantic Web &#8211; webr3.org</dc:creator>
		<pubDate>Wed, 10 Mar 2010 02:04:23 +0000</pubDate>
		<guid isPermaLink="false">http://inkdroid.org/journal/?p=1398#comment-82102</guid>
		<description>[...]  skos as atom [...]</description>
		<content:encoded><![CDATA[<p>[...]  skos as atom [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: me.yahoo.com/a/dbdHXI4l3&#8230;</title>
		<link>http://inkdroid.org/journal/2009/11/04/skos-as-atom/comment-page-1/#comment-81565</link>
		<dc:creator>me.yahoo.com/a/dbdHXI4l3&#8230;</dc:creator>
		<pubDate>Mon, 16 Nov 2009 11:45:22 +0000</pubDate>
		<guid isPermaLink="false">http://inkdroid.org/journal/?p=1398#comment-81565</guid>
		<description>Sorry, I&#039;m Alistair Miles, should have signed the previous comment - first time I&#039;ve used an OpenID.</description>
		<content:encoded><![CDATA[<p>Sorry, I&#8217;m Alistair Miles, should have signed the previous comment &#8211; first time I&#8217;ve used an OpenID.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: me.yahoo.com/a/dbdHXI4l3&#8230;</title>
		<link>http://inkdroid.org/journal/2009/11/04/skos-as-atom/comment-page-1/#comment-81564</link>
		<dc:creator>me.yahoo.com/a/dbdHXI4l3&#8230;</dc:creator>
		<pubDate>Mon, 16 Nov 2009 11:44:27 +0000</pubDate>
		<guid isPermaLink="false">http://inkdroid.org/journal/?p=1398#comment-81564</guid>
		<description>Hi Ed,

I&#039;m very interested to see this discussion of Atom. I&#039;m currently working on a new system for managing data and metadata for studies of malaria. It&#039;s at an early stage (not much to show yet), but we&#039;ve tentatively opted to use Atom as the common standard for web service APIs, and then to code the user interface in the browser (using gwt) making direct calls to the Atom API whenever possible.

FWIW we chose Atom and XML over anything based on RDF primarily because we needed a read-write API. SPARQL is great for querying data, but what we really need is to be able to CRUD arbitrary packages of data/metadata, and also define permissions over different collections of those packages ... in addition to querying the data in various ways. While Atom doesn&#039;t give you a query API, it is a good fit for the CRUD side of things.

(As an aside, we&#039;re also using eXist as the Atom implementation, which works more-or-less out of the box, and has cut down the amount of work we&#039;ve had to do on the server side.)

I did take a good look at Talis&#039; API, which has the necessary CRUD capabilities, and was very interested in it. I still think it&#039;s a great offering (the support for change sets instead of just bulk updates is potentially very useful). However, we went for Atom + eXist for two main reasons .. (1) Atom is a standard, so we had a vague hope that if eXist didn&#039;t work out we could swap to a different implementation, and (2) we&#039;re doing a lot of coding for the client-side, and there&#039;s better support for working with XML there (I just couldn&#039;t bring myself to write an rdf api for gwt then implement a gwt client for Talis&#039; API which involves XML and RDF/XML and reification).

The main questions we&#039;ve had to figure out with Atom are all to do with what best practice should be when extending Atom to convey a particular type of data entity. We use link elements to relate one entry to another, but what should we use for the rel attribute values to represent different types of relationship? Should we be using URIs? Where should we put the foreign markup that represents our data, directly in the atom:entry element, or inside an atom:content element with type application/xml? And what do you do when a client wants to pull down not just a single entry, but a graph of entries? Is it OK to include the related entries inline within the link elements?

The other challenge is how to implement query functionality over the data. I would love to use SPARQL, especially as the result set serialisation formats are very easy to work with in the browser. However, right now we&#039;re getting more mileage from writing XQuery scripts that implement simple HTTP query APIs. 

If someone designed a CRUD API for managing RDF graphs that was basically Atom, that was very convenient to use from browser code, and with an implementation that worked out of the box, things would get very interesting :)</description>
		<content:encoded><![CDATA[<p>Hi Ed,</p>
<p>I&#8217;m very interested to see this discussion of Atom. I&#8217;m currently working on a new system for managing data and metadata for studies of malaria. It&#8217;s at an early stage (not much to show yet), but we&#8217;ve tentatively opted to use Atom as the common standard for web service APIs, and then to code the user interface in the browser (using gwt) making direct calls to the Atom API whenever possible.</p>
<p>FWIW we chose Atom and XML over anything based on RDF primarily because we needed a read-write API. SPARQL is great for querying data, but what we really need is to be able to CRUD arbitrary packages of data/metadata, and also define permissions over different collections of those packages &#8230; in addition to querying the data in various ways. While Atom doesn&#8217;t give you a query API, it is a good fit for the CRUD side of things.</p>
<p>(As an aside, we&#8217;re also using eXist as the Atom implementation, which works more-or-less out of the box, and has cut down the amount of work we&#8217;ve had to do on the server side.)</p>
<p>I did take a good look at Talis&#8217; API, which has the necessary CRUD capabilities, and was very interested in it. I still think it&#8217;s a great offering (the support for change sets instead of just bulk updates is potentially very useful). However, we went for Atom + eXist for two main reasons .. (1) Atom is a standard, so we had a vague hope that if eXist didn&#8217;t work out we could swap to a different implementation, and (2) we&#8217;re doing a lot of coding for the client-side, and there&#8217;s better support for working with XML there (I just couldn&#8217;t bring myself to write an rdf api for gwt then implement a gwt client for Talis&#8217; API which involves XML and RDF/XML and reification).</p>
<p>The main questions we&#8217;ve had to figure out with Atom are all to do with what best practice should be when extending Atom to convey a particular type of data entity. We use link elements to relate one entry to another, but what should we use for the rel attribute values to represent different types of relationship? Should we be using URIs? Where should we put the foreign markup that represents our data, directly in the atom:entry element, or inside an atom:content element with type application/xml? And what do you do when a client wants to pull down not just a single entry, but a graph of entries? Is it OK to include the related entries inline within the link elements?</p>
<p>The other challenge is how to implement query functionality over the data. I would love to use SPARQL, especially as the result set serialisation formats are very easy to work with in the browser. However, right now we&#8217;re getting more mileage from writing XQuery scripts that implement simple HTTP query APIs. </p>
<p>If someone designed a CRUD API for managing RDF graphs that was basically Atom, that was very convenient to use from browser code, and with an implementation that worked out of the box, things would get very interesting :)</p>
]]></content:encoded>
	</item>
</channel>
</rss>
