Online Presence Ontology
Encyclopedia
The OPO is an ontology
Ontology (computer science)
In computer science and information science, an ontology formally represents knowledge as a set of concepts within a domain, and the relationships between those concepts. It can be used to reason about the entities within that domain and may be used to describe the domain.In theory, an ontology is...

 which aims to model the dynamic aspects of a user’s presence online and to enable exchange of the Online Presence data. The creator of the OPO is Milan Stankovic, a young researcher and a member of the GOOD OLD AI Research Network. OPO is mentioned in W3C Social Web Incubator Group final report as one of the vocabularies that support the publishing of Social Web data on the Semantic Web, along with FOAF and SIOC
SIOC
Semantically-Interlinked Online Communities Project is a Semantic Web technology. SIOC provides methods for interconnecting discussion methods such as blogs, forums and mailing lists to each other...

.

Ontology

OPO is a descriptive vocabulary expressed using the Resource Description Framework
Resource Description Framework
The Resource Description Framework is a family of World Wide Web Consortium specifications originally designed as a metadata data model...

 (RDF) and the Web Ontology Language
Web Ontology Language
The Web Ontology Language is a family of knowledge representation languages for authoring ontologies.The languages are characterised by formal semantics and RDF/XML-based serializations for the Semantic Web...

 (OWL). As such, it can be used by machines (software) for manipulating with user's OPO data or doing different analysis of user's online activity, for instance by querying it with an RDF query language
RDF query language
An RDF query language is a computer language able to retrieve and manipulate data stored in Resource Description Framework format.SPARQL is emerging as the de-facto RDF query language, and is a W3C Recommendation. Released as a Candidate Recommendation in April 2006, it returned to Working Draft...

 (e.g. SPARQL
SPARQL
SPARQL is an RDF query language; its name is an acronym that stands for SPARQL Protocol and RDF Query Language. It was made a standard by the RDF Data Access Working Group of the World Wide Web Consortium, and considered as one of the key technologies of semantic web...

).

Ontology Design

The main concept in OPO is the OnlinePresence. It represents a placeholder for all the aspects of a user’s presence in the online world. OnlineStatusComponent represents an abstract component of the OnlinePresence; its subclasses define different dimensions of a user’s presence in the online world and describe the nature of the Online Presence. The Findability stands for a user's willingness to let other users find his/her contact details in public listings. The Notifiability component can be used to declare willingness of a user to receive notifications from applications (on which he/she is logged on), while OnlineStatus represents the IM
Instant messaging
Instant Messaging is a form of real-time direct text-based chatting communication in push mode between two or more people using personal computers or other devices, along with shared clients. The user's text is conveyed over a network, such as the Internet...

 status, used on IM platforms. OnlineStatus in turn, has its own components that enable more precise descriptions of different statuses used by IM platforms. Those components are: Visibility, Activity, Contactability , and Disturbability.

Implementation

Apart from facilitating the integration of online presence data from various sources, OPO can also be beneficial for transferring data from one service to another. A lot of users do copy-paste of their custom messages, for example from gTalk to Facebook
Facebook
Facebook is a social networking service and website launched in February 2004, operated and privately owned by Facebook, Inc. , Facebook has more than 800 million active users. Users must register before using the site, after which they may create a personal profile, add other users as...

 (and vice versa). Likewise, they tend to upload the same avatar
Avatar (computing)
In computing, an avatar is the graphical representation of the user or the user's alter ego or character. It may take either a three-dimensional form, as in games or virtual worlds, or a two-dimensional form as an icon in Internet forums and other online communities. It can also refer to a text...

 on different messengers. This manual work is an annoyance that users can easily be relieved from by introducing a meaningful data exchange protocol between services. The first thing needed to accomplish this goal is a semantic representation of the online presence data which would serve as a basis for developing exchange mechanisms along the ideas outlined by the Data Portability initiative.

The domain where OPO can make a significant contribution is the exchange of user's statuses on various IMs. OPO provides a flexible model for representing the semantics of online statuses thus making their descriptions precise and understandable for the IM platform exchanging them.

Currently different IM platforms use different status scales, and when users from different platforms meet in an inter-platform chat
Online chat
Online chat may refer to any kind of communication over the Internet, that offers an instantaneous transmission of text-based messages from sender to receiver, hence the delay for visual access to the sent message shall not hamper the flow of communications in any of the directions...

 (on services like Meebo
Meebo
Meebo is a social platform connecting users with their friends across the web. It began in 2005 as a browser based instant messaging program which supported multiple IM services, including Yahoo! Messenger, Windows Live Messenger, AIM, ICQ, MySpaceIM, Facebook Chat, Google Talk, CafeMom and...

, Digsby
Digsby
Digsby is a freeware proprietary multiprotocol instant messaging application developed by dotSyntax, LLC. Digsby is written in Python and uses wxPython as its widget toolkit and WebKit for rendering...

, etc.) their original statuses are often lost. This is because currently, users’ online statuses are exchanged over the XMPP
Extensible Messaging and Presence Protocol
Extensible Messaging and Presence Protocol is an open-standard communications protocol for message-oriented middleware based on XML . The protocol was originally named Jabber, and was developed by the Jabber open-source community in 1999 for near-real-time, extensible instant messaging , presence...

 protocol, by mapping them to a semantically very poor status scale used in XMPP. In those mappings the semantics of original statuses is largely reduced. To face this issue OPO allows for precise descriptions of IM status characteristics so that they can be exchanged between platforms with their semantics fully preserved. Thus the OPO serves, in this domain, as a mediator preserving the semantics of online status scales in their exchanges, enabling more precise transfers of data between heterogeneous services.

Example

The following OPO data (written in Turtle
Turtle (syntax)
Turtle is a serialization format for Resource Description Framework graphs. A subset of Tim Berners-Lee and Dan Connolly's Notation3 language, it was defined by Dave Beckett, and is a superset of the minimal N-Triples format. Unlike full N3, Turtle doesn't go beyond RDF's graph model...

 format) describes user 'darthVader' who has posted a new custom message on a Twitter
Twitter
Twitter is an online social networking and microblogging service that enables its users to send and read text-based posts of up to 140 characters, informally known as "tweets".Twitter was created in March 2006 by Jack Dorsey and launched that July...

 microblogging service and another user 'luke' who also posted a custom message which is a reply of darthVader's one.


@base .
@prefix rdf: .
@prefix opo: .
@prefix foaf: .
@prefix sioc: .
darthVaderTwitterAccount rdf:type sioc:UserAccount;

foaf:accountServiceHomepage ;
foaf:accountName "darthVader".
darthVaderStatus rdf:type sioc:Post;

sioc:content "Luke, I am your father.".
darthVaderPresence rdf:type opo:OnlinePresence;

opo:customMessage :darthVaderStatus;
opo:startTime "2008-03-01T18:51:19";
opo:declaredOn :darthVaderTwitterAccount.

opo:declaresOnlinePresence :darthVaderPresence.
lukeTwitterAccount rdf:type sioc:UserAccount;

foaf:accountServiceHomepage ;
foaf:accountName "luke".
lukeStatus rdf:type sioc:Post;

sioc:content "No... No! That's not true! That's impossible!";
sioc:reply_of :darthVaderStatus.
lukePresence rdf:type opo:OnlinePresence;

opo:customMessage :lukeStatus;
opo:startTime "2008-03-01T18:51:49";
opo:declaredOn :lukeTwitterAccount.

opo:declaresOnlinePresence :lukePresence.


OPO and FOAF

For deeper understanding of OPO and the notion of online presence itself, a comparison to FOAF might be useful. It is very important to distinguish the static and more persistent users online properties modeled by FOAF (like name, gender, homepage, etc.) from frequently changing properties addressed by the OPO (like activities, custom message and IM status). The OPO is actually meant for representing dynamic aspects of user's profiles, and it could be said that it complements FOAF in a way. Therefore, it is quite natural that OPO is connected to FOAF through some properties (e.g. agent).

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK