Strabon
changeset 825:3b3e9ed00cf0 DiffDateTime
Rename file
author | George Garbis <ggarbis@di.uoa.gr> |
---|---|
date | Wed Dec 19 18:04:34 2012 +0200 (2012-12-19) |
parents | 299566cf0392 |
children | 7ebfdbbce0d5 |
files | examples/teleios/discoverFires-start.rq examples/teleios/discoverFires.rq |
line diff
1.1 --- a/examples/teleios/discoverFires-start.rq Sun Dec 16 14:29:01 2012 +0200 1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 1.3 @@ -1,68 +0,0 @@ 1.4 -#Το πρώτο query εφαρμόζεται με σκοπό τον περιορισμό τoυ θορύβου, 1.5 -#εντοπίζοντας την χρονική αστάθεια ("αναλαμπές") σε πολύγωνα 1.6 -#καμένων εκτάσεων. Υλοποιήσαμε και εφαρμόσαμε το ακόλουθο χρονικό φίλτρο 1.7 -#στα δεδομένα (με αναφορές στον πηγαίο κώδικα): 1.8 -#- Στις γραμμές 1574..1614, για κάθε πολύγωνο, ομαδοποιούμε τις 1.9 -#καταγραφές οι οποίες δεν απέχουν μεταξύ τους (επόμενη-προηγούμενη) 1.10 -#περισσότερο από την τιμή της μεταβλητής persistence. 1.11 -#- Στην συνέχεια εξετάζουμε κάθε τέτοια ομάδα (κοντινών στο χώρο 1.12 -#καταγραφών), και ελέγχουμε εάν το πλήθος τους (για κάθε τέτοια ομάδα) 1.13 -#είναι μικρότερο ή ίσο από την τιμή της μεταβλητής repeat_in_persistence 1.14 -#(γραμμές 1614..1630). 1.15 -#- Αυτές τις καταγραφές τις διαγράφουμε θεωρώντας τις θόρυβο 1.16 - 1.17 -# ../../scripts/strabon -db testNOANewRefinements query "`./instantiate.sh -s MSG2 -c StaticThresholds -m '2012-08-24T12:00:00' -M '2012-08-24T12:40:00' -p 10 -r 3 discoverFires-start.rq | grep -v '#[[:alpha:]]' | grep -v '#[ \(-]' | sed 's/"/\\\\"/g'`" TSV 1.18 - 1.19 -PREFIX noa: <http://teleios.di.uoa.gr/ontologies/noaOntology.owl#> 1.20 -PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 1.21 -PREFIX strdf: <http://strdf.di.uoa.gr/ontology#> 1.22 -PREFIX strdf-ext: <http://strdf.di.uoa.gr/extensions/ontology#> 1.23 -PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> 1.24 -PREFIX gag: <http://geo.linkedopendata.gr/greekadministrativeregion/ontology#> 1.25 - 1.26 -# The ending time of a fire (identificated by its starting time) is the latest 1.27 -# hotspot attributed to this fire 1.28 -SELECT ?start (max(?hTime) as ?end) ?geo 1.29 -WHERE 1.30 -{ 1.31 - { 1.32 - # Each hotspots is finally grouped only with the latest fire starting 1.33 - # time found 1.34 - SELECT (max(?hStartTime) as ?start) ?hTime ?geo ?h 1.35 -# SELECT (count(distinct ?hStartTime) as ?c) ?geo 1.36 - WHERE { 1.37 - # -- FIND HOTSPOTS THAT DEFINE THE START OF A FIRE (GROUP ALA THEMOS) -- 1.38 - # Retrieve all hotstpots in time range... 1.39 - ?hStart noa:hasAcquisitionTime ?hStartTime ; 1.40 - noa:hasGeometry ?geo ; 1.41 - noa:producedFromProcessingChain "PROCESSING_CHAIN"^^xsd:string ; 1.42 - noa:isDerivedFromSensor "SENSOR"^^xsd:string . 1.43 - # FILTER("MIN_ACQUISITION_TIME"^^xsd:dateTime <= ?hStartTime && ?hStartTime <= "MAX_ACQUISITION_TIME"^^xsd:dateTime). 1.44 - FILTER(strdf-ext:diffDateTime("MIN_ACQUISITION_TIME"^^xsd:dateTime,?hStartTime)<=0 && strdf-ext:diffDateTime("MAX_ACQUISITION_TIME"^^xsd:dateTime,?hStartTime)>=0). 1.45 - # ... narrow down results so that any previous hotspots is detected at least PERSISTENCE mins earlier 1.46 - OPTIONAL { 1.47 - ?hPrevious noa:hasAcquisitionTime ?hPreviousTime ; 1.48 - noa:hasGeometry ?geo ; 1.49 - noa:producedFromProcessingChain "PROCESSING_CHAIN"^^xsd:string ; 1.50 - noa:isDerivedFromSensor "SENSOR"^^xsd:string . 1.51 - # FILTER("MIN_ACQUISITION_TIME"^^xsd:dateTime <= ?hPreviousTime && ?hPreviousTime <= "MAX_ACQUISITION_TIME"^^xsd:dateTime). 1.52 - FILTER(strdf-ext:diffDateTime("MIN_ACQUISITION_TIME"^^xsd:dateTime,?hPreviousTime)<=0 && strdf-ext:diffDateTime("MAX_ACQUISITION_TIME"^^xsd:dateTime,?hPreviousTime)>=0). 1.53 - FILTER(strdf-ext:diffDateTime(?hStartTime, ?hPreviousTime) <= PERSISTENCE*60000 && strdf-ext:diffDateTime(?hStartTime, ?hPreviousTime) > 0). 1.54 - } 1.55 - FILTER(!bound(?hPrevious)) . 1.56 - 1.57 - # FIND HOTSPOTS AFTER A FIRE STARTING TIME 1.58 - ?h noa:hasAcquisitionTime ?hTime; 1.59 - noa:hasGeometry ?geo; 1.60 - noa:producedFromProcessingChain "PROCESSING_CHAIN"^^xsd:string ; 1.61 - noa:isDerivedFromSensor "SENSOR"^^xsd:string . 1.62 - # FILTER("MIN_ACQUISITION_TIME"^^xsd:dateTime <= ?hTime && ?hTime <= "MAX_ACQUISITION_TIME"^^xsd:dateTime). 1.63 - FILTER(strdf-ext:diffDateTime("MIN_ACQUISITION_TIME"^^xsd:dateTime,?hTime)<=0 && strdf-ext:diffDateTime("MAX_ACQUISITION_TIME"^^xsd:dateTime,?hTime)>=0). 1.64 - FILTER(strdf-ext:diffDateTime(?hTime, ?hStartTime) >= 0). 1.65 - } 1.66 -# group by ?geo 1.67 - group by ?h ?hTime ?geo 1.68 - }. 1.69 -} 1.70 -group by ?start ?geo 1.71 -having (count(?h) >= 3)
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 2.2 +++ b/examples/teleios/discoverFires.rq Wed Dec 19 18:04:34 2012 +0200 2.3 @@ -0,0 +1,68 @@ 2.4 +#Το πρώτο query εφαρμόζεται με σκοπό τον περιορισμό τoυ θορύβου, 2.5 +#εντοπίζοντας την χρονική αστάθεια ("αναλαμπές") σε πολύγωνα 2.6 +#καμένων εκτάσεων. Υλοποιήσαμε και εφαρμόσαμε το ακόλουθο χρονικό φίλτρο 2.7 +#στα δεδομένα (με αναφορές στον πηγαίο κώδικα): 2.8 +#- Στις γραμμές 1574..1614, για κάθε πολύγωνο, ομαδοποιούμε τις 2.9 +#καταγραφές οι οποίες δεν απέχουν μεταξύ τους (επόμενη-προηγούμενη) 2.10 +#περισσότερο από την τιμή της μεταβλητής persistence. 2.11 +#- Στην συνέχεια εξετάζουμε κάθε τέτοια ομάδα (κοντινών στο χώρο 2.12 +#καταγραφών), και ελέγχουμε εάν το πλήθος τους (για κάθε τέτοια ομάδα) 2.13 +#είναι μικρότερο ή ίσο από την τιμή της μεταβλητής repeat_in_persistence 2.14 +#(γραμμές 1614..1630). 2.15 +#- Αυτές τις καταγραφές τις διαγράφουμε θεωρώντας τις θόρυβο 2.16 + 2.17 +# ../../scripts/strabon -db testNOANewRefinements query "`./instantiate.sh -s MSG2 -c StaticThresholds -m '2012-08-24T12:00:00' -M '2012-08-24T12:40:00' -p 10 -r 3 discoverFires-start.rq | grep -v '#[[:alpha:]]' | grep -v '#[ \(-]' | sed 's/"/\\\\"/g'`" TSV 2.18 + 2.19 +PREFIX noa: <http://teleios.di.uoa.gr/ontologies/noaOntology.owl#> 2.20 +PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 2.21 +PREFIX strdf: <http://strdf.di.uoa.gr/ontology#> 2.22 +PREFIX strdf-ext: <http://strdf.di.uoa.gr/extensions/ontology#> 2.23 +PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> 2.24 +PREFIX gag: <http://geo.linkedopendata.gr/greekadministrativeregion/ontology#> 2.25 + 2.26 +# The ending time of a fire (identificated by its starting time) is the latest 2.27 +# hotspot attributed to this fire 2.28 +SELECT ?start (max(?hTime) as ?end) ?geo 2.29 +WHERE 2.30 +{ 2.31 + { 2.32 + # Each hotspots is finally grouped only with the latest fire starting 2.33 + # time found 2.34 + SELECT (max(?hStartTime) as ?start) ?hTime ?geo ?h 2.35 +# SELECT (count(distinct ?hStartTime) as ?c) ?geo 2.36 + WHERE { 2.37 + # -- FIND HOTSPOTS THAT DEFINE THE START OF A FIRE (GROUP ALA THEMOS) -- 2.38 + # Retrieve all hotstpots in time range... 2.39 + ?hStart noa:hasAcquisitionTime ?hStartTime ; 2.40 + noa:hasGeometry ?geo ; 2.41 + noa:producedFromProcessingChain "PROCESSING_CHAIN"^^xsd:string ; 2.42 + noa:isDerivedFromSensor "SENSOR"^^xsd:string . 2.43 + # FILTER("MIN_ACQUISITION_TIME"^^xsd:dateTime <= ?hStartTime && ?hStartTime <= "MAX_ACQUISITION_TIME"^^xsd:dateTime). 2.44 + FILTER(strdf-ext:diffDateTime("MIN_ACQUISITION_TIME"^^xsd:dateTime,?hStartTime)<=0 && strdf-ext:diffDateTime("MAX_ACQUISITION_TIME"^^xsd:dateTime,?hStartTime)>=0). 2.45 + # ... narrow down results so that any previous hotspots is detected at least PERSISTENCE mins earlier 2.46 + OPTIONAL { 2.47 + ?hPrevious noa:hasAcquisitionTime ?hPreviousTime ; 2.48 + noa:hasGeometry ?geo ; 2.49 + noa:producedFromProcessingChain "PROCESSING_CHAIN"^^xsd:string ; 2.50 + noa:isDerivedFromSensor "SENSOR"^^xsd:string . 2.51 + # FILTER("MIN_ACQUISITION_TIME"^^xsd:dateTime <= ?hPreviousTime && ?hPreviousTime <= "MAX_ACQUISITION_TIME"^^xsd:dateTime). 2.52 + FILTER(strdf-ext:diffDateTime("MIN_ACQUISITION_TIME"^^xsd:dateTime,?hPreviousTime)<=0 && strdf-ext:diffDateTime("MAX_ACQUISITION_TIME"^^xsd:dateTime,?hPreviousTime)>=0). 2.53 + FILTER(strdf-ext:diffDateTime(?hStartTime, ?hPreviousTime) <= PERSISTENCE*60000 && strdf-ext:diffDateTime(?hStartTime, ?hPreviousTime) > 0). 2.54 + } 2.55 + FILTER(!bound(?hPrevious)) . 2.56 + 2.57 + # FIND HOTSPOTS AFTER A FIRE STARTING TIME 2.58 + ?h noa:hasAcquisitionTime ?hTime; 2.59 + noa:hasGeometry ?geo; 2.60 + noa:producedFromProcessingChain "PROCESSING_CHAIN"^^xsd:string ; 2.61 + noa:isDerivedFromSensor "SENSOR"^^xsd:string . 2.62 + # FILTER("MIN_ACQUISITION_TIME"^^xsd:dateTime <= ?hTime && ?hTime <= "MAX_ACQUISITION_TIME"^^xsd:dateTime). 2.63 + FILTER(strdf-ext:diffDateTime("MIN_ACQUISITION_TIME"^^xsd:dateTime,?hTime)<=0 && strdf-ext:diffDateTime("MAX_ACQUISITION_TIME"^^xsd:dateTime,?hTime)>=0). 2.64 + FILTER(strdf-ext:diffDateTime(?hTime, ?hStartTime) >= 0). 2.65 + } 2.66 +# group by ?geo 2.67 + group by ?h ?hTime ?geo 2.68 + }. 2.69 +} 2.70 +group by ?start ?geo 2.71 +having (count(?h) >= 3)