Prolog as a Querying Language for MongoDB
Daniel Be{\ss}ler, Sascha Jongebloed, Michael Beetz

TL;DR
This paper introduces Mongolog, a Prolog-based querying language for MongoDB, aiming to improve the organization, reusability, and maintainability of complex aggregation queries by translating Prolog syntax into MongoDB aggregation pipelines.
Contribution
The paper presents Mongolog, a novel Prolog-inspired query language for MongoDB, with formal semantics based on translation into aggregation pipelines, enhancing query clarity and modularity.
Findings
Mongolog effectively translates Prolog queries into MongoDB aggregation pipelines.
The approach improves query organization and reusability for complex data processing.
Formal semantics ensure correctness and consistency of translations.
Abstract
Today's database systems have shown to be capable of supporting AI applications that demand a lot of data processing. To this end, these systems incorporate powerful querying languages that go far beyond the mere retrieval of data, and provide sophisticated facilities for data processing as well. In the case of SQL, the language has been even demonstrated to be Turing-complete in some implementations of the language. In the area of NoSQL databases, a widely adopted one nowadays is the MongoDB database. Queries in MongoDB databases are represented as sequential stages within an aggregation pipeline where each stage defines a transformation of the input data, and passes the transformed data to the next stage. But aggregation queries tend to become rather large for more complex computational problems, lack organization into re-usable pieces, and are thus hard to debug and maintain. We…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsData Management and Algorithms · Advanced Database Systems and Queries · Logic, Reasoning, and Knowledge
