The datalog code is a list of literals, separated by commas (,). As in Datalog or Prolog, this will be interpreted as a conjunction of the literals. To use disjunction, the code attribute has to be specified multiple times.
As literals, all literals that may be used in standard rules and queries, may also be used in datalog queries (see section 2.2 for a list). An argument of a literal may be one the following:
! or ",
it must be written in single quotes ('). This also holds for string object, e.g. "a string"
must be written as '"a string"'.~ and must be encoded in single quotes ('), e.g. '~this', '~src', '~param'.vars([x,y]) defines
the variables x and y.
A query expression of the form query(q) may be also used as literal, or as second
argument of an In-Literal. q may be any valid query expression, e.g. just the
name of a query class, or a derive expression including the specification of parameters
(for example, find_instances[Class/class]).
In addition, PROLOG predicates can be used as literals. You can define your own PROLOG predicates in a LPI-file (see section 5.2.2 for an example).