Review Comment:
The authors addressed most of my concerns and I especially appreciate the effort they put into adding more structure (for example introducing the functions they use for their translations from one framework to another at the beginning of each section) and into clarifying the text by adding examples (for example the text about multiset operations). I like the overall paper and its (now well-motivated) topic, but still consider it a little bit too dense in terms of theory introduced. I understand that this has to do with the nature of the paper: there are three frameworks (SPARQL, Relational Algebra and Datalog) which need to be introduced. So, I would like to have even more explanation, but accept if the authors opt against that to save space.
With that, I would and have only a few minor points I would like to see addressed:
- page 2, existential negation: what does “preserving the cardinalities” mean?
- Table 2: P_3 UNION P_4 -> should that be P_1 UNION P_2?
- page 15, Definition 4: The definition starts with introducing the predicate names and “comp” is currently missing, the first bullet makes the effort to determine all terms occurring in D while the last bullet used “for each term a in D”, technically, D is a set of facts, so maybe one could refer to “for each a for which term(a)\inD”?
- page 15, equation 1 uses \phi and \varphi
- page 16, Definition 5: I think the predicate “bound” was never introduced
- page 19, Table 4, AND: are the rules producing “comp” still needed now that there are also facts introduced in Definition 4? I also still have difficulties understanding the where condition as it is stated, maybe that could be clarified? Maybe explaining it in example 5 could also help.
- page 18, Example 5: While I appreciate most of the examples, I think particularly this one should be refined and explained in more detail, maybe by referring to the table. Additionally, there are many typos in the example (e.g. “... people their know”-> “...people they know”, triple predicates missing in the first and the last rule) which need to be fixed.
- page 20, Example 6: what does “the fact p(a,b) contains two copies” mean?
- page 21, line 22: You rewrite the rule R=q(Y,Z)<-p(X,Z,Y) by R’=q(X,Y)<-p(X,Y,Z) and I do not understand that. Why is it not q(X,Y)<-(Z,Y,X)?
- page 21, lines 28ff, it seems that predicates in NRMD^\neg are either intentional or extensional but not both? If so, that should be mentioned when it is introduced. If I am mistaken, what happens in that case?
- page 24, line 38: fro -> from
- page 25 line 51. B_3 -> B_2
Under the condition that the above points, especially Example 5 and Table 4 will be addressed, I recommend acceptance.
|