Skip to Content

OPOS - Online Presence Ontology Server

Posted in

Online Presence Ontology Server

OPOS is intended for enabling integration and interchange of Online Presence Ontology (OPO) data between different applications. It allows user to specify which Social Networks (SNs) and Instant Messengers (IMs) he/she uses and wants to be synchronized. Further on, we will refer to the SNs and IMs simply as Social Services.

In order to ease the manipulation with OPO data within Java applications, we have created jOPO, a Java library built on top of the Jenabean framework. jOPO's structure corresponds to the structure of the Online Presence Ontology and it is also intended for Java developers who are less familiar with Semantic Web technologies, but want to work with OPO data.

This application uses a dedicated RDF repository for storing OPO data, named OPO Data Repository. In order for other applications to be able to get access to this data, a SPARQL endpoint and RESTful services are established. Regarding these features, a special focus will be put on the privacy of users’ data.

OPOS is composed of several components, which will be described in details.

For OPOS to be able to communicate with different Social Services, appropriate Service mediators are introduced. Service mediators are software components which communicate with a specific service's API. With given permissions from a user, they can access user's data on his/her profile on that Service and generate OPO data. The data Mediator pulls from the Service is being sent to the OPOS Core. Also, the role of the Service mediators is to receive the data from the OPOS Core and to update user's profile on the Service with that data.

It is very likely that not all Services are going to support all the information described with OPO ontology. Also, different Services have different APIs for accessing user's data. This requires that for each Service a specific Mediator needs to be built, designed specifically for communicating with that particular Service.

OPOS Core is a central component of the OPOS application. It manages profiles of the users registered on this application. Also, it is aware of which Services user has registered for OPO data exchange. OPOS Core is in charge of receiving OPO data coming from Mediators and sending appropriate portions of that data to other Mediators. This works as follows: When Mediator sends the OPO data to the OPOS Core, OPOS Core first stores that data to the OPO Data Repository (only if user has agreed to make his OPO data publicly available). Then it looks up in its internal database which Services user has registered to be updated. Based on that information, OPOS Core sends appropriate portions of the OPO data to the appropriate Mediators (depending on what data it supports).

OPOS source code can be found at