## NMO Ontology

Authors:
  - Tracker Developers
  - Ludger van Elst, DFKI, <elst@dfki.uni-kl.de>
  - Michael Sintek, DFKI, <michael.sintek@dfki.de>
  - Leo Sauermann, DFKI, <leo.sauermann@dfki.de>
  - Antoni Mylka, DFKI, <antoni.mylka@dfki.de>
Editors:
  - Antoni Mylka, DFKI, <antoni.mylka@dfki.de>
  - Tracker developers (translation into turtle)
Contributors:
  - Christiaan Fluit, Aduna, <christiaan.fluit@aduna-software.com>
  - Evgeny 'phreedom' Egorochkin, KDE Strigi Developer, <stexx@mail.ru>
Upstream:

  Not available

ChangeLog:

  Tracker changes

Copyright:

  © 2007 DFKI © 2009 Nokia. The ontologies are made available under the terms of NEPOMUK software license (FIXME verify)

## Overview

### Introduction

NEPOMUK Message Ontology extends the NEPOMUK Information Element framework into the domain of messages. This ontology has been heavily extended by Tracker team to include real support for Emails, IM Accounts, SMS and Calls relevant in environments like Maemo.

### Email domain

This complex issues is explained in great details in this wiki page

FIXME add a diagram of the Email classes and main properties

### SMS domain

We have a new subclass of message to represent a SMS Message. It is worth to remark that we are talking about a simple text message. Things like MMS are more complex (more similar to an email than a simple message), and will have their own classes.

An SMS Message comes from the network in vmessage format and contains to/from recipients in vcards. It is represented in the ontology with the following properties:

- A nmo:SMSMessage instance to represent the message itself
- nmo:to and nmo:from linking the contacts (one of them "me", the other a nco:Contact or even a nco:PersonContact if the software is able to identify him).
- For some implementations, is usefull to save the original vcards. For that nmo:fromVCard and nmo:toVCard properties can be used. Those properties point to files in the file system with the vcards
- nmo:plainTextMessageContent inherited from nmo:Message for the content.
- nmo:containsSMS property will link the message with the relevant nmo:SMSFolder.
- If needed, language and characterSet are inherited from NIE (nie:language, nie:characterSet), but there is a specific nmo:encoding property.
- Note that nmo:SMSMessage is a subclass of nmo:Message and inherits all its properties, including nmo:isDeleted

Here is an example of an SMS Message in Tracker/Nepomuk:

     # There are some predefined folder for SMS, like
     #    nmo:default-sms-folder-inbox
     #
     # We also know the 'to' uri from a previous query

     # File containing the 'to' vcard
     <file:///home/user/.sms/vcards/123098.vcard> a nfo:FileDataObject

     <test://1> a nmo:SMSMessage ;
            nmo:from <nco:default-contact-me> ;
            nmo:to  <urn:uuid:here-some-uri-of-a-contact> ;
            nmo:plainTextMessageContent "Forgot the keys. Are you at home?" ;
            nie:characterSet "utf-8" ;
            nmo:toVCard <file:///home/user/.sms/vcards/123098.vcard> ;
            nmo:isDeleted false .

     <nmo:default-sms-folder-inbox> nmo:containsSMS  <test://1>

### Call domain

FIXME Explain call and VoIP call classes