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

new
author stevenh
date Sat, 11 May 2013 17:56:37 +0100
parents
children 94e6592eb106
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 { ?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@60 18 ?datapoint1 sia:dimVal ?dimVal1x .
stevenh@60 19 ?datapoint1 sia:memberOfDataset ?dataset .
stevenh@60 20 ?dimVal1x sia:dimension ?smallestDimensionMin .
stevenh@60 21 ?dimVal1x sia:value ?value1x .
stevenh@60 22
stevenh@60 23 ?datapoint2 sia:dimVal ?dimVal2x .
stevenh@60 24 ?dimVal2x sia:dimension ?smallestDimensionMin .
stevenh@60 25 ?dimVal2x sia:value ?value2x .
stevenh@60 26
stevenh@60 27 FILTER ( datatype(?value1x) = xsd:double && datatype(?value2x) = xsd:double )
stevenh@60 28 FILTER (?value1x > ?value2x) .
stevenh@60 29 {
stevenh@60 30 SELECT ?datapoint1 ?datapoint2 (MIN(?dimension) AS ?smallestDimensionMin)
stevenh@60 31 WHERE
stevenh@60 32 {
stevenh@60 33 ?datapoint1 a sia:Datapoint .
stevenh@60 34 ?datapoint1 sia:memberOfDataset ?dataset .
stevenh@60 35 ?datapoint1 sia:dimVal ?dimVal1 .
stevenh@60 36 ?dimVal1 sia:dimension ?dimension .
stevenh@60 37 ?dimVal1 sia:value ?value1 .
stevenh@60 38
stevenh@60 39 ?datapoint2 a sia:Datapoint .
stevenh@60 40 ?datapoint2 sia:memberOfDataset ?dataset .
stevenh@60 41 ?datapoint2 sia:dimVal ?dimVal2 .
stevenh@60 42 ?dimVal2 sia:dimension ?dimension .
stevenh@60 43 ?dimVal2 sia:value ?value2 .
stevenh@60 44
stevenh@60 45 FILTER ( datatype(?value1) = xsd:double && datatype(?value2) = xsd:double )
stevenh@60 46 FILTER (?value1 != ?value2) .
stevenh@60 47 }
stevenh@60 48 GROUP BY ?datapoint1 ?datapoint2
stevenh@60 49 }
stevenh@60 50 }
stevenh@60 51 GROUP BY ?datapoint1 ?dataset
stevenh@60 52 }
stevenh@60 53 BIND (?numSmallerDatapoints + 1 AS ?orderedIndex)
stevenh@60 54 }