Strabon

view README @ 969:a60fced07da5

typo in README
author Babis Nikolaou <charnik@di.uoa.gr>
date Thu Apr 04 00:38:15 2013 +0300 (2013-04-04)
parents cd8b50e4ac90
children ef00f6eb372b
line source
1 Strabon
2 -----------
4 Introduction
5 ============
6 Strabon is a fully implemented semantic geospatial database system that can be
7 used to store linked geospatial data expressed in RDF and query them using an
8 extension of SPARQL. Strabon supports spatial selections, spatial joins, a rich
9 set of spatial functions similar to those offered by geospatial relational
10 database systems, support for multiple Coordinate Reference Systems and widely
11 used serializations for geometric objects such as WKT and GML. Strabon is built
12 on top of the well-known RDF store Sesame and extends Sesame’s components to be
13 able to manage thematic and spatial data that are stored in PostGIS.
15 The development of Strabon started in the context of European FP7 project
16 SemsorGrid4Env (Semantic Sensor Grids for Rapid Application Development for
17 Environmental Management) [http://www.semsorgrid4env.eu/]. Starting September
18 2011, Strabon is being utilized and extended with new functionalities in the
19 FP7 project TELEIOS (Virtual Observatory Infrastructure for Earth Observation
20 Data) [http://www.earthobservatory.eu/] which our group leads.
22 The query language of Strabon is called stSPARQL. stSPARQL can be used to query
23 data represented in an extension of RDF called stRDF. stRDF and stSPARQL have
24 been designed for representing and querying geospatial data that changes over
25 time (e.g., the growth of a city over the years due to new developments).
27 Currently, only the geospatial features of stSPARQL have been implemented fully.
28 The temporal features are the subject of current work.
30 Given the very close relationship between stSPARQL and GeoSPARQL which is a
31 recent OGC standard for an extension of SPARQL for querying geospatial metadata,
32 we recently provided support for the Core, Geometry and Geometry Topology
33 extension of GeoSPARQL.
36 Strabon Homepage
37 ================
38 The homepage of Strabon is at http://www.strabon.di.uoa.gr/.
41 Demo
42 ====
43 You can find a demo of the system Strabon at http://test.strabon.di.uoa.gr/NOA/.
46 Getting Started
47 ===============
48 To get started with Strabon please have a look at the tutorial for the stRDF
49 data model and stSPARQL query language, the User Guide, and the Developer Guide.
51 stRDF and stSPARQL tutorial
52 http://www.strabon.di.uoa.gr/files/stSPARQL_tutorial.pdf
55 stSPARQL Reference
56 ~~~~~~~~~~~~~~~~~~
57 The reference for the spatial and temporal extension functions defined in
58 stSPARQL can be found at http://www.strabon.di.uoa.gr/stSPARQL#spatial and
59 http://www.strabon.di.uoa.gr/stSPARQL#temporals respectively.
62 User Guide
63 ~~~~~~~~~~
64 Assuming that you are familiar with Maven, the following steps need to be
65 followed in order to use Strabon using Eclipse:
67 1. Install PostgreSQL from http://www.postgresql.org/download/. At the time of
68 this writing the latest PostgreSQL version is 9.1.
69 2. Install PostGIS from http://postgis.refractions.net/download/. At the time of
70 this writing we have tested Strabon with PostGIS 1.5.3.
71 3. Install Maven from http://maven.apache.org/download.html. At the time of this
72 writing the latest Maven version is 3.0.4.
73 4. Install Eclipse from http://www.eclipse.org/downloads/. At the time of this
74 writing the latest Eclipse version is 3.7.2.
75 5. Install the m2e plugin for Eclipse from http://www.eclipse.org/m2e/.
76 6. Install the MercurialEclipse plugin for Eclipse from
77 http://javaforge.com/project/HGE .
78 7. From Eclipse, go to File --> Import --> Mercurial --> Clone Existing
79 Mercurial Repository --> Next. In the URL textarea paste the following
80 URL: http://hg.strabon.di.uoa.gr/StrabonUser and then press Next --> Next -->
81 Finish. If you used the default settings, you should have a new project named
82 StrabonMain. Right click on the project and select Configure --> Convert to
83 Maven project. Eclipse will enable Maven dependency management for the
84 project, download any dependencies and build the project.
87 Storing stRDF graphs and evaluating stSPARQL queries
88 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
89 You can see some examples in the classes gr.uoa.di.strabon.example.PostgisExample
90 and gr.uoa.di.strabon.example.PostgisExample2.
92 Tuning PostgreSQL
93 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
94 The default settings of Postgres are rather conservative. As a result, parameter
95 tuning is neccessary for speeding up Postgres, therefore Strabon. If you are
96 using Strabon to compare its performance against your implementation of
97 stSPARQL/GeoSPARQL, you are *strongly* encouraged to contact us using the Strabon
98 Users mailing list for assistance on tuning Postgres.
100 You can follow the instructions below for tuning a Postgres server running on an
101 Ubuntu machine that is dedicated to PostgreSQL and Strabon.
103 1. Append the following text at the end of postgresql.conf.
104 *Uncomment* the appropriate lines.
106 ### RAM
107 ## 4 GB of RAM
108 #shared_buffers = 3GB
109 #effective_cache_size = 3GB
110 #maintenance_work_mem = 1GB
111 #work_mem = 2GB
112 ## 8 GB of RAM
113 #shared_buffers = 5GB
114 #effective_cache_size = 6GB
115 #maintenance_work_mem = 2GB
116 #work_mem = 5GB
117 ## 16 GB of RAM
118 #shared_buffers = 10GB
119 #effective_cache_size = 14GB
120 #maintenance_work_mem = 4GB
121 #work_mem = 10GB
122 ## 24 GB of RAM
123 #shared_buffers = 16GB
124 #effective_cache_size = 22GB
125 #maintenance_work_mem = 6GB
126 #work_mem = 15GB
127 ## 48 GB of RAM
128 #shared_buffers = 32GB
129 #effective_cache_size = 46GB
130 #maintenance_work_mem = 8GB
131 #work_mem = 30GB
132 ## 64 GB of RAM
133 # contact us to find out!
134 ### HD
135 ## RAID with ordinary 7.200 disks
136 #random_page_cost = 3.5 #3.0-3.5
137 ## High-End NAS/SAN
138 #random_page_cost = 2 #1.5-2.5
139 ## Amazon EBS/Heroku
140 #random_page_cost = 1.3 #1.1-2.0
141 ## SSD array
142 #random_page_cost = 2.0 #1.5-2.5
143 ### Misc
144 default_statistics_target = 10000
145 constraint_exclusion = on
146 checkpoint_completion_target = 0.9
147 wal_buffers = 32MB
148 checkpoint_segments = 64
149 ### Connections
150 max_connections = 10
152 2. Append the following lines at the end of /etc/sysctl.conf
153 *Uncomment* the appropriate lines.
155 ## 4 GB of RAM
156 #kernel.shmmax = 3758096384
157 #kernel.shmall = 3758096384
158 #kernel.shmmni = 4096
159 ## 8 GB of RAM
160 #kernel.shmmax = 5905580032
161 #kernel.shmall = 5905580032
162 #kernel.shmmni = 4096
163 ## 16 GB of RAM
164 #kernel.shmmax = 11274289152
165 #kernel.shmall = 11274289152
166 #kernel.shmmni = 4096
167 ## 24 GB of RAM
168 #kernel.shmmax = 17716740096
169 #kernel.shmall = 17716740096
170 #kernel.shmmni = 4096
171 ## 48 GB of RAM
172 #kernel.shmmax = 35433480192
173 #kernel.shmall = 35433480192
174 #kernel.shmmni = 4224
175 ## 64 GB of RAM
176 # contact us to find out!
178 3. Apply all changes by executing
180 $ sudo sysctl -p
181 $ sudo /etc/init.d/postgresql restart
183 4. Prepare for the next run by issuing the command
185 $ sudo -u postgres psql -c 'VACUUM ANALYZE;' db
187 or
189 $ psql -c 'VACUUM ANALYZE;' db
191 where db is the name of the Postgres database that Strabon will use.
194 Developer Guide
195 ~~~~~~~~~~~~~~~
196 Assuming that you are familiar with Maven, the following steps need to be
197 followed in order to use Strabon using Eclipse:
199 1. Install PostgreSQL from http://www.postgresql.org/download/. At the time of
200 this writing the latest PostgreSQL version is 9.1.
201 2. Install PostGIS from http://postgis.refractions.net/download/. At the time of
202 this writing we have tested Strabon with PostGIS 1.5.3.
203 3. Install Maven from http://maven.apache.org/download.html. At the time of this
204 writing the latest Maven version is 3.0.4.
205 4. Install Eclipse from http://www.eclipse.org/downloads/. At the time of this
206 writing the latest Eclipse version is 3.7.2.
207 5. Install the m2e plugin for Eclipse from http://www.eclipse.org/m2e/.
208 6. Install the MercurialEclipse plugin for Eclipse from
209 http://javaforge.com/project/HGE.
210 7. From Eclipse, go to File --> Import --> Mercurial --> Clone Existing
211 Mercurial Repository --> Next. In the URL textarea paste the following
212 URL: http://hg.strabon.di.uoa.gr/Strabon and then press Next --> Next -->
213 Finish. If you used the default settings, you should have a new project named
214 StrabonMain. Right click on the project and select Configure --> Convert to
215 Maven project. Eclipse will enable Maven dependency management for the
216 project, download any dependencies and build the project.
219 Storing stRDF graphs and evaluating stSPARQL queries
220 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
221 You can see some examples in the classes
222 eu.earthobservatory.runtime.postgis.StoreOp and
223 eu.earthobservatory.runtime.postgis.QueryOp.
226 Download
227 ========
228 You can download the source code of the latest version of Strabon by accessing
229 our public mercurial repository located at http://hg.strabon.di.uoa.gr/Strabon.
230 You can find more information on how to use and extend Strabon at the Getting
231 Started section.
234 Publications
235 ============
236 You can learn about stRDF data model and stSPARQL query language employed in
237 Strabon by reading our tutorial under the Getting Started section and/or the
238 publications given on this page.
240 The current versions of stRDF and stSPARQL which are based on OGC standards are
241 presented in the following document:
242 * K. Kyzirakos, M. Karpathiotakis, and M. Koubarakis. Strabon: A Semantic
243 Geospatial DBMS. In Internatioanl Semantic Web Conference (ISWC'12). Boston,
244 USA, November 11-15, 2012.
245 [pdf: http://strabon.di.uoa.gr/files/strabon-iswc.pdf]
247 * Manolis Koubarakis, Kostis Kyzirakos, Babis Nikolaou, Michael Sioutis, and
248 Stavros Vassos. A data model and query language for an extension of RDF with
249 time and space. Deliverable D2.1, European ICT project TELEIOS, 2011.
250 [pdf: http://strabon.di.uoa.gr/files/deliv2-1-re-revised.pdf]
252 The initial versions of stRDF and stSPARQL that are based on constraint
253 databases are presented in the following publications:
254 * Manolis Koubarakis and Kostis Kyzirakos. Modeling and Querying Metadata in
255 the Semantic Sensor Web: the Model stRDF and the Query Language stSPARQL.
256 In 7th Extended Semantic Web Conference (ESWC 2010). Heraklion, Crete,
257 30 May - 03 June, 2010.
258 [pdf: http://strabon.di.uoa.gr/files/stSPARQL.pdf]
260 * Kostis Kyzirakos, Manos Karpathiotakis and Manolis Koubarakis. Developing
261 Registries for the Semantic Sensor Web using stRDF and stSPARQL (short
262 paper).
263 In Proceedings of 3rd International workshop on Semantic Sensor Networks
264 2010, in conjunction with ISWC 2010, November 2010, Shanghai, China.
265 [pdf: http://strabon.di.uoa.gr/files/strabon.pdf]
267 Applications of stRDF, stSPARQL, and the system Strabon are described here:
268 * Alasdair J. G. Gray, Raúl García-Castro, Kostis Kyzirakos, Manos
269 Karpathiotakis, Jean-Paul Calbimonte, Kevin Page, Jason Sadler, Alex
270 Frazer, Ixent Galpin, Alvaro A. A. Fernandes, Norman W. Paton, Oscar
271 Corcho, Manolis Koubarakis, David De Roure, Kirk Martinez and Asunción
272 Gómez-Pérez. A Semantically Enabled Service Architecture for Mashups over
273 Streaming and Stored Data. In 8th Extended Semantic Web Conference (ESWC
274 2011). Heraklion, Crete, May 20 - June 2, 2011.
275 [pdf: http://strabon.di.uoa.gr/files/Gray2011Architecture.pdf]
277 * A.J.G. Gray, J. Sadler, O. Kit, K. Kyzirakos, M. Karpathiotakis, J.-P.
278 Calbimonte, K. Page, R. García-Castro, A. Frazer, I. Galpin, A.A.A.
279 Fernandes, N.W. Paton, O. Corcho, M. Koubarakis, D.D. Roure, K. Martinez,
280 A. Gómez-Pérez. A Semantic Sensor Web for Environmental Decision Support
281 Applications. Sensors. 11, 8855-8887.
282 [pdf: http://strabon.di.uoa.gr/files/sensors-11-08855.pdf]
284 Coming up soon:
285 Strabon will soon support an extension of RDF for incomplete geospatial
286 information. The following publication gives a preview of the relevant research
287 problems:
288 * M. Koubarakis, K. Kyzirakos, M. Karpathiotakis, C. Nikolaou, M. Sioutis,
289 S. Vassos, D. Michail, T. Herekakis, C. Kontoes and I. Papoutsis. Challenges
290 for Qualitative Spatial Reasoning in Linked Geospatial Data. In Proceedings
291 of IJCAI 2011 Workshop on Benchmarks and Applications of Spatial Reasoning,
292 Barcelona, Spain.
293 [pdf: http://www.earthobservatory.eu/publications/SciQL_ADASS2011.pdf]
295 * C. Nikolaou and M. Koubarakis: "Querying Linked Geospatial Data with
296 Incomplete Information". In 5th International Terra Cognita Workshop -
297 Foundations, Technologies and Applications of the Geospatial Web. In
298 conjunction with the 11th International Semantic Web Conference, Boston,
299 USA, November, 2012.
300 [http://www.earthobservatory.eu/publications/iswc-workshop.pdf]
303 Contributors
304 ============
305 The system Strabon has been developed by the following members of our team:
307 * Manos Karpathiotakis <mk@di.uoa.gr>
308 * Kostis Kyzirakos <kkyzir@di.uoa.gr>
309 * Manolis Koubarakis <koubarak@di.uoa.gr>
310 * Giorgos Garbis <ggarbis@di.uoa.gr>
311 * Konstantina Bereta <konstantina.bereta@di.uoa.gr>
312 * Charalampos Nikolaou <charnik@di.uoa.gr>
313 * Stella Gianakopoulou <sgian@di.uoa.gr>
314 * Panagiotis Smeros <psmeros@di.uoa.gr>
315 * Kallirroi Dogani <kallirroi@di.uoa.gr>
318 Mailing-list
319 ============
320 Currently, we maintain the following mailing lists:
322 * Strabon-users, is used as a communication channel for Strabon users.
323 To subscribe to the mailing-list, please visit page
324 http://cgi.di.uoa.gr/~mailman/listinfo/strabon-users. To post e-mails
325 to Strabon-users mailing-list, write to strabon-users@di.uoa.gr.
327 * Strabon-devel, is used as a communication channel with the developers
328 of Strabon. To subscribe to the mailing-list, please visit page
329 http://cgi.di.uoa.gr/~mailman/listinfo/strabon-devel. To post e-mails
330 to Strabon-devel mailing-list, write to strabon-devel@di.uoa.gr.
333 Bugs
334 ====
335 Please report bugs to http://bug.strabon.di.uoa.gr/report or
336 the Strabon-devel mailing-list Strabon-devel@di.uoa.gr.
339 Known Issues
340 ============
341 * By default, Tomcat uses ISO-8859-1 character encoding when decoding URLs received
342 from a browser. This can cause problems when encoding is UTF-8, and you are using
343 international characters. In order to fix this, edit conf/server.xml and find the
344 line where the Connector is defined. Add the parameter URIEncoding and set it to
345 UTF-8. For example:
347 <Connector port="8080" protocol="HTTP/1.1"
348 connectionTimeout="20000"
349 URIEncoding="UTF-8"
350 redirectPort="8443" />
352 * Building and executing any maven goals fails for maven versions <3.0 due to a
353 dependency to the `shade' plugin that is available only for maven version 3.0
354 (http://maven.apache.org/plugins/maven-shade-plugin/). In such systems, you may
355 disable execution of this plugin by setting the environmental variable
356 `shade.skip'. For example, to build Strabon using maven version 2.0 you may
357 execute the following command:
359 $ mvn clean package -Dshade.skip
361 * When using MonetDB as a backend, the following source code of MonetDB must be
362 used:
363 https://hg.strabon.di.uoa.gr/MonetDB/
366 License
367 =======
368 This Source Code Form is subject to the terms of the Mozilla Public
369 License, v. 2.0. If a copy of the MPL was not distributed with this
370 file, You can obtain one at http://mozilla.org/MPL/2.0/.
372 Copyright (C) 2010, 2011, 2012, Pyravlos Team
374 http://www.strabon.di.uoa.gr/
377 How to apply the license
378 ========================
379 * In the beginning of script files (after the shell directive) paste the
380 following statement:
381 #
382 # This Source Code Form is subject to the terms of the Mozilla Public
383 # License, v. 2.0. If a copy of the MPL was not distributed with this
384 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
385 #
386 # Copyright (C) 2010, 2011, 2012, Pyravlos Team
387 #
388 # http://www.strabon.di.uoa.gr/
389 #
391 * In the beginning of Java source code files paste the following statement:
392 /**
393 * This Source Code Form is subject to the terms of the Mozilla Public
394 * License, v. 2.0. If a copy of the MPL was not distributed with this
395 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
396 *
397 * Copyright (C) 2010, 2011, 2012, Pyravlos Team
398 *
399 * http://www.strabon.di.uoa.gr/
400 */
402 * In the beginning of HTML/XML files paste the following statement:
403 <!-- This Source Code Form is subject to the terms of the Mozilla Public
404 - License, v. 2.0. If a copy of the MPL was not distributed with this
405 - file, You can obtain one at http://mozilla.org/MPL/2.0/.
406 -
407 - Copyright (C) 2010, 2011, 2012, Pyravlos Team
408 -
409 - http://www.strabon.di.uoa.gr/
410 -->