FOAF & SIOC applications
-
Upload
alexandre-passant -
Category
Technology
-
view
10.526 -
download
1
description
Transcript of FOAF & SIOC applications
FOAF & SIOC applications
Alexandre Passant - http://apassant.netLaLIC, Université Paris-Sorbonne, France
Guest presentation at Harry Halpin’s ESWC2008 tutorialLinking Social Networks, Microformats, and the Semantic Web using GRDDL
Using FOAF data
http://flickr.com/photos/poagao/2305789735/ by Poagao
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
FOAF, a LOD citizen
http://richard.cyganiak.de/2007/10/lod/
DBpedia mobile• Combining mobile and Semantic Web technologies
• People based near DBpedia resources
• http://wiki.dbpedia.org/DbpediaMobile
foafmap.net
• Social-network geolocation
• Your network on a GoogleMap
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
FOAF in revyu.com
• A review website combining Web 2.0 and Semantic Web technologies
• Re-use your FOAF profile to get personal details
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="meta" type="application/rdf+xml" title="FOAF" href="foaf.rdf" />
</head>
• Embeds RDF in your OpenID URL using RDFa
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> . }
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
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 ...
Getting FOAF from myfavoritesocialwebsite.com
http://flickr.com/photos/wilbertbaan/244105100/ by wilbertbaan
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
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
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
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
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
Interlinking FOAF networks
flickr:2233977@N00
flickr:33669349@N00
flickr: 43184127@N00
flickr: 24266175@N00
foaf:knowsfoaf:knows
foaf:knows
twitter:CaptSolo
twitter:terraces
twitter:Wikier
twitter:CharlesNepote
foaf:knowsfoaf:knowsfoaf:knows
twitter:potiontv
foaf:knows
myblog:a30
myblog:a2
myblog:a19myblog:a26
foaf:knows
foaf:knowsfoaf:knows
myuri:me
owl:sameAs
owl:sameAs
owl:sameAs
http://tools.opiumfield.com/twitter/terraces/rdf
http://myblog/foaf-export
http://apassant.net/home/2007/12/flickrdf/data/people/33669349N00
Browsing interlinked social networks
• http://apassant.net/home/2008/01/foafgear
• Thanks to common semantics, only 100 lines of code
Modeling Social Media Contributions with
SIOC
http://flickr.com/photos/ejpphoto/2314610838/ by EJP Photo
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
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
The SIOC ontology
SIOC data example
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
SIOC explorer• Faceted SIOC browsing using Ruby on Rails
• http://activerdf.org/sioc
Combining FOAF and SIOC for Data
Portability
http://flickr.com/photos/7603557@N08/466749514/ by lars hammar
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
People and accounts
People, accounts and SMC
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 . }
Sindice SIOC widget
• WP plugin to retrieve all contributions of a user
• http://sindice.com/developers/siocwidget
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
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
SMOB: Microblogging with FOAF and SIOC
http://flickr.com/photos/monster/310530160/ by Monster.
Semantic microblogging
• Microblogging phenomenon
• Sweet spot between blogging and instant messaging
• Closed-worlds, DP issues
• SMOB: Semantic Microblogging
• http://smob.sioc-project.org
• Distributed architecture
• Machine-readable meta-data
• Adding semantics to content
SMOB architecture
• An ecosystem of publishing interfaces and aggregation servers
Updates stored locally
Updates stored locally
Server A
Server B
Uldis
John
Sends updates
Subscribes to public updates
Subscribes topublic updates
Sends updates
Local RDF store
Reuses data
Browses locally
Alex's microblogging client
Tuukka's microblogging client
SMOB server in use
• Data storage using ARC2, browsing with Exhibit
• http://smob.sioc-project.org/server
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