Interlinking Online Communities and Enriching Social Software with the Semantic Web
-
date post
18-Sep-2014 -
Category
Technology
-
view
43 -
download
0
description
Transcript of Interlinking Online Communities and Enriching Social Software with the Semantic Web
Copyright 2008 Digital Enterprise Research Institute. All rights reserved.
www.deri.ie
Interlinking Online Communities and Enriching Social Software with the Semantic Web
Uldis Bojārs1, Alexandre Passant2, John Breslin1
1 Digital Enterprise Research Institute, National University of Ireland, Galway2 LaLIC, Université Paris-Sorbonne / Electricité de France R&D
World Wide Web Conference / Beijing, China / 21st April 2008
2
URL for the presentation
Full presentation file (40 MB!):
http://url.ie/bwk
Uploading to SlideShare for web browsing:
http://www.slideshare.net/Cloud
3
Summary
1. Overview of the SIOC Project
2. From Disconnected Communities to Interlinked-Online Communities
3. Creating Semantic Web Data from Social Media Sites
4. Using SIOC with Other Ontologies
5. Finding, Reusing and Searching Semantic Web Data Produced by the Social Web
6. Browsing, Exploring and Consuming Semantic Web Data
7. Portable Data and Re-Use of SIOC Data
8. Industry Applications of Semantic Technologies for Online Communities
9. Leveraging Content Semantics in Social Software
4
Who are we?
• Alexandre Passant– PhD student, Semantic Web researcher– LaLIC, Université Paris-Sorbonne / Electricité de France R&D
• John Breslin– Social software researcher, adjunct lecturer– DERI, National University of Ireland, Galway
• Uldis Bojārs– Semantic Web researcher, PhD student– DERI, National University of Ireland, Galway
Copyright 2008 Digital Enterprise Research Institute. All rights reserved.
www.deri.ie
1. Overview of the SIOC Project
John Breslin
6
timbl on the Semantic Web and online communities
“I think we could have both Semantic Web technology supporting online communities, but at the same time also online communities can support Semantic Web data by being the sources of people voluntarily connecting things together.”
Sir Tim Berners-Lee, podcast interview during ISWC 2005
http://esw.w3.org/topic/IswcPodcast
7
The Semantic Web in brief
• “The Semantic Web is an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation” - Tim Berners-Lee, James Hendler, Ora Lassila, Scientific American, May 2001
• A common model to describe data in a machine-readable way:– RDF (Resource Description Framework)– RDF statements are triples (subject predicate object):
WWW2008 isA Conference .SIOC isA CoolProject .
• Common semantics for this data, using ontologies:– “An ontology is a specification of a conceptualisation” - Tom Gruber– RDFS (RDF Schema)– OWL (Web Ontology Language)
• The Semantic Web FAQ:– http://www.w3.org/2001/sw/SW-FAQ
8
The (evolving) Semantic Web layer cake
http://www.w3.org/2007/03/layerCake.png
9
Vision
10
The aims of SIOC
• To “semantically-interlink online communities”• To fully describe the content and structure of community
sites• To create new connections between online discussion
posts and items, forums and containers• To enable the integration of online community
information• To browse connected Social Web items in interesting
and innovative ways• To overcome a chicken-and-egg problem with the
Semantic Web• Add a social aspect to the Semantic Web
11
The steps involved
1. Develop an ontology of terms for representing rich data from the Social Web
2. Create a food chain for producing, collecting and consuming SIOC data from open-source discussion systems and popular community sites
3. As well dissemination via academic papers about SIOC, provide easy-to-read documentation and usage examples at sioc-project.org
• SIOC aims to enrich the Web infrastructure:– During the next upgrade cycle, gigabytes of community data
become available!
12
The SIOC ontology
• The main classes and properties are:
13
The SIOC food chain
14
Dissemination
15
16
Quotes about SIOC
• “I […] think the concept is HOT” – Robert Douglass, Drupal Developer
• “It just dawned on me that the burgeoning SIOC-o-sphere (online communities exporting and exposing content via SIOC Ontology) is actually: Blogosphere 2.0” – Kingsley Idehen, Founder and CEO of OpenLink Software
• “SIOC has the potential to become one of the foundational vocabularies that make Semantic Web applications useful” – Ivan Herman, W3C / ERCIM
• “A project that started back in 2000 called Friend-of-a-Friend (FOAF) represents relationships between people, as well as basic contact details. SIOC does this for groups: it extends the FOAF idea to being able to talk about whole groups of people. I am excited about SIOC because you can use that information to determine trust, to let people in.” – Tim Berners-Lee, Creator of the World Wide Web
17
Number of SIOC documents pinged via PingTheSemanticWeb
0
20000
40000
60000
80000
100000
12000001/09/2007
15/09/2007
29/09/2007
13/10/2007
27/10/2007
10/11/2007
24/11/2007
08/12/2007
22/12/2007
05/01/2008
19/01/2008
02/02/2008
16/02/2008
01/03/2008
15/03/2008
29/03/2008
12/04/2008
18
What SIOC is not?
• An ontology to describe the content of social media contributions:– Need to use dedicated ontologies
• A way to automagically translate non-semantic social data to RDF:– Need to write and use exporters
• A model to describe physical people that contribute to social media websites:– This is the role of FOAF (Friend-of-a-Friend)
• An axiomatisation of a domain
Copyright 2008 Digital Enterprise Research Institute. All rights reserved.
www.deri.ie
2. From Disconnected Communities to Interlinked-Online Communities
Alexandre Passant
20
What are online communities?
• People form online communities by combining one-to-one (e.g. e-mail and instant messaging), one-to-many (web pages and blogs) and many-to-many (forums, wikis) forms of communication
Pre-Web and Web 1.0:• BBS services• Mailing lists• USENET• Web-based bulletin boards
Web 2.0:• Multi-forum sites• Online social networks• Weblogs• Wikis• Microblogging• Social tagging services
21
Evolution of online community sites
Online community sites:• Provide a valuable source of information• May contain rich meta-information • But are isolated from one another:
– Many sites discussing complementary topics– How to relate and interlink them?
Next steps:• Connect sites together• Add more value:
– Let other sites know more about the structure and contents– Make more use of tagging and semantic metadata
22
Existing connections using RSS, Atom syndication
• First step towards connecting online community sites:– More visibility through aggregation and search– Allow one to subscribe to distributed items
• Benefits:– Good tool support:
• RSS readers, APIs, etc.
– Many consumers
• Shortcomings:– Little information about structure of the site or community:
• Mainly represent items, not users nor the container
– Feeds typically include only last five to 20 items:• How can we access information about the whole site?
23
• Many different kinds of online communities:– Social networks– Discussion groups– Message boards– ...
• Each community is a closed world / walled garden:– Moving / reusing data from
one community on another?
– Interlinking networks?– Inviting friends?
Disconnected communities
24
Need ways to connect these islands
* Source: Pidgin Technologies, www.pidgintech.com
25
A need for common semantics
• Communities should provide their data in a common, machine-understandable way:– RDF (resource description framework) as a data layer– One single format for all the data– Different transport layers (RDF/XML, N3, etc.)– The base of the Semantic Web
• Communities should use common semantics to define this data:– Avoiding the use of proprietary APIs– Since this means that they can talk together, exchange
information, using the same modelling layer for their data– Using SIOC for representing content and actions– Using FOAF for representing people and networks
26
What is required to represent a community?
• Represent the data, not only documents:– From the WWW to a “GGG”, hyperlinks to semantic relationships
• A model for all the aspects of a community:– Users accounts, groups and roles:
• Reader, reviewer, moderator
– Content and types:• A blog, a blog post, a bulletin board, a wiki page, etc.
– Actions between users and content:• Uldis creates a post, Alex comments on it, John moderates it
• A model for the entire content:– Any data: RSS 1.0 and Atom limited to syndication / latest posts– Any user and relationship: new user, new post, replies, etc.
27
Representing community data with SIOC
• Using SIOC as an ontology to represent the activities of online communities on the Web:– Namespace: http://rdfs.org/sioc/ns– Five top-level classes: User / Role / Space / Container / Item– A “SIOC Types” module for Social Web content– Action: A user posts an item in a container
• A Semantic Web citizen: – Reusing and interlinking existing ontologies– Not reinventing the wheel (connects to DC, FOAF, etc.):
• http://www.w3.org/Submission/2007/SUBM-sioc-related-20070612/
28
Example of SIOC data
• Alex wrote a post on his WordPress blog:
:myblogpost rdf:type sioc:Post ;dc:title “I’m blogging this” ;sioc:has_creator :alex ;sioc:has_container :mywpblog .
:mywpblog rdf:type sioc:Forum .
29
The same model for any website
• John wrote a post on his Drupal-powered site:
:myblogpost rdf:type sioc:Post ;dc:title “Another blog post” ;sioc:has_creator :john ;sioc:has_container :mydrupal .
:mydrupal rdf:type sioc:Forum .
30
Interlinking communities
• Since all communities can use the same model to define their data, it is easy to link them from a data point of view
• Interlinking:– URIs are used to define things and created objects– A post on blog “A” can be semantically linked to a post on blog “B”
• Using SPARQL to query data:– Can perform unified queries no matter where the data comes from– No need to learn new APIs from data providers:
• Standard queries for RDF data rather than APIs
– SPARQL is a W3C recommendation:• http://www.w3.org/TR/rdf-sparql-query/
31
Linking people to user accounts
• FOAF is the main vocabulary used to represent people:– http://foaf-project.org– foaf:Person class:
• “The foaf:Person class represents people. Something is a foaf:Person if it is a person.”
– foaf:holdsAccount property:• “The foaf:holdsAccount property relates a foaf:Agent to a
foaf:OnlineAccount for which they are the sole account holder.”
– Linking people to user accounts:• sioc:User rdfs:subClassOf foaf:onlineAccount• Links a foaf:Person to various sioc:User(s)• As many sioc:User(s) as required can be linked to a single person• One people, various identities
32
Representing users and online accounts
• The sioc:User class:– An online user account– 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– Users create and manage content:
• has_creator and has_modifier properties• :blogpost123 sioc:has_creator :john
– A user can have roles on a given container:• (Moderator, Forum 1) ← User A• (Contributor, Blog 2) ← User B
33
A person and their user accounts
Copyright 2008 Digital Enterprise Research Institute. All rights reserved.
www.deri.ie
3. Creating Semantic Web Data from Social Media Sites
Uldis Bojārs
35
36
Producing SW data from social media sites
• We use SIOC as a common framework / data model for expressing social media data on the Semantic Web:– http://rdfs.org/sioc/spec/– http://rdfs.org/sioc/related/
• The “SIOC Types” module:– Additional classes and properties for expressing different kinds
of social media / Web 2.0 content– Connects SIOC with domain-specific ontologies
• Reuse existing ontologies:– Dublin Core, FOAF, SKOS, etc.
37
The SIOC ontology
• The main classes and properties are:
38
SIOC data producers
• SIOC applications list:– http://rdfs.org/sioc/applications/
• > 20 applications for producing SIOC data:– Free and open source
• SIOC export tools for:– Blogs and forums: WordPress, phpBB, Drupal, b2evolution– “Legacy” applications: mailing lists, IRC– New media: Twitter, Jaiku, Facebook, Flickr– Enterprise applications: CWE (collaborative work environments)
39
Case studies
• WordPress SIOC Exporter:– http://sioc-project.org/wordpress– First SIOC plugin created, custom built
• vBulletin and phpBB SIOC Exporters:– http://wiki.sioc-project.org/index.php/VBSIOC– http://sioc-project.org/phpbb– Uses SIOC API for PHP
40
Overview of WordPress SIOC Exporter
• Installation:– Download from http://sioc-project.org/wordpress– “Drop” two files into the WordPress plugins folder– Go to the administrator’s user interface– Plugins → SIOC Plugin → “Activate”
• SIOC data created for every page:– Data describing all blog posts, comments, users, etc.– SIOC data can be discovered via RDF autodiscovery links:<link rel="meta" type="application/rdf+xml"
title="SIOC" href="http://www.johnbreslin.com/blog/index.php?sioc_type=site" />
• Data can be explored or crawled using existing Semantic Web applications
41
Sample export of SIOC data from WordPress
42
• RDF data from the WordPress SIOC Exporter, displayed in the SIOC RDF Browser
43
SIOC export APIs
• Benefits:– Hides the complexity from application developers– Can be used by people who are not Semantic Web experts– Automatically updated according to changes in the SIOC
ontology and best practices documents
• Existing SIOC APIs:– Java– Perl (new!)– PHP (most used)– RDFa on Rails
• See “2.1 SIOC APIs” in http://rdfs.org/sioc/applications/
44
Overview of vBulletin and phpBB SIOC Exporters
• There is a large amount of structured related information contained within message boards, and this can be leveraged in interesting ways by exposing the semantic data for new applications
• Exporters have been developed for commercial (vBulletin) and open-source (phpBB) message board systems, bringing these islands together and allowing conversations on topics that are taking place across various sites
• vBulletin and phpBB SIOC Exporters are based on the SIOC API for PHP:– http://wiki.sioc-project.org/index.php/PHPExportAPI
45
Sample export of SIOC data from vBulletin
46
Sample export of SIOC data from vBulletin (2)
47
SIOC competition with boards.ie
• boards.ie has been publishing social graph information online using FOAF since 2004
• With its 10 years of discussions, boards.ie can serve as a rich source of SIOC data for the Social Semantic Web:– The data to be “SIOC-ified” is already all publicly viewable, but it
is difficult to leverage without any added semantics due to the fact that it is embedded in heavily-styled HTML pages
• DERI are sponsoring a competition with prizes (the top prize is €3000) for whoever is judged to have produced the most interesting application(s) that makes use of the SIOC data exported from boards.ie
• To enter, go to http://data.sioc-project.org
48
Creating your own exporters
• Use SIOC API(s) if possible:– Or create new APIs to contribute back to the community
• Creating RDF data is easy:– Use the plugin API provided by the host system– Collect required information from the host (CMS) system– Create in-memory RDF or object model (optional)– Serialise RDF data (using RDF API or print templates)
• Seek help from the SIOC developer community:– http://sioc-project.org/ or SIOC-Dev mailing list or
#sioc on IRC (irc.freenode.net)
49
Things to consider
• URIs to use for SIOC concepts:– Developer needs to choose URIs to use and to supply them to
SIOC API calls
• Linked data from SIOC tools:– http://www.w3.org/DesignIssues/LinkedData.html– Choice of URIs is important– To use HTTP content negotiation or not?
• Do you need to use any domain-specific ontologies?– Structured data within content items– Multimedia, etc.
• External or embedded metadata?
50
Explore more producers of SIOC data
• Sioku:– SIOC data from Jaiku microblogging service– http://sioku.sioc-project.org/
• SWAML:– Exports mailing list archives in RDF– http://swaml.berlios.de/
• OpenLink DataSpaces:– Uses SIOC as a representation format for multiple social spaces– http://virtuoso.openlinksw.com/wiki/main/Main/OdsIndex/
• Use the Semantic Radar extension for Firefox for detecting / exploring SIOC data:– http://sioc-project.org/firefox
Copyright 2008 Digital Enterprise Research Institute. All rights reserved.
www.deri.ie
4. Using SIOC with Other Ontologies
Uldis Bojārs
52
SIOC and its friends
53
SIOC and FOAF are used together
• FOAF is the main vocabulary used to represent people:– http://foaf-project.org– foaf:Person class:
• “The foaf:Person class represents people. Something is a foaf:Person if it is a person.”
– foaf:holdsAccount property:• “The foaf:holdsAccount property relates a foaf:Agent to a
foaf:OnlineAccount for which they are the sole account holder.”
– Linking people to user accounts:• sioc:User rdfs:subClassOf foaf:onlineAccount• Links a foaf:Person to various sioc:User(s)• As many sioc:User(s) as required can be linked to a single person• One people, various identities
54
A person and their user accounts
55
Add SKOS for topics and categories
• Interlinking using common categories:– Share tags and topics across different content
• SKOS (Simple Knowledge Organisation System):– http://www.w3.org/2004/02/skos/– A vocabulary to describe controlled vocabularies– Used in the “Tag Ontology”:
• http://www.holygoat.co.uk/projects/tags/
56
Interlinking content with SKOS
skos:isSubjectOfsioc:topic
57
Interlinking content items
• Can create direct links between instances of sioc:Item:– Link from a blog post to a bulletin board page– sioc:related_to, sioc:links_to
• Interlinking using common categories:– SKOS (Simple Knowledge Organisation System):
• http://www.w3.org/2004/02/skos/
• Interlink using existing URIs as topics:– geonames.org , DBpedia, Revyu– MOAT (Meaning of a Tag) simplifies linking content to such URIs:
• http://moat-project.org/
58…can connect us to other people
Various types of content we create and consume…
• Discussions• Bookmarks• Annotations• Profiles• Microblogs• Multimedia
…
59
The “SIOC Types” module
• Ontology module:– Extends the SIOC ontology
• SIOC Types:– Defines subclasses and
subproperties of core SIOC terms for various types of Social Web content items and containers
60
Sample classes from the “SIOC Types” module
• Weblog:– Describes a weblog (blog), i.e. an online journal
• BlogPost:– Describes a post that is specifically made on a weblog
• Comment:– Comment is a subtype of sioc:Post and allows one to explicitly
indicate that a particular post is a comment– Note that comments have a narrower scope than sioc:Post and
may not apply to all types of community site
61
Sample classes from the “SIOC Types” module (2)
• ImageGallery:– An image gallery, for example, a photo album containing exif:IFD
instances
• AddressBook:– A collection of personal or organisational addresses, e.g.
foaf:Person (foaf:Agent) or vCard instances
• ReviewArea:– An area where reviews are posted, using the Rev or Review
vocabularies
• ResumeBank:– A collection of resumes, e.g. as defined using Resume-RDF
62
Extending the SIOC data model with SIOC Types
• John wrote a post on his Drupal-powered blog:
:myblogpost rdf:type sioct:BlogPost ;dc:title “Another blog post” ;sioc:has_creator :john ;sioc:has_container :mydrupal .
:mydrupal rdf:type sioct:Blog .
63
Using SIOC Types to represent Flickr data
• Uldis owns a photo gallery on Flickr:
:myitempost rdf:type exif:IFD ;dc:title “Another posted picture” ;sioc:has_creator :uldis ;sioc:has_container :myflickrgallery .
:myflickrgallery rdf:type sioct:ImageGallery .
• Reusing external vocabularies (e.g. EXIF) to define item types
64
FlickrRDF using SIOC, FOAF, SIOC Types, Geo
65
Reviews (structured blog posts) described with linked data from SIOC and other ontologies
• Mapping from the hReview microformat to RDF ontologies:
– Dublin Core, SIOC, SIOC Types, Review, Creative Commons
hReview field RDF field(s)
summary dc:title
item type Classes linked from SIOC Types
item info sioc:about
reviewer foaf:maker, foaf:Person, rev:reviewer
dtreviewed dcterms:created
rating rev:rating
description sioc:content, rev:text
tags sioc:topic
permalink sioc:link, URL
licence cc:license
66
Copyright 2008 Digital Enterprise Research Institute. All rights reserved.
www.deri.ie
5. Finding, Reusing and Searching Semantic Web Data Produced by the Social Web
Alexandre Passant
68
69
• There is a lot of Social Semantic Web data available:– From services
– Via exporters
– Hand-crafted
• But it is scattered all around the Web:– How do we find, browse, query, reuse it?
• These need to be addressed:– To provide novel applications that can leverage the interlinked nature of
this data from the Social Web
– To show the benefits of RDF and the Semantic Web
Motivation for finding and reusing semantic data
Semantic Web Documents (RDF)
70
Finding data from the Social SW
• PingTheSemanticWeb:– http://pingthesemanticweb.com– A ping service for SW documents– REST or XML/RPC– Accepts, reads different formats:
• RDF/XML, N3, Turtle
– The “blo.gs” of the Semantic Web
• Various ontologies detected by PTSW:– FOAF, DOAP, SIOC, etc.– About 1M documents, 3.7M pings
• “A Scripting Architecture to Discover and Query Decentralized RDF Data”, The 3rd Workshop on Scripting for the Semantic Web (SFSW 2007), Innsbruck, Austria, June 2007
71
• Direct ping to PingTheSemanticWeb:– Blog engines: WordPress, Drupal, etc.– Services: Revyu, TalkDigger
• “Semantic Radar” extension for Firefox:– http://sioc-project.org/firefox– Easy to setup and use (Firefox extension, auto-update)– Support for RDFa!– Architecture of participation: just browse the Web– Discover Semantic Web documents using RDF autodiscovery
links (a popular practice for advertising Atom/RSS and FOAF):<head> <link rel="meta" type="application/rdf+xml" title="FOAF"
href="http://example.com/people/~you/foaf.rdf"/></head>
Advertising RDF data to PTSW
72
Click to view SW data.
Semantic Radar in action, sending pings to PTSW
73
Reusing data from PTSW
FireFoxSemantic Radars
Web Services and Software Agents
Semantic Web Documents (RDF)
Ping the Semantic Web
doap:store
• PTSW acts as a central access point for RDF data:– Subscribe to the service– Ask for recent updates– Apply namespace
restrictions (e.g. export FOAF only)
– Get fresh Semantic Web data
– Concentrate on your tools, rather than on finding the data
74
• Sindice:– Lookup service for Semantic Web documents
• doap:store:– DOAP-based projects directory
• SWSE, Zitgist, Swoogle:– Semantic Web search engines
• You should be able to write a service after this tutorial
Existing services that can make use of PTSW
75
doap:store
76
Write your own Social Semantic Web application
• Requirements for applications that store RDF data• Find data:
– Subscribe to PTSW– Make a crontab script to regularly fetch new data
• Store data:– Plain-text files– RDF stores
• Query the data:– SPARQL query language and protocol, a W3C recommendation– “Trying to use the Semantic Web without SPARQL is like trying to
use a relational database without SQL” - Tim Berners-Lee
77
Storing RDF data
• RDF stores:– Storage systems for triples– Better performance that distributed queries– Some support inference engines (OWL, RDFS)– Many provide an open SPARQL endpoint to let people use data
• Various implementations:– YARS (Java)– ARC2 (PHP)– 3Store (C)– Virtuoso, etc.
78
Querying RDF data
• SPARQL language:– A language to query a set of triples– REST-protocol between clients and endpoint– Results in standard formats (XML or JSON)– http://www.w3.org/TR/rdf-sparql-query/
• SPARQL endpoint:– Remotely accessible data– Data openness– Easy to use, e.g. ARC2 requires just three lines of code:
include_once('path/to/arc/ARC2.php');$ep = ARC2::getStoreEndpoint(array(...));$ep->go();
79
Semantic Web Search Engine (SWSE)
• A large-scale Semantic Web search engine developed and run by DERI Galway:– http://swse.deri.org/– Andreas Harth, Jürgen Umbrich, Aidan Hogan, Stefan Decker,
“YARS2: A Federated Repository for Querying Graph Structured Data from the Web”, The 6th International Semantic Web Conference (ISWC 2007), pp. 211-224, Busan, Korea, 2007
• A SPARQL endpoint for today’s tutorial:– http://swse.deri.org/boards/yars2/
What does SWSE do?
• SWSE searches and navigates factual entities collected from over 200,000 data sources
• Components:– Web-scale crawling and object consolidation– Fully-distributed RDF storage and SPARQL query processing using
YARS2 (already achieved 7 billion synthetically generated triples)– Advanced schema agnostic ranking– User interface with guided navigation
• Features:– Ability to handle various entity types (such as people, places, proteins)
and various media types– Tracking provenance of triples using context / named graphs
• Search and explore the Semantic Web at:– http://swse.deri.org/
SWSE™ data flow
QueryProcessorIndexCrawler
UserInterface
82
The Sindice lookup index
83
The Sindice SIOC widget
84
85
SPARQLing Social Semantic Web data
• Find all posts and their titles by John, using SELECT, and combining vocabularies (DC, SIOC, SIOC Types):
SELECT ?post ?title
WHERE {
?post rdf:type sioct:BlogPost ;
dc:title ?title ;
sioc:has_creator <$johns_URI> .
}
86
SPARQLing Social Semantic Web data (2)
• Find all users that posted replies to John’s blog since January 2008, introducing the FILTER clause:
SELECT ?who
WHERE {
?post rdf:type sioct:BlogPost ;
dc:title ?title ;
sioc:has_creator <$johns_URI> .
?post sioc:has_reply ?reply .
?reply sioc:has_creator ?who ;
dcterms:created ?date .
FILTER (?date > "2008-01-01T00:00:00Z"^^xsd:dateTime)
}
87
SPARQLing Social Semantic Web data (3)
• Find all content created by someone with a given OpenID URL:– Browse someone’s social media contributions posted on various
websites using different account names, but for the same person
SELECT ?item
WHERE {
?person foaf:openid <$openid> ;
foaf:holdsAccount ?user .
?user sioc:creator_of ?item .
}
88
Parse SPARQL results
• SPARQL XML• JSON:
– Easiest– Many extensions
• PHP5: json_decode() : json data to PHP array
– Many examples• Most SPARQL endpoints support JSON output
• Can be easily used in JavaScript applications
89
Querying RDF files
• Redland: http://librdf.org• Bindings:
– Available for PHP, Python, etc.– SQL2RDF bindings include D2RQ and Triplify
• Example in Python:Import RDFm = RDF.Model()m.load(‘http://apassant.net/foaf.rdf’)q = RDF.Query("SELECT ?s WHERE { ?s ?p ?o .}")results = q1.execute(model)for result in results:
print result[’s']
90
Need more data?
• Translate any data to SIOC:– Re-use SIOC tools for non-SIOC data
• Semantic Pipes:– http://pipes.deri.org/– Remix your RDF data
• SPARQL constructs:– The “XSLT” of RDF– Translate a set of RDF data from one graph format to another– For example:
CONSTRUCT { ?x a sioc:Post . ?x sioc:has_creator ?y }
WHERE { ?x a myont:BlogElement . ?x myont:created_by ?y }
Copyright 2008 Digital Enterprise Research Institute. All rights reserved.
www.deri.ie
6. Browsing, Exploring and Consuming Semantic Web Data
Uldis Bojārs
92
93
Consuming SIOC as Semantic Web data
• SIOC = RDF data
• Generic Semantic Web applications can be used:– RDF APIs (Jena, Redland, etc.)– RDF crawlers– RDF browsers (Tabulator, Zitgist, SIOC RDF Browser, etc.)– More apps: http://www.w3.org/2001/sw/SW-FAQ#tools
• Customised applications can provide more added value and / or better user interfaces:– SIOC Explorer (faceted browsing of SIOC data):
• https://launchpad.net/sioc-ex
– Buxon, etc.
94
How can SIOC data be used?
95
Browsing SIOC
96
SIOC RDF Browser
http://sparql.captsolo.net/browser
97
SIOC Store Browser
http://apassant.net/home/2006/06/sioc-browser
98
SIOC Store Browser (2)
99
Demonstration of SIOC Explorer
100
Accessing SIOC content from multiple sourcesBrowsing SIOC content from one sourceFilter by “facet” from all sources
• Facet can be a direct or indirect property:
Direct
– The topic of the content item
– The creator of the item
– The date created
…
Indirect
– A geographic location of the person who created it
– The gender of the person
– An interest shared by many creators
101
Exploring implicit social network connections
102
Social SIOC Explorer
103
Browsing SIOC with Piggy Bank
104
Browsing SIOC with Tabulator
105
Browsing SIOC with TimeLine
106
Browsing SIOC with TimeLine (2)
107
Weaving microblogging into the Semantic Web
• Producing AND consuming data
• Interlinking with existing RDF data (e.g. GeoNames)
• Faceted browsing
108
Screenshots
109
Reviews using SW technologies
• Revyu:– http://revyu.com
• Review website combining Web 2.0 / SW technologies
Copyright 2008 Digital Enterprise Research Institute. All rights reserved.
www.deri.ie
7. Portable Data and Re-Use of SIOC Data
John Breslin
111
What if I use multiple services and I want to…
• Move the stuff I have on one service to another (e.g. move all my blog posts, comments, friends, etc. from WordPress.com to “Acme Blogs”)
• Move all my stuff from multiple services to one third-party service
• Centralise my stuff on my own service, e.g. my blog• See my stuff on a third-party service providing an
aggregate view, like FriendFeed
112
So many social media sites…
* Source: Smashcut Media, www.smashcut-media.com
113
Even more services…
114
It takes a lot of time…
115
Filling out your profiles, re-adding your friends…
116
Uploading posts and content items to “stovepipes”!
117
Social media sites are like data silos
* Source: Pidgin Technologies, www.pidgintech.com
118
Many isolated communities of users and their data
* Source: Pidgin Technologies, www.pidgintech.com
119
Need ways to connect these islands
* Source: Pidgin Technologies, www.pidgintech.com
120
Allowing users to easily move from one to another
* Source: Pidgin Technologies, www.pidgintech.com
121
Enabling users to easily bring their data with them
* Source: Pidgin Technologies, www.pidgintech.com
122
Social networking fatigue
• How many general or niche SNSs are you willing to register and / or interact with?
• People search engine and aggregation sites are now appearing to compensate:– SocialURL – organise your online identities– PeekYou – matching web pages with their owners– Spock – organising information around people– Rapleaf – reputation lookup and email search– Wink – free people search engine– FriendFeed – subscribe to all of your friends’ feeds
123
Social network portability and reusability
• Need distributed social networks and reusable profiles• Users may have many identities and sets of friends on
different social networks, where each identity was created from scratch
• Allow user to import existing profile and contacts, using a single global identity with different views (e.g. via FOAF, XFN / hCard, OpenID, etc.)
• See also:– http://bradfitz.com/social-graph-problem/– http://danbri.org/words/2007/09/13/194– http://code.google.com/apis/socialgraph/
124
Identity management across networks
• Social media sites (or RDF exporters) create a new foaf:Person instance when they export their data:– TalkDigger, Revyu, Flickr exporters, etc.– There is a need to unify URIs so as to represent one's unified identity
• Linked-data principles are to use owl:sameAs and rdfs:seeAlso:– See: 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
• Inference using owl:InverseFunctionalProperty:– foaf:mbox, foaf:openid, etc. can be used to identify uniqueness for a
foaf:Person
• Unifying aspects of a foaf:Person across networks:– All relevant sioc:User accounts may be related to one foaf:Person
125
:alex owl:sameAs flickr:33669349@N00 ;owl:sameAs twitter:terraces
URI unification for a foaf:Person
126
FOAF and social network connections
• FOAF allows us to represent the connections between people:– A machine-readable format for social-networking
• Using the foaf:knows property:– :John foaf:knows :Alex
• Extensions using the RELATIONSHIP vocabulary:– http://vocab.org/relationship/– All rel:* properties are subproperties of foaf:knows– :John rel:worksWith :Uldis– RDFS inferencing allows tools to answer queries using foaf:knows
when people use rel:* alternatives
127
Distributed social networking with FOAF
• Combining networks from multiple FOAF URIs via owl:sameAs:– Decentralised social networks can represent connections for the
same person – A person’s networks can be merged together– Any sub-network in the social graph can be reached from a single
entry point, via the person’s URI
128
Integrating social networks with FOAF
Common formats,unique URIs
* Source: Sheila Kinsella, Applications of Social Network Analysis 2007
129
Distributed social networking with FOAF
130
Applications for browsing the social (semantic) graph
• FOAFnaut, FOAF Explorer, etc.• FOAFGear: thanks to common semantics, only 100 lines
of code: http://apassant.net/home/2008/01/foafgear/
131
Aggregation of semantic social networks
• Browse / re-use your social graph in personal applications• Merge identities with pre-defined rules• Tools:
– Beatnik– Knowee– SPARQLpress– Nepomuk
132
Using OpenID with FOAF
• Can link to your FOAF profile from your OpenID URL, so that services can browse your machine-readable profile when you log-in:
<head><link rel="meta" type="application/rdf+xml" title="FOAF" href="foaf.rdf" />
</head>
133
Example of OpenID used with FOAF
• Bob creates an account on Networkr, a new social networking website, using OpenID
• Networkr retrieves the FOAF URI thanks to an auto-discovery link
• From the FOAF file, it identifies if there are any people already subscribed to Networkr who are listed in Bob’s defined relationships
• If that is the case, 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 I know X from Flickr, he / she can see my pictures on Networkr
134
The DataPortability initiative
• http://dataportability.org• Existing technologies• Inventing no new ones
135
Other initiatives “near” DataPortability
136
Semantics can help
• By using agreed-upon semantic formats to describe people, content objects and the connections that bind them all together, social media sites can interoperate by appealing to common semantics
• Developers are already using semantic technologies to augment the ways in which they create, reuse, and link profiles and content on social media sites (using FOAF, XFN / hCard, SIOC, etc.)
• In the other direction, object-centered social networks can serve as rich data sources for semantic applications
137
Using SIOC and FOAF to represent portable data
138
Porting social media contributions from data providers to import services
• Importing SIOC data:– A Semantic Web “building
block” for portable data
139
SIOC import tools
• Importing SIOC data is easy:– Parse SIOC RDF data (e.g. using ARC2 or RAP for PHP)– Convert SIOC data to the content model of the target system:
• e.g. content and other properties of blog posts and comments• Can use SIOC APIs to hold the data model
– Store data in the target application:• The most difficult part
• More info:– Uldis Bojārs, Alexandre Passant, John Breslin, Stefan Decker,
“Social Network and Data Portability using Semantic Web Technologies”, Accepted for the 2nd Workshop on Social Aspects of the Web (SAW 2008), Innsbruck, Austria, May 2008
140
WordPress SIOC Importer
• We have lots of producers of SIOC data, but now we need more applications that can consume it, like the WordPress SIOC Importer:– http://wiki.sioc-project.org/w/SIOC_Import_Plugin
• Just as WordPress can import blog entries from various blogging systems, the WordPress SIOC Importer can import any discussion posts (and comments) represented in SIOC (forum posts, mail messages, IRC chats, etc.)
141
SIOC import process for WordPress
1. Parse RDF data (using the open-source RAP RDF parser)
2. Find all posts, i.e. instances of sioc:Post, which exhibit all of the properties required by the target site
3. For each post found, it creates a new post using WordPress API calls
• To do:• Multiple sources• Authentication• Synchronisation• SIOC import APIs
Copyright 2008 Digital Enterprise Research Institute. All rights reserved.
www.deri.ie
8. Industry Applications of Semantic Technologies for Online Communities
Alexandre Passant
143
Enterprise 2.0
• Web 2.0 includes applications such as blogs, wikis, RSS feeds and social networking, while Enterprise 2.0 is the packaging of those technologies in both corporate IT and workplace environments
• “Enterprise 2.0 is the use of emergent social software platforms within companies, or between companies and their partners or customers”, Harvard Business School’s Professor Andrew McAfee
• “There are direct enterprise equivalents [to Facebook]. You can ask people the status of their projects, what they’re working on, are they travelling, things they’ve learned. All of these things would be very valuable inside an enterprise.”
144
• Social media services that people have been using in everyday life on the Web are now entering organisations:– Blogs– Wikis– Social networking– Tagging
• Lots of companies and products in this space:– Awareness, Mentor Scout, Contact Networks, Microsoft
SharePoint, IBM Lotus Connections, SelectMinds, introNetworks, Tacit, Illumio, Jive Software, Visible Path, Leverage Software, Web Crossing, SocialText
• These new deployments also face the same issues that are on the Web
Enterprise 2.0 (2)
145
• Semantic Web technologies can be leveraged in organisations for:– Knowledge management– Data integration– Reasoning– Augmented search
• See the SWEO use cases document:– http://www.w3.org/2001/sw/sweo/public/UseCases/– More than 25 case studies and use cases– Vodafone, NASA, Renault, etc.
Semantic Web in organisations
146
Distributed Web 2.0 corporate information systems
• McAfee’s “SLATES” requirements for Enterprise 2.0:– Search– Links– Authoring– Tagging– Extension– Signals
• The Semantic Web can offer enhanced functionality by interlinking Enterprise 2.0 data with common semantics:– Use back-end domain ontologies to extend search– Search by type (i.e. restrict to wiki pages)– Provide semantic links between documents
147
Interconnecting Enterprise 2.0 services
• RDF bus architecture (Tim Berners-Lee):
– Add-ons to produce RDF data from existing Web 2.0 applications
– Store distributed data using RDF stores
• Create new applications:– Semantic mashups– Semantic search– Open architecture thanks to a
SPARQL endpoint, services as plugins to the architecture
148
SIOC use case for Enterprise 2.0
• EDF R&D:– Enterprise 2.0 systems: blogs, wikis, RSS, etc.
• Interconnecting data with SIOC:– Exporters for blogs and wikis– Translation of RSS items to SIOC data
• Maintaining ontology instances:– Using a semantic wiki for ontology population– Using MOAT to link data to those instances
• New usages:– Semantic search engine: based on type and instances rather than plain
text– Geolocation mashups, by interlinking the GeoNames ontology with
internal data thanks to a common modelling scheme
149
SIOC use case for Enterprise 2.0 (2)
• Statistics over 2½ years:– > 500k SIOC triples– 12852 sioc:Post(s)
• 11954 sioct:BlogPost(s)• 876 sioct:WikiArticle(s)
– 79 sioc:User(s)
• Search:– Plain text to ontology– MOAT for identifying instances– Retrieves blog posts, wikis, etc.– SPARQL-based queries
150
Suggesting related content
• Using sioc:Post(s) and the sioc:topic property
151
Using SIOC in collaborative working environments
152
OpenLink DataSpaces
• ODS provides access to SIOC instance data from a range of ODS application instances including blogs, wikis, aggregated feeds, shared bookmarks, discussions, photo galleries, briefcases, etc.
153
Talis Engage
154
Seesmic
Copyright 2008 Digital Enterprise Research Institute. All rights reserved.
www.deri.ie
9. From Blogs and Wikis to Semantic Blogging and Semantic Wikis
John Breslin
156
Structure-enhanced blog posts
• Sometimes you have a burning need for more structure, at least some of the time
• When you know a subject deeply, and your observations or analysis recur, you may be best served by filling in a form
• The form will have its own metadata and its own data model
• Uses:– People get to express themselves, and– Blogs start to interoperate with enterprise applications
157
Soccer coach example
• An after-game soccer report typically includes: – which teams played– where and when– officials, and– a list of game events:
• who scored (and when and how)
• who received penalties (when and for what), etc.
• Wouldn't it be handy for the coach’s blogging tool to understand this structure, present an editing form, render the form in HTML to their blog, and render the post (including the form) to their RSS feed?– Great for the World Cup!
158
Integrating readers with structured blogging
• And in the future, news aggregators and news readers should be able to: – Auto-discover an unknown structure– Notify the user that a new structure is available– Learn the structure, including entry forms, pick list sources,
rendering guidance, and default style sheet– Make it available when the blogger is ready to write
159
Structured blogging using WordPress
160
Making use of structured blog posts
161
Why semantic blogging?
• Traditional blogging:– Little or no query possibilities (except keyword and flat tags)– Little or no reuse of data (except textual copy and paste)– Little or no linking between posts (except simple hrefs and
trackbacks)
• Semantic blogging:– Facilitates better querying:
• More precise
• Allows aggregation from various sources
– Better reuse potential– Richer links
162
Why semantic blogging? (2)
• Users collect and create large amounts of structured data on their desktops
• This data is often tied to specific applications and locked within the user's computer
• Semantic blogging can lift this data into the Web
163
Releasing your data to the Web scenario
Ina
John
Ina‘s Computer
John‘s Computer
Blog Post
Blog Post
Blog Post
Blog Post
Metadata
Metadata
Metadata
writes Post
annotates Post
publishes Post
reads Post
imports metadata
Web
164
Positioning of the metadata
Where in the blog will the semantic metadata go?• Directly in the HTML?
– Validity problems, parsing, restrictions on use of RDF...
• Put it in the newsfeed (RSS 1.0)?– Would have to change blogging platforms, hard to get accepted– Newsfeed items disappear over time
• Externally?– Just add a link to HTML– á la:
<a type=“application/rdf+xml“ href=“http://bresl.in/foaf/foaf.rdf“>John</a>
165
How is this related to structured blogging?
• Structured blogging is mainly based on “Microformats” (http://www.microformats.org/)– Therefore restricted to specific schemata, not open– Positioned inline on HTML page (and in feed)– Can be directly rendered using CSS– Structured and semantic blogging do not compete
• Metadata can be added as RDF and using Microformats
– Web-based implementations for generating structured blogging metadata
• e.g. for WordPress and Movable Type
166
Creating the metadata
Structural metadata:• Relations within the blogosphere: what relates to what
and how (replies, follow-ups or trackbacks, blogroll links and bookmarks, topics, etc.)?
• Closed domain, suggested vocabulary: SIOC• Plugins for blogging platforms, e.g. WordPress, Drupal• Produced automatically from a blog’s database
167
Creating the metadata (2)
Content related metadata:• What do blog posts talk about (e.g. books, individuals,
meetings)?• Keep open domain – so that can use any vocabulary /
ontology (BibTeX, FOAF, iCal, ...)• Web-based approach (á la structured blogging) - user
fills in an HTML form• Desktop-based approach (á la semiBlog) - user selects
existing data on their computer, this gets converted into RDF
168
Creating a semantic blog post with semiBlog
Annotating a blog entry with an address book entry.
<foaf:Person rdf:ID="andreas"> <foaf:homepage> http://sw.bla.org/~aharth/</foaf:homepage> <foaf:surname>Harth</foaf:surname> <foaf:firstName>Andreas</foaf:firstName> <!-- ... more properties ... --> <rdf:value>Andreas Harth</rdf:value></foaf:Person>
169
Using the metadata
Once a blog has semantic metadata, it can be...• Used to query: “Which blog posts talk about papers by
Stefan Decker?”• Used to browse across blogs and other kinds of
discussion methods:• Imported into desktop applications of blog readers (AKA
“The Web as a Clipboard“)
170
The Web as a clipboard using a suitable reader
• A user can import metadata from here into his / her own applications
171
• Structural metadata:– Relations between blogs, posts, comments, etc.– More than just “A links to B“ - what kind of relationship?
• Approval? Criticism? Mentions? Is about?
– …relations within the blogosphere
• Content-related metadata:– What is this post about, what is its topic?– Anything a blog author wishes to discuss– ...relations between the blogosphere and everything else
Structural versus content-related
172
Argumentative discussion topics similar to IBIS
173
• Closed-domain metadata:– The domain is restricted to a certain set of real-world entities or
concepts, e.g. blog structure or scientific publications.– Allows the definition of one specific domain ontology (e.g.
SIOC)
• Open-domain metadata:– The domain is not restricted, e.g. as in blog content– Hard to define one all-embracing ontology, very unwieldy, hard
to convince people to use it– Instead divide into closed subdomains, use small, vertical
domain ontologies (e.g. FOAF, BibTeX, etc.)
Closed domain versus open domain
174
• Client-side metadata:– Data to be used resides client-side– Implementation can best be realised client-side (e.g. harvesting
desktop data with semiBlog)
• Server-side metadata:– Data to be used resides server-side– Implementation can best be realised server-side (e.g. harvest
WordPress database tables with WordPress SIOC plugin)
Client side versus server side
175
Describing structure and content
176
Tagging and the Semantic Web
• Tags are powerful but:– Heterogeneity: different tags, one meaning– Ambiguity: one tag, different meanings– Unrelated: may be no relationship between tags
• A common semantic for tags and tagging actions:– The “Tag Ontology” by Newman from 2005– tags:Tag rdfs:subClassOf skos:Concept– A “Tagging” class describes relationships between:
• A user
• An annotated resource
• Some tags
177
Going further with tagging
• SCOT (Social Semantic Cloud of Tags):– A model to describe tagclouds (tags and co-occurrence)– Ability to move your own tagcloud from one service to another– Share tagclouds between services, and between users– “Tag portability”
• MOAT (Meaning of a Tag)– A model to define “meanings” of tags using existing URIs– e.g. SPARQL → http://dbpedia.org/resource/SPARQL– Tagged content enters the “Linked Data” web– Collaborative approach:
• Anyone can define a new meaning for a tag
• Meanings are shared inside a given community
178
gnizr
179
Problems with traditional wikis
• Structured access• Information reuse
JohnGrisham
He is the author of PelicanBrief.He lives in Mississippi.He writes a book each year.He is published by RandomHouse.
Structured access:✗ Other books by JohnGrisham (navigation)✗ All authors that live in Europe? (query)Information reuse:✗ The authors from RandomHouse (views)✗ And what if I don't speak English? (translation)
180
What are semantic wikis?
• A wiki that has an underlying model of the knowledge described in its pages:– Semantic wikis allow to capture or identify further information
about the pages (metadata) and their relations– Knowledge model available in a formal language, so that
machines can (at least partially) process and reason on it– A semantic wiki would be able to capture that an "apple" article is
a "fruit" (through an inheritance relationship) and present you with further fruits when you look at apple
– Some are used for personal knowledge management, others aimed at KM for communities
• http://wiki.ontoworld.org/wiki/Swikig• http://www.semwiki.org/
181
Structural and content metadata in semantic wikis
182
Information reuse in SemperWiki
183
Semantic MediaWiki
• Semantic MediaWiki is an extension of MediaWiki, the open-source wiki system powering Wikipedia:– Allows users to add structured data to the entries, turning it into a
semantic wiki– Users can classify the “type” of links, e.g. making a relationship
such as “capital of” between Berlin and Germany explicit:• ... [[capital of::Germany]] ... resulting in the semantic statement
"Berlin" "capital of" "Germany"– On the page about Berlin, users can explicitly define its population
by writing:• ... the population is [[population:=3,993,933]] ... resulting in the
semantic statement "Berlin" "has population" "3993933"– Currently the most widely-deployed semantic wiki, Semantic
MediaWiki is also being used by various organisations, and is being deployed as a service by Centiare and Wikia
Copyright 2008 Digital Enterprise Research Institute. All rights reserved.
www.deri.ie
10. Conclusions
John Breslin
185
Some examples of where SIOC is already use (about 50 implementations / applications)
186
A list of some these SIOC implementations
Creating SIOC data• SIOC APIs
– SIOC Export API for PHP– SIOC API for Java
• Weblog, forum and CMS exporters – WordPress SIOC Exporter– Dotclear SIOC Exporter– b2evolution SIOC Exporter– Drupal SIOC Exporter– phpBB 2.x SIOC Exporter– Triplify
• Other exporters – OpenLink DataSpaces– TalkDigger– SWAML– Mailing List Archives– Mailing List Exporter– Twitter2RDF– IRC2RDF– Sioku (Jaiku2RDF) – gnizr– OpenQabal– BlogEngine.NET
Using SIOC data• SPARQL endpoints, querying SIOC data
– ODS demo server and MyOpenLink.net– #B4mad.Net SPARQL endpoint
• Crawling SIOC data – SIOC Crawler– SIOC Browsers– Buxon– SIOC Explorer
• Using SIOC for new data – Fishtank– BAETLE– RDFa on Rails– IkeWiki– int.ere.st– OpenLink Virtuso AMI– Talis Engage
• Reusing SIOC data – IKHarvester– notitio.us and JeromeDL
SIOC utilities• Finding and indexing SIOC data
– Semantic Radar– PingTheSemanticWeb.com
187
A vocabulary onion, building on FOAF, SKOS, SIOC, SIOC Types, DC
188
Disconnected sites on the Social Web / Web 2.0 can be linked using Semantic Web vocabularies
189
Find people experienced in using SIOC / suggest improvements / participate in SIOC development
• The SIOC project page and wiki:– http://sioc-project.org and http://wiki.sioc-project.org
• The SIOC W3C member submission:– http://www.w3.org/Submission/2007/02/
• A SIOC developer mailing list:– http://groups.google.com/group/sioc-dev
• Real-time IRC chat channel about SIOC:– irc://irc.freenode.net/sioc
• A comprehensive list of SIOC applications:– http://rdfs.org/sioc/applications/
• The SIOC RDF Browser prototype:– http://sparql.captsolo.net/browser/
• Semantic Radar extension for Firefox:– https://addons.mozilla.org/en-US/firefox/addon/3886
190
Contact information / thanks
• Alexandre Passant– [email protected]
– http://apassant.net/
• John Breslin– [email protected]
– http://www.johnbreslin.com/
• Uldis Bojārs– [email protected]
– http://captsolo.net/
• Thanks to Thomas Schandl, Tuukka Hastrup, Sergio Fernandez for help with slides
• The SIOC project is supported by Science Foundation Ireland under grant number SFI/02/CE1/I131