Expressiveness of the RSP-QL query language

Hi!
Thanks for the response Emanuele. Just to clarify, since only one triple is used in each graph pattern with a BEGIN AT. I assume we regard the individual triples in each graph to be associated with the specific timestamps of the originally streamed graph, so that a graph can be referenced using it's associated timestamp, e.g.:
{ ?somebody e:enters ?poi; g:drunk "false"} BEGIN AT ?t
expresses that "somebody" entered "poi" and was at the same point in time not "drunk" within the same window?

Cheers,

Robin Keskisärkkä
PhD Student

Department of Computer and Information Science
Linköping University
581 83 Linköping
Sweden
Mobile: +46 70 490 91 79
Visiting address: E 329:159<https://www.ida.liu.se/department/location/search.en.shtml?keyword=E+329%3A159>, Campus Valla

Please visit us at www.liu.se
________________________________
Från: Emanuele Della Valle [emanuele.dellavalle@polimi.it]
Skickat: den 11 december 2014 22:11
Till: Robin Keskisärkkä
Kopia: Emanuele Della Valle; public-rsp@w3.org
Ämne: Re: new version of the example of RSP-QL query

Dear Robin,

thanks for asking. I answer in line.

On 11 Dec 2014, at 17:16, Robin Keskisärkkä <robin.keskisarkka@liu.se<mailto:robin.keskisarkka@liu.se>> wrote:

Hi!
I looked at the most recent version of the RSP-QL syntax and was just wondering if someone could clarify a few of the concepts for me that I found to be a little bit confusing since I missed the last call.

- What does the 'UNDER ENTAILMENT REGIME <...>' signify?

I mean that the query has to be evaluated under a given entailment regime. In the C-SPARQL Engine recently we add support for RIF entailment regime.

- Does a window consist of triples or a set of graphs?

Nice question, in my opinion, a window is a graph in the dataset against which the WHERE clause is evaluated.

If graphs, can they be individually referenced (e.g. named graphs)?

no, in my opinion, they cannot.

- Does the 'BEGIN AT' apply to triples or graphs?

it applies to graph patterns. If the graph pattern is a triple the evaluation is straight forward because every triple as a timestamp (i.e., the one of the named graph on the stream it was transmitted). If it is a BGP, then things get more tricky. If the BGP is all match within a single named graph on the stream it was transmitted, it is as simple as for the triple patter. If it is matched across named graphs, Allen algebra suggests to take the max of the time stamps.

Over semantics can be meaningful. For instance, in the C-SPARQL language we allow to apply a similar clause (i.e., the timestamp function) only to triple patterns and we return the max of the timestamps of the triples matching the pattern.

- Why is the aggregate part a separate clause, why not only GROUP BY and COUNT(...) AS …?

This is part of the original C-SPARQL language proposal. It allows to compute and aggregate without shrinking the result set, but decorating it. More information can be found in section 3.4 of this paper (also attached, since it is hard to find):

Davide Francesco Barbieri, Daniele Braga, Stefano Ceri, Emanuele Della Valle, Michael Grossniklaus: C-SPARQL: a Continuous Query Language for RDF Data Streams. Int. J. Semantic Computing 4(1): 3-25 (2010)

http://dx.doi.org/10.1142/S1793351X10000936

- Can a window defined that has no name?

yes, in my opinion, it that case the triples end up in the default graph of the dataset against which the WHERE clause is evaluated.

Cheers,

Emanuele

Received on Monday, 15 December 2014 07:47:22 UTC