My name is Alexandre Passant, I'm a PhD student in the Semantic Web
and Social Software field, affiliated with the LaLIC laboratory
(Université Paris 4), and working at EDF R&D (a french energy company)
where I'm studying "Semantic Web 2.0" corporate information systems.
I'm working on SIOC, that John Breslin previously introduced on the
list, as a co-author of some documents (and tools) and so I'm mainly
interested in data portability from a Semantic Web point of view (I
recently wrote a flickr exporter to RDF (using mainly FOAF and SIOC
ontologies) [1]).
I really believe that SW technologies, especially FOAF and SIOC can
solve the social graph portability / merging / querying issues. Most
of my expirements / view about those topics are described on my blog
at [2].
Best,
Alex
[1] http://apassant.net/blog/2007/12/18/rdf-export-of-flickr-profiles-with-foaf-and-sioc/
[2] http://apassant.net/blog/
On Jan 7, 2008 3:32 AM, Josh Patterson <jpatt...@floe.tv> wrote:
>
> Alex,
> Hi, I'm Josh Patterson and I work on the internal Data Portability
> WRFS design group. I've followed SIOC quite a bit, and I believe it
> has a role to play in the future of data portability.
We hope so :)
One of the major
> engineering pushes I've been involved with is how to treat all of this
> data as a logical whole (as well as linking it together) --- which is
> not entirely new, many people are working on that. Quite a few people
> are talking about this, but many are just say "use X format, its the
> best!". Problem is, just exposing a format is only part of the
> problem, and there are more mechanics at play, which OAuth +
> Discovery, wNode, and the WRFS stack addresses. The WRFS design group
> is dedicated to implementing basically a "data aggregation node"
> called a "wNode" (analagous to a traditional FS inode) which we're
> writing a spec for. It points to all the places a user has data (which
> can be of a number of types and formats, we are more about discovery
> and aggregation), and can be updated securely by "data
> containers" (think "writing entries into your foaf file"). The other
> part of WRFS involves aggregating data from multiple Data Containers
> (think: flickr and photobucket) and allowing that composite recordset
> be used in a third party application. We didnt quite feel SIOC solved
> all of those issues, so thats a major reason why we created an
> engineering group of coders (who are part of startups and have a real
> need to solve these problems --- to compete!), but we always welcome
> perspective (and strong coders).
If I understood well, what you want is to get that "wNode" linking to
all data and informations / networks of a given user so that we can
retrieve all informations about a user from it (as explained [1]).
I think those issues are covered with SIOC, FOAF, but more generally
by the nature of RDF and decentralized information management in the
SW field.
I have profiles on flickr, twitter, facebook ... Since there are RDF
exporters for those tools ([2] [3] [4]), I have one file for each
service, each one defining (at least) an URI for myself as a
foaf:Agent. Using SIOC, I can assign a sioc:User to those URIs (done
by the flickr exporter [2]), and link to the content I provided (see
John Breslin's post at [5]) as natively does the twitter exporter [3].
So, I got various sets of foaf:Person / sioc:User that represent my
online activity on those services (blog posts, pictures ...) and also
my network (using the foaf:knows property).
Then, the challenge is to get a unique entry point. This can be
achieved by defining a new URI for myself, which will be kind of a
"reference URI", and for which I say that this URI identifies the same
person than the one defined in my previously created profiles. Than
can be done using the owl:sameAs property which says that two
resources are identical, see [6]. So I have different URIs, but in a
way, they're all the same. Thus I'll have one entry point, linking to
all my profiles, networks, and data. I can query that entry point to
ask all pictures from flickr or recent twits, or my facebook friends.
Then, regarding how services can use it, I can have an OpenID page
that links to my FOAF profile and so to my main FOAF "reference URI",
and services should be able to retrieve it (see some of my experiments
on [7]), and then retrieve other informations about myself that was
created by external services (and maybe retrieve only one service
information, etc ...)
Here's how, I think, OpenID + FOAF + SIOC + owl:sameAs can be used to
solve some of the WRFS steps. If I understand the WRFS abstract draft
[8], what you want to achieve with it is defining a meta-level for
this scenario ? i.e. what I described is one implementation of a
openID + semweb way for WRFS ?
Hope that helps, and looking forward to continuing the discussion,
Best,
Alex.
[1] http://dataportability.pbwiki.com/WRFS%20Prototype%20Workspace
[2] http://apassant.net/blog/2007/12/18/rdf-export-of-flickr-profiles-with-foaf-and-sioc/
[3] http://tools.opiumfield.com/twitter/terraces/rdf
[4] http://www.dcs.shef.ac.uk/~mrowe/foafgenerator.html
[5] http://www.johnbreslin.com/blog/2008/01/04/dataportabilityorg-web-standards-sioc-and-foaf/
[6] http://sites.wiwiss.fu-berlin.de/suhl/bizer/pub/LinkedDataTutorial/
[7] http://apassant.net/blog/2007/09/23/retrieving-foaf-profile-from-openid/
[8] http://cowbell.floe.tv/WRFS_11_20_2007.html
I think the SIOC work can be of great help with the meta-data aspect
of data portability. One issue of WRFS it does not address (I think)
is a standardized interface to actually get access to this data.
Retrieval of data is kind of obvious (HTTP GETs), although, how does
it deal with privacy? I might want to give a certain app access to
some of my private photos on flickr, does SIOC deal with that? Is
there a notion of access control? And then of course there's the
actual data manipulation (PUT and DELETE) of data. These are the
actual storage needs of WRFS, but for quite a bit of the rest we might
be able to use quite some existing RDF/OWL vocabularies.
I must say that you're talking me back into the idea of using RDF as a
means to represent relationships between data items. This is how I
started off thinking about (and in fact implementing) WebFS. Later I
thought it might be better to put data in Atom collections and
represent the meta data in atom feeds and use the AtomPub protocol
[1], because you get so much for free (all the PUT, POST, GET and
DELETE stuff is already specified). But now I'm not so sure.
Interesting.
Zef
[1]: http://tools.ietf.org/html/rfc5023
--
Zef Hemel
E-Mail: z...@zefhemel.com
Phone: (+31) (0)6 156 19 280
Web: http://www.zefhemel.com
On Jan 7, 2008 12:33 PM, Zef Hemel <zefh...@gmail.com> wrote:
>
> Hi Alex,
>
> I think the SIOC work can be of great help with the meta-data aspect
> of data portability. One issue of WRFS it does not address (I think)
> is a standardized interface to actually get access to this data.
> Retrieval of data is kind of obvious (HTTP GETs), although, how does
> it deal with privacy? I might want to give a certain app access to
> some of my private photos on flickr, does SIOC deal with that? Is
> there a notion of access control? And then of course there's the
> actual data manipulation (PUT and DELETE) of data. These are the
> actual storage needs of WRFS, but for quite a bit of the rest we might
> be able to use quite some existing RDF/OWL vocabularies.
A RDF or SIOC files itself won't deal with that since you expose all
the data, but it will do if you decide to export only a small part (as
I just mentioned in another thread [1] by exporting files
dynamically).
Regarding data manipulation, if the service natively stores the data
in RDF with some triple store, you can query it with SPARQL [2],
update it with SPARUL [3], and deal with those issues at the time of
querying.
But as that's not the case, data manipulation and access control have
to be taken into account somwhere. So here, WRFS could offer a
standardised abstraction layer than then can be mapped with those
languages / protocols but also with other querying / updating APIs (ex
flickr API) ?
Alex.
[1] http://groups.google.com/group/dataportability-public/browse_thread/thread/ce40688c7dd8ad86
[2] http://www.w3.org/TR/rdf-sparql-query/
[3] http://www.hpl.hp.com/techreports/2007/HPL-2007-102.html?mtxs=rss-hpl-tr