Version 12 (modified by anonymous, 16 years ago) (diff)


[ Development | Internal Ontology ]


Nabu is implemented as Jive Messenger plugin. The following graph shows the top-level components of Nabu:

(TODO: graph)

The central component of Nabu is Archive. Archive contains the RDF model, consisting of the public model, that stores the conversation logs and can be accessed from outside, and an internal model, managing internal configuration data, privacy policies etc. Nabu uses Jena for RDF handling, graphs are stored persistently in a database, where the database backend is fully encapsulated by Jena.

Archive is accessed in two ways:

  • Logging: the plugin intercepts XMPP messages, converts them to RDF and stores them in Archive. This id done by the Logger component. The logger component simply takes the message, checks whether logging is enabled and if so, adds the RDF message to the RDF graph.
  • User requests like search queries are executed on the RDF graph. This is done by the RequestExecutor interface. It takes parsed requests as request objects executes them, and returns a response oject.

The Nabu Bot component is the interface between the users and the interface. It parses user requests as defined in the Nabu protocol, creates request objects and passes them to the request executor. It takes the corresponding responses, encodes them in a string and sends them back to the requestors.