next up previous
Next: Terrance Swift Up: Statements of the panelists Previous: Michael Gelfond

Victor Marek

focused in his reply on linking ASP and SQL as well as programming languages (i.e., Q5 and Q6). As he pointed out, models of a logic program can be viewed as Boolean strings, which can be naturally stored in database tables, where atoms are viewed as columns and the entries are 0 or 1, depending on whether an atom is false or true, respectively.

Using this, embedding of ASP into SQL could be realized, following the scheme

   select <atoms>
   from stab(P) ...
   where <condition>
   at_most <k>
where stab(P) is the collection of stable models of a logic program P and <k> bounds the number of models considered.

Marek pointed out that a slightly subtler approach has been already suggested, in which relational structures are encoded by such tuples representing models, and that first order logic is used as the language for conditions. In this context, it is important that conditions can come from a language not related to ASP (e.g., Smodels has hooks for this).

For integrating imperative languages and ASP, Marek proposed that instead of building a declarative interface to ASP, classes or templates should be build which can be pulled into an imperative language. This has been tried before, and as examples for other declarative languages Marek mentioned Prolog solvers for JAVA, and a C++ library for CLP by ILog. Within ASP syntax, escapes to an imperative language from within the clauses have already been proposed in the ASP community.

Marek said that to pull either ASP into imperative languages (or conversely), suitable APIs are needed, and inspiration for that can be taken from ODBC and especially JDBC drivers, and other interfacing software may be the key.


next up previous
Next: Terrance Swift Up: Statements of the panelists Previous: Michael Gelfond
Stefan Woltran 2005-08-22