Editing Oracle 11g RDF Rules in TopBraid
Oracle has been supporting native RDF/OWL support since version 10g of their database. Now in its second release as 11g, Oracle has become a very serious option for projects that operate on large amounts of data. Many of our own customers already have Oracle installed in their enterprise and trust the infrastructure that Oracle provides. However, Oracle does not yet offer complete solutions that would also involve ontology editors, rule editors, semantic data browsers, semantic information integration tools, etc. This is where TopBraid Suite is well established, so that using TopBraid on top of Oracle is an attractive option. In fact, in the last couple of months, the majority of our customers has explicitly asked for this combination.
In response to this increasing interest in using Oracle in conjunction with TopBraid, we have added some native Oracle capabilities to our platform, based on the Oracle Jena API for the connection. In particular, TopBraid Composer 2.5.1 includes a feature to edit user-defined native Oracle rules, and to run server-side inferences. The following screenshot shows TopBraid's basic Oracle rules editor.
With this rule editing support, TopBraid users can select one or more user-defined rule bases and also combine them with the pre-defined Oracle rule sets RDFS, RDFS++, OWLSIF and OWLPRIME. The rule language supported by Oracle includes triple patterns. This is enough for the most common needs like the infamous "uncle" relationship which goes beyond the expressivity of OWL.
The major difference between using Oracle's native rule support and any of the other inference engines built into TopBraid is that Oracle rules are executed server-side. This makes execution significantly faster than executing them inside a TopBraid client. This is because if the rules were executed in TopBraid, then the rule engine would need to fetch lots of query results from the database, process the results and then continue with the next loop. Native Oracle avoids this communication overhead. Furthermore, Oracle rules are executed incrementally on each database commit, making it easier to maintain up-to-date inferences. There are several disadvantages though as well: TopBraid cannot distinguish inferred triples from asserted triples (at least not yet), making it for example unclear which triples can be deleted or not. A more critical limitation though is that the rules operating on Oracle would not "see" any imported triples, or triples that were inferred in other ways. This favors scenarios in which all RDF data can reside in a single Oracle model.
By the way, TopBraid Composer now also has features to execute arbitrary SQL commands and SELECT queries directly on the Oracle database, displaying the results in a console together with other status reports. With these capabilities, TopBraid Composer can be used to set up and maintain Oracle databases including rule bases, so that the Oracle database can be accessed in the desired way by end-user applications (such as TopBraid Live or Ensemble). In a sense, in addition to all its other Semantic Web features, TopBraid is becoming an admin tool for Oracle RDF...