stevenh@60
|
1 PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
stevenh@60
|
2 PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
stevenh@60
|
3 PREFIX owl: <http://www.w3.org/2002/07/owl#>
|
stevenh@60
|
4 PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
|
stevenh@60
|
5 PREFIX abc: <http://example.org/abc#>
|
stevenh@60
|
6 PREFIX seq: <http://example.org/seq#>
|
stevenh@60
|
7 PREFIX sia: <http://example.org/sia#>
|
stevenh@60
|
8
|
stevenh@60
|
9 INSERT { ?datapoint1 sia:orderedIndex ?orderedIndex;
|
stevenh@60
|
10 sia:memberOfOrderedSet ?dataset}
|
stevenh@60
|
11
|
stevenh@60
|
12 WHERE
|
stevenh@60
|
13 {
|
stevenh@60
|
14 {
|
stevenh@60
|
15 SELECT ?datapoint1 (COUNT (?datapoint2) AS ?numSmallerDatapoints) ?dataset
|
stevenh@60
|
16 WHERE
|
stevenh@60
|
17 {
|
stevenh@69
|
18 ?datapoint1 sia:vector ?vector1 .
|
stevenh@69
|
19 ?vector1 a sia:Vector .
|
stevenh@69
|
20 ?vector1 sia:dimVal ?dimVal1x .
|
stevenh@60
|
21 ?datapoint1 sia:memberOfDataset ?dataset .
|
stevenh@60
|
22 ?dimVal1x sia:dimension ?smallestDimensionMin .
|
stevenh@60
|
23 ?dimVal1x sia:value ?value1x .
|
stevenh@60
|
24
|
stevenh@69
|
25 ?datapoint2 sia:vector ?vector2 .
|
stevenh@69
|
26 ?vector2 a sia:Vector .
|
stevenh@69
|
27 ?vector2 sia:dimVal ?dimVal2x .
|
stevenh@60
|
28 ?dimVal2x sia:dimension ?smallestDimensionMin .
|
stevenh@60
|
29 ?dimVal2x sia:value ?value2x .
|
stevenh@60
|
30
|
stevenh@60
|
31 FILTER ( datatype(?value1x) = xsd:double && datatype(?value2x) = xsd:double )
|
stevenh@60
|
32 FILTER (?value1x > ?value2x) .
|
stevenh@60
|
33 {
|
stevenh@60
|
34 SELECT ?datapoint1 ?datapoint2 (MIN(?dimension) AS ?smallestDimensionMin)
|
stevenh@60
|
35 WHERE
|
stevenh@60
|
36 {
|
stevenh@69
|
37 ?datapoint1 sia:vector ?vector1 .
|
stevenh@69
|
38 ?vector1 a sia:Vector .
|
stevenh@60
|
39 ?datapoint1 a sia:Datapoint .
|
stevenh@60
|
40 ?datapoint1 sia:memberOfDataset ?dataset .
|
stevenh@69
|
41 ?vector1 sia:dimVal ?dimVal1 .
|
stevenh@60
|
42 ?dimVal1 sia:dimension ?dimension .
|
stevenh@60
|
43 ?dimVal1 sia:value ?value1 .
|
stevenh@60
|
44
|
stevenh@69
|
45 ?datapoint2 sia:vector ?vector2 .
|
stevenh@69
|
46 ?vector2 a sia:Vector .
|
stevenh@60
|
47 ?datapoint2 a sia:Datapoint .
|
stevenh@60
|
48 ?datapoint2 sia:memberOfDataset ?dataset .
|
stevenh@69
|
49 ?vector2 sia:dimVal ?dimVal2 .
|
stevenh@60
|
50 ?dimVal2 sia:dimension ?dimension .
|
stevenh@60
|
51 ?dimVal2 sia:value ?value2 .
|
stevenh@60
|
52
|
stevenh@60
|
53 FILTER ( datatype(?value1) = xsd:double && datatype(?value2) = xsd:double )
|
stevenh@60
|
54 FILTER (?value1 != ?value2) .
|
stevenh@60
|
55 }
|
stevenh@60
|
56 GROUP BY ?datapoint1 ?datapoint2
|
stevenh@60
|
57 }
|
stevenh@60
|
58 }
|
stevenh@60
|
59 GROUP BY ?datapoint1 ?dataset
|
stevenh@60
|
60 }
|
stevenh@60
|
61 BIND (?numSmallerDatapoints + 1 AS ?orderedIndex)
|
stevenh@60
|
62 }
|