• Corpus ID: 238259910

Prolog as a Querying Language for MongoDB

  title={Prolog as a Querying Language for MongoDB},
  author={Daniel Be{\ss}ler and Sascha Jongebloed and Michael Beetz},
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… 

Figures from this paper



J-Logic: a Logic for Querying JSON

It is shown that every object-to-object transformation in J-Logic can be defined using only objects in intermediate results, and it is decidable whether a positive, nonrecursive J- logic program always returns an object when given objects as inputs.

Datalog with Negation and Monotonicity

It is shown that monotone queriesexpressible in semi-positive Datalog exist which are not expressible in positive Datalogy, and best-effort techniques to reduce the amount of negation that is exhibited by a program, even if the program is not monotones.

Datalog+/-: A Family of Logical Knowledge Representation and Query Languages for New Applications

This paper discusses three paradigms ensuring decidability: chase termination, guardedness, and stickiness, and extends plain Datalog by features such as existentially quantified rule heads and restricts the rule syntax so as to achieveDecidability and tractability.

JSON: Data model, Query languages and Schema specification

A formal data model for JSON documents is proposed and, based on the common features present in available systems using JSON, a lightweight query language is defined allowing us to navigate through JSON documents.

A study of transitive closure as a recursion mechanism

We show that every linearly recursive query can be expressed as a transitive closure possibly preceded and followed by operations already available in relational algebra. This reduction is possible

Yedalog: Exploring Knowledge at Scale

Yedalog is introduced, a declarative programming language that allows programmers to mix data-parallel pipelines and computation seamlessly in a single language, and extends Datalog, incorporating not only computational features from logic programming, but also features for working with data structured as nested records.

Logic Program Specialisation

Declarative programming languages, are high-level programming languages in which one only has to state what is to be computed and not necessarily how it is to be computed. Logic programming and

Translation and Optimization of Logic Queries: The Algebraic Approach

This paper develops a syntax directed translation from rules of function-free logic programs to algebraic equations and shows solution methods for independent equations and for systems of interdependent equations.

MapReduce: simplified data processing on large clusters

This presentation explains how the underlying runtime system automatically parallelizes the computation across large-scale clusters of machines, handles machine failures, and schedules inter-machine communication to make efficient use of the network and disks.

What you Always Wanted to Know About Datalog (And Never Dared to Ask)

The syntax and semantics of Datalog and its use for querying a relational database are presented, and the most relevant methods for achieving efficient evaluations of Daloog queries are presented.