dlvhex is an Open Source scientific prototype application for computing the models of so-called HEX-programs. HEX-programs are a declarative logic programming formalism with a syntax similar to Prolog programs.

In HEX, declarative reasoning can use external computation sources, which is useful for example to integrate knowledge in Semantic Web reasoning. For example, a logic programming rule

    reached(X) :- &reach[edge,a](X)

computes the predicate reached taking values from the external computation which computes via reach[edge,a] all the reachable nodes in the graph defined by predicate edge from node a, delegating this task to an external computation source, e.g., a description logic reasoner, a C++ function, or a shell script. This way we can take advantage of efficient purpose-built solutions to computational problems within a declarative reasoning paradigm.

Several research groups have created plugins to provide external computation facilities, e.g., the string plugin for basic string manipulation, the description logic plugin for reasoning with ontologies, the SPARQL-plugin for semantic web reasoning, and others.