OPO : Online Presence Ontology를 소개해보려고 합니다.

eab7b8eba6bc-2

OPO : The Online Presence Ontology는 온라인상에서 사용자들의 존재(presence)에 대한 정보를 서술하기 위한 Concepts과 Properties를 제공합니다. 즉, 온라인상에서 사용자의 존재(presence)와 관련되어 있는 모든 데이터들에 대한 의미적인 설명과 어플리케이션간의 상호교환이 가능하게끔 해주는데 그 목적이 있습니다.

예를들어, Instant Messaging Tool을 생각해보면,

eab7b8eba6bc-5

온라인 상에서의 나의 상태 정보(Online Status), 나의 연락처(contacts), 나의 activity(노래를 듣고 있군요), 내가 메세지를 수신할지 말지, 그리고 나를 나타내고 있는 이미지(아바타)등이 나타나고 있는데, OPO는 이러한 정보를 의미적으로 표현해주게 됩니다. – OPO의 구조는 FOAF와 SIOC와 결합되어 사용할 수 있습니다.

OPO의 핵심 Classes 들은 아래의 그림과 같이 설명될 수 있습니다.

eab7b8eba6bc-1
(클릭하시면, 크게 보실 수 있습니다.)

상세한 classes와 properties는 OPO Specification을 참조하시면 됩니다.

이제 간단한 예제를 살펴보도록 하겠습니다.

eab7b8eba6bc-6

이 예제는 milstan이 자신의 online presence를 나타내고 있습니다.

이 예제의 Online Presence는,

foaf:Agent로 정의된 리소스 – 여기서는 간단하게 milstan 이라 하죠 – milstan은 어플리케이션으로 부터 notifications을 받을 수 있으며(ALLNotificationsPass), 웹상의 누구라도 contact정보를 찾을 수 있습니다.(PubliclyFindable).

그리고 “singing in the rain”라고 자신의 StatusMessage를 표현하고 있으며, 이 agent는 시스템에서 활동하고 있으며(Active), 웹상의 누구라도 연락할 수 있으며(FreelyContactable), 다른 agent와도 contact할 수 있고(Available), agent의 온라인 상태가 다른 agent에 보이게 됩니다.(Visible). 이와 같이 정의함으로써 이 예제의 온라인 상태는 – SkypeMe mode에 해당하는 – IM status에 사용될 수 있습니다.

OPO Project의 다른 예제 – 예를들면, fb나 tweet등의 status에 대한 표현등. – 는 여기서 확인하실 수 있습니다.

사용자의 온라인 상태를 어떤 어플리케이션을 사용하던간에 동일하게 보여줄 수 있을 것 같다는 생각이 들어 매우 재미있어 보이는 Project 입니다. 예를들어, 내가 어떤 노래를 들고 있는데, 이 상태가 메신저뿐만 아니라, twitter, facebook에도 나타나게 되면, 나름대로 재미있지 않을까요?