{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,1]],"date-time":"2026-06-01T20:40:17Z","timestamp":1780346417959,"version":"3.54.1"},"reference-count":125,"publisher":"Emerald","issue":"2","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2013,11,21]]},"abstract":"<jats:p>In recent years, we have witnessed a revival of the use of recursive queries in a variety of emerging application domains such as data integration and exchange, information extraction, networking, and program analysis. A popular language used for expressing these queries is Datalog. This paper surveys for a general audience the Datalog language, recursive query processing, and optimization techniques. This survey differs from prior surveys written in the eighties and nineties in its comprehensiveness of topics, its coverage of recent developments and applications, and its emphasis on features and techniques beyond \u201cclassical\u201d Datalog which are vital for practical applications. Specifically, the topics covered include the core Datalog language and various extensions, semantics, query optimizations, magic-sets optimizations, incremental view maintenance, aggregates, negation, and types. We conclude the paper with a survey of recent systems and applications that use Datalog and recursive queries.<\/jats:p>","DOI":"10.1561\/1900000017","type":"journal-article","created":{"date-parts":[[2013,11,20]],"date-time":"2013-11-20T12:05:59Z","timestamp":1384949159000},"page":"105-195","source":"Crossref","is-referenced-by-count":49,"title":["Datalog and Recursive Query Processing"],"prefix":"10.1108","volume":"5","author":[{"given":"Todd J.","family":"Green","sequence":"first","affiliation":[{"name":"LogicBlox Inc."}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Shan Shan","family":"Huang","sequence":"additional","affiliation":[{"name":"LogicBlox Inc."}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Boon Thau","family":"Loo","sequence":"additional","affiliation":[{"name":"University of Pennsylvania"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Wenchao","family":"Zhou","sequence":"additional","affiliation":[{"name":"Georgetown University"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"140","published-online":{"date-parts":[[2013,11,21]]},"reference":[{"key":"2025120808420890900_ref001","unstructured":"BioPerl\n          , http:\/\/bioperl.org."},{"key":"2025120808420890900_ref002","unstructured":"Datomic website\n          , http:\/\/www.datomic.com\/."},{"key":"2025120808420890900_ref003","unstructured":"H2 Database Engine\n          , http:\/\/www.h2database.com."},{"key":"2025120808420890900_ref004","unstructured":"LogicBlox website\n          , http:\/\/www.logicblox.com\/."},{"key":"2025120808420890900_ref005","unstructured":"Microsoft SQL server\n          , http:\/\/www.microsoft.com\/sql."},{"key":"2025120808420890900_ref006","unstructured":"PostgreSQL\n          , http:\/\/www.postgresql.org\/."},{"key":"2025120808420890900_ref007","unstructured":"Semmle Web site\n          , http:\/\/www.semmle.com."},{"key":"2025120808420890900_ref008","unstructured":"uBio\n          , http:\/\/www.ubio.org."},{"key":"2025120808420890900_ref009","doi-asserted-by":"crossref","DOI":"10.1145\/298514.298575","article-title":"Non-deterministic languages to express deterministic transformations","volume-title":"In PODS,","author":"Abiteboul","year":"1990"},{"key":"2025120808420890900_ref010","doi-asserted-by":"crossref","DOI":"10.1145\/1065167.1065214","article-title":"Diagnosis of Asynchronous Discrete Event Systems\u2014Datalog to the Rescue!","volume-title":"In PODS","author":"Abiteboul","year":"2005"},{"key":"2025120808420890900_ref011","doi-asserted-by":"crossref","DOI":"10.1145\/275487.275516","article-title":"Complexity of answering queries using materialized views.","volume-title":"In PODS","author":"Abiteboul","year":"1998"},{"key":"2025120808420890900_ref012","volume-title":"Foundations of Databases","author":"Abiteboul","year":"1995"},{"key":"2025120808420890900_ref013","doi-asserted-by":"crossref","first-page":"62","DOI":"10.1016\/0022-0000(91)90032-Z","article-title":"Datalog extensions for database queries and updates","volume":"43","author":"Abiteboul","year":"1991","journal-title":"J. Comput. Syst. Sci"},{"key":"2025120808420890900_ref014","article-title":"On datalog vs. polynomial time","volume-title":"In PODS","author":"Afrati","year":"1991"},{"key":"2025120808420890900_ref015","doi-asserted-by":"crossref","DOI":"10.1145\/1755913.1755937","article-title":"Boom analytics: exploring data-centric, declarative programming for the cloud","volume-title":"In EuroSys","author":"Alvaro","year":"2010"},{"key":"2025120808420890900_ref016","article-title":"Consistency analysis in bloom: a calm and collected approach","volume-title":"In CIDR","author":"Alvaro","year":"2011"},{"key":"2025120808420890900_ref017","author":"Alvaro","year":"2009"},{"key":"2025120808420890900_ref018","doi-asserted-by":"crossref","DOI":"10.1145\/1989284.1989321","article-title":"Relational Transducers for Declarative Networking","volume-title":"In PODS","author":"Ameloot","year":"2011"},{"key":"2025120808420890900_ref019","first-page":"89","volume-title":"Towards a theory of declarative knowledge","author":"Apt","year":"1988"},{"issue":"1","key":"2025120808420890900_ref020","first-page":"61","article-title":"The deductive database system LDL++","volume":"3","author":"Arni","year":"2003","journal-title":"TPLP"},{"issue":"3","key":"2025120808420890900_ref021","doi-asserted-by":"crossref","DOI":"10.1016\/0743-1066(87)90004-5","article-title":"A generalization of the differential approach to recursive query evaluation","volume":"4","author":"Balbin","year":"1987","journal-title":"Journal of Logic Programming"},{"key":"2025120808420890900_ref022","doi-asserted-by":"crossref","DOI":"10.1007\/978-1-4612-4980-1_17","article-title":"Naive evaluation of recursively defined relations","volume-title":"On Knowledge Base Management Systems: Integrating AI and DB Technologies","author":"Bancilhon","year":"1986"},{"issue":"2","key":"2025120808420890900_ref023","doi-asserted-by":"crossref","first-page":"16","DOI":"10.1145\/16856.16859","article-title":"An amateur\u2019s introduction to recursive query processing strategies","volume":"15","author":"Bancilhon","year":"1986","journal-title":"SIGMOD Rec"},{"key":"2025120808420890900_ref024","unstructured":"BDD-Based Deductive DataBase\n          . http:\/\/bddbddb.sourceforge. net\/."},{"key":"2025120808420890900_ref025","doi-asserted-by":"crossref","DOI":"10.1145\/28659.28689","article-title":"On the power of magic","volume-title":"In PODS","author":"Beeri","year":"1987"},{"issue":"4","key":"2025120808420890900_ref026","doi-asserted-by":"crossref","first-page":"718","DOI":"10.1145\/1634.1636","article-title":"A proof procedure for data dependencies","volume":"31","author":"Beeri","year":"1984","journal-title":"J. ACM"},{"key":"2025120808420890900_ref027","volume-title":"Bases de Donn\u00e9es D\u00e9ductives: Pr\u00e9sentation de Datalog","author":"Bidoit","year":"1992"},{"key":"2025120808420890900_ref028","unstructured":"Martin\n              Bravenboer\n             and YannisSmaragdakis. Doop website, http:\/\/doop.program-analysis.org\/."},{"key":"2025120808420890900_ref029","doi-asserted-by":"crossref","DOI":"10.1145\/1640089.1640108","article-title":"Strictly declarative specification of sophisticated points-to analyses","volume-title":"In OOPSLA","author":"Bravenboer","year":"2009"},{"issue":"8","key":"2025120808420890900_ref030","doi-asserted-by":"crossref","first-page":"677","DOI":"10.1109\/TC.1986.1676819","article-title":"Graph-based algorithms for boolean function manipulation","volume":"35","author":"Bryant","year":"1986","journal-title":"IEEE Transactions on Computers"},{"key":"2025120808420890900_ref031","volume-title":"Practical Aspects of Declarative Languages, 14th International Symposium, Proceedings","author":"Campagna","year":"2012"},{"issue":"1","key":"2025120808420890900_ref032","first-page":"146","article-title":"What you always wanted to know about datalog (and never dared to ask)","volume":"1","author":"Ceri","year":"1989","journal-title":"IEEE TKDE"},{"key":"2025120808420890900_ref033","doi-asserted-by":"crossref","DOI":"10.1007\/978-3-642-83952-8","volume-title":"Logic Programming and Databases","author":"Ceri","year":"1990"},{"key":"2025120808420890900_ref034","first-page":"293","article-title":"Negation as failure","author":"Clark","year":"1977","journal-title":"In Logic and Data Bases"},{"key":"2025120808420890900_ref035","doi-asserted-by":"crossref","DOI":"10.1007\/978-3-540-75987-4_3","article-title":"Datalog programs over infinite databases, revisited","volume-title":"In DBPL","author":"Cohen","year":"2007"},{"key":"2025120808420890900_ref036","doi-asserted-by":"crossref","DOI":"10.1201\/9781482267914","volume-title":"Deductive Databases and their Applications","author":"Colomb","year":"1998"},{"key":"2025120808420890900_ref037","doi-asserted-by":"crossref","DOI":"10.21236\/ADA563903","article-title":"Logic and lattices for distributed programming","volume-title":"In SoCC","author":"Conway","year":"2012"},{"key":"2025120808420890900_ref038","doi-asserted-by":"crossref","DOI":"10.1145\/512950.512973","article-title":"Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints","volume-title":"In POPL","author":"Cousot","year":"1977"},{"key":"2025120808420890900_ref039","doi-asserted-by":"crossref","DOI":"10.1145\/231379.231399","article-title":"Practical program analysis using general purpose logic programming systems\u2014a case study","volume-title":"In PLDI","author":"Dawson","year":"1996"},{"key":"2025120808420890900_ref040","first-page":"225","article-title":"Reformulation of xml queries and constraints","volume-title":"In ICDT","author":"Deutsch","year":"2003"},{"key":"2025120808420890900_ref041","article-title":"Maintaining transitive closure of graphs in sql","volume":"5","author":"Dong","year":"1999","journal-title":"In Int. J. Information Technology"},{"issue":"1","key":"2025120808420890900_ref042","doi-asserted-by":"crossref","first-page":"101","DOI":"10.1006\/inco.1995.1102","article-title":"Incremental and decremental evaluation of transitive closure by first-order queries","volume":"120","author":"Dong","year":"1995","journal-title":"Inf. Comput"},{"issue":"1","key":"2025120808420890900_ref043","doi-asserted-by":"crossref","first-page":"89","DOI":"10.1016\/j.tcs.2004.10.033","article-title":"Data exchange: semantics and query answering","volume":"336","author":"Fagin","year":"2005","journal-title":"TCS"},{"issue":"2-3","key":"2025120808420890900_ref044","doi-asserted-by":"crossref","first-page":"168","DOI":"10.1016\/j.tcs.2008.09.052","article-title":"Reactors: A data-oriented synchronous\/asynchronous programming model for distributed applications","volume":"410","author":"Field","year":"2009","journal-title":"Theor. Comput. Sci"},{"key":"2025120808420890900_ref045","doi-asserted-by":"crossref","DOI":"10.1007\/3-540-62222-5_40","article-title":"Total and partial well-founded datalog coincide","volume-title":"In ICDT","author":"Flum","year":"1997"},{"issue":"2","key":"2025120808420890900_ref046","doi-asserted-by":"crossref","first-page":"257","DOI":"10.1016\/S0304-3975(99)00222-4","article-title":"Games and total datalog\u00ac queries","volume":"239","author":"Flum","year":"2000","journal-title":"Theoretical Computer Science"},{"issue":"1","key":"2025120808420890900_ref047","first-page":"185","article-title":"The alternating fixpoint of logic programs with negation","volume":"47","author":"Gelder","year":"1993","journal-title":"JCSS"},{"key":"2025120808420890900_ref048","first-page":"1070","article-title":"The stable model semantics for logic programming","volume-title":"In ICLP\/SLP","author":"Gelfond","year":"1988"},{"key":"2025120808420890900_ref049","doi-asserted-by":"crossref","DOI":"10.1145\/1055558.1055560","article-title":"The Lixto data extraction project: back and forth between theory and practice","volume-title":"In PODS","author":"Gottlob","year":"2004"},{"key":"2025120808420890900_ref050","article-title":"Update exchange with mappings and provenance","volume-title":"In VLDB","author":"Green","year":"2007"},{"key":"2025120808420890900_ref051","doi-asserted-by":"crossref","DOI":"10.1145\/1265530.1265535","article-title":"Provenance semirings","volume-title":"In PODS","author":"Green","year":"2007"},{"key":"2025120808420890900_ref052","doi-asserted-by":"crossref","DOI":"10.1145\/170035.170066","article-title":"Maintaining views incrementally","volume-title":"In SIGMOD","author":"Gupta","year":"1993"},{"key":"2025120808420890900_ref053","unstructured":"GUS: The Genomics Unified Schema\n          . http:\/\/www.gusdb.org\/."},{"key":"2025120808420890900_ref054","doi-asserted-by":"crossref","DOI":"10.1007\/11785477_2","article-title":"Codequest: Scalable source code queries with datalog","volume-title":"ECOOP","author":"Hajiyev","year":"2006"},{"issue":"4","key":"2025120808420890900_ref055","doi-asserted-by":"crossref","first-page":"270","DOI":"10.1007\/s007780100054","article-title":"Answering queries using views: A survey","volume":"10","author":"Halevy","year":"2001","journal-title":"VLDB Journal"},{"issue":"1","key":"2025120808420890900_ref056","doi-asserted-by":"crossref","first-page":"68","DOI":"10.1007\/s00778-003-0116-y","article-title":"Schema mediation for large-scale semantic data sharing","volume":"14","author":"Halevy","year":"2005","journal-title":"VLDB Journal"},{"issue":"1","key":"2025120808420890900_ref057","doi-asserted-by":"crossref","DOI":"10.1145\/1860702.1860704","article-title":"Declarative imperative: Experiences and conjectures in distributed logic","volume":"39","author":"Hellerstein","year":"2010","journal-title":"SIGMOD Record"},{"issue":"1-3","key":"2025120808420890900_ref058","doi-asserted-by":"crossref","first-page":"86","DOI":"10.1016\/S0019-9958(86)80029-8","article-title":"Relational queries computable in polynomial time","volume":"68","author":"Immerman","year":"1986","journal-title":"Information and Control"},{"key":"2025120808420890900_ref059","unstructured":"IRIS (Integrated Rule Inference System) Reasoner\n          . http:\/\/www.iris-reasoner.org\/."},{"key":"2025120808420890900_ref060","doi-asserted-by":"crossref","DOI":"10.1109\/SECPRI.2001.924291","article-title":"SD3: A Trust Management System With Certified Evaluation","volume-title":"In IEEE Symposium on Security and Privacy","author":"Jim","year":"2001"},{"issue":"5","key":"2025120808420890900_ref061","article-title":"Efficient recursive aggregation and negation in deductive databases","volume":"10","author":"Kemp","year":"1998","journal-title":"TKDE"},{"issue":"4","key":"2025120808420890900_ref062","doi-asserted-by":"crossref","first-page":"588","DOI":"10.1145\/285055.285058","article-title":"On the decidability and axiomatization of query finiteness in deductive databases","volume":"45","author":"Kifer","year":"1998","journal-title":"JACM"},{"key":"2025120808420890900_ref063","doi-asserted-by":"crossref","DOI":"10.1145\/308386.308412","article-title":"An axiomatic approach to deciding query safety in deductive databases","volume-title":"In PODS","author":"Kifer","year":"1988"},{"issue":"3","key":"2025120808420890900_ref064","doi-asserted-by":"crossref","first-page":"699","DOI":"10.1145\/322326.322332","article-title":"Equivalence of relational algebra and relational calculus query languages having aggregate functions","volume":"29","author":"Klug","year":"1982","journal-title":"J. ACM"},{"key":"2025120808420890900_ref065","doi-asserted-by":"crossref","DOI":"10.1145\/50202.50219","article-title":"A framework for testing safety and effective computability of extended datalog","volume-title":"In SIGMOD","author":"Krishnamurthy","year":"1988"},{"key":"2025120808420890900_ref066","doi-asserted-by":"crossref","DOI":"10.1145\/1065167.1065169","article-title":"Contextsensitive program analysis as database queries","volume-title":"In PODS","author":"Lam","year":"2005"},{"key":"2025120808420890900_ref067","article-title":"Recursive Axioms in Deductive Database: The Query-Subquery Approach","volume-title":"In 1st International Conference on Expert Database Systems","author":"Vieille","year":"1986"},{"key":"2025120808420890900_ref068","doi-asserted-by":"crossref","DOI":"10.1145\/543613.543644","article-title":"Data integration: A theoretical perspective","volume-title":"In PODS","author":"Lenzerini","year":"2002"},{"issue":"3","key":"2025120808420890900_ref069","doi-asserted-by":"crossref","first-page":"499","DOI":"10.1145\/1149114.1149117","article-title":"The dlv system for knowledge representation and reasoning","volume":"7","author":"Leone","year":"2006","journal-title":"ACM Trans. Comput. Logic"},{"key":"2025120808420890900_ref070","volume-title":"Program Analysis using Binary Decision Diagrams","author":"Lhot\u00e1k","year":"2006"},{"key":"2025120808420890900_ref071","doi-asserted-by":"crossref","DOI":"10.1145\/1836089.1836095","article-title":"Deriving predicate statistics in datalog","volume-title":"In PPDP","author":"Liang","year":"2010"},{"key":"2025120808420890900_ref072","doi-asserted-by":"crossref","DOI":"10.1007\/978-3-662-07003-1","volume-title":"Elements Of Finite Model Theory","author":"Libkin","year":"2004"},{"key":"2025120808420890900_ref073","doi-asserted-by":"crossref","DOI":"10.14778\/2212351.2212357","article-title":"Cologne: A declarative distributed constraint optimization platform","volume-title":"In VLDB","author":"Liu","year":"2012"},{"key":"2025120808420890900_ref074","article-title":"Languages for polynomial-time queries","volume-title":"Computer-based modeling and optimization of heat-power and electrochemical objects","author":"Livchak","year":"1992"},{"key":"2025120808420890900_ref075","doi-asserted-by":"crossref","DOI":"10.1145\/1142473.1142485","article-title":"Declarative Networking: Language, Execution and Optimization","volume-title":"In SIGMOD","author":"Loo","year":"2006"},{"issue":"11","key":"2025120808420890900_ref076","doi-asserted-by":"crossref","first-page":"87","DOI":"10.1145\/1592761.1592785","article-title":"Declarative networking","volume":"52","author":"Loo","year":"2009","journal-title":"Commun. ACM"},{"key":"2025120808420890900_ref077","doi-asserted-by":"crossref","DOI":"10.1145\/1095810.1095818","article-title":"Implementing Declarative Overlays","volume-title":"In SOSP","author":"Loo","year":"2005"},{"key":"2025120808420890900_ref078","doi-asserted-by":"crossref","DOI":"10.1007\/978-3-642-27694-1_1","article-title":"Recent advances in declarative networking","volume-title":"In Fourteenth International Symposium on Practical Aspects of Declarative Languages (PADL)","author":"Loo","year":"2012"},{"key":"2025120808420890900_ref079","volume-title":"Technical Report UCB-CS-04-1301","author":"Loo","year":"2004"},{"key":"2025120808420890900_ref080","doi-asserted-by":"crossref","DOI":"10.1145\/1080091.1080126","article-title":"Declarative routing: extensible routing with declarative queries","volume-title":"In SIGCOMM","author":"Loo","year":"2005"},{"key":"2025120808420890900_ref081","volume-title":"Technical Report UCB-CS-04-1305","author":"Loo","year":"2004"},{"key":"2025120808420890900_ref082","volume-title":"of DISDBIS","author":"Lud\u00e4scher","year":"1998"},{"key":"2025120808420890900_ref083","article-title":"A logical framework for active rules","volume-title":"In COMAD","author":"Lud\u00e4scher","year":"1995"},{"key":"2025120808420890900_ref084","doi-asserted-by":"crossref","DOI":"10.1007\/BFb0031742","article-title":"Nested transactions in a logical language for active rules","volume-title":"In LID","author":"Lud\u00e4scher","year":"1996"},{"key":"2025120808420890900_ref085","doi-asserted-by":"crossref","DOI":"10.1145\/1807167.1807246","article-title":"Secureblox: customizable secure distributed data processing","volume-title":"In SIGMOD","author":"Marczak","year":"2010"},{"issue":"1","key":"2025120808420890900_ref086","first-page":"970","article-title":"On chase termination beyond stratification","volume":"2","author":"Meier","year":"2009","journal-title":"PVLDB"},{"key":"2025120808420890900_ref087","doi-asserted-by":"crossref","DOI":"10.1109\/ICDE.2009.36","article-title":"Recursive Computation of Regions and Connectivity in Networks","volume-title":"In ICDE","author":"Liu","year":"2009"},{"key":"2025120808420890900_ref088","first-page":"1","volume-title":"Lecture Notes in Computer Science","author":"Minker","year":"1996"},{"key":"2025120808420890900_ref089","article-title":"Implementation of magicsets in a relational database system","volume-title":"In SIGMOD","author":"Mumick","year":"1994"},{"key":"2025120808420890900_ref090","article-title":"The magic of duplicates and aggregates","volume-title":"In VLDB","author":"Mumick","year":"1990"},{"key":"2025120808420890900_ref091","doi-asserted-by":"crossref","DOI":"10.1145\/2003476.2003495","article-title":"Maintaining distributed logic programs incrementally","volume-title":"In 13th International ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming (PPDP)","author":"Nigam","year":"2011"},{"key":"2025120808420890900_ref092","unstructured":"Orchestra Collaborative Data Sharing System\n          . http:\/\/code.google.com\/p\/penn-orchestra\/."},{"key":"2025120808420890900_ref093","unstructured":"P2: Declarative Networking System\n          . http:\/\/p2.cs.berkeley.edu."},{"key":"2025120808420890900_ref094","first-page":"21","article-title":"A note on the expressive power of prolog","volume":"26","author":"Papadimitriou","year":"1985","journal-title":"Bulletin of the EATCS"},{"key":"2025120808420890900_ref095","doi-asserted-by":"crossref","DOI":"10.1016\/B978-155860869-6\/50059-7","article-title":"Translating web data","volume-title":"In VLDB","author":"Popa","year":"2002"},{"key":"2025120808420890900_ref096","doi-asserted-by":"crossref","DOI":"10.1145\/28659.28694","article-title":"Safety of recursive horn clauses with infinite relations","volume-title":"In PODS","author":"Ramakrishnan","year":"1987"},{"key":"2025120808420890900_ref097","first-page":"204","article-title":"Efficient Incremental Evaluation of Queries with Aggregation","volume-title":"In SIGMOD","author":"Ramakrishnan","year":"1992"},{"key":"2025120808420890900_ref098","article-title":"Efficient incremental evaluation of queries with aggregation","volume-title":"In SIGMOD","author":"Ramakrishnan","year":"1994"},{"issue":"2","key":"2025120808420890900_ref099","doi-asserted-by":"crossref","first-page":"161","DOI":"10.1007\/BF01228880","article-title":"The CORAL deductive system","volume":"3","author":"Ramakrishnan","year":"1994","journal-title":"VLDB Journal"},{"issue":"2","key":"2025120808420890900_ref100","doi-asserted-by":"crossref","first-page":"125","DOI":"10.1016\/0743-1066(94)00039-9","article-title":"A Survey of Research on Deductive Database Systems","volume":"23","author":"Ramakrishnan","year":"1993","journal-title":"Journal of Logic Programming"},{"key":"2025120808420890900_ref101","unstructured":"RapidNet Declarative Networking Engine\n          . http:\/\/netdb.cis.upenn. edu\/rapidnet\/."},{"key":"2025120808420890900_ref102","first-page":"163","article-title":"Demand interprocedural program analysis using logic databases","volume-title":"Applications of Logic Databases","author":"Reps","year":"1994"},{"key":"2025120808420890900_ref103","article-title":"A syntactic stratification condition using constraints","volume-title":"In ILPS","author":"Ross","year":"1994"},{"key":"2025120808420890900_ref104","doi-asserted-by":"crossref","first-page":"1216","DOI":"10.1145\/195613.195646","article-title":"Modular stratification and magic sets for datalog programs with negation","volume":"41","author":"Ross","year":"1994","journal-title":"J. ACM"},{"key":"2025120808420890900_ref105","doi-asserted-by":"crossref","DOI":"10.1145\/212433.220211","article-title":"Structural totality and constraint stratification","volume-title":"In PODS","author":"Ross","year":"1995"},{"issue":"1","key":"2025120808420890900_ref106","doi-asserted-by":"crossref","first-page":"79","DOI":"10.1006\/jcss.1997.1453","article-title":"Monotonic aggregation in deductive databases","volume":"54","author":"Ross","year":"1997","journal-title":"Journal of Computer and System Sciences"},{"key":"2025120808420890900_ref107","doi-asserted-by":"crossref","DOI":"10.1145\/73721.73738","article-title":"Safety of datalog queries over infinite databases","volume-title":"In PODS","author":"Sagiv","year":"1989"},{"key":"2025120808420890900_ref108","article-title":"Adding magic to an optimising datalog compiler","author":"Sereni","year":"2008","journal-title":"In SIGMOD"},{"key":"2025120808420890900_ref109","doi-asserted-by":"crossref","DOI":"10.1145\/233269.233360","article-title":"Cost-based optimization for magic: Algebra and implementation","volume-title":"In SIGMOD","author":"Seshadri","year":"1996"},{"key":"2025120808420890900_ref110","article-title":"Declarative information extraction using datalog with embedded extraction predicates","volume-title":"In VLDB","author":"Shen","year":"2007"},{"key":"2025120808420890900_ref111","doi-asserted-by":"crossref","DOI":"10.1145\/137097.137897","article-title":"Pushing constraint selections","volume-title":"In PODS","author":"Srivastava","year":"1992"},{"key":"2025120808420890900_ref112","volume-title":"The Art of Prolog","author":"Sterling","year":"1994","edition":"2nd"},{"key":"2025120808420890900_ref113","volume-title":"Readings in Database Systems","author":"Stonebraker","year":"1998","edition":"Third"},{"key":"2025120808420890900_ref114","doi-asserted-by":"crossref","DOI":"10.1145\/182591.182598","article-title":"Compiling query constraints (extended abstract)","volume-title":"In PODS","author":"Stuckey","year":"1994"},{"key":"2025120808420890900_ref115","article-title":"Aggregation and relevance in deductive databases","volume-title":"In VLDB","author":"Sudarshan","year":"1991"},{"key":"2025120808420890900_ref116","first-page":"121","article-title":"A survey of program slicing techniques","volume":"3","author":"Tip","year":"1995","journal-title":"Journal of Programming Languages"},{"key":"2025120808420890900_ref117","doi-asserted-by":"crossref","first-page":"289","DOI":"10.1145\/3979.3980","article-title":"Implementation of logical query languages for databases","volume":"10","author":"Ullman","year":"1985","journal-title":"ACM Trans. Database Syst"},{"key":"2025120808420890900_ref118","volume-title":"Principles of Database and Knowledge-Base Systems: Volume II: The New Technologies","author":"Ullman","year":"1990"},{"key":"2025120808420890900_ref119","doi-asserted-by":"crossref","first-page":"733","DOI":"10.1145\/321978.321991","article-title":"The semantics of predicate logic as a programming language","volume":"23","author":"Emden","year":"1976","journal-title":"J. ACM"},{"key":"2025120808420890900_ref120","doi-asserted-by":"crossref","DOI":"10.1145\/137097.137854","article-title":"The well-founded semantics of aggregation","volume-title":"In PODS","author":"Gelder","year":"1992"},{"key":"2025120808420890900_ref121","doi-asserted-by":"crossref","first-page":"619","DOI":"10.1145\/116825.116838","article-title":"The well-founded semantics for general logic programs","volume":"38","author":"Gelder","year":"1991","journal-title":"J. ACM"},{"key":"2025120808420890900_ref122","doi-asserted-by":"crossref","DOI":"10.1145\/800070.802186","article-title":"The complexity of relational query languages","volume-title":"In STOC","author":"Vardi","year":"1982"},{"key":"2025120808420890900_ref123","doi-asserted-by":"crossref","DOI":"10.1145\/996841.996859","article-title":"Cloning-based context-sensitive pointer alias analysis using binary decision diagrams","volume-title":"In PLDI","author":"Whaley","year":"2004"},{"key":"2025120808420890900_ref124","volume-title":"Active Database Systems: Triggers and Rules for Advanced Database Processing","author":"Widom","year":"1996"},{"key":"2025120808420890900_ref125","article-title":"Unified Declarative Platform for Secure Networked Information Systems","volume-title":"In ICDE","author":"Zhou","year":"2009"}],"container-title":["Foundations and Trends in Databases"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.emerald.com\/ftdbs\/article-pdf\/5\/2\/105\/10974421\/1900000017en.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/www.emerald.com\/ftdbs\/article-pdf\/5\/2\/105\/10974421\/1900000017en.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,4,29]],"date-time":"2026-04-29T14:11:40Z","timestamp":1777471900000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.emerald.com\/ftdbs\/article\/5\/2\/105\/1324704\/Datalog-and-Recursive-Query-Processing"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2013,11,21]]},"references-count":125,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2013,11,21]]}},"URL":"https:\/\/doi.org\/10.1561\/1900000017","relation":{},"ISSN":["1931-7883","1931-7891"],"issn-type":[{"value":"1931-7883","type":"print"},{"value":"1931-7891","type":"electronic"}],"subject":[],"published":{"date-parts":[[2013,11,21]]}}}