[ Internal RDF Schema | Development | Implementation ]
URI Schema
This section describes the URI schema used for the logged RDF data. Every instance is prefixed with ${instanceprefix}, making the URIs unique. The instance prefix must be set in the Nabu Configuration.
Note: The URI schema is for internal use in the server only. You should not rely on the URI schema when processing RDF received by Nabu but use the properties linked to the resources. E.g. do not parse the date from the URI but read the nabu:datetime property!
Time Stamps
Time stamps are YYYYMMDD-hhmmss.fff (f for milliseconds)
Example: 20050416-221603.042 = 04/16/2005, 22:16:03.042
Account
Schema:
Accounts/$DOMAIN/$NODE
Example: frank79@… ==> Accounts/jabber.fsinf.de/frank79
Room
P2PRoom
Schema:
${instanceprefix}/P2PRooms/$ACCOUNT1/$ACCOUNT2
Accounts are ordered alphabetically (ascending):
P2PRooms/jabber.fsinf.de/frank79/serv-3100.dfki.de/schwarz
is the P2P room of frank79@… and schwarz@…. frank79@… is listed first, as jabber.fsinf.de < serv-3100.dfki.de
P2PRooms/jabber.fsinf.de/admin/jabber.fsinf.de/frank79
is the room of frank79@… and admin@…. admin@… is listed first, as the domain is equal and admin < frank79.
MUCRoom
Schema:
${instanceprefix}/MUCRooms/$DOMAIN/$ROOMNAME
For example, the room "support@…" has the URI /MUCRooms/jabber.foo.org/support.
Message
Schema:
${instanceprefix}/Messages/$ROOM/$TIMESTAMP
Example: A message sent by frank79@… to schwarz@… (or vice versa) on July 16th 2005, 22:16:03.042 has the URI:
Messages/jabber.fsinf.de/frank79/serv-3100.dfki.de/schwarz/20050716-221603.042
It is assumed that Nabu processes not more than one message per milli-second.
PresenceChange
Schema:
${instanceprefix}/PresenceChanges/$ACCOUNT/$TIMESTAMP
Example: A presence change of frank79@… on July 16th 2005, 22:16:03.042: PresenceChanges/jabber.fsinf.de/frank79/20050716-221603.042