Multiset semantics in SPARQL, Relational Algebra and Datalog

Tracking #: 3975-5189

Authors: 
Renzo Angles
Claudio Gutierrez
Daniel Hernandez

Responsible editor: 
Eva Blomqvist

Submission type: 
Full Paper
Abstract: 
The paper analyzes and characterizes the algebraic and logical structure of the multiset semantics for SPARQL patterns involving AND, UNION, FILTER, EXCEPT, and SELECT. To do this, we align SPARQL with two well-established query languages: Datalog and Relational Algebra. Specifically, we study (i) a version of non-recursive Datalog with safe negation extended to support multisets, and (ii) a multiset relational algebra comprising projection, selection, natural join, arithmetic union, and except. We prove that these three formalisms are expressively equivalent under multiset semantics.
Full PDF Version: 
Tags: 
Reviewed

Decision/Status: 
Accept

Solicited Reviews:
Click to Expand/Collapse
Review #1
By Olaf Hartig submitted on 28/Nov/2025
Suggestion:
Accept
Review Comment:

The new version of the manuscript addresses the remaining issues pointed out in my previous review. I am happy to accept this version now.

Review #2
By Dörthe Arndt submitted on 29/Jan/2026
Suggestion:
Accept
Review Comment:

The authors addressed most of my concerns and I generally think that the paper should be published.

There are two points which in my opinion need to be addressed.

1. To address the concerns of reviewer 1, the authors introduced the notion of a multiset (a combination of a set and an arity function which assigns each element of the set a natural number) and the colouring of a multiset (a set of pairs of set elements and numbers). This definition makes the difference between these two concepts clear.

In Definition 8, however, the notations are mixed. They define a multiset \Omega using the multiset notation and then use the coloring of the multiset \Theta in the define \Omega while claiming that they use the multiset itself. It is furthermore problematic to claim that card(NotNull(\theta), \Omega)=i for each (\theta,i)\in coloring(\Theta), because that makes that card is not a function anymore since it sometimes assigns multiple values to each set element.

I think the definition can be fixed and I trust the authors to do that. I furthermore recommend that they carefully re-read the whole text after their adjustment, to make sure that they always stick to their notation when they talk about multisets.

2. This is a rather minor point, but the authors did not address my question regarding intensional and extensional predicates: of course both concepts are introduced, but it is never mentioned that they are mutually exclusive, that is that we cannot have a fact r(a) and at the same time a rule r(x)<-p(x). But such a comment can easily be added.

As both of my concerns can easily be addressed, I recommend the acceptance of the paper.