steve@0
|
1 PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
steve@0
|
2 PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
steve@0
|
3 PREFIX owl: <http://www.w3.org/2002/07/owl#>
|
steve@0
|
4 PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
|
steve@0
|
5 PREFIX abc: <http://example.org/abc#>
|
steve@0
|
6 PREFIX seq: <http://example.org/seq#>
|
steve@0
|
7 PREFIX sia: <http://example.org/sia#>
|
steve@0
|
8
|
steve@0
|
9 CONSTRUCT { ?vte sia:dimVal _:dv .
|
steve@0
|
10 _:dv sia:dimension ?dim;
|
steve@0
|
11 sia:value ?val}
|
steve@0
|
12 WHERE
|
steve@0
|
13 {
|
steve@0
|
14 ?vte rdf:type sia:VectorTableElement .
|
steve@0
|
15 ?vte sia:fromDatapoint ?datapoint1 .
|
steve@0
|
16 ?vte sia:toDatapoint ?datapoint2 .
|
steve@0
|
17 ?datapoint1 rdf:type sia:Datapoint .
|
steve@0
|
18 ?datapoint1 sia:dimVal ?dv1 .
|
steve@0
|
19 ?dv1 sia:dimension ?dim .
|
steve@0
|
20 ?dv1 sia:value ?val1 .
|
steve@0
|
21 ?datapoint2 rdf:type sia:Datapoint .
|
steve@0
|
22 ?datapoint2 sia:dimVal ?dv2 .
|
steve@0
|
23 ?dv2 sia:dimension ?dim .
|
steve@0
|
24 ?dv2 sia:value ?val2 .
|
steve@0
|
25 ?datapoint1 sia:orderedIndex ?i1 .
|
steve@0
|
26 ?datapoint2 sia:orderedIndex ?i2 .
|
steve@0
|
27 BIND (?val2 - ?val1 AS ?val)
|
steve@0
|
28 FILTER ((?datapoint1 != ?datapoint2) && (?i1 < ?i2))
|
steve@0
|
29 }
|
steve@0
|
30 GROUP BY ?vte ?datapoint1 ?datapoint2 ?dim ?val
|