[ Design | Development | URI Schema ]

Internal RDF Schema

The Nabu store consists of two RDF models:

  • The actual RDF data, that can be queried from the outside, i.e. logged messages, presence changes and annotations. This part is described in the Ontology section of the user handbook).
  • Internal data, like account settings (e.g. logging enabled/disabled), and privacy policies. This data can't be queried from the outside, and the users will never see the RDF representations. It's only accessible through the requests defined in the Nabu protocol, like e.g. LOGMESSAGES or SHOWPOLICY. This section describes these classes.

The internal classes and properties are in the namespace and are prefixed with "internal" in this document. In the following graphs, they are shown in red color, opposed to the classes and properties from the public part of the Nabu ontology which are in black. For a full reference of the internal RDF schema, see the RDFS.


This graph shows the last policy example from the Log Sharing and Privacy Model handbook section. The policy "friendsWithoutBob" is owned by Alice. It allows access to her "friends" group, and denies it for Bob:

policyName friendsWithoutBob
policyOwner Alice
allowGroup friends
denyAccount Bob

The policy is attached to a message "someMessage" which was sent by Alice. While messages, groups and accounts are part of the public model, the privacy policy itself and all properties like allowGroup, denyAccount and hasPolicy are stored in the internal model.


For every account in the public model, the internal model contains a corresponding AccountSettings instance saving settings related to this account:

This example graph shows the AccountSettings instance of alice@…. It has the following properties:

  • internal:messageLoggingEnabled and internal:presenceLoggingEnabled: Store whether message respectively presence logging are enabled or not. Both default to false.
  • internal:policies link to the privacy policies owned by the account.
  • internal:activePolicy links to the currently active policy. This policy is attached when a presence change or message is logged, as described in Log Sharing and Privacy Settings.
  • internal:lastPresence links to the last logged presence change of the respective account. This makes it fast and easy for the logger to find the last presence and link new presences to it via the nabu:previousPresenceChange property.

[ Design | Development | URI Schema ]

Last modified 12 years ago Last modified on 08/01/05 00:41:09