An Ontology for Social Networking Sites Interoperability
Konstantinos Tserpes, George Papadakis, Magdalini Kardara, Athanasios Papaoikonomou,
Fotis Aisopos, Emmanuel Sardis and Theodora Varvarigou
Department of Electrical and Computer Engineering, National Technical University of Athens,
9, Heroon Polytechniou Str, 15773 Athens, Greece
Keywords: Social Web, Semantic Web, Ontology, API, Social Networking Sites.
Abstract: The Social Networking Sites (SNS) comprise a pool from which developers can pump functionality and
data. Usable REST APIs are providing access to two valuable business assets: the users' generated content
and social graph. The lack of standards and the antagonistic nature of the SNSs have resulted in the use of
proprietary API specifications and -in turn- data models. Each SNS uses a different method to access and a
different way to describe notions which are largely similar, e.g. “friends” or shared “multimedia items”. The
conceptual similarity between entities “living” in the SNS, creates a remarkable opportunity: The
aggregation of the social functionality and data can provide the basis for a unique platform on top of which
third parties can deploy new added value services, seamlessly using the underlying SNSs APIs. This paper
presents an attempt to implement this concept by means of building a core ontology for supporting SNS
interoperability.
1 INTRODUCTION
The advent of mashups and web APIs enabled the
routinely use of third parties' platform tools so as to
build new applications by leveraging on their
content and core functionality. The advantage is
immense: without any significant cost for
development (just for maintaining the API) on the
platform owner's side and by taking advantage of the
creativity of external developers, the platform's
functionality is extended by added value
applications.
Coping with this concept, the Social Networking
Sites comprise a typical pool of functionality and
data. Their REST APIs are providing access to two
valuable assets: the user generated content and social
graph. The lack of standards and the antagonistic
nature of the SNS have resulted in the use of
proprietary API specifications and -in turn- data
models. Each SNS uses different ways to access and
describe notions which are largely similar, e.g.
“friends” or shared "media items”. The conceptual
similarity between entities “living” in the SNS,
creates a remarkable opportunity: The aggregation
of the social functionality and data can provide the
basis for a unique platform on top of which third
parties can deploy new added value services,
seamlessly using the underlying SNSs APIs.
Providing developers with a cross-platform tool
that enables them to manage the dynamically
generated content and complex social interactions by
allowing them to build, deploy and potentially sell
services that combine data and functionality from
two or more different SNS services disregarding the
underlying API implementation, will create an agile
and profitable market of services and will bring the
Internet of Services concept a step closer to
realization.
The proposed solution aims directly at the heart
of this challenge: Develop an SNS-like API that will
manage to aggregate data and functionality from
underlying SNSs that deliver their functionality
through web APIs. We call this API "SocIoS API"
and it is the core component of the SocIoS integrated
solution (http://www.sociosproject.eu).
The SocIoS API is essentially an object model in
which on one hand unifies the domain of SNS APIs
in order to expose certain concepts that appear
repeatedly in the SNS API worlds, while on the
other hand, leverages on these concepts and allows
services to use them in added value application
scenarios. This twofold task presents some
interesting characteristics that need to be considered
in order to define this specification.
245
Tserpes K., Papadakis G., Kardara M., Papaoikonomou A., Aisopos F., Sardis E. and Varvarigou T..
An Ontology for Social Networking Sites Interoperability.
DOI: 10.5220/0004142202450250
In Proceedings of the International Conference on Knowledge Engineering and Ontology Development (KEOD-2012), pages 245-250
ISBN: 978-989-8565-30-3
Copyright
c
2012 SCITEPRESS (Science and Technology Publications, Lda.)
Our method fosters ideas from both approaches:
it defines the core objects of the SocIoS API domain
through an ontology which helps to modeling these
objects to the underlying SNS APIs using software
wrappers (formally called SocIoS adaptors). To
build this ontology we start with the conceptual
analysis of the application scenario in order to
capture the main domain concepts. These include the
notions of User, Activity, Group, Multimedia item,
Event, Location and Message. Next, we study a
number of SNSs in order to identify the API objects
that are semantically equivalent to the domain
concepts. This helps us to place the domain concepts
in the SNS context and examine their relationships
and position in the object model hierarchy. The
combination of these approaches leads to a
conceptualization of the SocIoS domain that is
formally captured in the presented SocIoS ontology.
The objective of this ontology is to provide the
necessary flexibility of the SocIoS object model so
as to be extended as necessary when new SNS APIs
or application domains are to be included later in its
lifetime. The model is captured using the ontology
specification language (OWL) (McGuinness, 2004)
that only includes the information that is necessary
for an object model. We directly derive the initial
SocIoS object model from this ontology. When in
the future the SocIoS object model needs to be
expanded, the ontology will have to be expanded
first, adding the logical relationships between classes
that provide a real ontological definition. This
ensures that the new definitions are logically correct,
i.e. satisfy the conceptualization of the SocIoS
ontology. Then, a new SocIoS object model is
derived by simplifying from the new ontology.
The document is structured as such: Section 2
provides the related work in specifications and APIs
that have similar goals as ours as well as ontologies
from which our approach can adopt concepts so as to
be extendible. Section 3 presents the domain
concepts of SocIoS as the conclusion of an analysis
of three real-world application scenarios. In Section
4 the derived domain concepts are projected to
existing objects of a group of an appropriate
selection of SNS APIs. Finally, Section 5 gives the
SocIoS ontology as a result of this analysis and
discusses the lower level parameters of the concepts.
2 RELATED WORK
There have been a number of approaches to build a
meta-API so as to implement functionality
federation and data marshaling from numerous
SNSs. However, as stated above, the majority
comprise proprietary solutions which limits the
extensibility of the platforms to non-supported APIs.
Such examples are GNIP®, hootsuite® and
Stroodle®.
Even though we study a number of SNS APIs so
as to identify the dominant objects that they
commonly use, our solution uses mainly OpenSocial
(OpenSocial, 2010) as a reference specification.
OpenSocial defines a common API for social
applications across multiple websites. As it is a
product of collaboration of a broad set of members
of the web community it naturally encompasses the
most dominant SNS concepts. However, OpenSocial
is not meant to be used as a meta-API or an
aggregator. This results in two reasons for which
OpenSocial cannot meet our requirements: a) it is
not meant to be adaptive, but rather requires from
the underlying APIs to adapt it, and; b) it is
overdetailed, providing an extreme number of
second-class objects that cannot be mapped to
existing API concepts. The issue of adaptability, is
the one that mainly led us into seeking an ontology
solution.
By defining the SocIoS universe of discourse,
we assume that we will manage to capture the
common denominator of the core SNS applications.
This universe can be used at a higher layer by any
service. However, here, we need to make a clear
separation. With this work we do not want to model
the real world concepts that appear in the SNS as a
result of their use. E.g. we are not interested in
concepts that derive from tagging multimedia
content since this involves practically everything.
Various efforts have been put on that aspect with the
most prominent work being the one of (Mika, 2007).
It is obvious that in the frame of an SNS a user can
essentially import and define anything using any
type of description, essentially capturing the whole
world (or a new world for what is worth). Various
crowdsourcing techniques have been proposed for
that purpose and most of the SNS encompass
functionality for meeting this particular objective
(e.g. tagging mechanisms).
Instead we are focusing on conceptual entities
that are manifested in the object models of the
existing SNSs. By using agreed-upon Semantic Web
formats to describe people, content objects, and the
connections that bind them together, SNSs can
interoperate by appealing to common semantics
(Breslin, 2007).
To this end we analyze the existing work in the
area of formal specifications of the SNS domain so
as to investigate if and how there are ontologies that
already capture notions that our approach would like
KEOD2012-InternationalConferenceonKnowledgeEngineeringandOntologyDevelopment
246
to define. As such, perhaps the most relevant
ontology is the Friend of a Friend (FOAF) (http://
www.foaf-project.org/) project the puporse of which
is to allow people define their profile, content and
relationship to other people and contents so as to
interconnect all web resources in a distributed
manner.
Another relevant approach is the Semantically-
Interlinked Online Communities (SIOC) Core
Ontology (Bojārs, 2010) which provides the main
concepts and properties required to describe
information from online communities (e.g., message
boards, wikis, weblogs, etc.) on the Semantic Web
(Berrueta, 2010).
Finally, the Linking Open Descriptions of Events
(LODE) is an ontology for publishing descriptions
of historical events as Linked Data, and for mapping
between other event-related vocabularies and
ontologies (Shaw, 2010). Thus, the compatibility to
SocIoS revolves around the notion of Event and the
interplay between real world and SNS world events.
3 APPLICATION SCENARIOS
DOMAIN CONCEPTS
As a starting point to our analysis, we employ three
application scenarios that stem from real end-user
requirements. One scenario is related to journalism
and the use of SNS users as a source of information
to a multimedia dossier article and two are related to
TV commercial production and particularly to the
use of social media for location scouting and casting
extras. All three applications relate to the
exploitation of abstract social networks created on
the fly based on demographic and social criteria (e.g.
credibility, influences, etc), for finding and
retrieving information in a reliable, timely and cost-
efficient manner. We analyze these applications so
as to define the SocIoS domain of discourse so as to
have a reference conceptual classification of our
universe.
The conceptual analysis of the abovementioned
scenarios leads to the following conclusions:
The SNS user is central to the scenario. Their
activity is important to the end-users who want to
monitor it. SNS users can be classified in groups so
as to allow the end-users better monitor their
activity. However, not all users are equally reliable.
Their reliability is assessed through a rating that is
assigned by other SNS users. Furthermore, the basic
functionality allows journalists to look for
multimedia items which are owned by SNS users.
Multimedia items can steer end-users' interest if they
directly fit to their criteria or if they emerge as
central objects in occasions of intense and unusual
activity, i.e. an event. Typically, an event is taking
place at a location and this affects greatly the
definition of events of interest of the end-users.
Finally, communication between SNS users and end-
users is achieved through the basic communication
channel, which is the message.
Based on this short summary, SocIoS concluded
to the fact that the domain concepts are the
following: User, Activity, Group, Multimedia item,
Event, Location, Reliability and Message.
In what follows, we explain how we formally
capture and extend these notions based on the actual
vocabulary used by the object models of the
underlying SNSs.
4 SNS API ANALYSIS
Conceptually, SocIoS, sees the SNS universe as a
single social network, in which people are socially
connected to each other and the basic social
interaction is the sharing of content (text, visual and
audio). In order to achieve that, it needs to consider
the section of the groups of all the common basic
entities of the underlying SNS. This task by itself is
rather complex given the highly diverse nature of
SNS applications. The entities "living" in them are
generally different with the exception of few basic
ones (like the notion of people).
This Section explains in a practical way what the
main objects in the SNS API domain are which fit to
the descriptions of the domain concepts as they
generated from the SocIoS scenarios. This analysis
is pivotal in the definition of the SocIoS API and the
intermediate ontology.
The objective is to identify the common entities
that appear in the SNS APIs which follow the
semantics of the domain concepts presented above,
define them and understand their relationships. For
that, we used a list of specific SNS APIs. The
selection of these SNS APIs is made according to
criteria such as: SNS Popularity, API Popularity,
Scope, Openness and Maturity.
Following these criteria, we conducted an
analysis of the following APIs: OpenSocial,
Facebook, Twitter, FlickR and Youtube. In these
SNS APIs, there are objects that express notions that
are equivalent to the SocIoS domain concepts,
however, they differ in the naming as well as in the
hierarchy in the formal description (others are first-
class objects, while others are mere object
properties). Therefore the relationship is not always
AnOntologyforSocialNetworkingSitesInteroperability
247
one-to-one, nor the objects are the exact semantic
match.
The analysis resulted to a number of objects in
the selected SNSs that are semantically equivalent to
the abovementioned concepts. These are depicted in
Table 1 (in Appendix) and are: Person, Group,
MediaItem, Message, Activity, Event, Location and
Rating.
A number of conclusions can be extracted from
this analysis. Firstly, not all the concepts are
supported by all the SNS APIs (marked as "N/S").
Secondly, some objects are implicitly related to the
concepts, e.g. a Tweet object is semantically
equivalent to a Message. Furthermore, not all
conceptually similar objects are of the same class
(Location is second-class in OpenSocial, Facebook
and Youtube and first-class in all the rest). Finally,
the notion of Events in the way it is defined in this
document is only existent in Twitter.
Having defined and examined the domain
concepts under an SNS context we can move to the
designing of the SocIoS Core Ontology.
5 SOCIOS CORE ONTOLOGY
From the abovementioned analysis, it is clear that
the method to conceptually model the domain, is a
combination of two efforts: map the underlying SNS
object models into a single point of reference and
model the SocIoS scenarios universe. As seen in
Section 4, other domain concepts can be promoted to
classes, whereas others remain as properties.
Furthermore, the analysis of the objects and their
members also assisted in the identification of the
most prevalent data properties.
Figure 1: Overview of simplified SocIoS ontology.
Given the above we drafted an ontology that
captures the basic context and rules behind the
SocIoS domain that we attempted to record. The
ontology starts by putting Person and MediaItem as
the central entities. Then, it analyzes the relationship
that bind these two entities with the rest of the core
entities. For practical reasons, a new entity is
introduced so as to record the SNS in which a
Person is active, publishing and sharing MediaItems.
The overview of this ontology is presented in Figure
1.
In what follows we present the classes depicted
above along with their properties.
5.1 Person
Properties
connects_to: Other person entities with whom
the person in question shares some kind of
relationship (is a friend, follows, etc).
owns: Photos that are published and owned by
this person.
has_rating: A person has a rating assigned by
other people
belongs_to: The SNS in which the Person
exists
birthday: The birthday of this person.
displayName: The name of this Person,
suitable for display to end-users.
ethnicity: Person's ethnicity.
gender: The gender of this person.
location: Description of a person's location.
name: The complete person's real name.
tags: A user-defined category label for this
person.
5.2 MediaItems
Properties
has_rating: Average rating of the media item
on a scale of 0-10.
created: Creation datetime associated with the
media item.
description: Description of the media item.
duration: For audio/video clips - playtime
length.
last_updated: Update datetime associated with
the media item.
location: Location corresponding to the media
item.
num_comments: Number of comments on the
media item.
num_views: Number of views for the media
item.
num_votes: Number of votes received for
voting.
start_time: For streaming/live content,
datetime when the content is available.
KEOD2012-InternationalConferenceonKnowledgeEngineeringandOntologyDevelopment
248
tagged_people: Array of string (IDs) of people
tagged in the media item.
tags: Tags associated with this media item.
title: Describing the media item.
type: The type of media.
5.3 Activity
Properties
relates_to: MediaItem that may accompany the
activity
has_generator: An activity may be generated or
related to an event
refers_to: The person who triggered the activity
body: Specifying an optional expanded version
of an activity.
publishes: Any photos, videos, or images that
should be associated with the activity.
postedTime: Specifying the time at which this
activity took place.
title: Specifying the primary text of an activity.
5.4 Events
Properties
refers_to: a (physical, social, or mental) object
involved in an event. In SocIoS this is related
to MediaItems or Activity.
atPlace: a named or relatively specified place
that is where an event happened.
atTime: an abstract instant or interval of time
that is when an event happened.
circa: an interval of time that can be precisely
described using calendar dates and clock times.
illustrates: an event illustrated by some thing
(typically a MediaItem object)
location: an abstract region of space (e.g. a
geospatial point or region) that is where an
event happened.
5.5 Messages
Properties
has_recipients: Person entities who receive the
message.
has_sender: The person who sent the message.
body: The main text of the message.
collections: Identifies the messages collection
this message is contained in.
inReplyTo: Use for threaded
comments/messages.
status: Status of the message. (NEW, READ,
DELETED)
timeSent: The time that the message was sent.
subject: The subject of the message.
5.6 Rating
Properties
score: The score that depicts the rating
range: The score range (min, max).
5.7 Group
Properties
has_member: Person entities who are members
of the group.
title: Title of the group.
description: Description of group.
5.8 SNS
The SNS concept captures the notion of the
container in which a typical social network is
manifested for a person and the mediaitems are
shared. Typical examples are Facebook, Twitter,
MySpace, YouTube, FlickR.
Properties
container: The platform SNS, e.g. Facebook,
Twitter, etc.
Relevant Definitions
No equivalent notions in other ontologies.
6 CONCLUSIONS
This document summarizes the procedure and the
results of the conceptualization of the SocIoS
domain as an intermediate step to define the SocIoS
Object Model (API). The analysis starts from the
domain concepts defined by the SocIoS scenarios
and continues with the identification of conceptually
common data specifications from various APIs that
semantically fit to the domain concepts. The result
of this work is captured in the SocIoS core ontology
that is expected to assist the developers to better
comprehend the notions behind the SocIoS object
model and extend it as appropriate.
The ontology permits the extension of the
SocIoS API towards any direction, either for
including new applications or for supporting further
SNS APIs. This flexibility is also crucial in cases of
strong dependence on third parties because it allows
for quick cope with possible changes. Furthermore,
we present how the ontology is linked to semantic
AnOntologyforSocialNetworkingSitesInteroperability
249
web specifications, a fact that adds to the
extendibility of our proposed solution.
ACKNOWLEDGEMENTS
This work has been supported by the SocIoS project
and has been partly funded by the European
Commission's 7th Framework Programme through
theme ICT-2009.1.2: Internet of Services, Software
and Virtualisation under contract no.257774
REFERENCES
OpenSocial Social Data Specification 1.1, available at:
http://opensocial-resources.googlecode.com/svn/spec/
1.1/Social-Data.xml
McGuinness D. L. and van Harmelen F. eds. "OWL Web
Ontology Language Overview," World Wide Web
Consortium (W3C) recommendation, Feb. 2004;
www.w3.org/TR/owl-features.
Mika, P. Ontologies are us: A unified model of social
networks and semantics, Journal of Web Semantics,
Elsevier, Volume 5, Number 1, p.5-15 (2007)
Breslin, J., Decker, S., "The Future of Social Networks on
the Internet: The Need for Semantics," Internet
Computing, IEEE, vol.11, no.6, pp.86-90, Nov.-Dec.
2007
Bojārs U., Breslin J. G., SIOC Core Ontology
Specification, http://rdfs.org/sioc/spec/
Berrueta D., Brickley D., Decker S., Fernández S., Görn
C., Harth A., Heath T., Idehen K., Kjernsmo K., Miles
A., Passant A., Polleres A., Polo L., SIOC Core
Ontology Specification, Uldis Bojārs, John G. Breslin
(eds.), March 25, 2010, available at: http://sioc-
project.org/ontology#term_Item
Shaw R., Troncy R. and Hardman L., LODE: An ontology
for Linking Open Descriptions of Events, July 7, 2010,
available at: http://linkedevents.org/ontology/
Sabater J. and Sierra C., Regret: A reputation model for
gregarious societies. In Proceedings of the Fourth
Workshop on Deception, Fraud and Trust in Agent
Societies,Montreal, Canada, pages 61—69, 2001.
Schillo M., Funk P., and Rovatsos M. Using trust for
detecting deceitful agents in artificial societites. In
Applied Artificial Intelligence, Special Issue on Trust,
Deception and Fraud in Agent Societies, 2000.
Sabater J. and Sierra C., Reputation and social network
analysis in multi-agent systems. In Proceedings of the
first international joint conference on Autonomous
agents and multiagent systems: part 1 (AAMAS '02).
ACM, New York, NY, USA, 475-482, 2002.
APPENDIX
Table 1: Domain concepts and semantically equivalent objects in selected SNS API (N/S stands for "not supported").
Concept
SNS API objects
OpenSocial
Facebook
Twitter
FlickR
Youtube
User
Person
User
Users
people
users
Group
Group
Group and
Friendslist
Lists
groups:members
N/S
MediaItem
MediaItems
Photo and Video
Tweets
photos
media
Message
Message
Message
Tweets and
direct_messages
act
i
v
i
ty:user
C
om
ments
gd:comments
Activity
Activity
N/S
Timeline
activity
activity
Event
N/S
N/S
Trends
N/S
N/S
Reputation
N/S
Review:Rating
Users:suggestions
stats
ratings
Location
Person/
MediaItem:Location
Album:Location
geo
places
yt:location
KEOD2012-InternationalConferenceonKnowledgeEngineeringandOntologyDevelopment
250