Non-Deterministic Choice in Datalog
暂无分享,去创建一个
Abstract Logic programming languages for database applications, such as LDL, and NAIL! [5] generate all solutions for a given query and fail to recognize multiple equivalent, i.e., redundant, solutions. The Prolog solution is to use the cut operator. Ideally, one would like to syntactically identify programs in which redundant solutions may be pruned but one faces undecidability results in this direction. In order to circumvent the recognition problem we provide an explicit construct, called choice, to choose subsets of relations. We show that choice has clean bottom-up semantics and subsumes the Prolog cut and existential queries.
[1] Jeffrey D. Ullman,et al. Design Overview of the NAIL! System , 1986, ICLP.
[2] Alberto O. Mendelzon. Functional Dependencies in Logic Programs , 1985, VLDB.
[3] Catriel Beeri,et al. Sets and negation in a logic data base language (LDL1) , 1987, PODS.
[4] Catriel Beeri,et al. Optimizing existential datalog queries , 1988, PODS.