Review Comment:
The authors tackle the problem of monitoring the result changes of SPARQL queries and propose a system called MonARCh.
MonARCh is a scalable result monitoring system using a pub/sub architecture which allows to notify uses about changes in their registered query results.
The problem addressed in the paper is very relevant and also nicely analysed in the manuscript.
Change notification for application in the Linked Data , federated SPARQL EP setup is an important topic. Even in closed spaces , e.g. large companies that have several SPARQL endpoints running.
Applications could rely on very timely and detailed notification and as such save a lot of bandwidth and client logic.
However, the current state of the manuscript does not really provide a clear and structured solution to this problem.
The main weakness of this work is the lag of structure and also evaluation.
I found it very hard to extract the exact problem addressed in the paper, the proposed solution and architecture and what are the final results.
In contrast, the paper presents the research methodology in a very structured way - but fails to present the results in the same clear structure.
The authors should maybe focus less on presenting the methodology, but rather trying to slim down the scope and present in a clear way the problem, the solution design, implementation details and systematic evaluation.
Also introducing all methodology question in section 3 without providing the details is very confusing - the readers need to read section 4 and 5 before they can understand section 3.
The second major weakness is the evaluation- which is too unstructured and simplistic.
There are claims and conclusions which are not backed up by the numbers, proofs or references.
I dont see the scalability of the system at all. The numbers show me that i need a lot of memory for small datasets and small user load.
There is only one simple query tested with a actually small scale experiment, 3000 companies on two nodes.
I would like to see that the system can scale with the number of statements and registered queries and also query types (e.g. selectivity, results, #eps) and nodes.
The evaluation is not comparing to similar systems in the related work, why is that ? Also the claim that they are not scalable is not backed up
It is clear that the authors invested a lot of effort in studying the problem, related work and systems and in implementing MonARCh and that they try to present their contribution.
The manuscript at hand however does not yet present this effort and the smart solution in the way it should be.
As such, i highly encourage the authors to revise their manuscript by focusing on the core aspect of their contribution - the problem, the solution, the implementation and evaluation.
Slim down the design/research methodology section to its core points and then invest in the presentation of the solution and its evaluation in terms of the claim to be scalable.
# Introduction
The authors talk about Linked Data but then focus entirely on SPARQL queries which are federated. Linked Data is a set of 4 principles saying that data should be stored as RDF and accessed via dereferencing URIs. SPARQL queries are typically executed by RDF stores which harvest a subset of the Linked Data Web.
What is unclear in the introduction is how MonARCh is deployed. Is it a global service or is it deployed as a kind of proxy for my application?
# Section 2
The part on page 3 about semantic web and linked data reads odd. The authors talk about sources are interlinked, but a source refers typically to a dataset or a payload. the authors probably mean "interlinking resources or entities".
The argument about SPARQL Endpoints that interact with each other should be backed up by some references.
The SPARQL endpoints are typically a interface over a a collection of datasets (it could be crawled data, or a large data dump that is served).
What does it mean that it is not obligatory for a SPARQL Endpoint to be publishers (p3.l37)
# Research Methodology
The first paragraph is still not clear to me.
The authors talk about monitoring changes in the Linked Data but with SPARQL queries - which is at this point still unclear to me what that exactly means. SPARQL queries can be typically executed via SPARQL engines over a graph database, or in federation, over other SPARQL endpoints. There is one approach which allows to directly execute SPARQL queries with HTTP Get requests , but the others do not mention this at this stage. So overall, i don't know what the authors approach is at this part of the paper.
Also it is not clear how to get from the motivation to the design methodology. I think the motivation is too vague and too broad - enhance the response ability to changes in Linked Data - this could be done with HTTP Head and ifModifiedSince in the purest case.
Otherwise, I like that the authors introduce this clear methodology
# Design Problem and Knowledge Question
I think the authors have to make clear what linked data monitoring with federated SPARQL queries have in relation.
SOme research question make only sense if you know the remaining part of the paper. e-g. Pro and Cons of the join algorithm - join algorithm is the first time mention at this page - so why is a join algorithm important here ?
Why are some questions duplicated across several categories?
I think this section needs to be introduces later or with much more detail.
The problem is that the questions refer to specific implementation, architecture and SPARQL specifics which are not introduced at this stage in the journal.
# Design Cycle
I think here applies the same as in Section 4. There is so much context required to understand it. E.g. what are cluster dynamics and why is it important.
The confusing part is to see the architecture and implementation in the subsection Treatment Design.
I would put the architecture and design in its own section with additional subsection to get a better structure.
# Empirical Cycle
I am missing some clear overview of the experiment, the setup, and the results.
What means "the system can handle up to 3000 companies with 3000 queries at most"?
Is it queries per minute, or overall registered queries ?
What happens if i have a query for the article count and one query for the stock markets?
Would the system behave differently?
Could i handle only one query, or both ?
The query times are around 90 secs max with 2500 companies ?
That also means that the system cannot be used for near real tome notification. This is not a negative thing, but should be stated in the motivation that the goal is to monitor data with a change frequency above a certain min time.
Also the query times seem to increase quite strong with more data - is that still scalable ?
If the scale with factor 7 holds, the system would soon be unresponsive.
What is the reason that node 1 and node 2 behave differently?
Other questions:
There are no real acceptance criteria defined for the evaluation success.
Why is only one simple query used . What happens if other SPARQL operators are used (e.g. OPTIONALS, FILTERS)?
Why were there not different queries tested.
The authors need to explain the figures and why the curves are like they are.
One would expect from a scalable system that the relevant parameters increase linear with the number of inputs. But the figures show that there is sometimes a linear increase and then decrease.
THere must be a clear reason why it is like that
The system can monitor 48m tuples with 30GB.
Now consider that Linked Data spans billions of triples , how much memory is needed in the system.
Even in a moderate setup, with around 300m statements, this means the system needs 180GB Ram for each cluster node.
Section 6.6.4 needs more structure. One needs to scroll back to find the questions and then map them to the answers ( e.g. the first one asks ... , the other question -> Which other?)
Why did you not study or proof your answers? E.g. you claim that the system depends on the selectivity of the triple pattern - Why did your experiment not test that claim -
What happens if you join a low selectivity query with a high selectivity query in comparison to two queries with medium selectivity?
did you study join selectivity instead only triple pattern selectivity?
"In real world cases much less queries are expected " p22, l1-2.
I would argue the contrary - Your evaluation query is simple, notify me if the article count or stock price is changing for any company - Why makes you believe that an application would register less queries?
I would rather see that you could have several queries per company registered ( tell me if the stock price is changing, tell me if the company has a new product, tell me if the NYT writes a new article about a company ....)
Overall i think this section requires much more evaluation to answer all questions , or focuses on one or two core aspects of the system and inspects them in detail.
The claim is that the system is able to scale - so i would start to investigate that claim in a clear methodology-
That means that there should be a real scalable use case selected. The current setup is three datasets and one simple query - This is way to simplistic in my view.
Other remarks:
How to avoid DoS attacks on the SPARQL EPs?
|