- From: Kingsley Idehen <kidehen@openlinksw.com>
- Date: Fri, 26 Jun 2009 08:01:31 -0400
- CC: public-lod@w3.org, semantic-web at W3C <semantic-web@w3c.org>, Norman Walsh <ndw@nwalsh.com>
Dan Brickley wrote: > +cc: Norm Walsh > > On 25/6/09 19:39, Juan Sequeda wrote: >> So... then from what I understand.. why bother with content negotiation, >> right? >> >> Just do everything in RDFa, right? >> >> We are planning to deploy soon the linked data version of Turn2Live.com. >> And we are in the discussion of doing the content negotiation (a la >> BBC). But if we can KISS, then all we should do is RDFa, right? > > Does every major RDF toolkit have an integrated RDFa parser already? > > And yep the conneg idiom isn't mandatory. You can use # URIs, at least > if the .rdf application/rdf+xml mime type is set. I believe that's in > the Apache defaults now. At least checking here, a fresh Ubuntu > installation has "application/rdf+xml rdf" > in /etc/mime.types (a file which I think comes via Apache but not 100% > sure). > > But yes - this is a major problem and headache. Not just around the > conneg piece, but in general. I've seen similar results to those > reported here with "write yourself a FOAF file" exercises. Even if > people use Leigh Dodd's handy foaf-a-matic webforms to author a file > ... at the end of the session they are left with a piece of RDF/XML in > their hands, and an instruction to "upload it to their sites". Even > people with blogs and facebook profiles and twitter accounts etc. can > find this daunting. And not many people know what FTP is (or was). > > My suggestion here is that we look into something like OAuth for > delegating permission tokens for uploading files. OAuth is a protocol > that uses a Web/HTML for site A to request that some user of site B > allow it to perform certain constrained tasks on site B. Canonical > example being "site A (a printing company) wants to see non-public > photos on site B (a photo-sharing site)". I believe this model works > well for writing/publishing, as well as for mediating information access. > > If site A is an RDF-generating site, and site B is a generic hosting > site, then the idea is that we write or find a generic OAuth-enabled > utility that B could use, such that the users of site B could give > sites like A permission to publish documents automatically. At a > protocol level, I would expect this to use AtomPub but it could also > be WebDAV or another mechanism. > > But how to get all those sites to implement such a thing? Well > firstly, this isn't limited to FOAF. Or to any flavour of RDF. I think > there is a strong story for why this will happen eventually. Strong > because there are clear benefits for many of the actors: > > * a data-portability and user control story: I don't want all my music > profile info to be on last.fm; I want last.fm to maintain > http://danbri.org/music for me. > * a benefits-the-data source story: I'm sure the marketing teams of > various startups would be very happy at the ability to directly push > content into 1000s of end-user sites. For the Google/Link karma, > traffic etc. > * benefits the hosts story: rather than having users share their FTP > passwords, they share task-specific tokens that can be managed and > rolled back on finer-grained basis > > So a sample flow might be: > > 1. User Alice is logged into her blog, which is now AtomPub+OAuth > enabled. > 2. She clicks on a link somewhere for "generate a FOAF file from your > music interests", which takes her to a site that asks some basic > information (name, homepage) and about some music-related sites she uses. > 3. That site's FOAF generator site scans her public last.fm profile > (after asking her username), and then does the same for her Myspace > and YouTube profiles. > 4. It then says "OK, generated music profile! May we publish this to > your site? It then scans her homesite, blog etc via some > auto-discovery protocol(s), to see which of them have a writable > AtomPub + OAuth endpoint. It finds her wordpress blog supports this. > 5. Alice is bounced to an OAuth permissioning page on her blog, which > says something like: > "The Music Profile site at example.com would like to > have read and write permission for an area of your site: > once/always/never or for 6 months?" > 6. Alice gives permission for 6 months. Some computer stuff happens in > the background, and the Music site is given a token it can use to post > data to Alice's site. > 7. http://alice.example.com/blog/musicprofile then becomes a page (or > mini-blog or activity stream) maintained entirely, or partially, by > the remote site using RDFa markup sent as AtomPub blog entries, or > maybe as AtomPub attachments. > > OK I'm glossing over some details here, such as configuration, choice > of URIs etc. I may be over-simplifying some OAuth aspects, and > forgetting detail of what's possible. But I think there is real > potential in this sort of model, and would like a sanity check on that! > > Also the detail of whether different sites could/would write to the > same space or feed or not. And how we can use this as a > page-publishing model instead of a blog entry publishing model. > > I've written about this before, see > http://markmail.org/message/gplslpe2k2zjuliq > > Re prototyping ... > > There is some wordpress+atompub code around, see > http://74.125.77.132/search?q=cache:KcriYA9UohcJ:singpolyma.net/2008/05/atompub-oauth-for-wordpress/+wordpress+oauth&cd=3&hl=en&ct=clnk&client=firefox-a > > > Also I just found > http://rollerweblogger.org/roller/entry/oauth_for_roller > > And in http://danbri.org/words/2008/10/15/380 there is a point to some > Google announcements from last year. > > > I hope someone on these lists will find the OAuth/AtomPub combination > interesting enough to explore (and report back on). I've also Cc:'d > Norm Walsh here who knows AtomPub inside out now. > > Is this making sense to anyone but me? :) > Dan, It has always made sense to me. I call what you describe a Data Space (others also use the term: Dataspace) :-) A Data Space is limited to one activity of the artifacts resulting from said activity. You should be able to put Blogs, Wikiwords, Photos, Feeds, Calendars, Address-Books etc. in to a Data Space. You should also be able generate conversation around any item of data that exists in a Data Space (multi-dimensional objects of sociality etc..). A Data Space would support a plethora of protocols (including OAuth, FOAF+SSL, OpenID, AtomPub, and others). OpenLink Data Spaces [1] has always been about all of the above and some :-) Links: 1. http://tr.im/pQuJ - An old ODS presentation (Slidy + RDFa based) 2. http://ods.openlinksw.com/dataspace/dav/wiki/ODS - Home Page 3. http://ods.openlinksw.com/dataspace/dav/wiki/ODS/VirtOAuthControllers - OAuth support in ODS Kingsley > cheers, > > Dan > > -- Regards, Kingsley Idehen Weblog: http://www.openlinksw.com/blog/~kidehen President & CEO OpenLink Software Web: http://www.openlinksw.com
Received on Friday, 26 June 2009 12:02:09 UTC