The XSB - Oracle interface provides the programmer with two levels of interaction. The first, relation level interface, offers a tuple-at-a-time retrieval of information from the Oracle tables. The second, view level interface, can translate an entire Prolog clause into a single SQL query to the Oracle, including joins and aggregate operations.
This interface allows Oracle tables to be accessed from XSB's environment as though they existed as facts. All database accesses are done on the fly allowing XSB to sit alongside other concurrent tasks.
Our interface gives an Oracle programmer all the features of Prolog as a query language including intensional database specification, recursion, the ability to deal with incomplete knowledge, inference control through the cut operation, and the representation of negative knowledge through negation.