{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,5,14]],"date-time":"2024-05-14T00:07:34Z","timestamp":1715645254353},"reference-count":21,"publisher":"Cambridge University Press (CUP)","issue":"4-5","license":[{"start":{"date-parts":[[2013,9,25]],"date-time":"2013-09-25T00:00:00Z","timestamp":1380067200000},"content-version":"unspecified","delay-in-days":86,"URL":"https:\/\/www.cambridge.org\/core\/terms"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Theory and Practice of Logic Programming"],"published-print":{"date-parts":[[2013,7]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>The widespread availability of large data-sets poses both an opportunity and a challenge to logic programming. A first approach is to couple a relational database with logic programming, say, a Prolog system with MySQL. While this approach does pay off in cases where the data cannot reside in main memory, it is known to introduce substantial overheads. Ideally, we would like the Prolog system to deal with large data-sets in an efficient way both in terms of memory and of processing time. Just In Time Indexing (JITI) was mainly motivated by this challenge, and can work quite well in many application.<\/jats:p><jats:p>Exo-compilation, designed to deal with large tables, is a next step that achieves very interesting results, reducing the memory footprint over two thirds. We show that combining exo-compilation with Just In Time Indexing can have significant advantages both in terms of memory usage and in terms of execution time.<\/jats:p><jats:p>An alternative path that is relevant for many applications is User-Defined Indexing (UDI). This allows the use of specialized indexing for specific applications, say the spatial indexing crucial to any spatial system. The UDI sees indexing as pluggable modules, and can naturally be combined with Exo-compilation. We do so by using UDI with exo-data, and incorporating ideas from the UDI into high-performance indexers for specific tasks.<\/jats:p>","DOI":"10.1017\/s1471068413000501","type":"journal-article","created":{"date-parts":[[2013,9,25]],"date-time":"2013-09-25T16:24:58Z","timestamp":1380126298000},"page":"799-813","source":"Crossref","is-referenced-by-count":1,"title":["BigYAP: Exo-compilation meets UDI"],"prefix":"10.1017","volume":"13","author":[{"given":"V\u00cdTOR","family":"SANTOS COSTA","sequence":"first","affiliation":[]},{"given":"DAVID","family":"VAZ","sequence":"additional","affiliation":[]}],"member":"56","published-online":{"date-parts":[[2013,9,25]]},"reference":[{"key":"S1471068413000501_ref21","first-page":"547","article-title":"Efficient tabling of structured data with enhanced hash-consing.","volume":"12","author":"Zhou","year":"2012","journal-title":"TPLP"},{"key":"S1471068413000501_ref20","first-page":"67","article-title":"SWI-Prolog.","volume":"12","author":"Wielemaker","year":"2012","journal-title":"TPLP"},{"key":"S1471068413000501_ref17","first-page":"372","volume-title":"Logic Programming, 25th International Conference, ICLP 2009, Pasadena, CA, USA, July 14\u201317, 2009. Proceedings","author":"Vaz","year":"2009"},{"key":"S1471068413000501_ref16","article-title":"1983\u20131993: The wonder years of sequential Prolog implementation","volume":"19","author":"Van Roy","year":"1994","journal-title":"Journal of Logic Programming"},{"key":"S1471068413000501_ref15","first-page":"157","article-title":"XSB: Extending Prolog with tabled logic programming.","volume":"12","author":"Swift","year":"2012","journal-title":"TPLP"},{"key":"S1471068413000501_ref14","first-page":"305","volume-title":"Proceedings of the 23rd International Conference on Logic Programming","author":"Santos Costa","year":"2007"},{"key":"S1471068413000501_ref12","first-page":"185","volume-title":"Practical Aspects of Declarative Languages, 9th International Symposium, PADL 2007, Nice, France, January 14\u201315, 2007.","author":"Santos Costa","year":"2007"},{"key":"S1471068413000501_ref9","first-page":"11","volume-title":"Empirical Evaluation of Hash Functions for Multipoint Measurements","author":"Henke","year":"2007"},{"key":"S1471068413000501_ref8","first-page":"75","article-title":"Simplifying dynamic programming via mode-directed tabling.","volume":"38","author":"Guo","year":"2008","journal-title":"Software: Practice and Experience"},{"key":"S1471068413000501_ref6","first-page":"1240","volume-title":"LNAI 1861, Proceedings Computational Logic - CL 2000","author":"Demoen","year":"2000"},{"key":"S1471068413000501_ref5","first-page":"1001","volume-title":"Proceedings of the North American Conference on Logic Programming","author":"Demoen","year":"1989"},{"key":"S1471068413000501_ref4","first-page":"242","volume-title":"Proceedings of the International Symposium on Logic Programming","author":"Conway","year":"1995"},{"key":"S1471068413000501_ref2","doi-asserted-by":"publisher","DOI":"10.1038\/75556"},{"key":"S1471068413000501_ref10","volume-title":"Proc. of the ANIA Annual Symposium","author":"Murray","year":"2012"},{"key":"S1471068413000501_ref7","first-page":"117","volume-title":"Proceedings of the Seventh Colloquium on the Implementation of Constraint and Logic Programming (CICLOPS 2007)","author":"Demoen","year":"2007"},{"key":"S1471068413000501_ref11","volume-title":"Proceedings of the Twenty-Sixth Conference on Artificial Intelligence, AAAI-12","author":"Page","year":"2012"},{"key":"S1471068413000501_ref19","volume-title":"An Abstract Prolog Instruction Set","author":"Warren","year":"1983"},{"key":"S1471068413000501_ref1","volume-title":"Proc. of Practical Aspects of Declarative Languages","author":"Angelopoulos","year":"2013"},{"key":"S1471068413000501_ref3","doi-asserted-by":"publisher","DOI":"10.1145\/362384.362685"},{"key":"S1471068413000501_ref13","doi-asserted-by":"publisher","DOI":"10.1017\/S1471068411000512"},{"key":"S1471068413000501_ref18","volume-title":"Implementing Prolog - Compiling Predicate Logic Programs","author":"Warren","year":"1977"}],"container-title":["Theory and Practice of Logic Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.cambridge.org\/core\/services\/aop-cambridge-core\/content\/view\/S1471068413000501","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,5,13]],"date-time":"2024-05-13T09:29:24Z","timestamp":1715592564000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.cambridge.org\/core\/product\/identifier\/S1471068413000501\/type\/journal_article"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2013,7]]},"references-count":21,"journal-issue":{"issue":"4-5","published-print":{"date-parts":[[2013,7]]}},"alternative-id":["S1471068413000501"],"URL":"https:\/\/doi.org\/10.1017\/s1471068413000501","relation":{},"ISSN":["1471-0684","1475-3081"],"issn-type":[{"value":"1471-0684","type":"print"},{"value":"1475-3081","type":"electronic"}],"subject":[],"published":{"date-parts":[[2013,7]]}}}