Strabon

changeset 556:157780b4d79b

Modified StrabonBeanWrapper etc to read the "handle" parameter from the beans.xml file.
Notice that the entry describing a query at the beans.xml file has an additional <value>.
author Kostis Kyzirakos <kkyzir@di.uoa.gr>
date Mon Sep 17 21:02:57 2012 +0300 (2012-09-17)
parents e3967795041b
children 9f107d4df339
files endpoint/WebContent/WEB-INF/beans.xml endpoint/WebContent/query.jsp endpoint/src/main/java/eu/earthobservatory/org/StrabonEndpoint/StrabonBeanWrapper.java endpoint/src/main/java/eu/earthobservatory/org/StrabonEndpoint/StrabonBeanWrapperConfiguration.java
line diff
     1.1 --- a/endpoint/WebContent/WEB-INF/beans.xml	Sun Sep 16 22:41:09 2012 +0300
     1.2 +++ b/endpoint/WebContent/WEB-INF/beans.xml	Mon Sep 17 21:02:57 2012 +0300
     1.3 @@ -54,310 +54,353 @@
     1.4              <value>${dbengine}</value>
     1.5          </constructor-arg>
     1.6          
     1.7 -         <constructor-arg>
     1.8 +        <constructor-arg>
     1.9               <list>
    1.10  	             <list>
    1.11  	                 <!-- Bean -->
    1.12  	                <value>Query</value> 
    1.13  	                <!-- Format -->
    1.14 +	                <value>KML</value>   
    1.15 +	                <!-- Label -->
    1.16 +	                <value>Query 1: Select all CLC information for Venice</value> 
    1.17 +	                <!-- Statement -->
    1.18 +	                <value><![CDATA[PREFIX strdf:<http://strdf.di.uoa.gr/ontology#>
    1.19 +PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
    1.20 +PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>
    1.21 +PREFIX teleios:<http://teleios.di.uoa.gr/ontologies/noaOntology.owl#>
    1.22 +
    1.23 +SELECT ?clc ?clcType ?clcID ?clcCode ?clcRemark ?clcShapeLength ?clcArea ?clcAreaHa ?clcLandUse ?clcGeo
    1.24 +WHERE {
    1.25 +   ?clc a ?clcType .
    1.26 +   ?clc teleios:hasCode ?clcCode .
    1.27 +   ?clc teleios:hasID ?clcID .
    1.28 +   ?clc teleios:hasRemark ?clcRemark  .
    1.29 +   ?clc teleios:hasShape_Leng ?clcShapeLength .
    1.30 +   ?clc teleios:hasShape_Area ?clcArea .
    1.31 +   ?clc teleios:hasArea_ha ?clcAreaHa .
    1.32 +   ?clc teleios:hasLandUse ?clcLandUse .
    1.33 +   ?clc teleios:hasGeometry ?clcGeo .
    1.34 +   #Venice
    1.35 +   FILTER (strdf:inside(?clcGeo, "POLYGON ((12.301451 45.40493,12.398127 45.416817,12.386066 45.46502,12.289288 45.45313,12.301451 45.40493))"^^strdf:WKT)) .
    1.36 +   #Toulouse
    1.37 +   #FILTER (strdf:inside(?clcGeo, "POLYGON((1.3816636 43.573734,1.4903361 43.588024,1.4783715 43.634777,1.3696271 43.620483,1.3816636 43.573734))"^^strdf:WKT)) .
    1.38 +   #Timisoara
    1.39 +   #FILTER (strdf:inside(?clcGeo, "POLYGON((21.188068 45.7305,21.286903 45.74229,21.275377 45.79014,21.176264 45.778324,21.188068 45.7305))"^^strdf:WKT)) .
    1.40 +}
    1.41 +]]></value>
    1.42 +	                <!-- Description -->
    1.43 +					<value></value>
    1.44 +					<!-- Hander (plain, download, map or map_local)-->
    1.45 +					<value>map_local</value>
    1.46 +	            </list>
    1.47 +	            <list>
    1.48 +	                 <!-- Bean -->
    1.49 +	                <value>Query</value> 
    1.50 +	                <!-- Format -->
    1.51 +	                <value>KML</value>   
    1.52 +	                <!-- Label -->
    1.53 +	                <value>Query 2: Select all LGD information for Venice</value> 
    1.54 +	                <!-- Statement -->
    1.55 +	                <value><![CDATA[PREFIX strdf:<http://strdf.di.uoa.gr/ontology#>
    1.56 +PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
    1.57 +PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>
    1.58 +PREFIX teleios:<http://teleios.di.uoa.gr/ontologies/noaOntology.owl#>
    1.59 +PREFIX lgd:<http://linkedgeodata.org/triplify/>
    1.60 +PREFIX lgdgeo:<http://www.w3.org/2003/01/geo/wgs84_pos#>
    1.61 +PREFIX lgdont:<http://linkedgeodata.org/ontology/>
    1.62 +
    1.63 +SELECT ?lgd ?lgdDirectType (GROUP_CONCAT(?lgdType ; separator=", ") AS ?lgdTypes) ?lgdLabel ?lgdGeo
    1.64 +WHERE {
    1.65 +   ?lgd lgdont:directType ?lgdDirectType .
    1.66 +   OPTIONAL {
    1.67 +      ?lgd a ?lgdType .
    1.68 +      FILTER ((?lgdType != lgdont:Node) && (?lgdType != ?lgdDirectType)) .
    1.69 +   }
    1.70 +   ?lgd rdfs:label ?lgdLabel .
    1.71 +   ?lgd lgdgeo:geometry ?lgdGeo .
    1.72 +   #Venice
    1.73 +   FILTER (strdf:inside(?lgdGeo, "POLYGON ((12.301451 45.40493,12.398127 45.416817,12.386066 45.46502,12.289288 45.45313,12.301451 45.40493))"^^strdf:WKT)) .
    1.74 +   #Toulouse
    1.75 +   #FILTER (strdf:inside(?lgdGeo, "POLYGON((1.3816636 43.573734,1.4903361 43.588024,1.4783715 43.634777,1.3696271 43.620483,1.3816636 43.573734))"^^strdf:WKT)) .
    1.76 +   #Timisoara
    1.77 +   #FILTER (strdf:inside(?lgdGeo, "POLYGON((21.188068 45.7305,21.286903 45.74229,21.275377 45.79014,21.176264 45.778324,21.188068 45.7305))"^^strdf:WKT)) .
    1.78 +
    1.79 +}
    1.80 +GROUP BY ?lgd ?lgdDirectType ?lgdLabel ?lgdGeo
    1.81 +	                ]]></value>
    1.82 +	                <!-- Description -->
    1.83 +					<value></value>
    1.84 +					<!-- Hander (plain, download, map or map_local)-->
    1.85 +					<value>map_local</value>
    1.86 +	            </list>
    1.87 +	            <list>
    1.88 +	                 <!-- Bean -->
    1.89 +	                <value>Query</value> 
    1.90 +	                <!-- Format -->
    1.91 +	                <value>KML</value>   
    1.92 +	                <!-- Label -->
    1.93 +	                <value>Query 3: Select all Geonames information for Venice</value> 
    1.94 +	                <!-- Statement -->
    1.95 +	                <value><![CDATA[PREFIX strdf:<http://strdf.di.uoa.gr/ontology#>
    1.96 +PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
    1.97 +PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>
    1.98 +PREFIX teleios:<http://teleios.di.uoa.gr/ontologies/noaOntology.owl#>
    1.99 +PREFIX lgd:<http://linkedgeodata.org/triplify/>
   1.100 +PREFIX lgdgeo:<http://www.w3.org/2003/01/geo/wgs84_pos#>
   1.101 +PREFIX lgdont:<http://linkedgeodata.org/ontology/>
   1.102 +PREFIX geonames:<http://www.geonames.org/ontology#>
   1.103 +
   1.104 +SELECT ?geoID ?name (GROUP_CONCAT(?altName; separator=", ") AS ?altNames) ?parentFeature ?parentCountry ?parentADM1 ?parentADM2 ?parentADM3 (GROUP_CONCAT(?near; separator=", ") AS ?nearFeatures) ?geoIdGeo
   1.105 +WHERE {
   1.106 +?geoId geonames:name ?name .
   1.107 +OPTIONAL {?geoId geonames:alternateName ?altName } .
   1.108 +?geoId geonames:featureClass ?geoFeature .
   1.109 +?geoId geonames:countryCode ?country .
   1.110 +OPTIONAL {?geoId geonames:parentFeature ?parentFeature . } .
   1.111 +OPTIONAL {?geoId geonames:parentCountry ?parentCountry . } .
   1.112 +OPTIONAL {?geoId geonames:parentADM1 ?parentADM1 . } .
   1.113 +OPTIONAL {?geoId geonames:parentADM2 ?parentADM2 . } .
   1.114 +OPTIONAL {?geoId geonames:parentADM3 ?parentADM3 . } .
   1.115 +OPTIONAL {?geoId geonames:nearbyFeatures ?near . } .
   1.116 +?geoId teleios:hasGeography ?geoIdGeo .
   1.117 +   #Venice
   1.118 +   FILTER (strdf:inside(?geoIdGeo, "POLYGON ((12.301451 45.40493,12.398127 45.416817,12.386066 45.46502,12.289288 45.45313,12.301451 45.40493))"^^strdf:WKT)) .
   1.119 +   #Toulouse
   1.120 +   #FILTER (strdf:inside(?geoIdGeo, "POLYGON((1.3816636 43.573734,1.4903361 43.588024,1.4783715 43.634777,1.3696271 43.620483,1.3816636 43.573734))"^^strdf:WKT)) .
   1.121 +   #Timisoara
   1.122 +   #FILTER (strdf:inside(?geoIdGeo, "POLYGON((21.188068 45.7305,21.286903 45.74229,21.275377 45.79014,21.176264 45.778324,21.188068 45.7305))"^^strdf:WKT)) .
   1.123 +}
   1.124 +GROUP BY  ?geoID ?name ?parentFeature ?parentCountry ?parentADM1 ?parentADM2 ?parentADM3 ?geoIdGeo
   1.125 +	                ]]></value>
   1.126 +	                <!-- Description -->
   1.127 +					<value></value>
   1.128 +					<!-- Hander (plain, download, map or map_local)-->
   1.129 +					<value>map_local</value>
   1.130 +	            </list>
   1.131 +	            <list>
   1.132 +	                 <!-- Bean -->
   1.133 +	                <value>Query</value> 
   1.134 +	                <!-- Format -->
   1.135 +	                <value>KML</value>   
   1.136 +	                <!-- Label -->
   1.137 +	                <value>Query 4: Select all patches and their corresponding labels</value> 
   1.138 +	                <!-- Statement -->
   1.139 +	                <value><![CDATA[#select all patches and their labels (Venice)
   1.140 +PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
   1.141 +PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
   1.142 +PREFIX dlr: <http://www.earthobservatory.eu/ontologies/dlrOntology.owl#>
   1.143 +PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
   1.144 +PREFIX strdf: <http://strdf.di.uoa.gr/ontology#>
   1.145 +PREFIX teleios:<http://teleios.di.uoa.gr/ontologies/noaOntology.owl#>
   1.146 +
   1.147 +
   1.148 +SELECT ?g (GROUP_CONCAT(?annotation; separator=", ") AS ?labels)
   1.149 +WHERE {
   1.150 +   ?p rdf:type dlr:Patch .        
   1.151 +   ?p dlr:hasGeometry ?g .
   1.152 +   ?p dlr:hasLabel ?l .
   1.153 +   ?l rdf:type dlr:Label .
   1.154 +   ?l dlr:correspondsTo ?annotation .
   1.155 +   #Venice
   1.156 +   FILTER (strdf:inside(?g, "POLYGON ((12.301451 45.40493,12.398127 45.416817,12.386066 45.46502,12.289288 45.45313,12.301451 45.40493))"^^strdf:WKT)) .
   1.157 +   #Toulouse
   1.158 +   #FILTER (strdf:inside(?g, "POLYGON((1.3816636 43.573734,1.4903361 43.588024,1.4783715 43.634777,1.3696271 43.620483,1.3816636 43.573734))"^^strdf:WKT)) .
   1.159 +   #Timisoara
   1.160 +   #FILTER (strdf:inside(?g, "POLYGON((21.188068 45.7305,21.286903 45.74229,21.275377 45.79014,21.176264 45.778324,21.188068 45.7305))"^^strdf:WKT)) .
   1.161 +}
   1.162 +GROUP BY ?g
   1.163 +	                ]]></value>
   1.164 +	                <!-- Description -->
   1.165 +					<value></value>
   1.166 +					<!-- Hander (plain, download, map or map_local)-->
   1.167 +					<value>map_local</value>
   1.168 +	            </list>
   1.169 +	            <list>
   1.170 +	                 <!-- Bean -->
   1.171 +	                <value>Query</value> 
   1.172 +	                <!-- Format -->
   1.173 +	                <value>KML</value>   
   1.174 +	                <!-- Label -->
   1.175 +	                <value>Query 5: Select all patches corresponding to water</value> 
   1.176 +	                <!-- Statement -->
   1.177 +	                <value><![CDATA[PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
   1.178 +PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
   1.179 +PREFIX dlr: <http://www.earthobservatory.eu/ontologies/dlrOntology.owl#>
   1.180 +PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
   1.181 +PREFIX strdf: <http://strdf.di.uoa.gr/ontology#>
   1.182 +PREFIX teleios:<http://teleios.di.uoa.gr/ontologies/noaOntology.owl#>
   1.183 +
   1.184 +
   1.185 +SELECT ?g (GROUP_CONCAT(?annotation; separator=", ") AS ?labels)
   1.186 +WHERE {
   1.187 +   ?p rdf:type dlr:Patch .        
   1.188 +   ?p dlr:hasGeometry ?g .
   1.189 +   ?p dlr:hasLabel ?l .
   1.190 +   ?l rdf:type dlr:Label .
   1.191 +   ?l dlr:correspondsTo dlr:Water .
   1.192 +   #Venice
   1.193 +   FILTER (strdf:inside(?g, "POLYGON ((12.301451 45.40493,12.398127 45.416817,12.386066 45.46502,12.289288 45.45313,12.301451 45.40493))"^^strdf:WKT)) .
   1.194 +   #Toulouse
   1.195 +   #FILTER (strdf:inside(?g, "POLYGON((1.3816636 43.573734,1.4903361 43.588024,1.4783715 43.634777,1.3696271 43.620483,1.3816636 43.573734))"^^strdf:WKT)) .
   1.196 +   #Timisoara
   1.197 +   #FILTER (strdf:inside(?g, "POLYGON((21.188068 45.7305,21.286903 45.74229,21.275377 45.79014,21.176264 45.778324,21.188068 45.7305))"^^strdf:WKT)) .
   1.198 +}
   1.199 +GROUP BY ?g
   1.200 +	                ]]></value>
   1.201 +	                <!-- Description -->
   1.202 +					<value></value>
   1.203 +					<!-- Hander (plain, download, map or map_local)-->
   1.204 +					<value>map_local</value>
   1.205 +	            </list>
   1.206 +	            <list>
   1.207 +	                 <!-- Bean -->
   1.208 +	                <value>Query</value> 
   1.209 +	                <!-- Format -->
   1.210 +	                <value>KML</value>   
   1.211 +	                <!-- Label -->
   1.212 +	                <value>Query 6: Select all patches corresponding to all subclasses of water</value> 
   1.213 +	                <!-- Statement -->
   1.214 +	                <value><![CDATA[PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
   1.215 +PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
   1.216 +PREFIX dlr: <http://www.earthobservatory.eu/ontologies/dlrOntology.owl#>
   1.217 +PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
   1.218 +PREFIX strdf: <http://strdf.di.uoa.gr/ontology#>
   1.219 +PREFIX teleios:<http://teleios.di.uoa.gr/ontologies/noaOntology.owl#>
   1.220 +
   1.221 +
   1.222 +SELECT ?g (GROUP_CONCAT(?annotation; separator=", ") AS ?labels)
   1.223 +WHERE {
   1.224 +   ?p rdf:type dlr:Patch .        
   1.225 +   ?p dlr:hasGeometry ?g .
   1.226 +   ?p dlr:hasLabel ?l .
   1.227 +   ?l rdf:type dlr:Label .
   1.228 +   ?l dlr:correspondsTo ?annotation .
   1.229 +   ?annotation rdfs:subClassOf dlr:Water .
   1.230 +   #Venice
   1.231 +   FILTER (strdf:inside(?g, "POLYGON ((12.301451 45.40493,12.398127 45.416817,12.386066 45.46502,12.289288 45.45313,12.301451 45.40493))"^^strdf:WKT)) .
   1.232 +   #Toulouse
   1.233 +   #FILTER (strdf:inside(?g, "POLYGON((1.3816636 43.573734,1.4903361 43.588024,1.4783715 43.634777,1.3696271 43.620483,1.3816636 43.573734))"^^strdf:WKT)) .
   1.234 +   #Timisoara
   1.235 +   #FILTER (strdf:inside(?g, "POLYGON((21.188068 45.7305,21.286903 45.74229,21.275377 45.79014,21.176264 45.778324,21.188068 45.7305))"^^strdf:WKT)) .
   1.236 +}
   1.237 +GROUP BY ?g
   1.238 +	                ]]></value>
   1.239 +	                <!-- Description -->
   1.240 +					<value></value>
   1.241 +					<!-- Hander (plain, download, map or map_local)-->
   1.242 +					<value>map_local</value>
   1.243 +	            </list>
   1.244 +	            <list>
   1.245 +	                 <!-- Bean -->
   1.246 +	                <value>Query</value> 
   1.247 +	                <!-- Format -->
   1.248  	                <value>HTML</value>   
   1.249  	                <!-- Label -->
   1.250 -	                <value>Query 1: Discover raw data and products</value> 
   1.251 +	                <value>Query 7: List all features that are inside an area charatecterized as continuous urban fabric according to CLC</value> 
   1.252  	                <!-- Statement -->
   1.253 -	                <value><![CDATA[# Discovering raw data and products
   1.254 -PREFIX noa: <http://teleios.di.uoa.gr/ontologies/noaOntology.owl#>
   1.255 -PREFIX clc: <http://teleios.di.uoa.gr/ontologies/clcOntology.owl#>
   1.256 -PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
   1.257 +	                <value><![CDATA[PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
   1.258  PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
   1.259 +PREFIX dlr: <http://www.earthobservatory.eu/ontologies/dlrOntology.owl#>
   1.260 +PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
   1.261  PREFIX strdf: <http://strdf.di.uoa.gr/ontology#>
   1.262 -PREFIX teleios: <http://teleios.di.uoa.gr/ontologies/noaOntology.owl#>
   1.263 -PREFIX gag: <http://www.semanticweb.org/ontologies/2011/gagKallikratis.rdf#>
   1.264 -PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
   1.265 -PREFIX georss: <http://www.georss.org/georss/>
   1.266 -PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
   1.267 -PREFIX lgdo: <http://linkedgeodata.org/ontology/>
   1.268 -PREFIX gn: <http://www.geonames.org/ontology#>
   1.269 +PREFIX teleios:<http://teleios.di.uoa.gr/ontologies/noaOntology.owl#>
   1.270 +PREFIX geof:<http://www.opengis.net/def/queryLanguage/OGC-GeoSPARQL/1.0/function/>
   1.271  
   1.272 -SELECT ?filename
   1.273 -WHERE {?file rdf:type noa:ShpFile ;
   1.274 -	         noa:hasFilename ?filename ;
   1.275 -	         noa:hasAcquisitionTime ?sensingTime .
   1.276 -	 FILTER( str(?sensingTime) >= "2007-08-26T12:00:00" ) .
   1.277 -	 FILTER( str(?sensingTime) <= "2007-08-26T12:30:00" ) .
   1.278 -	 ?file noa:isDerivedFromSensor ?sensor .
   1.279 -	 FILTER( str(?sensor) = "MSG2" ) .
   1.280 -	 ?file noa:producedFromProcessingChain ?chain .
   1.281 -	 FILTER( str(?chain) = "StaticThresholds" ) . 
   1.282 -}]]></value>
   1.283 -<value>Find all shapefiles derived from sensor MSG2 between [2007-08-26T12:00:00,2007-08-26T12:30:00], using dynamic thresholds.</value>
   1.284 +SELECT DISTINCT ?clcLandUse ?annotation #?g 
   1.285 +WHERE {
   1.286 +   ?p rdf:type dlr:Patch .        
   1.287 +   ?p dlr:hasGeometry ?g .
   1.288 +   ?p dlr:hasLabel ?l .
   1.289 +   ?l rdf:type dlr:Label .
   1.290 +   ?l dlr:correspondsTo ?annotation .
   1.291 +   FILTER (strdf:inside(?g, "POLYGON ((12.301451 45.40493,12.398127 45.416817,12.386066 45.46502,12.289288 45.45313,12.301451 45.40493))"^^strdf:WKT)) .
   1.292 +
   1.293 +   ?clc a ?clcType .
   1.294 +   ?clc teleios:hasCode ?clcCode .
   1.295 +   ?clc teleios:hasID ?clcID .
   1.296 +   ?clc teleios:hasLandUse teleios:continuousUrbanFabric .
   1.297 +   ?clc teleios:hasGeometry ?clcGeo .
   1.298 +   FILTER (strdf:inside(?clcGeo, "POLYGON ((12.301451 45.40493,12.398127 45.416817,12.386066 45.46502,12.289288 45.45313,12.301451 45.40493))"^^strdf:WKT)) .
   1.299 +
   1.300 +   FILTER (geof:sf-contains(?clcGeo, ?g)) . 
   1.301 +}
   1.302 +	                ]]></value>
   1.303 +	                <!-- Description -->
   1.304 +					<value></value>
   1.305 +					<!-- Hander (plain, download, map or map_local)-->
   1.306 +					<value>plain</value>
   1.307  	            </list>
   1.308  	            <list>
   1.309 -	                <!-- Bean -->
   1.310 +	                 <!-- Bean -->
   1.311  	                <value>Query</value> 
   1.312  	                <!-- Format -->
   1.313 -	                <value>KMZ</value>
   1.314 +	                <value>HTML</value>   
   1.315  	                <!-- Label -->
   1.316 -	                <value>Query 2: Discover Hotspots</value> 
   1.317 +	                <value>Query 8: List all features that are inside a CLC</value> 
   1.318  	                <!-- Statement -->
   1.319 -	                <value><![CDATA[# Get all hotspots in Pelloponesus at 2007-08-24
   1.320 -PREFIX noa: <http://teleios.di.uoa.gr/ontologies/noaOntology.owl#>
   1.321 -PREFIX clc: <http://teleios.di.uoa.gr/ontologies/clcOntology.owl#>
   1.322 -PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
   1.323 +	                <value><![CDATA[PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
   1.324  PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
   1.325 +PREFIX dlr: <http://www.earthobservatory.eu/ontologies/dlrOntology.owl#>
   1.326 +PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
   1.327  PREFIX strdf: <http://strdf.di.uoa.gr/ontology#>
   1.328 -PREFIX teleios: <http://teleios.di.uoa.gr/ontologies/noaOntology.owl#>
   1.329 -PREFIX gag: <http://www.semanticweb.org/ontologies/2011/gagKallikratis.rdf#>
   1.330 -PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
   1.331 -PREFIX georss: <http://www.georss.org/georss/>
   1.332 -PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
   1.333 -PREFIX lgdo: <http://linkedgeodata.org/ontology/>
   1.334 -PREFIX gn: <http://www.geonames.org/ontology#>
   1.335 +PREFIX teleios:<http://teleios.di.uoa.gr/ontologies/noaOntology.owl#>
   1.336 +PREFIX geof:<http://www.opengis.net/def/queryLanguage/OGC-GeoSPARQL/1.0/function/>
   1.337  
   1.338 -SELECT ?h ?hAcqTime ?hConfidence ?hConfirmation ?hProvider ?hSensor ?hSatellite (strdf:transform(?hGeo, <http://www.opengis.net/def/crs/EPSG/0/4326>) as ?geo) 
   1.339 -WHERE { ?h 	rdf:type noa:Hotspot;
   1.340 -			noa:hasGeometry ?hGeo;
   1.341 -			noa:hasAcquisitionTime ?hAcqTime;
   1.342 -			noa:hasConfidence ?hConfidence;
   1.343 -			noa:isProducedBy ?hProvider;
   1.344 -			noa:hasConfirmation ?hConfirmation;
   1.345 -			noa:isDerivedFromSensor ?hSensor;
   1.346 -			noa:isDerivedFromSatellite ?hSatellite ;
   1.347 -			noa:producedFromProcessingChain ?hChain .
   1.348 -	FILTER(str(?hChain) = "StaticThresholds").
   1.349 -	FILTER(?hAcqTime = "2007-08-24T14:45:00"^^xsd:dateTime) .
   1.350 -	FILTER(strdf:contains("POLYGON((21.027 38.36, 23.77 38.36, 23.77 36.05, 21.027 36.05, 21.027 38.36))"^^ strdf:WKT, ?hGeo)) . 
   1.351 -}]]></value>
   1.352 -<value>Find all hotspots in Pelloponesus derived from the dynamic thresholds processing chain at 2007-08-24T14:45:00.  </value>
   1.353 -	            </list>
   1.354 -				<list>
   1.355 -	                <!-- Bean -->
   1.356 -	                 <value>Update</value>
   1.357 -	                <!-- Format -->
   1.358 -	                <value>HTML</value>
   1.359 -	                <!-- Label -->
   1.360 -	                <value>Update A: Invalidate hotspots in sea</value> 
   1.361 -	                <!-- Statement -->
   1.362 -	                <value><![CDATA[# Delete hotspots that lie in sea
   1.363 -PREFIX noa: <http://teleios.di.uoa.gr/ontologies/noaOntology.owl#>
   1.364 -PREFIX clc: <http://teleios.di.uoa.gr/ontologies/clcOntology.owl#>
   1.365 -PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
   1.366 -PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
   1.367 -PREFIX strdf: <http://strdf.di.uoa.gr/ontology#>
   1.368 -PREFIX teleios: <http://teleios.di.uoa.gr/ontologies/noaOntology.owl#>
   1.369 -PREFIX gag: <http://www.semanticweb.org/ontologies/2011/gagKallikratis.rdf#>
   1.370 -PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
   1.371 -PREFIX georss: <http://www.georss.org/georss/>
   1.372 -PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
   1.373 -PREFIX lgdo: <http://linkedgeodata.org/ontology/>
   1.374 -PREFIX gn: <http://www.geonames.org/ontology#>
   1.375 -DELETE {?h ?property ?object}
   1.376 -WHERE { ?h 	rdf:type noa:Hotspot;
   1.377 -            noa:hasAcquisitionTime ?hAcqTime;
   1.378 -            noa:producedFromProcessingChain ?hChain;
   1.379 -            noa:hasGeometry ?hGeo;
   1.380 -            ?property ?object.
   1.381 -        FILTER(str(?hChain) = "StaticThresholds").
   1.382 -        FILTER(strdf:contains("POLYGON((21.027 38.36, 23.77 38.36, 23.77 36.05, 21.027 36.05, 21.027 38.36))"^^ strdf:WKT, ?hGeo)).
   1.383 -        FILTER("2007-08-24T14:45:00"^^xsd:dateTime = ?hAcqTime).
   1.384 -        OPTIONAL {
   1.385 -            ?c rdf:type noa:Coastline;
   1.386 -               noa:hasGeometry ?cGeo.
   1.387 -            FILTER(strdf:contains("POLYGON((21.027 38.36, 23.77 38.36, 23.77 36.05, 21.027 36.05, 21.027 38.36))"^^ strdf:WKT, ?cGeo)).
   1.388 -            FILTER(strdf:anyInteract(?hGeo, ?cGeo)) . 
   1.389 -        }
   1.390 -        FILTER(!bound(?c)). 
   1.391 -}]]></value>
   1.392 -<value>Mark as invalid all hotspots produced by the static thresholds processing chain and are acquired at 2007-08-24T14:45:00 which are located in the sea</value>
   1.393 +SELECT ?clcLandUse(GROUP_CONCAT(DISTINCT ?annotation; separator=",\n\t\t\t\t\t ") AS ?annotations)  #?g 
   1.394 +WHERE {
   1.395 +   ?p rdf:type dlr:Patch .        
   1.396 +   ?p dlr:hasGeometry ?g .
   1.397 +   ?p dlr:hasLabel ?l .
   1.398 +   ?l rdf:type dlr:Label .
   1.399 +   ?l dlr:correspondsTo ?annotation .
   1.400 +   FILTER (strdf:inside(?g, "POLYGON ((12.301451 45.40493,12.398127 45.416817,12.386066 45.46502,12.289288 45.45313,12.301451 45.40493))"^^strdf:WKT)) .
   1.401 +
   1.402 +   ?clc a ?clcType .
   1.403 +   ?clc teleios:hasCode ?clcCode .
   1.404 +   ?clc teleios:hasID ?clcID .
   1.405 +   ?clc teleios:hasLandUse ?clcLandUse .
   1.406 +   ?clc teleios:hasGeometry ?clcGeo .
   1.407 +   FILTER (strdf:inside(?clcGeo, "POLYGON ((12.301451 45.40493,12.398127 45.416817,12.386066 45.46502,12.289288 45.45313,12.301451 45.40493))"^^strdf:WKT)) .
   1.408 +
   1.409 +   FILTER (geof:sf-contains(?clcGeo, ?g)) . 
   1.410 +}
   1.411 +GROUP BY ?clcLandUse
   1.412 +	                ]]></value>
   1.413 +	                <!-- Description -->
   1.414 +					<value></value>
   1.415 +					<!-- Hander (plain, download, map or map_local)-->
   1.416 +					<value></value>
   1.417  	            </list>
   1.418  	            <list>
   1.419 -	                <!-- Bean -->
   1.420 -	                <value>Update</value> 
   1.421 +	                 <!-- Bean -->
   1.422 +	                <value>Query</value> 
   1.423  	                <!-- Format -->
   1.424 -	                <value>HTML</value>
   1.425 +	                <value>HTML</value>   
   1.426  	                <!-- Label -->
   1.427 -	                <value>Update B: Refine hotspots in sea</value>
   1.428 +	                <value>Query 9: </value> 
   1.429  	                <!-- Statement -->
   1.430 -	                <value><![CDATA[# Refine the geometry of hotspots that partially lie in sea
   1.431 -PREFIX noa: <http://teleios.di.uoa.gr/ontologies/noaOntology.owl#> 
   1.432 -PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
   1.433 -PREFIX strdf: <http://strdf.di.uoa.gr/ontology#> 
   1.434 -PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> 
   1.435 -
   1.436 -
   1.437 -INSERT { ?h noa:isDiscarded "1"^^xsd:int . 
   1.438 -	 ?valid rdf:type noa:Hotspot ;
   1.439 -		noa:hasConfidence ?conf ;
   1.440 -	        noa:hasGeometry ?dif ;
   1.441 -		noa:hasAcquisitionTime "TIMESTAMP"^^xsd:dateTime ; 
   1.442 -	        noa:isDerivedFromSensor "SENSOR"^^xsd:string ;
   1.443 -		noa:hasConfirmation noa:unknown ;
   1.444 -	        noa:producedFromProcessingChain "PROCESSING_CHAIN"^^xsd:string ; 
   1.445 -		noa:isProducedBy noa:noa ;
   1.446 -		noa:isDerivedFromSatellite ?sat .
   1.447 -}
   1.448 -WHERE { 
   1.449 -  SELECT DISTINCT ?h ?hGeo (strdf:intersection(?hGeo, strdf:union(?cGeo)) AS ?dif) (BNODE() AS ?valid) ?conf ?sat
   1.450 -  WHERE { 
   1.451 -    ?h rdf:type noa:Hotspot ; 
   1.452 -       noa:hasAcquisitionTime ?hAcqTime ; 
   1.453 -       noa:producedFromProcessingChain "PROCESSING_CHAIN"^^xsd:string ; 
   1.454 -       noa:isDerivedFromSensor "SENSOR"^^xsd:string ;
   1.455 -       noa:hasGeometry ?hGeo ;
   1.456 -       noa:hasConfidence ?conf ;
   1.457 -       noa:isDerivedFromSatellite ?sat .
   1.458 -    FILTER("TIMESTAMP"^^xsd:dateTime = ?hAcqTime) .
   1.459 -    ?c rdf:type noa:Coastline ;
   1.460 -       noa:hasGeometry ?cGeo .
   1.461 -    FILTER(strdf:anyInteract(?hGeo, ?cGeo)) . 
   1.462 -  }
   1.463 -  GROUP BY ?h ?hGeo ?conf ?sat
   1.464 -  HAVING strdf:overlap(?hGeo, strdf:union(?cGeo))
   1.465 -}
   1.466 -]]></value>
   1.467 -	      <value>Refine hotspots acquired at 2007-08-24T14:45:00 removing the part that lies in the sea. </value>
   1.468 +	                <value><![CDATA[
   1.469 +	                ]]></value>
   1.470 +	                <!-- Description -->
   1.471 +					<value></value>
   1.472 +					<!-- Hander (plain, download, map or map_local)-->
   1.473 +					<value></value>
   1.474  	            </list>
   1.475  	            <list>
   1.476 -	                <!-- Bean -->
   1.477 +	                 <!-- Bean -->
   1.478  	                <value>Query</value> 
   1.479  	                <!-- Format -->
   1.480 -	                <value>KMZ</value>
   1.481 +	                <value>HTML</value>   
   1.482  	                <!-- Label -->
   1.483 -	                <value>Query 3: Discover coniferous forests</value> 
   1.484 +	                <value>Query 10: </value> 
   1.485  	                <!-- Statement -->
   1.486 -	                <value><![CDATA[#Get all coniferous forests in Peloponnese
   1.487 -PREFIX noa: <http://teleios.di.uoa.gr/ontologies/noaOntology.owl#>
   1.488 -PREFIX clc: <http://teleios.di.uoa.gr/ontologies/clcOntology.owl#>
   1.489 -PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
   1.490 -PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
   1.491 -PREFIX strdf: <http://strdf.di.uoa.gr/ontology#>
   1.492 -PREFIX teleios: <http://teleios.di.uoa.gr/ontologies/noaOntology.owl#>
   1.493 -PREFIX gag: <http://www.semanticweb.org/ontologies/2011/gagKallikratis.rdf#>
   1.494 -PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
   1.495 -PREFIX georss: <http://www.georss.org/georss/>
   1.496 -PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
   1.497 -PREFIX lgdo: <http://linkedgeodata.org/ontology/>
   1.498 -PREFIX gn: <http://www.geonames.org/ontology#>
   1.499 -
   1.500 -SELECT ?a ?aGeo
   1.501 -WHERE{ ?a rdf:type clc:Area;
   1.502 -          clc:hasLandUse ?aLandUse;
   1.503 -          noa:hasGeometry ?aGeo.
   1.504 -       ?aLandUse rdf:type ?aLandUseType.
   1.505 -       FILTER(?aLandUseType = clc:ConiferousForest).
   1.506 -       FILTER(strdf:contains("POLYGON((21.027 38.36, 23.77 38.36, 23.77 36.05, 21.027 36.05, 21.027 38.36))"^^strdf:WKT,?aGeo)). 
   1.507 -}]]></value>
   1.508 -<value>Discover all coniferous forests using the clc ontology </value>
   1.509 +	                <value><![CDATA[
   1.510 +	                ]]></value>
   1.511 +	                <!-- Description -->
   1.512 +					<value></value>
   1.513 +					<!-- Hander (plain, download, map or map_local)-->
   1.514 +					<value></value>
   1.515  	            </list>
   1.516 -	            <list>
   1.517 -	                <!-- Bean -->
   1.518 -	                <value>Query</value> 
   1.519 -	                <!-- Format -->
   1.520 -	                <value>KMZ</value>
   1.521 -	                <!-- Label -->
   1.522 -	                <value>Query 4: Discover primary roads</value> 
   1.523 -	                <!-- Statement -->
   1.524 -	                <value><![CDATA[# Get all municipalities of Pelloponnese
   1.525 -PREFIX noa: <http://teleios.di.uoa.gr/ontologies/noaOntology.owl#>
   1.526 -PREFIX clc: <http://teleios.di.uoa.gr/ontologies/clcOntology.owl#>
   1.527 -PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
   1.528 -PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
   1.529 -PREFIX strdf: <http://strdf.di.uoa.gr/ontology#>
   1.530 -PREFIX teleios: <http://teleios.di.uoa.gr/ontologies/noaOntology.owl#>
   1.531 -PREFIX gag: <http://www.semanticweb.org/ontologies/2011/gagKallikratis.rdf#>
   1.532 -PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
   1.533 -PREFIX georss: <http://www.georss.org/georss/>
   1.534 -PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
   1.535 -PREFIX lgdo: <http://linkedgeodata.org/lontology/>
   1.536 -PREFIX gn: <http://www.geonames.org/ontology#>
   1.537 -
   1.538 -SELECT  ?d ?dGeo
   1.539 -WHERE { ?d rdf:type gag:Dhmos; 
   1.540 -           strdf:hasGeometry ?dGeo; 
   1.541 -           rdfs:label ?dLabel. 
   1.542 -           FILTER(strdf:contains("POLYGON((21.027 38.36, 23.77 38.36, 23.77 36.05, 21.027 36.05, 21.027 38.36))"^^ strdf:WKT, ?dGeo)). 
   1.543 -}]]></value>
   1.544 -<value>Find all municipalities of Pelloponnese using kallikratis ontology </value>
   1.545 -	            </list>
   1.546 -	            <list>
   1.547 -	                <!-- Bean -->
   1.548 -	                <value>Query</value> 
   1.549 -	                <!-- Format -->
   1.550 -	                <value>KMZ</value>
   1.551 -	                <!-- Label -->
   1.552 -	                <value>Query 5: Get all primary roads in Pelloponnese</value> 
   1.553 -	                <!-- Statement -->
   1.554 -	                <value><![CDATA[# Get all primary roads in Pelloponnese
   1.555 -PREFIX noa: <http://teleios.di.uoa.gr/ontologies/noaOntology.owl#>
   1.556 -PREFIX clc: <http://teleios.di.uoa.gr/ontologies/clcOntology.owl#>
   1.557 -PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
   1.558 -PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
   1.559 -PREFIX strdf: <http://strdf.di.uoa.gr/ontology#>
   1.560 -PREFIX teleios: <http://teleios.di.uoa.gr/ontologies/noaOntology.owl#>
   1.561 -PREFIX gag: <http://www.semanticweb.org/ontologies/2011/gagKallikratis.rdf#>
   1.562 -PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
   1.563 -PREFIX georss: <http://www.georss.org/georss/>
   1.564 -PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
   1.565 -PREFIX lgdo: <http://linkedgeodata.org/ontology/>
   1.566 -PREFIX gn: <http://www.geonames.org/ontology#>
   1.567 -
   1.568 -SELECT  ?r ?rGeo
   1.569 -WHERE { ?r rdf:type ?rType ;
   1.570 -           noa:hasGeometry ?rGeo .
   1.571 -        FILTER(?rType = lgdo:Primary) .
   1.572 -        FILTER(strdf:contains("POLYGON((21.027 38.36, 23.77 38.36, 23.77 36.05, 21.027 36.05,21.027 38.36))"^^strdf:WKT, ?rGeo) ). 
   1.573 -}]]></value>
   1.574 -<value>Get all primary roads in Pelloponnese using the linked geodata ontology </value>
   1.575 -	            </list>
   1.576 -	            <list>
   1.577 -	                <!-- Bean -->
   1.578 -	                <value>Query</value> 
   1.579 -	                <!-- Format -->
   1.580 -	                <value>KMZ</value>
   1.581 -	                <!-- Label -->
   1.582 -	                <value>Query 6: Discover hotspots</value> 
   1.583 -	                <!-- Statement -->
   1.584 -	                <value><![CDATA[# Get all hotspots in Pelloponesus at 2007-08-24
   1.585 -PREFIX noa: <http://teleios.di.uoa.gr/ontologies/noaOntology.owl#>
   1.586 -PREFIX clc: <http://teleios.di.uoa.gr/ontologies/clcOntology.owl#>
   1.587 -PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
   1.588 -PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
   1.589 -PREFIX strdf: <http://strdf.di.uoa.gr/ontology#>
   1.590 -PREFIX teleios: <http://teleios.di.uoa.gr/ontologies/noaOntology.owl#>
   1.591 -PREFIX gag: <http://www.semanticweb.org/ontologies/2011/gagKallikratis.rdf#>
   1.592 -PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
   1.593 -PREFIX georss: <http://www.georss.org/georss/>
   1.594 -PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
   1.595 -PREFIX lgdo: <http://linkedgeodata.org/ontology/>
   1.596 -PREFIX gn: <http://www.geonames.org/ontology#>
   1.597 -
   1.598 -SELECT  ?h ?hAcqTime (strdf:transform(?hGeo, <http://www.opengis.net/def/crs/EPSG/0/4326>) as ?geo) 
   1.599 -WHERE { ?h 	rdf:type noa:Hotspot;
   1.600 -            noa:hasGeometry ?hGeo;
   1.601 -            noa:hasAcquisitionTime ?hAcqTime;
   1.602 -            noa:producedFromProcessingChain ?hChain .
   1.603 -        FILTER(str(?hChain) = "StaticThresholds").
   1.604 -        FILTER(?hAcqTime = "2007-08-24T14:45:00"^^xsd:dateTime) .
   1.605 -        FILTER(strdf:contains("POLYGON((21.027 38.36, 23.77 38.36, 23.77 36.05, 21.027 36.05, 21.027 38.36))"^^ strdf:WKT, ?hGeo)) . 
   1.606 -        ?a rdf:type clc:Area;
   1.607 -           clc:hasLandUse ?aLandUse;
   1.608 -           noa:hasGeometry ?aGeo.
   1.609 -        ?aLandUse rdf:type ?aLandUseType.
   1.610 -        FILTER(?aLandUseType = clc:Forest).
   1.611 -        FILTER(strdf:contains("POLYGON((21.027 38.36, 23.77 38.36, 23.77 36.05, 21.027 36.05, 21.027 38.36))"^^strdf:WKT,?aGeo)). 
   1.612 -        FILTER(strdf:overlap(?aGeo, ?hGeo)) . 
   1.613 -}]]></value>
   1.614 -<value>Find all hotspots located in Pelloponnesian forests and acquired at 2007-08-24T14:45:00 using static thresholds processing chain </value>
   1.615 -	            </list>
   1.616 -<!-- 	            <list> -->
   1.617 -<!-- 	                Bean -->
   1.618 -<!-- 	                <value>Query</value>  -->
   1.619 -<!-- 	                Format -->
   1.620 -<!-- 	                <value>KMZ</value> -->
   1.621 -<!-- 	                Label -->
   1.622 -<!-- 	                <value></value>  -->
   1.623 -<!-- 	                Statement -->
   1.624 -<!-- 	                <value></value> -->
   1.625 -<!-- 	            </list> -->
   1.626              </list>
   1.627           </constructor-arg>
   1.628      </bean>
     2.1 --- a/endpoint/WebContent/query.jsp	Sun Sep 16 22:41:09 2012 +0300
     2.2 +++ b/endpoint/WebContent/query.jsp	Mon Sep 17 21:02:57 2012 +0300
     2.3 @@ -97,13 +97,8 @@
     2.4  							while(entryListIterator.hasNext())
     2.5  							{
     2.6  								StrabonBeanWrapperConfiguration entry = entryListIterator.next();
     2.7 -								String handle="";
     2.8 -								if(entry.getBean().equals("Query"))
     2.9 -								{
    2.10 -									handle="&handle=map";
    2.11 -								}
    2.12  								
    2.13 -								String href="\""+URLEncoder.encode(entry.getBean(),"utf-8")+"?view=HTML"+handle+"&query="+URLEncoder.encode(entry.getStatement(),"utf-8")+"&format="+URLEncoder.encode(entry.getFormat(),"utf-8")+"\"";
    2.14 +								String href="\""+URLEncoder.encode(entry.getBean(),"utf-8")+"?view=HTML&handle="+entry.getHandle()+"&query="+URLEncoder.encode(entry.getStatement(),"utf-8")+"&format="+URLEncoder.encode(entry.getFormat(),"utf-8")+"\"";
    2.15  								String title="\""+entry.getTitle()+"\"";
    2.16  								String label=entry.getLabel();
    2.17  				%>
     3.1 --- a/endpoint/src/main/java/eu/earthobservatory/org/StrabonEndpoint/StrabonBeanWrapper.java	Sun Sep 16 22:41:09 2012 +0300
     3.2 +++ b/endpoint/src/main/java/eu/earthobservatory/org/StrabonEndpoint/StrabonBeanWrapper.java	Mon Sep 17 21:02:57 2012 +0300
     3.3 @@ -69,7 +69,7 @@
     3.4  			
     3.5  			while (it.hasNext()) {
     3.6  				int items = 0;
     3.7 -				String label = "", bean = "", statement = "", format = "", title=""; 
     3.8 +				String label = "", bean = "", statement = "", format = "", title="", handle=""; 
     3.9  	
    3.10  				if (it.hasNext()) {
    3.11  					bean = it.next();
    3.12 @@ -89,11 +89,14 @@
    3.13  				}
    3.14  				if (it.hasNext()) {
    3.15  					title = it.next();
    3.16 -					System.out.println("TITLE= "+title);
    3.17  					items++;
    3.18  				}
    3.19 -				if (items == 5) {
    3.20 -					StrabonBeanWrapperConfiguration entry = new StrabonBeanWrapperConfiguration(label, bean, statement, format, title);
    3.21 +				if (it.hasNext()) {
    3.22 +					handle = it.next();
    3.23 +					items++;
    3.24 +				}
    3.25 +				if (items == 6) {
    3.26 +					StrabonBeanWrapperConfiguration entry = new StrabonBeanWrapperConfiguration(label, bean, statement, format, title, handle);
    3.27  					this.entries.add(entry);
    3.28  				}
    3.29  			
     4.1 --- a/endpoint/src/main/java/eu/earthobservatory/org/StrabonEndpoint/StrabonBeanWrapperConfiguration.java	Sun Sep 16 22:41:09 2012 +0300
     4.2 +++ b/endpoint/src/main/java/eu/earthobservatory/org/StrabonEndpoint/StrabonBeanWrapperConfiguration.java	Mon Sep 17 21:02:57 2012 +0300
     4.3 @@ -20,13 +20,15 @@
     4.4  	private String statement;
     4.5  	private String format;
     4.6  	private String title;
     4.7 +	private String handle;
     4.8  
     4.9 -	public StrabonBeanWrapperConfiguration(String label, String bean, String statement, String format, String title) {
    4.10 +	public StrabonBeanWrapperConfiguration(String label, String bean, String statement, String format, String title, String handle) {
    4.11  		this.label = label;
    4.12  		this.bean = bean;
    4.13  		this.statement = statement;
    4.14  		this.format = format;
    4.15 -		this.title=title;
    4.16 +		this.title = title;
    4.17 +		this.handle = handle;
    4.18  	}
    4.19  	
    4.20  	public String getLabel() {
    4.21 @@ -69,5 +71,13 @@
    4.22  	public void setFormat(String format) {
    4.23  		this.format = format;
    4.24  	}
    4.25 +	
    4.26 +	public String getHandle() {
    4.27 +		return this.handle;
    4.28 +	}
    4.29 +	
    4.30 +	public void setHandle(String handle) {
    4.31 +		this.handle = handle;
    4.32 +	}
    4.33  }
    4.34