- Information to Semantically Enable Your Systems
Introduction to the Ontobroker System
The ontoprise ontobroker system is a main memory deductive, object oriented database system. It provides compilers for different languages to describe ontologies, rules and facts. Ontobroker may be used in three different ways: i) it may be used as a separate application which reads input files containing facts, rules and queries, which then evaluates the queries and finally prints the answer s, ii) it may be used as a server which reads input files containing facts and rules and which then evaluates queries sent to the server and sends the results back and iii) it may be used as a library for integrating inferencing services in own applications. For the last point it is important that ontobroker is entirely written in Java and that there exists a well documented small API to the internal data model and to methods to generate facts and rules and to evaluate queries.
Ontobroker may be seen as a middle ware run time system to provide an information delivering base for intranet and extranet applications, for knowledge management systems for e-commerce systems and in general for intelligent applications. Ontobroker integrates the access to different information sources like databases, keyword based search engines etc. It reads various input formats like EXCEL, XML, RDF, DAML+OIL, F-Logic, Prolog. Thus it provides a homogeneous access to an inhomogeneous set of information sources and input formats.
Ontobroker is normally accomplied by a set of other tools. The ontoprise OntoEdit is an interactive editor to define ontologies, describe nstances, define rules etc. OntoEdit may be configured with a light-wight version of our inference engine to support the development and debugging of rules. OntoCollect is a tool to annotate documents. These annotations may be used to acquire facts out of the documents or to have a template to acquire facts from other similarily structured documents. This may be used as a wrapper to repeatedly acquire actual information out of the web.
Ontobroker Connection to Zope/Python
Ontobroker may be accessed from the web- and application-server Zope using an External Python script. For the connection you can use the “ontobroker_client.py” script. It consist of a core class named “Client”. It also supports you with a function named “query(q, h, p)”, where the q,h,p stands for query, host, and port respectively. The second function named “makeSearchList(q, h, p)” separates the query strings and puts them into a list.
A simple way of testing is putting these three lines in a script:
list = ontobroker_client.query("FORALL X,Y <- X::Y.", "localhost", 1234)
for item in list: print item
You may have to correct the host and/or the port. You can add further functions, specialised for your purpose of use and access them from within Zope by adding an External Method which calls the required function.