Review Comment:
This manuscript was submitted as 'Tools and Systems Report' and should be reviewed along the following dimensions:
(1) Quality, importance, and impact of the described tool or system (convincing evidence must be provided).
(2) Clarity, illustration, and readability of the describing paper, which shall convey to the reader both the capabilities and the limitations of the tool.
This paper describe the ClioPatria toolkit based on SWI-Prolog for Semantic Web applications, and it documents how it has been used in different application scenarios and projects.
The motivations illustrate with reasonable clarity how Prolog can help easier and more flexible specification of SPARQL queries, highlighting the main advantage in easier writing of nested and sub- queries, increased expressiveness w.r.t. SPARQL 1.0 and to some extent also to SPARQL1.1, and the ability to specify entailment modules (e.g. to express RDFS inference), as well as custom modules similar to JENA function properties, both using Prolog rules.
In general the paper is well written and presents clearly the features of the system, although I would encourage authors to identify more clearly what are the features of ClioPatria that turn out to have an impact in each of the projects mentioned.
Also, a clearer identification of ongoing work and future impact, as separated from limitations and discussions on open issues, should be presented.
Some specific comments below:
- when describing the features, authors mention the ability to "retry": does this refer to back jumping?
- although the declaration of triples and some queries (like subqueries) results more intuitive in SWI Prolog, how about certain other SPARQL 1.1 construct like aggregates and property paths? Does ClioPatria support a version of aggregates that does not require specifying rules to find, for example the first or the first N triples ordered by the value of the object/subject?
- example in 2.1.2. requires more rules to express what is rdf_reachable/3. This means that building entailment modules requires to specify something like a JENA function. What is the additional value of having SWI-Prolog modules instead of JENA function properties?
- does Cliopatria use mechanisms to automatically decide whether backward of forward chaining is more efficient based on some structural properties of the query, as mentioned at the end of Sec 2.1.2? Or does this have to be decided at design time?
- when describing the triple store in Sec 2.2, I would like more motivations around the choice of a C-implementation vs the use of dynamic predicates.
- in Sec 2.2 authors mention indexes and maintainment of specific relation indexes to speed up entailment. Is this application dependent or is there a set of recommended RDFS properties that should be maintained? What about custom-defined entailment modules?
- Sec 2.4 mentions the need for packages and extensions to follow strict guidelines. Are these guidelines somehow summarized somewhere? As a system report, that should be clarified.
- although a complete comparison with AllegroGraph is out of scope, it would be good to briefly say more about how it positions in Related work and how it compares with ClioPatria.
- in Section 4, would be good to recall the specific role of ClioPatria (as an extension/enhancement of SPARQL) in each application for each domain. Despite these are mentioned in the introduction, it would be good to provide a summary for each application area. Sometimes this is done, e.g. in the second paragraph of 4.1, but sometimes it is quite vague as in /facet and in the last paragraph of 4.1.
- section 4.4 .says the ClioPatria triple store "stresses dynamic data". What does that mean? inference and search in the system doesn't seem to be tailored to data streams (= dynamic data as I see it) so this statement is a bit confusing.
- section 4.6.1 refers to the use of Prolog for planning in robotics? This is not clear and should be explicitly mentioned.
- In general, the status of each project in section 4 should be clearly stated (ongoing, finished, just started, etc). This would have an overview of the global impact and timespan
- Future Work section should actually be discussion and limitations. I would expect a future-work section to illustrate what are the next steps in ClioPatria, the support for developers and a timeline or a list of priorities in ongoing extensions/applications of ClioPatria. There are no space limitations, therefore a better analysis of the future of the toolkit and its potential impact/directions should be provided.
|
Comments
Revision
All my comments have been addressed in the revision. Most importantly, the authors clarified that also the underlying RDF triplet store is part of the presented system and not only the defined predicates. This was not clear in the previous version. After the clarification the contribution appears to be significant and my doubts in this respect have disappeared.