PushBackDataToLegacySources
This is a community project to develop a method (vocabulary+API) to push back data from RDF data sources to non-RDF data sources such as Web 2.0 APIs (flickr, microblogging systems, etc.).
pushback - Write Data Back From RDF to Non-RDF Sources
Use Cases | RDForms | Fusion | Authentication | Authorisation | Code (DOAP) | Demos
Index
Background
The idea might be around a bit longer, for sure, but the first trace I was able to find was at VoCamp Galway in late 2008. Then, after some time, the issue has been picked up on #swig channel (03/2009), where TimBL stated: Tabulator can write back to DBpedia. It is DBpedia's job to take the change and apply it to Wikipedia. While we can say that for a fixed schema the act of writing back stuff to the non-RDF is sensible and feasible, one has to question if this is the case for, e.g. Wikipedia as well. However, when assuming that an RDF wrapper already exists exposing structured data from a Web 2.0 source such as Twitter, flickr, etc. as linked data on the Web, hence knows about the Web 2.0 read-interface, one can assume that this RDF wrapper should in theory be able to handle the write-interface as well. What is indeed needed is a method to tell the RDF wrapper which parts of the graph to update (so called updateable parts) and what CRUD operations are allowed on a certain resource.
Read more about the relation of pushback regarding SPARQL Update and direct Web 2.0 API/REST calls or view a short screen cast introducing pushback and RDForms incl. a demo of it (less than 10min in total, demo starts around 3min 30sec).
Rules of Engagement
You're welcome to contribute. This is a Web of Data community project; how ever, please keep in mind to:
- Add your name to the interested people section at the bottom of this page, incl. the area you are interested
- If not yet done, subscribe to public-lod@w3.org, we gonna discuss there
- Usually, discussions take place on IRC #swig channel, but you may also subscribe to the identi.ca RDForms group
- As a community project, the results created herein are licensed under a Creative Commons Attribution 3.0 License, for the software bits we have to decide on (1) where to put it (maybe Google code?) and (2) under which license we make it available
Use Cases
See the use case page for a collection of use cases for pushback. Please add your own!
Work Plan
- extend and detail out the use cases
- DONE: review Jeni Tennison's rdfquery
- DONE: review existing HTML forms and their applications and detect common patterns
- review existing Web 2.0 APIs (such as flickr, Twitter, etc.) and detect common patterns
- DONE: evaluate what Changeset and Service Schema can contribute
- PROPOSAL: develop a vocabulary that captures the key/value pairs of each field in the form
- PROPSAL: develop the fusion, that is the process of creating an RDForm given an HTML form and RDF data from a non-RDF data source
- PROPOSAL: collect requirements for authentication and select from existing solutions such as FOAF+SSL, OAuth, OpenID, etc. that allow the update of Web 2.0 APIs
- PROPOSALS: implement a demo based on the above for one use case, for example, bugtracking
Design
Results from the design (brainstorming) session (cygri and mhausenblas, 2009-01-03) have been captured on flickr. Here is the resulting overall architecture:
Design pillars:
- Deployment and invocation of a pushback (a bookmarklet triggering an inline overlay container that loads an RDForm)
- RDForms - RDFa for marking up HTML forms along with a vocabulary to capture updateable parts and allowed CRUD operations and a process to create these RDForms on-the-fly (called fusion)
- a mechanism defining how the User Agent interacts with the pushback controller (due to XSS needed) and how the pushback controller interacts with the RDF wrapper (which knows how to handle the origin, non-RDF data source write-API)
- authentication for handling write operations on the origin, non-RDF data source write-API
Interaction
- user loads RDF document using some domain vocabulary in an Web of Data browser such as Tabulator;
- user activates RDForms via bookmarklet;
- fusion engine takes HTML form (derived from same non-RDF data source as the RDF document, hence corresponding elements) and a mapping from the domain vocabulary to RDForms vocabulary to generate an RDForms on-the-fly;
- RDForms parser executes the desired operation if user is accordingly authenticated
- changes transferred to pushback controller (due to XSS restrictions) based on a simple REST-interface;
- pushback controller relays changes to RDF write-wrapper
Related
- pushing back changes is a feature that has been requested often for Aperture and is probably also an issue for all the other ConverterToRdf, possibly using ConverterFromRdf
- somehow similar proposal based on eRDF by Keith (from 2007): eRDF as Query and Report language
- Using JavaScript RDFa Widgets for Model/View Separation inside Read/Write Websites, SFSW08 paper
- related work at Talis by Keith Client-side Sem Web Apps and discussion
- MyMobileWeb Deliverable D.5.4.1 Semantic extensions for IDEAL, work based on this paper about how to user RDF to fill forms (via Sergio)
- Edit RDF graphs on the Web
- SPARQL Update and the relevant bits of the SPARQL Working Group Charter (the new, post-2009 one)
- Tabulator Redux: Writing Into the Semantic Web
- Mark Baker's RDF Forms idea from 2005
- FOAF+SSL Use Cases wiki page
- Inav the Terrible
- LOOMP
- Bill de Hora described some of the issues related to Automated mapping between RDF and forms, part I in 2005
- Read Write Web Community Group
People Interested in the Area
- Michael Hausenblas, mhausenblas on #swig, responsibility: co-ordination, overall design, use cases, evangelisation, pb-vocabulary, RDFa
- Melvin Carvalho, authentication
- Bernhard Schandl
- Toby Inkster, tobyink on #swig, responsibility: watching from a corner and not interrupting too much
- Aftab Iqbal, RDForms
- Chris Bizer
- Keith Alexander
- Simon Reinhardt
- Uldis Bojārs
- Gregory Todd Williams
- Alexandre Passant, terraces on #swig.
- Sergio Fernández, aka Wikier
- Pradeep Varma
- Oshani Seneviratne, oshani on #swig: interested in putting the 'push back' capability on the Tabulator.
- DannyAyers, danja on #swig : must have a play, probably on Talis Platform
- Stéphane Corlosquet, scor on #swig and #drupal
- Oana Ureche, authentication
- Kingsley Idehen, various points of interest
- Bob Ferris, close the information flow life cycle
- Peter Kalchgruber
- ADD YOURSELF HERE IF INTERESTED