/usr/share/gtk-doc/html/ontology/nmo-ontology.html is in libtracker-sparql-doc 1.6.2-0ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Nepomuk Messaging Ontology (NMO): Model for messages and communications, including Email, SMS, MMS and phone calls: Tracker Ontology Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="Tracker Ontology Reference Manual">
<link rel="up" href="ontology.html" title="Part II. Ontology">
<link rel="prev" href="nco-Contact.html" title="nco:Contact">
<link rel="next" href="nmo-classes.html" title="NMO Ontology Classes">
<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ontology.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="nco-Contact.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="nmo-classes.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="chapter">
<div class="titlepage"><div><div><h2 class="title">
<a name="nmo-ontology"></a>Nepomuk Messaging Ontology (NMO): Model for messages and communications, including Email, SMS, MMS and phone calls</h2></div></div></div>
<div class="toc"><dl class="toc">
<dt><span class="section"><a href="nmo-ontology.html#nmo-explanation">Overview</a></span></dt>
<dt><span class="section"><a href="nmo-classes.html">NMO Ontology Classes</a></span></dt>
<dd><dl>
<dt>
<span class="refentrytitle"><a href="nmo-IMMessage.html">nmo:IMMessage</a></span><span class="refpurpose"></span>
</dt>
<dt>
<span class="refentrytitle"><a href="nmo-Email.html">nmo:Email</a></span><span class="refpurpose"></span>
</dt>
<dt>
<span class="refentrytitle"><a href="nmo-PermanentChannel.html">nmo:PermanentChannel</a></span><span class="refpurpose"></span>
</dt>
<dt>
<span class="refentrytitle"><a href="nmo-Attachment.html">nmo:Attachment</a></span><span class="refpurpose"></span>
</dt>
<dt>
<span class="refentrytitle"><a href="nmo-MMSMessage.html">nmo:MMSMessage</a></span><span class="refpurpose"></span>
</dt>
<dt>
<span class="refentrytitle"><a href="nmo-MimePart.html">nmo:MimePart</a></span><span class="refpurpose"></span>
</dt>
<dt>
<span class="refentrytitle"><a href="nmo-VOIPCall.html">nmo:VOIPCall</a></span><span class="refpurpose"></span>
</dt>
<dt>
<span class="refentrytitle"><a href="nmo-Call.html">nmo:Call</a></span><span class="refpurpose"></span>
</dt>
<dt>
<span class="refentrytitle"><a href="nmo-MessageHeader.html">nmo:MessageHeader</a></span><span class="refpurpose"></span>
</dt>
<dt>
<span class="refentrytitle"><a href="nmo-Multipart.html">nmo:Multipart</a></span><span class="refpurpose"></span>
</dt>
<dt>
<span class="refentrytitle"><a href="nmo-Message.html">nmo:Message</a></span><span class="refpurpose"></span>
</dt>
<dt>
<span class="refentrytitle"><a href="nmo-MailAccount.html">nmo:MailAccount</a></span><span class="refpurpose"></span>
</dt>
<dt>
<span class="refentrytitle"><a href="nmo-TransientChannel.html">nmo:TransientChannel</a></span><span class="refpurpose"></span>
</dt>
<dt>
<span class="refentrytitle"><a href="nmo-Conversation.html">nmo:Conversation</a></span><span class="refpurpose"></span>
</dt>
<dt>
<span class="refentrytitle"><a href="nmo-CommunicationChannel.html">nmo:CommunicationChannel</a></span><span class="refpurpose"></span>
</dt>
<dt>
<span class="refentrytitle"><a href="nmo-PhoneMessageFolder.html">nmo:PhoneMessageFolder</a></span><span class="refpurpose"></span>
</dt>
<dt>
<span class="refentrytitle"><a href="nmo-MailboxDataObject.html">nmo:MailboxDataObject</a></span><span class="refpurpose"></span>
</dt>
<dt>
<span class="refentrytitle"><a href="nmo-SMSMessage.html">nmo:SMSMessage</a></span><span class="refpurpose"></span>
</dt>
<dt>
<span class="refentrytitle"><a href="nmo-PhoneMessage.html">nmo:PhoneMessage</a></span><span class="refpurpose"></span>
</dt>
<dt>
<span class="refentrytitle"><a href="nmo-ReportReadStatus.html">nmo:ReportReadStatus</a></span><span class="refpurpose"></span>
</dt>
<dt>
<span class="refentrytitle"><a href="nmo-MailFolder.html">nmo:MailFolder</a></span><span class="refpurpose"></span>
</dt>
<dt>
<span class="refentrytitle"><a href="nmo-DeliveryStatus.html">nmo:DeliveryStatus</a></span><span class="refpurpose"></span>
</dt>
</dl></dd>
</dl></div>
<dt><span class="term">Authors:</span></dt>
<dd><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">Tracker Developers</li>
<li class="listitem">Ludger van Elst, DFKI, <elst@dfki.uni-kl.de></li>
<li class="listitem">Michael Sintek, DFKI, <michael.sintek@dfki.de></li>
<li class="listitem">Leo Sauermann, DFKI, <leo.sauermann@dfki.de></li>
<li class="listitem">Antoni Mylka, DFKI, <antoni.mylka@dfki.de></li>
</ul></div></dd>
<dt><span class="term">Editors:</span></dt>
<dd><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">Antoni Mylka, DFKI, <antoni.mylka@dfki.de></li>
<li class="listitem">Tracker developers (translation into turtle)</li>
</ul></div></dd>
<dt><span class="term">Contributors:</span></dt>
<dd><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">Christiaan Fluit, Aduna, <christiaan.fluit@aduna-software.com></li>
<li class="listitem">Evgeny 'phreedom' Egorochkin, KDE Strigi Developer, <stexx@mail.ru></li>
</ul></div></dd>
<dt><span class="term">Upstream:</span></dt>
<dd><p><a class="ulink" href="http://www.semanticdesktop.org/ontologies/nmo/" target="_top">Upstream version</a></p></dd>
<dt><span class="term">ChangeLog:</span></dt>
<dd><p><a class="ulink" href="http://git.gnome.org/cgit/tracker/log/data/ontologies/34-nmo.ontology" target="_top">Tracker changes</a></p></dd>
<dt><span class="term">Copyright:</span></dt>
<dd><p>© 2007 <a class="ulink" href="http://www.dfki.de/" target="_top">DFKI</a> © 2009 <a class="ulink" href="http://www.nokia.com/" target="_top">Nokia</a>. The ontologies are made available under the terms of NEPOMUK <a class="ulink" href="http://www.semanticdesktop.org/ontologies/nfo/LICENSE.txt" target="_top">software license</a> (FIXME verify)</p></dd>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="nmo-explanation"></a>Overview</h2></div></div></div>
<div class="sect2">
<div class="titlepage"><div><div><h3 class="title">
<a name="nmo-introduction"></a>Introduction</h3></div></div></div>
<p>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 <a class="ulink" href="http://maemo.nokia.com" target="_top">Maemo</a>.</p>
<p>The messaging domain is too wide to be explained in one shot. For that reason, it has been splitted in few smaller pieces easier to grasp: the Message class (the core of the whole representation), the <a class="link" href="nmo-ontology.html#nmo-conversation-representation" title="Conversations">conversation representation</a>, the translation of an <a class="link" href="nmo-ontology.html#nmo-email-domain" title="Email domain">email</a> to Nepomuk terms, and finally <a class="link" href="nmo-ontology.html#nmo-sms-domain" title="SMS domain">SMS</a> and <a class="link" href="nmo-ontology.html#nmo-mms-domain" title="MMS Messages">MMS</a> representation.</p>
</div>
<div class="sect2">
<div class="titlepage"><div><div><h3 class="title">
<a name="nmo-message-core-class"></a>The Message class</h3></div></div></div>
<p>The <a class="link" href="nmo-Message.html" title="nmo:Message">nmo:Message</a> class is the common superclass for Emails, SMS, IM Messages, MMS (in NMO domain) and even Feed messages (defined in <a class="link" href="mfo-ontology.html#mfo-explanation" title="Overview">MFO ontology</a>). As such, it has the common properties for a 'Message' as an meaningful item in a communication: sender and receiver of the message, sent/received time, status of the message (read, answered and so on). It is a subclass of <a class="link" href="nie-InformationElement.html" title="nie:InformationElement">nie:InformationElement</a> and from there inherits the nie:plainTextContent property (which, as its name states, contains the text of the message).
</p>
<p>Few considerations from practical point of view:</p>
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem"><p> nmo:to and nmo:from should be set always, and there is a predefined instance in NCO for the "me" contact.</p></li>
<li class="listitem"><p> nmo:isSent should be used to indicate the direction of the message. This helps with the performance of queries to build a conversation view.</p></li>
<li class="listitem"><p> Even when there is a <a class="link" href="nmo-MessageHeader.html" title="nmo:MessageHeader">nmo:MessageHeader</a> class that can store any arbitrary pair of key-values, its use must be as limited as possible. It is there to store the specific headers in the messages (mainly email) that cannot be completely represented in the ontology. Handle those headers in queries is a performance bottleneck that should be avoided in general.</p></li>
</ol></div>
</div>
<div class="sect2">
<div class="titlepage"><div><div><h3 class="title">
<a name="nmo-conversation-representation"></a>Conversations</h3></div></div></div>
<p>The dialog between two contacts could be considered a list of messages sorted by time, but that representation is too simplistic. Two contacts can keep a simultaneous communication in two channels (e.g. IM and IRC), and the concept of conversation, a communication with a beginning and end is also important to sort the information in the UI.</p>
<p>The ontology provides a <a class="link" href="nmo-CommunicationChannel.html" title="nmo:CommunicationChannel">nmo:CommunicationChannel</a> class, which groups all messages between a certain set of contacts (linked via nmo:hasParticipant property). The communication channel can be transient (an ad-hoc conversation in IM represented in the subclass <a class="link" href="nmo-TransientChannel.html" title="nmo:TransientChannel">nmo:TransientChannel</a>) or permanent (a well-known IRC channel would be an instance of <a class="link" href="nmo-PermanentChannel.html" title="nmo:PermanentChannel">nmo:PermanentChannel</a> ). Every time 'me' talks with an specific contact, the communication channel should be the same. It identifies somehow the whole list of messages between a set of participants.</p>
<p>There is a second important class, <a class="link" href="nmo-Conversation.html" title="nmo:Conversation">nmo:Conversation</a> to group messages delimited in a time frame. Every time a IM dialog is open (e.g. a window talking with a certain contact) a new instance of <a class="link" href="nmo-Conversation.html" title="nmo:Conversation">nmo:Conversation</a> is created.</p>
</div>
<div class="sect2">
<div class="titlepage"><div><div><h3 class="title">
<a name="nmo-email-domain"></a>Email domain</h3></div></div></div>
<p>The users usually see an Email as a flat Message, with some thread information and maybe 'attachments' in it, but in fact internally an Email message is a tree with a special root node (the envelope) that links to other nodes called MIME parts. This MIME parts can be plain text (for instance the content of the email that the user read) or binary blobs (like a document attached to the message). When a message is forwarded, the previous envelope (the root node of the original message) becomes just a mime part of the forwarded email.</p>
<p>The ontology represents completely that email tree. The Envelope, root node or more external representation of the Email is the basic <a class="link" href="nmo-Email.html" title="nmo:Email">nmo:Email</a> class, subclass of Message. Every node in the tree is always a <a class="link" href="nmo-MimePart.html" title="nmo:MimePart">nmo:MimePart</a> with the required properties to decode the content (mimetype, encoding, boundaries). When the node is internal, then it is also instance of nmo:MultiPart so it can use the nie:hasPart property to link other nodes. The leaf nodes can be instances of specific content classes (besides <a class="link" href="nmo-MimePart.html" title="nmo:MimePart">nmo:MimePart</a>). For example, an MP3 embedded in an Email, will be represented as an instance nmo:MimePart <span class="emphasis"><em>and</em></span> <a class="link" href="nmm-MusicPiece.html" title="nmm:MusicPiece">nmm:MusicPiece</a>. </p>
<p>For more detailed (and highly technical) explanation of the email representation in general and this example in concrete, please check <a class="ulink" href="http://live.gnome.org/Tracker/Documentation/Examples/SPARQL/Email" target="_top">this wiki page</a></p>
</div>
<div class="sect2">
<div class="titlepage"><div><div><h3 class="title">
<a name="nmo-sms-domain"></a>SMS domain</h3></div></div></div>
<p>We have a new subclass of message to represent a SMS Message. It is worth to remark that we are talking about a <span class="emphasis"><em>simple</em></span> text message. Things like MMS are more complex (more similar to an email than a simple message), and will have their own classes.
</p>
<p>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:
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">A <a class="link" href="nmo-SMSMessage.html" title="nmo:SMSMessage">nmo:SMSMessage</a> instance to represent the message itself</li>
<li class="listitem">
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).</li>
<li class="listitem">For some implementations, is useful 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</li>
<li class="listitem">
nmo:plainTextContent inherited from <a class="link" href="nie-InformationElement.html" title="nie:InformationElement">nie:InformationElement</a> for the content.</li>
<li class="listitem">
nmo:containsSMS property will link the message with the relevant nmo:SMSFolder.</li>
<li class="listitem">If needed, language and characterSet are inherited from NIE (nie:language, nie:characterSet), but there is a specific nmo:encoding property.</li>
<li class="listitem">Note that nmo:SMSMessage is a subclass of <a class="link" href="nmo-Message.html" title="nmo:Message">nmo:Message</a> and inherits all its properties, including nmo:isDeleted
</li>
</ul></div>
<p>Here is an example of an SMS Message in Tracker/Nepomuk: </p>
<pre class="programlisting">
# 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:plainTextContent "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>
</pre>
</div>
<div class="sect2">
<div class="titlepage"><div><div><h3 class="title">
<a name="nmo-mms-domain"></a>MMS Messages</h3></div></div></div>
<p>Bascially MMS messages has the structure of Email messages with an SMS envelope. This is exactly how they are represented in the ontology, with an specific class <a class="link" href="nmo-MMSMessage.html" title="nmo:MMSMessage">nmo:MMSMessage</a> that inherits from SMS (to get the folders properties) and from <a class="link" href="nmo-Email.html" title="nmo:Email">nmo:Email</a> (to use the Multipart/MimePart structure). Please refer to the SMS and Email documentation for more details.</p>
</div>
<div class="sect2">
<div class="titlepage"><div><div><h3 class="title">
<a name="nmo-call-domain"></a>Call domain</h3></div></div></div>
<p>Voice calls are considered messages in the ontology. A call is a communication item between two contacts (therefore a Message with to/from properties) with an extra property nmo:duration. Each call is represented as an instance of <a class="link" href="nmo-Call.html" title="nmo:Call">nmo:Call</a> class. There is also a <a class="link" href="nmo-VOIPCall.html" title="nmo:VOIPCall">nmo:VOIPCall</a> class (subclass of <a class="link" href="nmo-Call.html" title="nmo:Call">nmo:Call</a>) for VOIP communications (e.g. Skype, GTalk,...). </p>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.24</div>
</body>
</html>
|