OPO: modelling dynamic online presence
At Talis, we’re very interested in the development of the Semantic Web, and we’re always happy when other members of this space share what they’re doing with us. I was contacted a couple weeks ago by Milan Stankovic, a member of the Good Old Ai research from Belgrade. He’s been working on the OPO (Online Presence Ontology), which aims to model the dynamic aspects of a user’s presence online: taking a leaf out of twitter’s book, but tying it in semantically with the rest of the web. I’ve asked him to share a bit about their project with us.
So, Milan, what is “online presence”, and in what way is it “dynamic”?
I think that expansion of socialising services, like social networks, Twitter, lifestreaming services, etc. has significantly changed the way we socialize. When our friends publish custom messages on social networks, send tweets or set their IM statuses, we become more aware of their current activities and thoughts. When we assemble all that information we get a rich image of their presence in the online world.
Since the data that forms this image is spread over different services (and often repeated) we came up with the idea that it could be useful to make a model for its semantic representation and meaningful exchange. So we created an ontology – the Online Presence Ontology (OPO) to enable the integration of those pieces of information about a user’s online presence. Apart from that, OPO also enables the transfer of online presence related data from one service to another without the loss of semantics.
We believe that with the expansion of internet-enabled mobile devices, as users are more and more online, the topic of online presence will gain even more importance. Maybe even new ways to express your state of being present online will arise in this context. For this reason we did our best to make OPO flexible and extensible enough to survive the evolution of the online presence concept itself.
So, does this have anything to do with the already-existing FOAF ontology?
For understanding OPO and the notion of online presence itself, a comparison to FOAF might be essential. It is very important to distinguish the static and more persistent properties modeled by FOAF (like name, gender, homepage, etc.) from frequently changing properties addressed by the OPO (like custom message and IM status). The OPO is actually meant for representing dynamic aspects of user profiles, and we may say that it complements FOAF in a way. It is therefore quite natural that OPO is connected to FOAF trough some properties.
How do you see this actually being implemented?
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. I personally know users who copy-paste their custom messages from gTalk to Facebook. This manual work is an annoyance we can easily relieve users from by introducing a meaningful data exchange between services. The first thing we need is a semantic representation and then the exchange mechanisms can be built on top of the ideas outlined by the Data Portability initiative.
The domain where we consider OPO’s contribution to be of greatest importance is the exchange of IM statuses. Currently different IM platforms use different status scales, and when users from different platforms meet in inter-platform chat (on services like Meebo, Digsby, etc.) their statuses are exchanged over XMPP protocol by mapping them all to a very poor status scale used in XMPP. In those mappings the semantics of original statuses is largely reduced. To face this issue OPO allows precise descriptions of IM status characteristics so that they can be meaningfully exchanged between platforms.
So, where are you taking this next?
We are currently working to extend the ontology with new features. One of the improvements will be the ability to add geographical location to your Online Presence. This will support travel twitting and will have its applications in recently emerged location based social networks.
Another interesting extension will be the support for describing current music track that users sometimes state on IM platforms. Compared to the existing possibility to see the name of the song my IM contacts are listening to, semantic representation of music should bring the functionality to a higher level, by allowing IM programs to find and let me play that music. The infrastructure for this is already provided by the Music Ontology project as well as DBTune; we just have to connect it with OPO.
We will soon put this new version of the ontology for public review on the project website and we hope to get community comments and attract the community to participate in making the ontology even more usable.
In parallel we are working on plugins for some social networks and IM programs in order to bring the enabled interoperability to life.
Thanks, Milan.
If you’d like to check out the ontology yourself, or to read more about it, you can find it here:
OPO Website : http://www.milanstankovic.org/opo/
OPO URI : http://ggg.milanstankovic.org/opo/ns/













