Review Comment:
The paper describes an approach to apply reasoning about time based on the Time Ontology by leveraging on SHACL rules.
Originality: As far as I know, the work presented in the paper about applying SHACL rules to the time ontology is original. Nevertheless, the idea on which it is based, which is doing inference using SHACL rules, is not so original and has already been proposed in several posts in the SHACL community like this one from 2017: https://spinrdf.org/shacl-and-owl.html At the same time, reasoning about temporal intervals like the ones defined by Allen and the time ontology is also not a new idea and there are already several works that have attempted it.
Significance of the results: The authors indicate two main contributions in the conclusions:
1. A new SHACL-based version of the Time Ontology: The authors indicate that the OWL representation of the time ontology is not satisfactory because it lacks operators for temporal data. However, it is not clear if this is something that could be added to OWL or if it is something that OWL can not handle because there are limitations on the underlying description logic. I think that it is something that could be added which would enable OWL reasoners to handle it, but maybe it isn’t. If it can be added, then the argument of the authors should probably be rewritten, if it can’t, maybe they should indicate why not.
A significant part of the paper is devoted to presenting a translation of Allen’s temporal relations to SHACL-SPARQL rules. The resulting rules are quite verbose and involve a lot of details from SPARQL and SHACl syntax. I think a more concise syntax could be defined for the rules which could be translated to the SHACL-SPARQL code avoiding the extra cognitive load of combining embedding SPARQL code in SHACL’s turtle syntax which make it harder than necessary to understand the paper. As an example, rule 18 is defined as:
[rdf:type sh:NodeShape;
sh:targetSubjectsOf time:inside;
sh:rule[rdf:type sh:SPARQLRule; sh:prefixes ... ;
sh:construct """CONSTRUCT{?b time:before ?i}
WHERE{ $this time:hasBeginning ?b. $this time:inside ?i}"""]].
Using a Datalog-like compact syntax, that rule could be rewritten as:
before(b,i) :- hasBeginning(x,b), inside(x,i), inside(x,_) .
Which would make it easier to reason about the rule…and the main question would be about what are the new semantics of those SHACL rules that are different from other logic programming systems…which could be the second contribution of the paper.
2. Novel insights about the interplay between validation and inference in SHACL: The authors describe how the SHACL rules can be used for temporal inference and explain the behaviour of the system that they have implemented based on SHACL rules. From my point of view, although I consider that the work is interesting, I think there is a need for an extra step in defining a formal semantics of the SHACL rules and indicating what is the difference between that semantics and the semantics of other rule-based systems. That would be a more significant contribution of the paper and it would help to raise some light on it.
The authors already indicate that the SHACL rules proposal needs to be changed so instead of checking the shapes and then doing inference as proposed in the SHACL rules working draft, the authors propose to do the SHACL-rules inference before and them apply the SHACL shapes to check the constraints. The authors acknowledge that this approach could generate infinite loops if the authors of the rules don’t take enough care when they write the rules but I think it may be relevant to understand the semantics of the rule based system that is obtained from this combination of SHACL rules. At the end, it is not clear for me what is the difference between defining the rules using SHACL-SPARQL syntax and defining the rules with SWRL, RIF or any other rule-based system that could be applied. I think that if the paper wants to provide a significant contribution for it, it must be rewritten to take into describe what is the semantics of the new system based on SHACL rules and what are the differences between that system and other rule based systems that have already been proposed in the past. Is it just a syntactic difference or is there a semantic difference?
In that sense, the authors compare their approach with OWL and they indicate that “reasoning over large knowledge graphs with temporal information cannot be achieved using OWL reasoners” (page 5, line 36), I think that information is too strong and I would like to know why the authors state that. Is it because of the complexity of the reasoners? Or is there some fundamental problem in description logics or in the Open World Assumption that make it unable to be applied for temporal reasoning? Or is it possible to add something to OWL to make it able to be applied for temporal reasoning? I wonder if the authors could provide more insights to answer those questions, specially as the second author has published the paper: “Temporal representation and reasoning in OWL 2”, I think it would make sense if the authors gave a more in depth comparison between the pros and cons of OWL vs SHACL-rules which is not just about some practical problems of existing implementations and focuses more about the underlying semantics of both formalisms.
Quality of writing: The paper is well written and it has a lot of nice pictures and examples that help understand the different aspects of the time ontology. nevertheless, the authors chose to present the SHACL-rules using the turtle syntax that embeds the SPARQL queries as strings, which make those rules very verbose and take a lot of space in the paper. Although I appreciate that the paper is based on a real implementation with its github repository which includes those rules, I think the paper could be more readable if the authors used a more concise syntax for the rules and for SHACL following, for example, an abstract syntax like the one employed in the paper Semantics and Validation of recursive SHACL, https://doi.org/10.1007/978-3-030-00671-6_19 which could help understand the semantics of the SHACL fragment employed by the authors. In fact, I think those rules could just be presented more concisely with a logic programming syntax, which would enable to present a formal semantics of the rules and the implications of iteratively applying those rules which can create infinite loops. I have the impression that the language obtained by the iterative application of those rules is not different from traditional rule based languages like SWRL. The main comparison between the work presented in the paper and SWRL is just a like saying that “SWRL has been used for representing temporal reasoning rules but corresponding approaches were not efficient.” I think the authors should do a more in-depth comparison about why SWRL was not efficient and their approach is more efficient…is it because they define less rules in their system or is there some fundamental change in the SHACL-rules based approach from SWRL?
Availability of the resources: The paper points to an implementation available in a public github repository: https://github.com/liviorobaldo/TimeOntologyInSHACL. The repository contains both the rules, the data and the Java code that can be used to obtain the results. I was able to run the code and I appreciate the efforts of the authors to make this resource available.
Some more detailed comments:
Page 2. Line 45: “another has been ...” should be “another has been ” (W3C doesn’t publish standards, it publishes recommendations)
Page 4. Line 5, “Will then on describing the Time ontology…”
Page 4, line 43. “Many properties of are dynamic…”
Page 5, line 10, the authors seem to indicate that a problem of SOWL and others is that they are based on SWRL which is not a widely supported W3C recommendation for rule definition…but SHACL-rules is also not a W3C recommendation, SHACL-rules is a working group note which is also not a recommendation.
Page 5, line 13. “Common vocabularies an definitions…”
Page 5, line 21: “the temporal ...”
Page 5, line 26, “the semantic web ...”
Page 5, line 37, “cannot be achieved using OWL reasoners” that statement is too strong and I would like the authors to provide more details about what are the real problems of OWL to achieve it.
Page 5, line 49, “with specific ontology” -> “with a specific ontology or “with specific ontologies…”
Page 6, line 9, “SWRL has been used to representing temporal reasoning but corresponding approaches were not efficient” requires more details about why those approaches were not efficient and why SHACL rules is more efficient…in fact, I suggest the authors to provide a more in depth comparison between their approach and SWRL or other rule-based approaches.
Page 8, line 16, “which associate instances…”
Page 8, line 17, “we repeat again that …xsd:dateTime the single…”, if the sentence is a repetition, could it be removed?
Page 10, line 13, refers to figure 4, but I think it should refer to figure 3, and line 21, the same. The captions of figure 3 and figure 4 are the same, I think the caption of figure 4 is wrong.
Page 11 line 50, “this is due to the limitation of OWL…does not include constructs to compare and work with temporal data”, I wonder if it is a real limitation of OWL as those constructs could be included, maybe in a new version of OWL or if there is some fundamental problem of OWL. I also wonder if those definitions could be encoded as intervals and do the reasoning at a lower level comparing the decimal values of the start and end time of those intervals.
Page 16, line 45, “also cover the property after
Page 19, line 24, “an instant and ends of itself…”
Page 22, line 48, “property inside in a chain of properties…”
|