Driving Behavioral Change for Information Management through Data-Driven Gree...
FOAF & SIOC applications
1. FOAF & SIOC
applications
Alexandre Passant - http://apassant.net
LaLIC, Université Paris-Sorbonne, France
Guest presentation at Harry Halpin’s ESWC2008 tutorial
Linking Social Networks, Microformats, and the Semantic Web using GRDDL
3. FOAF data = RDF data
• Use existing RDF tools / APIs
• librdf, ARC2, RAP, Jena ...
• SPARQL
• Semantic Mashups !
• Combine RDF data from various sources with FOAF
• Use Web 2.0 interfaces to browse your FOAF profile
4. FOAF, a LOD citizen
http://richard.cyganiak.de/2007/10/lod/
5. DBpedia mobile
• Combining mobile and Semantic Web technologies
• People based near DBpedia resources
• http://wiki.dbpedia.org/DbpediaMobile
6. foafmap.net
• Social-network geolocation
• Your network on a GoogleMap
7. Reusing FOAF in Web 2.0
applications
• Anytime you register to a new service:
• Fill-in personal detail, find friends and invite them
• “Social Network Fatigue”
• Do not panic, you have a FOAF profile !
• A machine-readable view of your identity and your
connections
• Can be used when log-in to applications
• Authentication / Privacy issues
8. FOAF in revyu.com
• A review website combining Web 2.0 and Semantic
Web technologies
• Re-use your FOAF profile to get personal details
9. Linking FOAF from OpenID
• Add a link to your FOAF profile from your
OpenID URL, so that services can get your
machine-readable profile when you log-in
<head>
<link rel=quot;metaquot; type=quot;application/rdf+xmlquot;
title=quot;FOAFquot; href=quot;foaf.rdfquot; />
</head>
• Embeds RDF in your OpenID URL using RDFa
10. Linking OpenID from FOAF
• The foaf:openid property
• :me foaf:openid <http://apassant.net/>
• A first authentication layer
• Ensure that the retrieved FOAF file identifies the
person logged with this OpenID URL
SELECT ?who
WHERE {
?who foaf:openid <$url> .
}
11. FOAF + OpenID scenario
• Bob creates an account on Networkr using
OpenID
• Networkr retrieves the FOAF profile and URI using
the foaf:openid property
• It identifies if there are any people already subscribed
to it who are listed in Bob’s defined relationships
• If so, Bob can add them as “local connections”, share
data with them, etc. without having to once again
search for / add his friends
• Specific rules
• If and only I know X from Flickr, he / she can see my
pictures on Networkr
12. SparqlPress
• A WordPress plug-in to consume and produce
RDF data
• http://wiki.foaf-project.org/SparqlPress
• OpenID compliant
• You log-in, the blog retrieve your identity, accounts ...
13. Getting FOAF from
myfavoritesocialwebsite.com
http://flickr.com/photos/wilbertbaan/244105100/ by wilbertbaan
14. Existing exporters for
popular websites
• Facebook, Flickr, Twitter ...
• A unified model for your social network wherever it
comes from
• Forget APIs, use RDF tools and SPARQL
15. Flickr FOAF exporter
• http://apassant.net/home/2007/12/flickrdf
• Translation of API call results to RDF
• Using various vocabularies and datasets
• FOAF, SIOC, Geonames, lingvoj
• Linked Data principles
• Write your own !
• Only basic programming skills required
• Be careful with terms of service
16. Identity management across
social networks
• A need to unify from different services so as to
represent one’s unified identity based on URIs
• flickr:Bob = twitter:bobby = fb:bob77
• Identity and social network unification
• All relevant properties and relationships are linked to
a single foaf:Person
• Explicit versus implicit methods
• Linked Data principles
• owl:InverseFunctionalProperty
17. Explicit identity unification
using Linked Data
• http://www4.wiwiss.fu-berlin.de/bizer/pub/
LinkedDataTutorial/
• owl:sameAs: Used to identify two resources with
different URIs as being the same resource
• rdfs:seeAlso: “More information about this resource
can be found here”, can be used by Semantic Web
tools such as Tabulator
18. Implicit identity unification
using IFPs
• owl:InverseFunctionalProperty
• If two resources share the same value for an IFP, they
are the same
• foaf:mbox, foaf:openid ...
• New issues to take into account
• I have pictures of me getting drunk on MySpace, I’m
looking for a job on LinkedIn, and registered on both
using the same e-mail. Do I really want to merge this !?
• We are not all “information nudists”, many people want
to fragment their online identity
20. Browsing interlinked social
networks
• http://apassant.net/home/2008/01/foafgear
• Thanks to common semantics, only 100 lines of code
21. Modeling Social Media
Contributions with
SIOC
http://flickr.com/photos/ejpphoto/2314610838/ by EJP Photo
22. Social Media Contributions
• Lots of user-created and distributed content:
• Blog posts, wiki pages, pictures, bookmarks ...
• Called “Social Media Contributions” or SMC
• A need for common semantics to
• Provide a single model for any SMC, wherever it
comes from
• Enables the use of SPARQL queries instead of APIs
• Interlink data and find relationships between content
• From documents to resources, from WWW to GGG
23. SIOC
• Semantically-Interlinked Online Communities
• http://sioc-project.org
• A ontology to represent the activities of online
communities on the Web
• W3C Member Submission, June 2007
• Namespace: http://rdfs.org/sioc/ns
• 5 top-level classes: User, Role, Space, Container, Item
• A “SIOC Types” module for Social Web content
• A Semantic Web citizen:
• Reusing and interlinking existing ontologies
26. SIOC applications
• More than 40 applications creating and consuming
SIOC data
• http://rdfs.org/sioc/applications/
• Creating SIOC data
• Drupal, Wordpress, Vbulletin ...
• APIs to write your own: PHP, Java, Perl
• SWAML, IRC2RDF ...
• Browsing SIOC data
• Generic RDF tools, SIOC browsers
27. SIOC explorer
• Faceted SIOC browsing using Ruby on Rails
• http://activerdf.org/sioc
28. Combining FOAF and
SIOC for Data
Portability
http://flickr.com/photos/7603557@N08/466749514/ by lars hammar
29. Connecting FOAF and
SIOC
• sioc:User
• Can be thought of as a virtual representation of any
person online, within the context of a given social
media website or community
• A subclass of foaf:OnlineAccount
• foaf:holdsAccount
• “The foaf:holdsAccount property relates a foaf:Agent
to a foaf:OnlineAccount for which they are the sole
account holder.”
• Links a foaf:Person to various sioc:User(s)
• As many sioc:User(s) as required can be linked to a
single person
32. Retrieving SMC
• Retrieving all SMC from a given user thanks to
interlinked data between his foaf:Person, his
various sioc:User and related contributions
SELECT ?user ?item
WHERE {
<$uri> foaf:holdsAccount ?user .
?item sioc:has_creator ?user .
}
33. Sindice SIOC widget
• WP plugin to retrieve all contributions of a user
• http://sindice.com/developers/siocwidget
34. Data Portability with SIOC
• How do move my data from one service to
another ?
• Data Portability thanks to the common semantics
• Get SIOC data from existing exporters
• Parse SIOC RDF data (e.g. using ARC2 for PHP)
• Convert SIOC data to the content model of the target
system
• Store data in the target application
35. Wordpress SIOC importer
• Import any external SIOC data and then reuse as if
it was a native WordPress blog post
• http://wiki.sioc-project.org/w/SIOC_Import_Plugin
36. SMOB: Microblogging
with FOAF and SIOC
http://flickr.com/photos/monster/310530160/ by Monster.
38. SMOB architecture
• An ecosystem of publishing interfaces and
aggregation servers
Updates
stored Subscribes to
locally public updates
Alex's
microblogging Sends updates
Reuses data client
Server
A
John
Sends updates
Local
RDF
store
Server
B
Updates
stored
locally
Tuukka's
microblogging Browses locally
client
Subscribes to
public updates
Uldis
39. SMOB server in use
• Data storage using ARC2, browsing with Exhibit
• http://smob.sioc-project.org/server
40. Thank you !
• Thanks to John Breslin and Uldis Bojars (DERI
Galway) for help with the slides
• Check the slides of our WWW08 tutorial “Interlinking
Online Communities and Enriching Social Software
with the Semantic Web”
• Social Data on the Web workshop @ ISWC2008
• http://sdow2008.semanticweb.org/
• Pictures under CC-licence from flickr.com