14:00 - 15:00 WLP Session: Deductive Databases (Chair: Stefan Brass)
Abstract:
The methods to access large relational databases in a distributed system are well established: the relational query language SQL often serves as a low-level language for data access and manipulation, and in addition several endpoints are exposed by public interfaces using for example REST. Similarly to REST, GraphQL is the query protocol of an application layer developed by Facebook. It provides a unified interface between the client and the server for data fetching and manipulation. Using GraphQL's type system, it is possible to specify data handling of various sources and combine, e.g., relational with NoSQL databases. In contrast to REST, GraphQL provides a single endpoint and supports flexible queries over linked data. This makes GraphQL a perfect fit as an interface for deductive databases. In this paper, we give an introduction of GraphQL and a comparison to REST. Using language features recently added to SWI-Prolog 7, we have developed the Prolog library GraphQL.pl, which implements the GraphQL type system and query syntax as a domain-specific language with the help of DCGs. Using our library, the type system created for a deductive database can be validated, while the query system provides a unified interface for data access and introspection.
Abstract:
OpenRuleBench [LFWK09] is a large benchmark suite for rule engines, which includes deductive databases. We previously proposed a translation of Datalog to C++ based on a method that "pushes" derived tuples immediately to places where they are used. In this paper, we report preformance results of various implementation variants of this method compared to XSB, YAP and DLV. We study only a fraction of the OpenRuleBench problems, but we give a quite detailed analysis of each such task and the factors which influence performance. The results not only show the potential of our method and implementation approach, but could be valuable for anybody implementing systems which should be able to execute tasks of the discussed types.
Abstract:
Kein Beitrag zum WLP, sondern über den WLP: Zeitpunkte, Orte, Namen,
Zahlen, Themen, Sammlungen, Statistiken und auch Fragen.
(F)(C)LP -> Deklarative Programmierung?
Werden Ansprüche erfüllt, sind sie erfüllbar? Sind sich inzwischen alle einig (Uniting-Call 2008)? Wie ist die Ausstrahlung von (F)(C)LP? Warum deklarativ programmieren? Welches Interesse besteht an den Arbeiten im WLP? Wie wird es geweckt? Was wäre anzugehen, um einen 130.WLP möglich zu machen?
Antworten muss die Community liefern.