Higher-order logic programming: An expressive language for representing qualitative preferences

Abstract We consider the problem of concisely representing and handling preferences in logic programming and relational databases. Our starting point is the well-known proposal developed in [2] which advocates the embedding of first-order preference formulas into relational algebra through a winnow operator that is parameterized by a database relation and a preference formula. We argue that despite its elegance, the above proposal has certain shortcomings: only intrinsic preference formulas are supported, the preference relations and the preference queries are expressed in two different languages, and there is no direct way to define alternative operators beyond winnow. We propose the use of higher-order logic programming as a logical framework that remedies the above deficiencies. In particular, the proposed framework supports both intrinsic and extrinsic preference formulas, it can represent both preference relations as-well-as queries, and it can be used to define a variety of interesting alternative operators beyond winnow. We demonstrate the feasibility of our approach by presenting an implementation and an experimental evaluation of all the proposed concepts in the higher-order logic programming language Hilog.

[1]  Panos Rondogiannis,et al.  Expressing preferences in logic programming using an infinite-valued logic , 2015, PPDP.

[2]  Theresa Swift,et al.  Preference Logic Grammars: Fixed point semantics and application to data standardization , 2002, Artif. Intell..

[3]  William W. Wadge,et al.  Extensional Higher-Order Logic Programming , 2013, TOCL.

[4]  M. Lacroix,et al.  Preferences; Putting More Knowledge into Queries , 1987, VLDB.

[5]  Bharat Jayaraman,et al.  Logic programming with solution preferences , 2008, J. Log. Algebraic Methods Program..

[6]  Xi Zhang,et al.  Preference queries over sets , 2011, 2011 IEEE 27th International Conference on Data Engineering.

[7]  Werner Kießling,et al.  Preference SQL - Design, Implementation, Experiences , 2002, VLDB.

[8]  Kannan Govindarajan,et al.  Preference Logic Programming , 1995, ICLP.

[9]  Kannan Govindarajan,et al.  Preference queries in deductive databases , 2001, New Generation Computing.

[10]  Hisao Tamaki,et al.  Unfold/Fold Transformation of Logic Programs , 1984, ICLP.

[11]  Gerhard Brewka Well-Founded Semantics for Extended Logic Programs with Dynamic Preferences , 1996, J. Artif. Intell. Res..

[12]  Norman Y. Foo,et al.  Answer Sets for Prioritized Logic Programs , 1997, ILPS.

[13]  Rakesh Agrawal,et al.  A framework for expressing and combining preferences , 2000, SIGMOD 2000.

[14]  William W. Wadge Higher-Order Horn Logic Programming , 1991, ISLP.

[15]  Richard A. O'Keefe,et al.  The Craft of Prolog , 1990 .

[16]  Panos Rondogiannis,et al.  Constructive Negation in Extensional Higher-Order Logic Programming , 2014, KR.

[17]  Thomas Eiter,et al.  Preferred Answer Sets for Extended Logic Programs , 1999, Artif. Intell..

[18]  David Maier,et al.  Magic sets and other strange ways to implement logic programs (extended abstract) , 1985, PODS '86.

[19]  Gopalan Nadathur,et al.  Programming with Higher-Order Logic , 2012 .

[20]  Luc De Raedt,et al.  ProbLog: A Probabilistic Prolog and its Application in Link Discovery , 2007, IJCAI.

[21]  Werner Kießling,et al.  Foundations of Preferences in Database Systems , 2002, VLDB.

[22]  Georgia Koutrika,et al.  A survey on representation, composition and application of preferences in database systems , 2011, TODS.

[23]  Chiaki Sakama,et al.  Prioritized logic programming and its application to commonsense reasoning , 2000, Artif. Intell..

[24]  Peter G. Harrison,et al.  Functional Programming , 1988 .

[25]  Wei-Ngan Chin,et al.  A higher-order removal method , 1996, LISP Symb. Comput..

[26]  Luc De Raedt,et al.  Bayesian Logic Programs , 2001, ILP Work-in-progress reports.

[27]  Panos Rondogiannis,et al.  Higher-order logic programming: an expressive language for representing qualitative preferences , 2016, PPDP.

[28]  Werner Kießling,et al.  Preference XPATH: A Query Language for E-Commerce , 2001, Wirtschaftsinformatik.

[29]  Michael Kifer,et al.  HILOG: A Foundation for Higher-Order Logic Programming , 1993, J. Log. Program..

[30]  Eyke Hüllermeier,et al.  Preferences in AI: An overview , 2011, Artif. Intell..

[31]  Kannan Govindarajan,et al.  Optimization and relaxation in constraint logic languages , 1996, POPL '96.

[32]  Jan Chomicki,et al.  Preference formulas in relational queries , 2003, TODS.

[33]  Kannan Govindarajan,et al.  Preference Logic Grammars , 1998, Comput. Lang..

[34]  Evgeny Dantsin,et al.  Probabilistic Logic Programs and their Semantics , 1990, RCLP.

[35]  M. H. van Emden,et al.  Quantitative Deduction and its Fixpoint Theory , 1986, J. Log. Program..

[36]  Georgia Koutrika,et al.  Personalization of queries in database systems , 2004, Proceedings. 20th International Conference on Data Engineering.