What You Always Wanted to Know About Datalog (And Never Dared to Ask)

tags
Datalog

Notes

typically do not allow data sharing and recovery

NOTER_PAGE: (1 . 0.21137123745819397)

loose coupling might in fact solve today’s problems, but on the long range, strong integration is required

NOTER_PAGE: (1 . 0.365886287625418)

will provide direct access to data and will support rule-based interaction

NOTER_PAGE: (1 . 0.4060200668896321)

merging artificial intelligence and database technologies

NOTER_PAGE: (1 . 0.4260869565217391)

AI systems have solved persistency issues by developing internal databases for their tools

NOTER_PAGE: (1 . 0.6608695652173913)

Datalog is used as a query language over re- lational databases

NOTER_PAGE: (1 . 0.6702341137123745)

Any Datalog program P must satisfy the following safety conditions. Each fact of P is ground. Each variable which occurs in the head of a rule of P must also occur in the body of the same rule. These conditions guarantee that the set of all facts that can be derived from a Datalog program is finite.

NOTER_PAGE: (2 . 0.13453815261044177)

usu- ally assumed that all the knowledge (facts and rules) rel- evant to a particular application is contained within a sin- gle logic program P. Datalog, on the other hand, has been developed for applications which use a large number of facts stored in a relational database

NOTER_PAGE: (2 . 0.25635876840696115)

Datalog is in many respects a simplified version of gen- eral Logic Programming

NOTER_PAGE: (2 . 0.30455153949129854)

EDB-predicates may occur in P , but only in clause bodies

NOTER_PAGE: (2 . 0.43775100401606426)

both facts and rules are represented as Horn clauses

NOTER_PAGE: (2 . 0.43908969210174026)

al- ways clear from the context whether a particular nonvari- able symbol is a constant or a predicate

NOTER_PAGE: (2 . 0.7556894243641231)

formally define the semantics of a Datalog program P as a mapping from database states to result states

NOTER_PAGE: (3 . 0.40307486631016043)

goal to a Datalog program

NOTER_PAGE: (3 . 0.5366255144032922)

Datalog is well suited for set-oriented techniques.

NOTER_PAGE: (6 . 0.24029727497935588)

From the syntactical point of view, Datalog is a subset of Prolog; hence each set of Datalog clauses could be parsed and executed by a Prolog interpreter. However, Datalog and Prolog differ in their semantics.

NOTER_PAGE: (6 . 0.3501238645747316)

The termination of a recursive Prolog program depends strongly on the order of the rules in the program, and on the order of the literals in the rules.

NOTER_PAGE: (6 . 0.5218827415359207)

The objective of the QSQ method is to access the min- imum number of facts needed in order to determine the answer

NOTER_PAGE: (10 . 0.4205761316872428)

no useful applications have been reported so far for nonlinear or mutually recursive rules.

NOTER_PAGE: (18 . 0.19983619983619985)

Datalog does not provide support for writ- ing user’s interfaces, and does not support quite useful programming tools, such as modularization and structured types.

NOTER_PAGE: (18 . 0.24815724815724818)

sometimes it is required that the programmer may take control on inference processing, by stating the order and method of execution of rules

NOTER_PAGE: (18 . 0.31695331695331697)

Datalog systems have been considered, until now, as closed worlds, that do not talk to other systems; while the current trend is towards supporting heterogeneous sys- tems.

NOTER_PAGE: (18 . 0.37182637182637185)

cf DataScript