Review Comment:
This paper tackles the problem of expressing user preferences in a query language. Specifically, the paper focuses on three main points:
(i) using conditional preference theories to express complex dependencies/independences of preferences under a ceteris paribus interpretation;
(ii) encoding user preferences by means of an OWL ontology;
(iii) making (i) and (ii) available in the SPARQL language.
As for (i), authors build upon previous theoretical work (ref. [27]); as for (ii) and (iii) authors also enhance their own previous work (ref. [25]).
Summary of the review:
Pros:
(S.1) the paper provides a comprehensive way of dealing with user preferences (from theory to practice)
(S.2) the presentation and the writing are very good, although something can be improved (see comments below)
(S.3) there is a system that puts into practice the machinery described in the paper (even if I could not access the system although trying several times)
Cons:
(W.1) There is no experimental evaluation. In this respect, one can tackle two main problems: (a) is really that simple for users to write preferences? (b) how preferences affect running time;
(W.2) I had a very hard time in grasping the semantics of SPARQL enhanced with preferences. The semantics is buried in the text and I think that the paper will benefit a lot from making this semantics explicit (see comments below);
(W.3) related work can be extended. There is an entire line of research tackling the problem of preferences in graphs (with the important feature of enabling to include preferences in recursive queries) that is not mentioned at all in the paper.
Detailed review:
Generally, I like this paper especially for the fact that it provides a quite comprehensive solution to the problem of expressing preferences in SPARQL. Nevertheless, I think there are a number of issues that need to be addressed:
As for W.1, the whole process of generating SPARQL queries enhanced with preferences (obtained via the rewriting) is almost transparent to the user. Nevertheless, the resulting SPARQL queries can be very large. It would be interesting to investigate the following aspects:
(i) the relationship between the original preference expressed by the user (or model via CP-Nets) and the length of the generated SPARQL queries; this will give an idea of how one expects the query to become more complex as well as of the readability/conciseness of the query;
(ii) authors have described "one" of the possible rewriting; some considerations about the optimality/uniqueness of the rewriting are needed. In other words, is there any other (better) way to translate your preference into SPARQL? why you choose exactly these SPARQL operators?
(iii) from a more practical point of view, it would be interesting to see running times; in particular, comparing running time of a SPARQL query with and without (or an approximation of it) preferences. In particular, I would like to see how the constraint that "the size of the parent sets and the size of the domain sets are bounded by a constant" to have polynomial time impacts the running time.
(iv) comparing your approach with PrefSPARQL; you provide some sort of comparison in the related work section. Nevertheless, having an idea of what is implied by the fact that PrefSPARQL "introduces preferences at the level of filters" and whether this is a good/bad choice is certainly interesting.
As a side note, I tried along several days to access the system, but the server does not respond.
As for W.2, I had to struggle quite a bit to have an idea of what is the semantics of your preference-enhanced SPARQL language. Authors should consider the following aspects:
(i) the semantics of expressing preference via Cp-Nets in SPARQL is buried in the text. As an example, the text below Figure 3 gives the recipe for computing the "conditionallyMoreImportantThan"-closure while in Section 4.2 Query1-Query3 give a high-level overview of how a SPARQL query enhanced with preferences looks like. Having a table that shows for (a subset of) the SPARQL algebra what is returned in terms of mappings will make the paper more accessible. Authors could have a look at the very recent work by Troumpoukis et. al [Ref5] about the semantics of SPARQL enhanced with preferences.
(ii) Th. 1 and Th. 2 consider the case of fully acyclic and cuc-acyclic theories, respectively. I have no objections to the fact that the theoretical part of this work is not original; nevertheless, some more hints about the implications of non-acyclic theories need to be provided. As authors themselves mention, Th. 2 requires a pretty strong condition.
As for W.3, authors mainly focus on approaches that incorporate preferences in SPARQL. Nevertheless, there is an entire line of research tackling a similar problem in the specific case of graph databases. It would be interesting to investigate how recursion (the main feature of graph navigation/query languages) will impact on your framework.
Minor points:
- I noticed that the title of this paper is exactly the same as that of the conference version. Authors should consider changing the title to make clearer the distinction
- Statements like "a user’s preference model is just an approximation of what a user really wants"need to be either removed or better supported (e.g., via concrete examples).
- "hard constraints—used to return only relevant results"; the notion of relevance here needs to be clarified
- It is not completely clear which kind of entailment regime is needed to deal with the OWL ontology modeling user preferences
- typo: "if a user’s requirements"
Some missing references:
[Ref1] Combining Fuzzy Information from Multiple Systems, JCSS 1999
[Ref2] Partially Ordered Regular Languages for Graph Queries, JCSS 2005
[Ref3] Preferential Regular Path Queries, Fundamenta Informaticae, 2008
[Ref4] Querying Graphs with Preferences, CIKM 2015
[Ref5]An extension of SPARQL for expressing qualitative preferences, ISWC 2017
|