Themes

Distributed Semantic Social Networks

Sebastian Tramp / AKSW @ ISSLOD2011

Outline

The Social Web as we know it

Illustration by David Simonds, via Design Issues: Socially Aware Cloud Storage (by Tim Berners-Lee - August 2009)

The Social Web World as we know it

Major Problems for end users

  1. (lack of) Portability: no easy export of user profiles and exchange with other SNS
  2. (lack of) Identity: no easy cross-SNS identification (e.g. to find friends on other SNS)
  3. (lack of) Linkability: (as a consequence of 2.)
  4. (lack of) Privacy: users do not have control over their data

Illustration by Randall Munroe (Oktober 2009)

The Social Web as we know it

In: Visualizing Friendships (by Paul Butler - December 2010)

Vision

Allow Users to

Not for a few sites, or a few applications, or to a few friends … but web-scaled to any of these resources.

Assumption

With Semantic Web / Linked Data Technologies, we can achieve …

  1. Portability through de-centrally shared open vocabularies.
  2. Identity though Uniform Resource Identifier (URI/IRI) and the architecture of the WWW.
  3. Linkability as a consequence of 2) as well as 1).
  4. Privacy though transport layer security and de-centralization.

→ (somehow de-central) Semantic Social Networks

Somehow De-Central?

In: On Distributed Communications (I) (by Paul Baran - August 1964) via. Danny Ayers, via. Historical Maps of Computer Networks

→ Distributed Semantic Social Networks (DSSN)

(Linked) Data and Vocabularies

A DSSN consists of the following data structures:

  1. Resources describe static entities:
    • Agents include user, groups as well as applications

WebID (profile)

A WebID is a way to uniquely identify a person, company, organization, or other agent using a URI. The term "WebID" was coined by Dan Brickley and Tim Berners-Lee in 2000.

http://www.w3.org/wiki/WebID

WebID (profile)

GOAL: simplify the creation of a digital ID for end users

 Friend of a Friend (FOAF)

… is widely accepted as a base for WebID descriptions.

<http://philipp.frischmuth24.de/id/me> a foaf:Person;
  rdfs:comment "This is my public profile only, more information available with FOAF+SSL";
  rel:worksWith <http://sebastian.tramp.name>;
  foaf:depiction <http://…/me.jpg>;
  foaf:firstName "Philipp"; foaf:surname "Frischmuth";
  foaf:mbox <mailto:frischmuth@informatik.uni-leipzig.de>;
  foaf:phone <tel:+49-341-97-32368>;
  foaf:workInfoHomepage <http://bis.informatik.uni-leipzig.de/PhilippFrischmuth>.
    

 Friend of a Friend (FOAF)

… consists of currently 13 classes and 63 properties.

FOAF extension vocabularies

Can add sub properties or sub classes:

Or are generic enough to be used in combination:

… more here

(Linked) Data and Vocabularies

A DSSN consists of the following data structures:

  1. Resources describe static entities:
    • Agents include user, groups as well as applications
    • Data artefacts include user-generated content as comments, notes, posts …

SIOC: Semantically-Interlinked Online Communities

Extensible vocabulary to describe (user-generated) content from online communities

Integrates well with FOAF and SKOS

SIOC: Main concepts

In: SIOC Core Ontology Specification (March 2010)

SIOC: Example in Turtle

<http://blog.example.com/posts/1> a sioc:Post;
  dc:title           "Hello World";
  dcterms:created    "2006-09-07T09:33:30Z";
  sioc:has_container <http://blog.example.com/#id>;
  sioc:has_creator   users/1;
  sioc:content       "… content without markup …";
  sioc:topic          dbpedia:SIOC.

<http://sebastian.tramp.name> a foaf:Person;
  rdfs:label             "Sebastian Tramp";
  foaf:holdsOnlineAccount users:1.
    
Note: prefix declarations for sioc, dc(terms), foaf and dbpedia omitted.

SIOC: Integration

Illustration by John Breslin @ sioc-project.org (September 2006)

(Linked) Data and Vocabularies

A DSSN consists of the following data structures:

  1. Resources describe static entities:
    • Agents include user, groups as well as applications
    • Data artefacts include user-generated content as comments, notes, posts …
    • Media artefacts include images, video and audio files

Media Artefacts

are described using Linked Data principles as well:

  1. Use URIs as names for things
  2. Use HTTP URIs so that people can look up those names.
  3. […] provide useful information [on that URIs]
  4. Include links to other URIs.

http://www.w3.org/DesignIssues/LinkedData.html

Media Artefacts Example

Content Negotiation: clients request a specific representation (more here)

GET /images/me.png HTTP/1.1
Host: blog.example.com
Accept: text/turtle
    
<http://blog.example.com/images/me.png> a foaf:Image;
    cc:license      <http://creativecommons.org/licenses/by/3.0/>;
    dcterms:created "2006-09-07T09:33:30Z";
    foaf:depicts    <http://sebastian.tramp.name>.
    
Note: prefix declarations for foaf, cc and dcterms omitted

(Linked) Data and Vocabularies

A DSSN consists of the following data structures:

  1. Resources describe static entities:
    • Agents include user, groups as well as applications
    • Data artefacts include user-generated content as comments, notes, posts …
    • Media artefacts include images, video and audio files
  2. Feeds represent and publish events in the social network:
    • Activity streams
    • (History / Synchronization) feeds

Activity Feeds

Activities feeds are a major feature on any Social Networking site from Facebook to Github

Activity Feeds / Streams

Activity Streams: Concepts

An activity is 4-tupel and consist of

DSSN protocols

FOAF+SSL

… enables your WebID for login usage

[] a rsa:RSAPublicKey;
    cert:identity <http://sebastian.tramp.name>;
    rsa:modulus """C41199EE26C57F…27A8495F5A""";
    rsa:public_exponent "65537"^^cert:int.
    

FOAF+SSL

Login sequence illustration by Henry Story @ W3C wiki

FOAF+SSL

Browser support nearly 100% but somehow basic ...

Semantic Pingback

Based on an extension of the well-known Pingback technology

Adds support for Linked Data resources including RDFa, and named links/relations.

Two-fold usage:

Semantic Pingback

PubSubHubbub

Publish/Subscription protocol based on Atom Feeds

Near-instant notifications (via webhook callbacks) when a subscribed feed URL is updated

Avoids constant polling and saves bandwidth while enhancing delivery time.

PubSubHubbub

Protocol outline:

  1. feeds are linked to a hub
  2. clients subscribe for a feed on its hub
  3. feed publisher informs the hub on updates
  4. the hub pushes this information to its subscribed clients

Recapitulation

Distributed Semantic Social Networks (DSSN):

Thank you for your Attention!

My WebID:

This slide deck:

Overall Architecture

(1) Resources announce services and feeds, feeds announce services – in particular a push service. (2) Applications initiate ping requests to spin the Linked Data Network.

Overall Architecture

(3) Applications subscribe to feeds on push services and receive instant notifications on updates. (4) Update services are able to modify resources and feeds (e.g. on demand of an application).

Overall Architecture

(5) Personal and global search services can index resources and are used by applications. (6) Access to resources and services can be delegated to applications by a WebIDs, i.e. the application can act in the name of the WebID owner. (7) The majority of all access operations is executed through standard web requests.

/

#