SIOC, SIOC Types and Health Care and Life Sciences

W3C Interest Group Note 20 October 2009

This version:
Latest version:
Alexandre Passant, DERI Galway at the National University of Ireland, Galway, Ireland <alexandre.passant@deri.org>
Uldis Bojars, DERI Galway at the National University of Ireland, Galway, Ireland <uldis.bojars@deri.org>
John G. Breslin, DERI Galway at the National University of Ireland, Galway, Ireland <john.breslin@deri.org>


As in several other scientific domains, the use of social software (such as blogs or wikis) and social networking applications is now commonly accepted in the Health Care and Life Science (HCLS) research community, with services such as the SWAN Alzheimer Knowledge Base, myExperiment, WikiProfessional Concept Web, Connotea and Nature Networks. In general, however, these applications suffer from a lack of interoperability, and this makes the reuse of information a complex task. The SIOC Ontology - Semantically-Interlinked Online Communities - aims to solve these issues and provides a comprehensive model to represent online communities and related user-generated content items thanks to Semantic Web technologies. This note describes the changes to the SIOC Core Ontology since its W3C Member Submission in June 2007, the SIOC Types Module, and their relevance in the Health Care and Life Sciences context.

Status of This Document

This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.

This W3C Interest Group Note describes how one can use the Semantic Web to express and integrate scientific data. These techniques can be used for modeling any data, and the benefits of integration and model consistency apply to other diverse, distributed data domains. It is hoped that this document will inspire further contributions to the ongoing work at Neurocommons and the Health Care and Life Sciences Interest Group, as well as inspire those in other domains to exploit the Semantic Web.

This document describes the SIOC ontology for semantically-interlinked online communities. The companion document Semantic Web Applications in Neuromedicine (SWAN) Ontology describes the SWAN ontology for expressing scientific discourse, and SWAN/SIOC: Alignment Between the SWAN and SIOC Ontologies describes the the use of SWAN and SIOC together to model discourse within scientific communities.

The document was produced by the Semantic Web in Health Care and Life Sciences Interest Group (HCLS), part of the W3C Semantic Web Activity (see charter). Comments may be sent to the publicly archived public-semweb-lifesci@w3.org mailing list. In addition, the authors welcome suggestions on the SIOC Core Ontology and the SIOC Types Module; please send comments to the SIOC developers' mailing list (SIOC-Dev), public archives are available.

The SIOC Core Ontology as well as the SIOC Types Module may be updated in the future, but no commitment is made by the authors regarding future updates.

Publication as an Interest Group Note does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.

The disclosure obligations of the Participants of this group are described in the charter.

Table of Contents


1. Introduction

1.1. Motivations for the SIOC Project in Health Care and Life Sciences

Social media is now a well-accepted paradigm, not only for leisure-oriented Web 2.0 applications but also in scientific communities, especially in the Health Care and Life Sciences context. Researchers can share their experiments and opinions using weblogs, build knowledge collaboratively through the use of wikis, use social networking tools to gather information around topics and publications, etc., hence using social media as a complement to traditional paper publications. Some popular social media tools for researchers include the SWAN Alzheimer Knowledge Base, myExperiment, Wiki Professional, and Connotea.

However, social media services generally act as independent and disconnected data silos that cannot communicate very efficiently with each other. There are no bridges between them that could be used, for example, to retrieve from a wiki a list of items about topics retrieved from several weblogs. Moreover, sharing information between these services is also an important issue: generally, when people upload some content to a service, it can only be commented on (or sometimes only be viewed) by people registered on that service.

The SIOC Project (Semantically-Interlinked Online Communities) aims to provide models and tools to achieve this goal of interoperability between online communities and related user-generated content. It uses Semantic Web technologies including a set of ontologies, tools and related services. Complete information about SIOC can be found on the SIOC Project website as well as on the SIOC Wiki, and some background is given in the paper entitled "SIOC: Content Exchange and Semantic Interoperability Between Social Networks" from the W3C Workshop on the Future of Social Networking.

In particular in the context of the Health Care and Life Sciences community, SIOC enables integration between different platforms and communities of researchers that share information, experience and publications on various topics. By providing a common and machine-readable format for modeling communities and their data via Semantic Web technologies, it also permits advanced querying and browsing capabilities over this data, as well as re-use in other contexts.

1.2. Organization of the SIOC Ontology

The SIOC Ontology is the foundation of the SIOC Project. The various tools and services from the project are based on this data model in order to publish, exchange and consume data between social media websites and applications. This ontology is defined in two main parts:

Four modules for SIOC have been designed so far, a fifth one being the module defining mappings with the SWAN ontology, described in detail in [SWAN-SIOC]. The four other modules are defined as follows:

2. The SIOC Core Ontology

2.1. Overview of the the SIOC Core Ontology

Since further details about the SIOC Core Ontology itself can be found on its related Member Submission [SIOC-MemberSubmission] and on its current live specification [SIOC-Specification], we will simply give a brief overview of the model in this note.

The SIOC Core Ontology [SIOC-Specification] currently consists of 11 classes and about 50 properties. The following schema represents the main classes and properties of the SIOC Core Ontology. Two classes are not shown here: the sioc:Community class, that aims at representing a collection of people, services and content around a particular topic of interest, and the sioc:Thread class, a subclass of sioc:Container dedicated to representing threaded discussions, such as those that occur on bulletin boards.

The SIOC Core Ontology

Figure 1: The SIOC Core Ontology

The SIOC Ontology also has strong ties with other vocabularies, such as FOAF [FOAF], SKOS [SKOS] and Dublin Core [DublinCore]. The [SIOC-Mappings] document provides an overview of the different mappings between SIOC and these models. As an example, the following source code represents how an item on a web site can be modeled with SIOC and these related vocabularies using N3 notation.

Table 1: Example of SIOC data using the SIOC Core Ontology

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix sioc: <http://rdfs.org/sioc/ns#> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<http://example.org/blog/2009/03/hcls> rdf:type sioc:Post ;
  dct:title "Upcoming HCLS events" ;
  dct:created "2009-03-12"^^xsd:date ;
  sioc:has_creator <http://example.org/user/bob> ;
  sioc:has_container <http://example.org/blog> ;
  sioc:has_reply <http://example.org/comment/42> ;
  sioc:content "The following events might be of interest for the HCLS community..." ; 
  sioc:topic <http://example.org/topics/hcls> .

<http://example.org/bob> rdf:type sioc:User ;
  sioc:name "Bob" .

<http://example.org/blog> rdf:type sioc:Forum ;
  sioc:name "Bob's blog" .

<http://example.org/comment/42> rdf:type sioc:Post ;
  dct:title "Alice's comment" .

2.2. Changes Since the Member Submission

Several changes have happened since the SIOC Core Ontology was published as a W3C Member Submission. Most enhancements have been based on discussions that happened on the SIOC developers mailing list based on implementation needs and experience. While no new classes have been introduced (in order to keep the model lightweight), the following changes have been made to the SIOC Core Ontology's classes and properties (changes are ordered by alphabetical order for properties and classes):

Adding new properties
The following properties have been added:
Changing the domain (rdfs:domain) and range (rdfs:range) of existing properties
The domain and / or range following properties have been edited:
Internal mappings
The following mappings have been defined:
Mappings with other vocabularies
As a way to improve the mappings with existing vocabularies, the following changes have been committed: In addition, while the specification originally used both the Dublin Core Element Set and the Dublin Core Terms namespaces, these were recently combined and we now simply use the single Dublin Core Terms namespace.

Another major update is the OWL-DL compliance of the model, which was previously OWL-Full. Further details about this change are detailed in the SWAN/SIOC document.

Finally we want to emphasize that more changes may happen in the future, even regarding the properties and classes that are mentioned in the previous inventory of SIOC changes.

3. The SIOC Types Module

3.1. Aims of the Types Module

While the SIOC Core Ontology defines a set of classes that can be used to represent user-generated content, both in terms of items (sioc:Post and sioc:Item) and containers (sioc:Forum and sioc:Container), these may still not be fine-grained enough for some knowledge representation purposes. For example, using the sioc:Item class does not differentiate between a blog post, a wiki page or a post on a bulletin board. In a similar way, using sioc:Container does not provide a way to differentiate (when querying information) between a weblog, a wiki, or a photo gallery.

In order to provide more fine-grained modeling of user-generated content, the SIOC Types Module defines a set of classes that extend the main classes of the SIOC Core Ontology. The following figure represents how both a wiki and a wiki article can be represented using the SIOC Types Module, respectively using the sioct:Wiki and the sioct:WikiArticle classes, defined respectively as subclasses of sioc:Forum and sioc:Post, themselves being defined as subclasses of sioc:Container and sioc:Item.

Relationships between the SIOC Core Ontology and the Types module

Figure 2: Relationships between the SIOC Core Ontology and the Types module

3.2. Classes in the Types Module and mappings with existing vocabularies

This section provides a complete list of the different classes defined in the Types Module, as well as their mappings with related classes in the SIOC Core Ontology.

3.2.1. Containers and forums

The following lists introduce the various containers and forums introduced in the SIOC Types Module. It also presents for each Container and Forum the related items that could be contained therein. As one can see, some items are defined within the SIOC namespace (hence being described in the next section), while some of them are existing concepts from different vocabularies. It is important to mention that there are no constraints in the ontology so that these relationships between container and items are informative only and not subject to any kind of reasoning at the moment.

Table 2: List of subclasses of sioc:Container defined in the SIOC Types Module

Container Related Item
sioct:AddressBook none
sioct:AnnotationSet annot:Annotation
sioct:AudioChannel dcmit:Sound
sioct:BookmarkFolder bookmark:Bookmark
sioct:Briefcase foaf:Document
sioct:EventCalendar ical:VEVENT
sioct:ImageGallery exif:IFD
sioct:ProjectDirectory doap:Project
sioct:ResumeBank resume:Resume
sioct:ReviewArea rev:Review and abr:Review
sioct:SubscriptionList owl:Feed
sioct:SurveyCollection sioct:Poll
sioct:VideoChannel dcmit:Image
sioct:Wiki sioct:WikiArticle

Table 3: Subclasses of sioc:Forum from the SIOC Types Module

Forum Related Item (Post)
sioct:ArgumentativeDiscussion ibis:Idea
sioct:ChatChannel sioct:InstantMessage
sioct:MailingList sioct:MailMessage
sioct:MessageBoard sioct:BoardPost
sioct:Microblog sioct:MicroblogPost
sioct:Weblog sioct:BlogPost

3.2.2. Items and posts

To a similar extent, the SIOC Types Module defines subclasses of sioc:Item and sioc:Post as shown below along with their related containers. As in the previous section, there is no formal relationship between the proposed items and containers.

Table 4: Subclasses of sioc:Item from the SIOC Types Module

Item Related Container
sioct:Poll sioct:SurveyCollection

Table 5: Subclasses of sioc:Post from the SIOC Types Module

Post Related Container
sioct:BlogPost sioct:Weblog
sioct:BoardPost sioct:MessageBoard
sioct:Comment sioct:Forum
sioct:InstantMessage sioct:ChatChannel
sioct:MailMessage sioct:MailingList
sioct:MicroblogPost sioct:Microblog
sioct:WikiArticle sioct:Wiki

In addition, the module introduces the three following classes (as subclasses of sioc:Post) to model questions and answers in online communities:

Finally, in order to represent the topics and tags that can be assigned to such items, the Types Module introduces these two classes:

3.3. Example of RDF data using the SIOC Types Module

The following example extends the previous one, using the Types module to model more precisely the different objects that have been created. It uses sioct:BlogPost (instead of the more generic sioc:Post), sioct:Weblog (a subclass of sioc:Container), sioct:Comment and sioct:Category. As one can see, it does not imply any other changes, neither in terms of properties nor mappings with other vocabularies.

Table 6: Example of SIOC data using the SIOC Types Module

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix sioc: <http://rdfs.org/sioc/ns#> .
@prefix sioct: <http://rdfs.org/sioc/types#> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<http://example.org/blog/2009/03/hcls> rdf:type sioct:BlogPost ;
  dct:title "Upcoming HCLS events" ;
  dct:created "2009-03-12"^^xsd:date ;
  sioc:has_creator <http://example.org/user/bob> ;
  sioc:has_container <http://example.org/blog> ;
  sioc:has_reply <http://example.org/comment/42> ;
  sioc:content "The following events might be of interest for the HCLS community..." ; 
  sioc:topic <http://example.org/topics/hcls> .

<http://example.org/bob> rdf:type sioc:User ;
  sioc:name "Bob" .

<http://example.org/blog> rdf:type sioct:Weblog ;
  sioc:name "Bob's blog" .

<http://example.org/comment/42> rdf:type sioct:Comment ;
  dct:title "Alice's comment" .

<http://example.org/topics/hcls> rdf:type sioct:Category .

3.5. Querying RDF data using the SIOC Types Module

As an example of how SIOC can be used when querying data, the following SPARQL query retrieves all the blog posts (as well as their creators and titles) that have at least one reply, as well as the related reply.

Table 7: Example of SPARQL query for SIOC data

PREFIX sioc: <http://rdfs.org/sioc/ns#>
PREFIX sioct: <http://rdfs.org/sioc/types#>
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>

SELECT ?post ?creator ?title ?reply 
  ?post rdf:type sioct:BlogPost ;
    sioc:has_creator ?creator ;
    dct:title ?title ;
    sioc:has_reply ?reply .
  ?reply rdf:type sioct:Comment .

Applied to the previous example, the following answer will be retrieved.

Table 8: Example of SPARQL query results for SIOC data

?post ?creator ?title ?reply
http://example.org/blog/2009/03/hcls http://example.org/user/bob Upcoming HCLS events http://example.org/comment/42

4. Use cases for SIOC in HCLS

4.1. Integrating information from Web 2.0 services in a pharmaceutical company

ACME Pharma uses various blogs, wikis and microblogging applications to enable communication and knowledge sharing between its different research teams. However, since various tools have been implemented and deployed, based on the different needs of the internal communities, it is difficult to query and retrieve information from all of these systems. By providing SIOC exports for all of this data, and through the use of existing applications / APIs [SIOC-Applications] and a single RDF repository to store this data, it is then possible to query the data from a single place using uniform SPARQL queries. Moreover, these queries can take advantage of the SIOC Types module, for example, to retrieve only instances of sioct:WikiArticle or sioct:BlogPost, depending on the kind of information that is to be retrieved. This use case is similar to what is described in [SWEO-EDF] and can be implemented with currently-available Semantic Web technologies, especially the ones described in this document, i.e. SIOC and its Types Module.

4.2 Sharing patient information on the Web

Alice and Bob suffer from diabetes, and often blog about research findings, the drugs they are using, their treatments, etc. As a matter of transparency and in order to share their experiences with other patients, as well as with their doctors, they provide SIOC exports of their blog data. Each conversation is therefore available as open and machine-readable information. Thanks to this openness, this data can be consumed by pharmaceutical companies via existing SIOC tools [SIOC-Applications] so that they can track discussions about the drugs that people are using, and provide feedback if needed. Thanks to the use of the SIOC Types Module, people consuming the data can distinguish the original blogged information (sioct:BlogPost) from the comments (sioct:Comment). It is worth noting that, for each blog post, Alice and Bob have the ability - to ensure privacy - to not export it as SIOC data.

5. Conclusion

In this note, we described the changes to the SIOC Ontology since its Member Submission as well as the SIOC Types Module. In particular, we focused on the use of SIOC in the context of communities of researchers and scientists from the Health Care and Life Science domain. As shown in the use cases section, SIOC can be efficiently deployed as a means to integrate information from various applications and communities in a unified, machine-readable and comprehensive way, offering new possibilities in terms of scientific knowledge management.

A1. Namespaces used in this document

Prefix XML Namespace (linked to the RDF schema) Specification (human-readable)
abr http://www.isi.edu/webscripter/communityreview/abstract-review-o# The Semantic Web Community Review Project
annot http://www.w3.org/2000/10/annotation-ns# Annotea Annotation Schema
aowl http://bblfish.net/work/atom-owl/2006-06-06/# AtomOwl Vocabulary Specification
bookmark http://www.w3.org/2002/01/bookmark# Bookmark schema
content http://purl.org/rss/1.0/modules/content/ RSS 1.0 Content Module
doap http://usefulinc.com/ns/doap# DOAP Vocabulary
dc http://purl.org/dc/elements/1.1/ The Dublin Core Metadata Element Set
dcmit http://purl.org/dc/dcmitype/ DCMI Metadata Terms
dct http://purl.org/dc/terms/ DCMI Metadata Terms
ical http://www.w3.org/2002/12/cal/icaltzd# RDF Calendar
exif http://www.w3.org/2003/12/exif/ns# Exif RDF Schema
foaf http://xmlns.com/foaf/0.1/ Friend of a Friend (FOAF) Vocabulary
ibis http://purl.org/ibis# IBIS Vocabulary
resume http://captsolo.net/semweb/resume/cv.rdfs# ResumeRDF vocabulary
rev http://www.purl.org/stuff/rev# http://vocab.org/review/terms.html
sioc http://rdfs.org/sioc/ns# SIOC Core Ontology
skos http://www.w3.org/2004/02/skos/core# SKOS Namepasce Document

A2. References

The Friend of a Friend (FOAF) Project. See http://www.foaf-project.org/
Alistair Miles, Sean Bechhofer (eds.), SKOS Simple Knowledge Organization System, W3C Proposed Recommendation 15 June 2009, http://www.w3.org/TR/skos-reference/
The Common Tag Project. See http://commontag.org
Dublin Core Metadata Initiative. See http://dublincore.org/
The Meaning Of A Tag (MOAT) Project. See http://moat-project.org/
The Social Semantic Cloud of Tags (SCOT) Project. See http://scot-project.org/
SIOC Applications, The SIOC Wiki, http://wiki.sioc-project.org/index.php/Category:Applications
Uldis Bojars, John G. Breslin, Alexandre Passant, Axel Polleres (eds.), SIOC Ontology: Related Ontologies and RDF Vocabularies, W3C Member Submission 12 June 2007, http://www.w3.org/Submission/2007/SUBM-sioc-related-20070612/
Uldis Bojars, John G. Breslin (eds.), SIOC Core Ontology Specification, W3C Member Submission 12 June 2007, http://www.w3.org/Submission/2007/SUBM-sioc-spec-20070612/
Uldis Bojars, John G. Breslin (eds.), SIOC Core Ontology Specification, Evolving document, http://rdfs.org/sioc/spec
Alexandre Passant, Paolo Ciccarese (eds.), SWAN/SIOC: Alignment between the SWAN and SIOC ontologies, W3C HCLS IG Editor's Draft, http://www.w3.org/2001/sw/hcls/notes/swansioc/
Alexandre Passant, Case Study: Enhancement and Integration of Corporate Social Software Using the Semantic Web, W3C Semantic Web Education and Outreach Case-Study, http://www.w3.org/2001/sw/sweo/public/UseCases/EDF/
The Tag Ontology. See www.holygoat.co.uk/projects/tags/

A3. Acknowledgements

We would like to particularly thank (in alphabetical order) Paolo Ciccarese, Tim Clark, Scott Marshall and Susie Stephens for their valuable comments and feedback during the writing and editing of this note. We also thank Eric Prud'hommeaux for the subversion magic and technical assistance with the creation of this document, as well as the entire Scientific Discourse Task Force, and more generally the Health Care and Life Science Interest Group within the W3C.