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

FOAF & SIOC applications

Embed Size (px)

DESCRIPTION

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

Citation preview

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