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)