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 { ?vte1 sia:orderedIndex ?orderedIndex;
|
stevenh@60
|
10 sia:memberOfOrderedSet ?dataset}
|
stevenh@60
|
11
|
stevenh@60
|
12 WHERE
|
stevenh@60
|
13 {
|
stevenh@60
|
14 {
|
stevenh@79
|
15 SELECT ?dataset ?vte1 (COUNT (DISTINCT(?vte2)) AS ?numSmallerVtes)
|
stevenh@60
|
16 WHERE
|
stevenh@60
|
17 {
|
stevenh@60
|
18 {
|
stevenh@60
|
19 SELECT ?vte1 ?vte2 ?dataset
|
stevenh@60
|
20 WHERE
|
stevenh@60
|
21 {
|
stevenh@60
|
22 ?vte1 sia:dimVal ?dimVal1x .
|
stevenh@60
|
23 ?dimVal1x sia:dimension ?smallestDimensionMin .
|
stevenh@60
|
24 ?dimVal1x sia:value ?value1x .
|
stevenh@60
|
25
|
stevenh@60
|
26 ?vte2 sia:dimVal ?dimVal2x .
|
stevenh@60
|
27 ?dimVal2x sia:dimension ?smallestDimensionMin .
|
stevenh@60
|
28 ?dimVal2x sia:value ?value2x .
|
stevenh@60
|
29
|
stevenh@60
|
30 FILTER (?value1x > ?value2x) .
|
stevenh@60
|
31
|
stevenh@60
|
32 {
|
stevenh@60
|
33 {
|
stevenh@60
|
34 SELECT ?vte1 ?vte2 (MIN(?dimension) AS ?smallestDimensionMin) ?dataset
|
stevenh@60
|
35 WHERE
|
stevenh@60
|
36 {
|
stevenh@60
|
37 ?vte1 a sia:VectorTableElement .
|
stevenh@60
|
38 ?vte1 sia:dimVal ?dimVal1 .
|
stevenh@60
|
39 ?vte1 sia:memberOfDataset ?dataset .
|
stevenh@60
|
40 ?dimVal1 sia:dimension ?dimension .
|
stevenh@60
|
41 ?dimVal1 sia:value ?value1 .
|
stevenh@60
|
42
|
stevenh@60
|
43 ?vte2 a sia:VectorTableElement .
|
stevenh@60
|
44 ?vte2 sia:dimVal ?dimVal2 .
|
stevenh@60
|
45 ?vte2 sia:memberOfDataset ?dataset .
|
stevenh@60
|
46 ?dimVal2 sia:dimension ?dimension .
|
stevenh@60
|
47 ?dimVal2 sia:value ?value2 .
|
stevenh@60
|
48
|
stevenh@60
|
49 FILTER (?value1 != ?value2) .
|
stevenh@60
|
50 }
|
stevenh@60
|
51 GROUP BY ?dataset ?vte1 ?vte2
|
stevenh@60
|
52 }
|
stevenh@60
|
53 }
|
stevenh@60
|
54 }
|
stevenh@60
|
55 }
|
stevenh@60
|
56
|
stevenh@60
|
57 UNION
|
stevenh@60
|
58
|
stevenh@60
|
59 {
|
stevenh@60
|
60 SELECT ?vte1 ?vte2 ?dataset
|
stevenh@60
|
61 WHERE
|
stevenh@60
|
62 {
|
stevenh@60
|
63 ?vte1 sia:fromDatapoint ?vte1FromDatapoint .
|
stevenh@60
|
64 ?vte1FromDatapoint sia:orderedIndex ?value1 .
|
stevenh@60
|
65
|
stevenh@60
|
66 ?vte2 sia:fromDatapoint ?vte2FromDatapoint .
|
stevenh@60
|
67 ?vte2FromDatapoint sia:orderedIndex ?value2 .
|
stevenh@60
|
68
|
stevenh@60
|
69 FILTER (?value1 > ?value2) .
|
stevenh@60
|
70
|
stevenh@60
|
71 {
|
stevenh@60
|
72
|
stevenh@60
|
73 # These are vtes which are equal in all dimensions
|
stevenh@60
|
74 SELECT ?vte1 ?vte2 ?dataset
|
stevenh@60
|
75 WHERE
|
stevenh@60
|
76 {
|
stevenh@60
|
77 ?vte1 a sia:VectorTableElement .
|
stevenh@60
|
78 ?vte1 sia:memberOfDataset ?dataset .
|
stevenh@60
|
79 ?vte2 a sia:VectorTableElement .
|
stevenh@60
|
80 ?vte2 sia:memberOfDataset ?dataset .
|
stevenh@60
|
81
|
stevenh@60
|
82 MINUS
|
stevenh@60
|
83 {
|
stevenh@60
|
84 ?vte1 a sia:VectorTableElement .
|
stevenh@60
|
85 ?vte1 sia:memberOfDataset ?dataset .
|
stevenh@60
|
86 ?vte1 sia:dimVal ?dimVal1 .
|
stevenh@60
|
87 ?dimVal1 sia:dimension ?dimension .
|
stevenh@60
|
88 ?dimVal1 sia:value ?value1 .
|
stevenh@60
|
89
|
stevenh@60
|
90 ?vte2 a sia:VectorTableElement .
|
stevenh@60
|
91 ?vte2 sia:memberOfDataset ?dataset .
|
stevenh@60
|
92 ?vte2 sia:dimVal ?dimVal2 .
|
stevenh@60
|
93 ?dimVal2 sia:dimension ?dimension .
|
stevenh@60
|
94 ?dimVal2 sia:value ?value2 .
|
stevenh@60
|
95
|
stevenh@60
|
96 FILTER (?value1 != ?value2) .
|
stevenh@60
|
97 FILTER (?vte1 != ?vte2) .
|
stevenh@60
|
98 }
|
stevenh@60
|
99 }
|
stevenh@60
|
100 GROUP BY ?dataset ?vte1 ?vte2
|
stevenh@60
|
101 }
|
stevenh@60
|
102 }
|
stevenh@60
|
103 }
|
stevenh@60
|
104 }
|
stevenh@60
|
105 GROUP BY ?dataset ?vte1
|
stevenh@60
|
106 }
|
stevenh@60
|
107 BIND (?numSmallerVtes + 1 AS ?orderedIndex)
|
stevenh@60
|
108 } |