annotate src/sparql/insert_vte_order_bar_one.sparql @ 60:387439c076f9

new
author stevenh
date Sat, 11 May 2013 17:56:37 +0100
parents
children fd9111c83e57
rev   line source
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 }