Elias pointed out to me Benjamin Nowack's excellent implementation of an RDF clipboard. To use the demo:
- Right-click on any of the icons to the left of one of the bloggers and choose Copy from the context menu.
- Right-click on an empty icon under either Latest blog post or Resource Description and choose Paste from the context menu.
- Oooh and aaah.
This demo is a fantastic example of what we can accomplish with data that is represented in a lingua franca and that is accessible via a query language. If you add in the ability for this data to be distributed across the web, you end up with an almost ridiculously flexible infrastructure that empowers web authors and developers to integrate data in exciting and unforeseen ways with a very low barrier to entry. Throw in a lightweight serialization format and an emerging template-driven presentation technology and the possibilities shine brighter as the time from idea conception to functioning web app becomes less and less. In short, the semantic web can drive remarkable new Web 2.0+ solutions.
(This is a message that Leigh Dodds pitched at XTech and that I presented at WWW2006. I'll have more to say about it in another entry, coming soon.)
In exploring the workings of the clipboard demo, I copied Elias's entry and pasted him into a text editor. Here's what I saw:
{ "resID": "_:b0c76b337e4d1fefa75c3477341d717c4_id2246341", "endpoint": "/clipboard/sparql" }
Elias is represented as a particular SPARQL endpoint and a resource (in this case, a blank node label, probably a told bnode?). The target of a paste operation has the privilege of determining what SPARQL query to use to best display Elias given identifying information for him. On a whim, I changed the above JSON object to:
{ "resID": "http://thefigtrees.net/lee/ldf-card#LDF", "endpoint": "/clipboard/sparql" }
That resource ID is the URI that I penned for myself some time ago. Before attempting to paste this clipboard fragment into the demo SPARQL clipboard, I first used the form at the top of the page to add the triples from my FOAF file to the store being used by the demo. Having done that, I then copied my modified JSON string and pasted it into the Resource Description section of the demo and voila—a simple rendition of my FOAF information appeared. (I haven't investigated the SPARQL queries done for latest blog post, but I believe it goes against Planet RDF, and I don't have any recent posts there to be found in a query.)
The SPARQL Clipboard Demo. All the qualities of a good technology demo: impressive, novel, explainable, hackable, and applicable to real problems. Good stuff indeed.