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