FOAF & SIOC applications

40
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

description

Guest presentation at Harry Halpin’s ESWC2008 tutorial Linking Social Networks, Microformats, and the Semantic Web using GRDDL

Transcript of FOAF & SIOC applications

Page 1: 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

Page 2: FOAF & SIOC applications

Using FOAF data

http://flickr.com/photos/poagao/2305789735/ by Poagao

Page 3: FOAF & SIOC applications

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

Page 4: FOAF & SIOC applications

FOAF, a LOD citizen

http://richard.cyganiak.de/2007/10/lod/

Page 5: FOAF & SIOC applications

DBpedia mobile• Combining mobile and Semantic Web technologies

• People based near DBpedia resources

• http://wiki.dbpedia.org/DbpediaMobile

Page 6: FOAF & SIOC applications

foafmap.net

• Social-network geolocation

• Your network on a GoogleMap

Page 7: FOAF & SIOC applications

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

Page 8: FOAF & SIOC applications

FOAF in revyu.com

• A review website combining Web 2.0 and Semantic Web technologies

• Re-use your FOAF profile to get personal details

Page 9: FOAF & SIOC applications

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

Page 10: FOAF & SIOC applications

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> . }

Page 11: FOAF & SIOC applications

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

Page 12: FOAF & SIOC applications

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 ...

Page 13: FOAF & SIOC applications

Getting FOAF from myfavoritesocialwebsite.com

http://flickr.com/photos/wilbertbaan/244105100/ by wilbertbaan

Page 14: FOAF & SIOC applications

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

Page 15: FOAF & SIOC applications

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

Page 16: FOAF & SIOC applications

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

Page 17: FOAF & SIOC applications

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

Page 18: FOAF & SIOC applications

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

Page 19: FOAF & SIOC applications

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

Page 20: FOAF & SIOC applications

Browsing interlinked social networks

• http://apassant.net/home/2008/01/foafgear

• Thanks to common semantics, only 100 lines of code

Page 21: FOAF & SIOC applications

Modeling Social Media Contributions with

SIOC

http://flickr.com/photos/ejpphoto/2314610838/ by EJP Photo

Page 22: FOAF & SIOC applications

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

Page 23: FOAF & SIOC applications

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

Page 24: FOAF & SIOC applications

The SIOC ontology

Page 25: FOAF & SIOC applications

SIOC data example

Page 26: FOAF & SIOC applications

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

Page 27: FOAF & SIOC applications

SIOC explorer• Faceted SIOC browsing using Ruby on Rails

• http://activerdf.org/sioc

Page 28: FOAF & SIOC applications

Combining FOAF and SIOC for Data

Portability

http://flickr.com/photos/7603557@N08/466749514/ by lars hammar

Page 29: FOAF & SIOC applications

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

Page 30: FOAF & SIOC applications

People and accounts

Page 31: FOAF & SIOC applications

People, accounts and SMC

Page 32: FOAF & SIOC applications

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 . }

Page 33: FOAF & SIOC applications

Sindice SIOC widget

• WP plugin to retrieve all contributions of a user

• http://sindice.com/developers/siocwidget

Page 34: FOAF & SIOC applications

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

Page 35: FOAF & SIOC applications

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

Page 36: FOAF & SIOC applications

SMOB: Microblogging with FOAF and SIOC

http://flickr.com/photos/monster/310530160/ by Monster.

Page 37: FOAF & SIOC applications

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

Page 38: FOAF & SIOC applications

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

Page 39: FOAF & SIOC applications

SMOB server in use

• Data storage using ARC2, browsing with Exhibit

• http://smob.sioc-project.org/server

Page 40: FOAF & SIOC applications

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