rev |
line source |
charnik@211
|
1 Strabon
|
charnik@211
|
2 -----------
|
charnik@211
|
3
|
charnik@211
|
4 Introduction
|
charnik@211
|
5 ============
|
charnik@211
|
6 Strabon is a fully implemented semantic geospatial database system that can be
|
charnik@211
|
7 used to store linked geospatial data expressed in RDF and query them using an
|
charnik@211
|
8 extension of SPARQL. Strabon supports spatial selections, spatial joins, a rich
|
charnik@211
|
9 set of spatial functions similar to those offered by geospatial relational
|
charnik@211
|
10 database systems, support for multiple Coordinate Reference Systems and widely
|
charnik@211
|
11 used serializations for geometric objects such as WKT and GML. Strabon is built
|
charnik@211
|
12 on top of the well-known RDF store Sesame and extends Sesame’s components to be
|
charnik@211
|
13 able to manage thematic and spatial data that are stored in PostGIS.
|
charnik@211
|
14
|
charnik@211
|
15 The development of Strabon started in the context of European FP7 project
|
charnik@211
|
16 SemsorGrid4Env (Semantic Sensor Grids for Rapid Application Development for
|
charnik@211
|
17 Environmental Management) [http://www.semsorgrid4env.eu/]. Starting September
|
charnik@211
|
18 2011, Strabon is being utilized and extended with new functionalities in the
|
charnik@211
|
19 FP7 project TELEIOS (Virtual Observatory Infrastructure for Earth Observation
|
charnik@211
|
20 Data) [http://www.earthobservatory.eu/] which our group leads.
|
charnik@211
|
21
|
charnik@211
|
22 The query language of Strabon is called stSPARQL. stSPARQL can be used to query
|
charnik@211
|
23 data represented in an extension of RDF called stRDF. stRDF and stSPARQL have
|
charnik@211
|
24 been designed for representing and querying geospatial data that changes over
|
charnik@211
|
25 time (e.g., the growth of a city over the years due to new developments).
|
charnik@211
|
26
|
kkyzir@639
|
27 Given the very close relationship between stSPARQL and GeoSPARQL which is a
|
kkyzir@639
|
28 recent OGC standard for an extension of SPARQL for querying geospatial metadata,
|
kkyzir@639
|
29 we recently provided support for the Core, Geometry and Geometry Topology
|
kkyzir@639
|
30 extension of GeoSPARQL.
|
kkyzir@639
|
31
|
charnik@211
|
32
|
charnik@1006
|
33 Conformance to GeoSPARQL
|
charnik@1006
|
34 ========================
|
charnik@1006
|
35 Strabon implements the `Core', the `Topology Vocabulary Extension', the
|
charnik@1006
|
36 `Geometry Extension', the `Geometry Topology Extension', and the `RDFS Entailment
|
charnik@1006
|
37 Extension' except for Req. 25
|
charnik@1006
|
38 (http://www.opengis.net/spec/geosparql/1.0/req/rdfs-entailment-extension/bgp-rdfs-ent).
|
charnik@1006
|
39
|
charnik@1006
|
40 With respect to GML, Strabon supports the GML Profile corresponding to Simple
|
charnik@1009
|
41 Features, that is, GML Simple Features Profile 2.0.
|
charnik@1006
|
42
|
charnik@1006
|
43
|
charnik@212
|
44 Strabon Homepage
|
charnik@212
|
45 ================
|
charnik@212
|
46 The homepage of Strabon is at http://www.strabon.di.uoa.gr/.
|
charnik@212
|
47
|
charnik@212
|
48
|
charnik@211
|
49 Demo
|
charnik@211
|
50 ====
|
charnik@211
|
51 You can find a demo of the system Strabon at http://test.strabon.di.uoa.gr/NOA/.
|
charnik@211
|
52
|
charnik@212
|
53
|
charnik@1022
|
54 How to build and run Strabon from command line
|
charnik@1022
|
55 ==============================================
|
charnik@1022
|
56 Assuming you have already downloaded Strabon and you are in the top-level
|
charnik@1022
|
57 directory of Strabon, issue the following command to build it from command line:
|
charnik@1022
|
58
|
kkyzir@1118
|
59 $ mvn clean package
|
charnik@1022
|
60
|
psmeros@1205
|
61 In order to run automatically the JUnit tests, pass the option `-DskipTests=false'
|
kkyzir@1118
|
62 to the above command. The complete command is the following:
|
charnik@1022
|
63
|
kkyzir@1118
|
64 $ mvn -DskipTests=false clean package
|
charnik@1022
|
65
|
charnik@1022
|
66 In case of an error during building of Strabon and assuming that the error does
|
charnik@1022
|
67 not come from the JUnit tests, please have a look at the `Known Issues' section
|
charnik@1022
|
68 below. If none of the known issues of that section applies, please contact the
|
charnik@1022
|
69 developers through the Strabon mailing-list or submit a corresponding bug
|
charnik@1022
|
70 (see `Bugs' section below).
|
charnik@1022
|
71
|
charnik@1022
|
72 After you have successfully built Strabon, you have access to the following
|
charnik@1022
|
73 components:
|
charnik@1022
|
74
|
charnik@1022
|
75 * Strabon Endpoint
|
charnik@1022
|
76
|
charnik@1022
|
77 This is a SPARQL endpoint for Strabon. It is distributed as a war file so
|
charnik@1022
|
78 you may deploy it in a Tomcat container. You may find the war file under
|
charnik@1022
|
79 directory `endpoint/target'.
|
charnik@1022
|
80
|
charnik@1022
|
81 * Strabon Endpoint (standalone)
|
charnik@1022
|
82
|
charnik@1022
|
83 This is a SPARQL endpoint for Strabon like the above one, but it differs
|
charnik@1022
|
84 only in that it does not require the user to have already set up a Tomcat
|
charnik@1022
|
85 container. The standalone Strabon Endpoint may be run by issuing the
|
charnik@1022
|
86 following command:
|
charnik@1022
|
87
|
charnik@1022
|
88 $ java -jar endpoint-exec/target/strabon-endpoint-executable-${version}.jar
|
charnik@1022
|
89
|
charnik@1022
|
90 After issuing the above command, you may access the Strabon Endpoint at
|
charnik@1022
|
91 the following URL: <http://localhost:8080/>.
|
charnik@1022
|
92
|
charnik@1022
|
93 Please see the page at <http://hg.strabon.di.uoa.gr/Strabon/rev/674f8f91162b>
|
charnik@1022
|
94 to find out other options that you may pass to the Tomcat container that
|
charnik@1022
|
95 will run by the above command.
|
charnik@1022
|
96
|
charnik@1022
|
97 SPECIAL NOTE: if you need to configure the connection details to the
|
charnik@1022
|
98 underlying database, you may do so in two ways:
|
charnik@1022
|
99 1. By modifying file `endpoint/WebContent/WEB-INF/connection.properties'
|
charnik@1022
|
100 before building Strabon and executing the above command.
|
charnik@1022
|
101 2. After executing the above command, by visiting the following page by a
|
charnik@1022
|
102 browser: <http://localhost:8080/ChangeConnection>
|
charnik@1022
|
103
|
charnik@1022
|
104 * Strabon Endpoint Client
|
charnik@1022
|
105
|
charnik@1022
|
106 This is a Java client for interacting with Strabon Endpoint or any other
|
charnik@1022
|
107 SPARQL endpoint. It is packaged as a jar file and may be found under
|
charnik@1022
|
108 directory `endpoint-client/target/' with name
|
charnik@1022
|
109 `strabon-endpoint-client-${version}.jar'. This jar contains any dependencies
|
charnik@1022
|
110 to other code, so may copy and paste it to your project and start playing
|
charnik@1022
|
111 with the code immediately.
|
charnik@1022
|
112
|
charnik@1022
|
113 * Strabon script
|
charnik@1022
|
114
|
charnik@1022
|
115 The `strabon' script is located under the `scripts/' directory and it is the
|
charnik@1022
|
116 main command-line tool for interacting with Strabon. You may use it to store
|
charnik@1022
|
117 RDF data with geospatial information or query/update it using one of
|
charnik@1022
|
118 stSPARQL or GeoSPARQL query languages.
|
charnik@1022
|
119
|
charnik@1022
|
120 * Endpoint script
|
charnik@1022
|
121
|
charnik@1022
|
122 The `endpoint' script is located under the `scripts' directory and it is the
|
charnik@1022
|
123 main command-line tool for interacting with a `Strabon Endpoint'. You may
|
charnik@1022
|
124 use it to do any operation you would like to do with the `strabon' script
|
charnik@1022
|
125 above, but in contrast to the `strabon' script you need to have access to a
|
charnik@1022
|
126 Strabon endpoint. Of course, the `Strabon Endpoint Client' component above
|
charnik@1022
|
127 can be used as well as a command-line tool. At the time of writing, the
|
charnik@1022
|
128 `Strabon Endpoint Client' component supports only querying of RDF data with
|
charnik@1022
|
129 geospatial information.
|
charnik@1022
|
130
|
charnik@1022
|
131
|
charnik@211
|
132 Getting Started
|
charnik@211
|
133 ===============
|
charnik@211
|
134 To get started with Strabon please have a look at the tutorial for the stRDF
|
charnik@211
|
135 data model and stSPARQL query language, the User Guide, and the Developer Guide.
|
charnik@211
|
136
|
charnik@211
|
137 stRDF and stSPARQL tutorial
|
charnik@211
|
138 http://www.strabon.di.uoa.gr/files/stSPARQL_tutorial.pdf
|
charnik@211
|
139
|
kkyzir@800
|
140
|
kkyzir@800
|
141 stSPARQL Reference
|
kkyzir@800
|
142 ~~~~~~~~~~~~~~~~~~
|
kkyzir@800
|
143 The reference for the spatial and temporal extension functions defined in
|
Konstantina@1283
|
144 stSPARQL can be found at http://www.strabon.di.uoa.gr/stSPARQL.
|
kkyzir@800
|
145
|
kkyzir@800
|
146
|
charnik@211
|
147 User Guide
|
charnik@211
|
148 ~~~~~~~~~~
|
charnik@211
|
149 Assuming that you are familiar with Maven, the following steps need to be
|
charnik@211
|
150 followed in order to use Strabon using Eclipse:
|
charnik@211
|
151
|
charnik@211
|
152 1. Install PostgreSQL from http://www.postgresql.org/download/. At the time of
|
charnik@211
|
153 this writing the latest PostgreSQL version is 9.1.
|
charnik@211
|
154 2. Install PostGIS from http://postgis.refractions.net/download/. At the time of
|
Konstantina@1281
|
155 this writing we have tested Strabon with PostGIS 1.5.3. For the
|
Konstantina@1281
|
156 temporal features of stSPARQL download the PostgreSQL temporal extension
|
Konstantina@1281
|
157 from here: https://github.com/jeff-davis/PostgreSQL-Temporal and follow
|
Konstantina@1281
|
158 the installation guide.
|
charnik@211
|
159 3. Install Maven from http://maven.apache.org/download.html. At the time of this
|
charnik@211
|
160 writing the latest Maven version is 3.0.4.
|
charnik@211
|
161 4. Install Eclipse from http://www.eclipse.org/downloads/. At the time of this
|
charnik@211
|
162 writing the latest Eclipse version is 3.7.2.
|
charnik@211
|
163 5. Install the m2e plugin for Eclipse from http://www.eclipse.org/m2e/.
|
charnik@211
|
164 6. Install the MercurialEclipse plugin for Eclipse from
|
charnik@211
|
165 http://javaforge.com/project/HGE .
|
charnik@211
|
166 7. From Eclipse, go to File --> Import --> Mercurial --> Clone Existing
|
charnik@211
|
167 Mercurial Repository --> Next. In the URL textarea paste the following
|
charnik@211
|
168 URL: http://hg.strabon.di.uoa.gr/StrabonUser and then press Next --> Next -->
|
charnik@211
|
169 Finish. If you used the default settings, you should have a new project named
|
charnik@211
|
170 StrabonMain. Right click on the project and select Configure --> Convert to
|
charnik@211
|
171 Maven project. Eclipse will enable Maven dependency management for the
|
charnik@211
|
172 project, download any dependencies and build the project.
|
charnik@211
|
173
|
charnik@211
|
174
|
charnik@211
|
175 Storing stRDF graphs and evaluating stSPARQL queries
|
charnik@211
|
176 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
charnik@211
|
177 You can see some examples in the classes gr.uoa.di.strabon.example.PostgisExample
|
charnik@211
|
178 and gr.uoa.di.strabon.example.PostgisExample2.
|
charnik@211
|
179
|
kkyzir@954
|
180 Tuning PostgreSQL
|
kkyzir@954
|
181 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
kkyzir@954
|
182 The default settings of Postgres are rather conservative. As a result, parameter
|
kkyzir@954
|
183 tuning is neccessary for speeding up Postgres, therefore Strabon. If you are
|
kkyzir@954
|
184 using Strabon to compare its performance against your implementation of
|
kkyzir@954
|
185 stSPARQL/GeoSPARQL, you are *strongly* encouraged to contact us using the Strabon
|
kkyzir@954
|
186 Users mailing list for assistance on tuning Postgres.
|
kkyzir@954
|
187
|
kkyzir@954
|
188 You can follow the instructions below for tuning a Postgres server running on an
|
kkyzir@954
|
189 Ubuntu machine that is dedicated to PostgreSQL and Strabon.
|
kkyzir@954
|
190
|
kkyzir@954
|
191 1. Append the following text at the end of postgresql.conf.
|
kkyzir@954
|
192 *Uncomment* the appropriate lines.
|
kkyzir@954
|
193
|
kkyzir@954
|
194 ### RAM
|
kkyzir@954
|
195 ## 4 GB of RAM
|
kkyzir@954
|
196 #shared_buffers = 3GB
|
kkyzir@954
|
197 #effective_cache_size = 3GB
|
kkyzir@954
|
198 #maintenance_work_mem = 1GB
|
kkyzir@954
|
199 #work_mem = 2GB
|
kkyzir@954
|
200 ## 8 GB of RAM
|
kkyzir@954
|
201 #shared_buffers = 5GB
|
kkyzir@954
|
202 #effective_cache_size = 6GB
|
kkyzir@954
|
203 #maintenance_work_mem = 2GB
|
kkyzir@954
|
204 #work_mem = 5GB
|
kkyzir@954
|
205 ## 16 GB of RAM
|
kkyzir@954
|
206 #shared_buffers = 10GB
|
kkyzir@954
|
207 #effective_cache_size = 14GB
|
kkyzir@954
|
208 #maintenance_work_mem = 4GB
|
kkyzir@954
|
209 #work_mem = 10GB
|
kkyzir@954
|
210 ## 24 GB of RAM
|
kkyzir@954
|
211 #shared_buffers = 16GB
|
kkyzir@954
|
212 #effective_cache_size = 22GB
|
kkyzir@954
|
213 #maintenance_work_mem = 6GB
|
kkyzir@954
|
214 #work_mem = 15GB
|
kkyzir@954
|
215 ## 48 GB of RAM
|
kkyzir@954
|
216 #shared_buffers = 32GB
|
kkyzir@954
|
217 #effective_cache_size = 46GB
|
kkyzir@954
|
218 #maintenance_work_mem = 8GB
|
kkyzir@954
|
219 #work_mem = 30GB
|
kkyzir@954
|
220 ## 64 GB of RAM
|
kkyzir@954
|
221 # contact us to find out!
|
kkyzir@954
|
222 ### HD
|
kkyzir@954
|
223 ## RAID with ordinary 7.200 disks
|
kkyzir@954
|
224 #random_page_cost = 3.5 #3.0-3.5
|
kkyzir@954
|
225 ## High-End NAS/SAN
|
kkyzir@954
|
226 #random_page_cost = 2 #1.5-2.5
|
kkyzir@954
|
227 ## Amazon EBS/Heroku
|
kkyzir@954
|
228 #random_page_cost = 1.3 #1.1-2.0
|
kkyzir@954
|
229 ## SSD array
|
kkyzir@954
|
230 #random_page_cost = 2.0 #1.5-2.5
|
kkyzir@1147
|
231 ### Planner options
|
kkyzir@1147
|
232 # Increase the following values in order to avoid using the GEQO planner.
|
kkyzir@1147
|
233 # Small values (<8) reduce planning time but may produce inferior query plans
|
kkyzir@1147
|
234 #
|
kkyzir@1147
|
235 geqo_threshold = 15 # keep this value larger that the following two parameters
|
kkyzir@1147
|
236 from_collapse_limit = 14
|
kkyzir@1147
|
237 join_collapse_limit = 14
|
kkyzir@954
|
238 ### Misc
|
kkyzir@954
|
239 default_statistics_target = 10000
|
kkyzir@954
|
240 constraint_exclusion = on
|
kkyzir@954
|
241 checkpoint_completion_target = 0.9
|
kkyzir@954
|
242 wal_buffers = 32MB
|
kkyzir@954
|
243 checkpoint_segments = 64
|
kkyzir@954
|
244 ### Connections
|
kkyzir@954
|
245 max_connections = 10
|
kkyzir@954
|
246
|
kkyzir@954
|
247 2. Append the following lines at the end of /etc/sysctl.conf
|
kkyzir@954
|
248 *Uncomment* the appropriate lines.
|
kkyzir@954
|
249
|
kkyzir@954
|
250 ## 4 GB of RAM
|
kkyzir@954
|
251 #kernel.shmmax = 3758096384
|
kkyzir@954
|
252 #kernel.shmall = 3758096384
|
kkyzir@954
|
253 #kernel.shmmni = 4096
|
kkyzir@954
|
254 ## 8 GB of RAM
|
kkyzir@954
|
255 #kernel.shmmax = 5905580032
|
kkyzir@954
|
256 #kernel.shmall = 5905580032
|
kkyzir@954
|
257 #kernel.shmmni = 4096
|
kkyzir@954
|
258 ## 16 GB of RAM
|
kkyzir@954
|
259 #kernel.shmmax = 11274289152
|
kkyzir@954
|
260 #kernel.shmall = 11274289152
|
kkyzir@954
|
261 #kernel.shmmni = 4096
|
kkyzir@954
|
262 ## 24 GB of RAM
|
kkyzir@954
|
263 #kernel.shmmax = 17716740096
|
kkyzir@954
|
264 #kernel.shmall = 17716740096
|
kkyzir@954
|
265 #kernel.shmmni = 4096
|
kkyzir@954
|
266 ## 48 GB of RAM
|
kkyzir@954
|
267 #kernel.shmmax = 35433480192
|
kkyzir@954
|
268 #kernel.shmall = 35433480192
|
kkyzir@954
|
269 #kernel.shmmni = 4224
|
kkyzir@954
|
270 ## 64 GB of RAM
|
kkyzir@954
|
271 # contact us to find out!
|
kkyzir@954
|
272
|
charnik@969
|
273 3. Apply all changes by executing
|
kkyzir@954
|
274
|
kkyzir@954
|
275 $ sudo sysctl -p
|
kkyzir@954
|
276 $ sudo /etc/init.d/postgresql restart
|
kkyzir@954
|
277
|
kkyzir@954
|
278 4. Prepare for the next run by issuing the command
|
kkyzir@954
|
279
|
kkyzir@954
|
280 $ sudo -u postgres psql -c 'VACUUM ANALYZE;' db
|
kkyzir@954
|
281
|
kkyzir@954
|
282 or
|
kkyzir@954
|
283
|
kkyzir@954
|
284 $ psql -c 'VACUUM ANALYZE;' db
|
kkyzir@954
|
285
|
kkyzir@954
|
286 where db is the name of the Postgres database that Strabon will use.
|
kkyzir@954
|
287
|
charnik@211
|
288
|
charnik@211
|
289 Developer Guide
|
charnik@211
|
290 ~~~~~~~~~~~~~~~
|
charnik@211
|
291 Assuming that you are familiar with Maven, the following steps need to be
|
charnik@211
|
292 followed in order to use Strabon using Eclipse:
|
charnik@211
|
293
|
charnik@211
|
294 1. Install PostgreSQL from http://www.postgresql.org/download/. At the time of
|
charnik@211
|
295 this writing the latest PostgreSQL version is 9.1.
|
charnik@211
|
296 2. Install PostGIS from http://postgis.refractions.net/download/. At the time of
|
Konstantina@1281
|
297 this writing we have tested Strabon with PostGIS 1.5.3. For the
|
Konstantina@1281
|
298 temporal features of stSPARQL download the PostgreSQL temporal extension
|
Konstantina@1281
|
299 from here: https://github.com/jeff-davis/PostgreSQL-Temporal and follow
|
Konstantina@1281
|
300 the installation guide.
|
charnik@211
|
301 3. Install Maven from http://maven.apache.org/download.html. At the time of this
|
charnik@211
|
302 writing the latest Maven version is 3.0.4.
|
charnik@211
|
303 4. Install Eclipse from http://www.eclipse.org/downloads/. At the time of this
|
charnik@211
|
304 writing the latest Eclipse version is 3.7.2.
|
charnik@211
|
305 5. Install the m2e plugin for Eclipse from http://www.eclipse.org/m2e/.
|
charnik@211
|
306 6. Install the MercurialEclipse plugin for Eclipse from
|
charnik@211
|
307 http://javaforge.com/project/HGE.
|
charnik@211
|
308 7. From Eclipse, go to File --> Import --> Mercurial --> Clone Existing
|
charnik@211
|
309 Mercurial Repository --> Next. In the URL textarea paste the following
|
charnik@211
|
310 URL: http://hg.strabon.di.uoa.gr/Strabon and then press Next --> Next -->
|
charnik@211
|
311 Finish. If you used the default settings, you should have a new project named
|
charnik@211
|
312 StrabonMain. Right click on the project and select Configure --> Convert to
|
charnik@211
|
313 Maven project. Eclipse will enable Maven dependency management for the
|
charnik@211
|
314 project, download any dependencies and build the project.
|
charnik@211
|
315
|
charnik@211
|
316
|
psmeros@993
|
317 Tester Guide
|
psmeros@993
|
318 ~~~~~~~~~~~~
|
psmeros@993
|
319 Assuming again that you are familiar with Maven and Junit these are the steps
|
psmeros@993
|
320 you need to follow to test the functionality of Strabon:
|
psmeros@993
|
321
|
psmeros@1031
|
322
|
psmeros@993
|
323 * Using Eclipse
|
psmeros@993
|
324
|
psmeros@993
|
325 If you want to create a new test:
|
psmeros@993
|
326
|
psmeros@993
|
327 1. Import Strabon into Eclipse as explained in the Developer Guide.
|
psmeros@1031
|
328 2. Go to strabon-testsuite project.
|
psmeros@1031
|
329 3. Create a new folder (Recommended folder name: <test's name>) and place inside the following files:
|
psmeros@1051
|
330 3.1. An ntriples or nquads file with the test dataset (with .nt or .nq extension).
|
psmeros@1051
|
331 3.2. Pairs of files with sparql test queries and expected test results in xml format.
|
psmeros@1051
|
332 Notice that each pair must have the same name and .rq extension for the queryFile and .srx extension for the resultsFile.
|
psmeros@1031
|
333 4. Create a test class that extends TemplateTest class.
|
psmeros@1079
|
334 5. If you have followed the recommendations the test is ready. If you have different names or location for your
|
psmeros@1079
|
335 files, insert them explicitly in the constructor of the class. WARNING: All prefixes must be placed in file "prefixes" so that
|
psmeros@1079
|
336 every time a namespace changes, we have to change it just once.
|
psmeros@1031
|
337
|
psmeros@1031
|
338 If you want to run a test:
|
psmeros@1031
|
339
|
psmeros@1031
|
340 1. Right-click on the test class.
|
psmeros@1031
|
341 2. Select "Run as JUnit Test".
|
psmeros@1031
|
342 3. Database properties are retrieved from database.properties file. If you want, you can change a property
|
psmeros@1051
|
343 "on the fly" with an environment variable.
|
psmeros@1031
|
344
|
psmeros@1031
|
345
|
psmeros@1031
|
346 * Command Line
|
psmeros@1031
|
347
|
psmeros@1031
|
348 If you want to run all the tests:
|
psmeros@1031
|
349
|
psmeros@1031
|
350 1. Go to Strabon directory (root directory of all the subprojects).
|
psmeros@1130
|
351 2. Run "mvn test -DskipTests=false".
|
psmeros@1031
|
352 3. Optionally you can pass an environment variable with "-DvariableName=variableValue".
|
psmeros@993
|
353
|
psmeros@993
|
354
|
psmeros@993
|
355 Storing stRDF graphs and evaluating stSPARQL queries
|
psmeros@993
|
356 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
charnik@211
|
357 You can see some examples in the classes
|
charnik@211
|
358 eu.earthobservatory.runtime.postgis.StoreOp and
|
charnik@211
|
359 eu.earthobservatory.runtime.postgis.QueryOp.
|
charnik@211
|
360
|
charnik@211
|
361
|
charnik@211
|
362 Download
|
charnik@211
|
363 ========
|
charnik@211
|
364 You can download the source code of the latest version of Strabon by accessing
|
charnik@211
|
365 our public mercurial repository located at http://hg.strabon.di.uoa.gr/Strabon.
|
charnik@211
|
366 You can find more information on how to use and extend Strabon at the Getting
|
charnik@211
|
367 Started section.
|
charnik@211
|
368
|
charnik@211
|
369
|
charnik@211
|
370 Publications
|
charnik@211
|
371 ============
|
charnik@211
|
372 You can learn about stRDF data model and stSPARQL query language employed in
|
charnik@211
|
373 Strabon by reading our tutorial under the Getting Started section and/or the
|
charnik@211
|
374 publications given on this page.
|
charnik@211
|
375
|
charnik@211
|
376 The current versions of stRDF and stSPARQL which are based on OGC standards are
|
Konstantina@1121
|
377 presented in the following documents:
|
charnik@554
|
378 * K. Kyzirakos, M. Karpathiotakis, and M. Koubarakis. Strabon: A Semantic
|
charnik@554
|
379 Geospatial DBMS. In Internatioanl Semantic Web Conference (ISWC'12). Boston,
|
charnik@554
|
380 USA, November 11-15, 2012.
|
charnik@554
|
381 [pdf: http://strabon.di.uoa.gr/files/strabon-iswc.pdf]
|
charnik@554
|
382
|
charnik@211
|
383 * Manolis Koubarakis, Kostis Kyzirakos, Babis Nikolaou, Michael Sioutis, and
|
charnik@211
|
384 Stavros Vassos. A data model and query language for an extension of RDF with
|
charnik@211
|
385 time and space. Deliverable D2.1, European ICT project TELEIOS, 2011.
|
charnik@211
|
386 [pdf: http://strabon.di.uoa.gr/files/deliv2-1-re-revised.pdf]
|
Konstantina@1121
|
387
|
Konstantina@1121
|
388 The temporal features of stRDF and stSPARQL are presented in the following
|
Konstantina@1121
|
389 document:
|
Konstantina@1121
|
390 * K. Bereta, P. Smeros and M. Koubarakis. Representing and Querying the
|
Konstantina@1121
|
391 Valid Time of Triples for Linked Geospatial Data. In the 10th Extended
|
Konstantina@1121
|
392 Semantic Web Conference (ESWC 2013). Montpellier, France. May 26-30, 2013.
|
Konstantina@1121
|
393 [pdf: http://www.strabon.di.uoa.gr/files/eswc2013.pdf]
|
charnik@211
|
394
|
charnik@211
|
395 The initial versions of stRDF and stSPARQL that are based on constraint
|
charnik@211
|
396 databases are presented in the following publications:
|
charnik@211
|
397 * Manolis Koubarakis and Kostis Kyzirakos. Modeling and Querying Metadata in
|
charnik@211
|
398 the Semantic Sensor Web: the Model stRDF and the Query Language stSPARQL.
|
charnik@211
|
399 In 7th Extended Semantic Web Conference (ESWC 2010). Heraklion, Crete,
|
charnik@211
|
400 30 May - 03 June, 2010.
|
charnik@211
|
401 [pdf: http://strabon.di.uoa.gr/files/stSPARQL.pdf]
|
charnik@211
|
402
|
charnik@211
|
403 * Kostis Kyzirakos, Manos Karpathiotakis and Manolis Koubarakis. Developing
|
charnik@211
|
404 Registries for the Semantic Sensor Web using stRDF and stSPARQL (short
|
charnik@211
|
405 paper).
|
charnik@211
|
406 In Proceedings of 3rd International workshop on Semantic Sensor Networks
|
charnik@211
|
407 2010, in conjunction with ISWC 2010, November 2010, Shanghai, China.
|
charnik@211
|
408 [pdf: http://strabon.di.uoa.gr/files/strabon.pdf]
|
charnik@211
|
409
|
charnik@211
|
410 Applications of stRDF, stSPARQL, and the system Strabon are described here:
|
charnik@211
|
411 * Alasdair J. G. Gray, Raúl García-Castro, Kostis Kyzirakos, Manos
|
charnik@211
|
412 Karpathiotakis, Jean-Paul Calbimonte, Kevin Page, Jason Sadler, Alex
|
charnik@211
|
413 Frazer, Ixent Galpin, Alvaro A. A. Fernandes, Norman W. Paton, Oscar
|
charnik@211
|
414 Corcho, Manolis Koubarakis, David De Roure, Kirk Martinez and Asunción
|
charnik@211
|
415 Gómez-Pérez. A Semantically Enabled Service Architecture for Mashups over
|
charnik@211
|
416 Streaming and Stored Data. In 8th Extended Semantic Web Conference (ESWC
|
charnik@211
|
417 2011). Heraklion, Crete, May 20 - June 2, 2011.
|
charnik@211
|
418 [pdf: http://strabon.di.uoa.gr/files/Gray2011Architecture.pdf]
|
charnik@211
|
419
|
charnik@211
|
420 * A.J.G. Gray, J. Sadler, O. Kit, K. Kyzirakos, M. Karpathiotakis, J.-P.
|
charnik@211
|
421 Calbimonte, K. Page, R. García-Castro, A. Frazer, I. Galpin, A.A.A.
|
charnik@211
|
422 Fernandes, N.W. Paton, O. Corcho, M. Koubarakis, D.D. Roure, K. Martinez,
|
charnik@211
|
423 A. Gómez-Pérez. A Semantic Sensor Web for Environmental Decision Support
|
charnik@211
|
424 Applications. Sensors. 11, 8855-8887.
|
charnik@211
|
425 [pdf: http://strabon.di.uoa.gr/files/sensors-11-08855.pdf]
|
charnik@211
|
426
|
charnik@211
|
427 Coming up soon:
|
charnik@211
|
428 Strabon will soon support an extension of RDF for incomplete geospatial
|
charnik@211
|
429 information. The following publication gives a preview of the relevant research
|
charnik@211
|
430 problems:
|
charnik@211
|
431 * M. Koubarakis, K. Kyzirakos, M. Karpathiotakis, C. Nikolaou, M. Sioutis,
|
charnik@211
|
432 S. Vassos, D. Michail, T. Herekakis, C. Kontoes and I. Papoutsis. Challenges
|
charnik@211
|
433 for Qualitative Spatial Reasoning in Linked Geospatial Data. In Proceedings
|
charnik@211
|
434 of IJCAI 2011 Workshop on Benchmarks and Applications of Spatial Reasoning,
|
charnik@211
|
435 Barcelona, Spain.
|
charnik@212
|
436 [pdf: http://www.earthobservatory.eu/publications/SciQL_ADASS2011.pdf]
|
charnik@211
|
437
|
charnik@812
|
438 * C. Nikolaou and M. Koubarakis: "Querying Linked Geospatial Data with
|
charnik@812
|
439 Incomplete Information". In 5th International Terra Cognita Workshop -
|
charnik@812
|
440 Foundations, Technologies and Applications of the Geospatial Web. In
|
charnik@812
|
441 conjunction with the 11th International Semantic Web Conference, Boston,
|
charnik@812
|
442 USA, November, 2012.
|
charnik@812
|
443 [http://www.earthobservatory.eu/publications/iswc-workshop.pdf]
|
charnik@812
|
444
|
charnik@211
|
445
|
charnik@211
|
446 Contributors
|
charnik@211
|
447 ============
|
charnik@211
|
448 The system Strabon has been developed by the following members of our team:
|
charnik@211
|
449
|
charnik@211
|
450 * Manos Karpathiotakis <mk@di.uoa.gr>
|
kostis@1319
|
451 * Kostis Kyzirakos <Kostis.Kyzirakos@cwi.nl>
|
charnik@211
|
452 * Manolis Koubarakis <koubarak@di.uoa.gr>
|
charnik@211
|
453 * Giorgos Garbis <ggarbis@di.uoa.gr>
|
charnik@211
|
454 * Konstantina Bereta <konstantina.bereta@di.uoa.gr>
|
kkyzir@639
|
455 * Charalampos Nikolaou <charnik@di.uoa.gr>
|
kkyzir@639
|
456 * Stella Gianakopoulou <sgian@di.uoa.gr>
|
psmeros@1322
|
457 * Panayiotis Smeros <psmeros@di.uoa.gr>
|
kallirroi@902
|
458 * Kallirroi Dogani <kallirroi@di.uoa.gr>
|
charnik@211
|
459
|
charnik@211
|
460
|
charnik@211
|
461 Mailing-list
|
charnik@211
|
462 ============
|
kkyzir@954
|
463 Currently, we maintain the following mailing lists:
|
kkyzir@954
|
464
|
kkyzir@954
|
465 * Strabon-users, is used as a communication channel for Strabon users.
|
kkyzir@954
|
466 To subscribe to the mailing-list, please visit page
|
kkyzir@954
|
467 http://cgi.di.uoa.gr/~mailman/listinfo/strabon-users. To post e-mails
|
kkyzir@954
|
468 to Strabon-users mailing-list, write to strabon-users@di.uoa.gr.
|
kkyzir@954
|
469
|
kkyzir@954
|
470 * Strabon-devel, is used as a communication channel with the developers
|
kkyzir@954
|
471 of Strabon. To subscribe to the mailing-list, please visit page
|
kkyzir@954
|
472 http://cgi.di.uoa.gr/~mailman/listinfo/strabon-devel. To post e-mails
|
kkyzir@954
|
473 to Strabon-devel mailing-list, write to strabon-devel@di.uoa.gr.
|
charnik@211
|
474
|
charnik@211
|
475
|
charnik@211
|
476 Bugs
|
charnik@211
|
477 ====
|
charnik@211
|
478 Please report bugs to http://bug.strabon.di.uoa.gr/report or
|
charnik@211
|
479 the Strabon-devel mailing-list Strabon-devel@di.uoa.gr.
|
charnik@212
|
480
|
charnik@212
|
481
|
sgian@627
|
482 Known Issues
|
sgian@627
|
483 ============
|
kostis@1320
|
484 * Strabon depends on a version of Sesame OpenRDF that is not hosted at the central
|
kostis@1320
|
485 repository of Maven. These artifacts resided on the Maven repository of Aduna
|
kostis@1320
|
486 which is not maintained any more. For this reason, you can use a mirror repository
|
kostis@1320
|
487 hosted by Ontotext. To configure maven to use the Ontotext mirror for the Aduna
|
kostis@1320
|
488 repository, you append to your settings file ${user.home}/.m2/settings.xml) the
|
kostis@1320
|
489 following:
|
kostis@1320
|
490
|
kostis@1320
|
491 <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
|
kostis@1320
|
492 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
kostis@1320
|
493 xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
|
kostis@1320
|
494 http://maven.apache.org/xsd/settings-1.0.0.xsd">
|
kostis@1320
|
495 ...
|
kostis@1320
|
496 ...
|
kostis@1320
|
497 <mirrors>
|
kostis@1320
|
498 <mirror>
|
kostis@1320
|
499 <id>aduna-mirror</id>
|
kostis@1320
|
500 <name>Aduna Maven Repository - Mirror</name>
|
kostis@1320
|
501 <url>http://maven.ontotext.com/content/repositories/aduna/</url>
|
kostis@1320
|
502 <mirrorOf>aduna-opensource.releases</mirrorOf>
|
kostis@1320
|
503 </mirror>
|
kostis@1320
|
504 </mirrors>
|
kostis@1320
|
505 ...
|
kostis@1320
|
506 ...
|
kostis@1320
|
507 </settings>
|
kostis@1320
|
508
|
charnik@846
|
509 * By default, Tomcat uses ISO-8859-1 character encoding when decoding URLs received
|
charnik@846
|
510 from a browser. This can cause problems when encoding is UTF-8, and you are using
|
charnik@846
|
511 international characters. In order to fix this, edit conf/server.xml and find the
|
charnik@846
|
512 line where the Connector is defined. Add the parameter URIEncoding and set it to
|
charnik@846
|
513 UTF-8. For example:
|
sgian@627
|
514
|
charnik@846
|
515 <Connector port="8080" protocol="HTTP/1.1"
|
charnik@846
|
516 connectionTimeout="20000"
|
charnik@846
|
517 URIEncoding="UTF-8"
|
charnik@846
|
518 redirectPort="8443" />
|
charnik@846
|
519
|
charnik@846
|
520 * Building and executing any maven goals fails for maven versions <3.0 due to a
|
charnik@846
|
521 dependency to the `shade' plugin that is available only for maven version 3.0
|
charnik@846
|
522 (http://maven.apache.org/plugins/maven-shade-plugin/). In such systems, you may
|
charnik@846
|
523 disable execution of this plugin by setting the environmental variable
|
charnik@846
|
524 `shade.skip'. For example, to build Strabon using maven version 2.0 you may
|
charnik@846
|
525 execute the following command:
|
charnik@846
|
526
|
charnik@846
|
527 $ mvn clean package -Dshade.skip
|
sgian@627
|
528
|
sgian@967
|
529 * When using MonetDB as a backend, the following source code of MonetDB must be
|
sgian@967
|
530 used:
|
sgian@967
|
531 https://hg.strabon.di.uoa.gr/MonetDB/
|
sgian@967
|
532
|
sgian@627
|
533
|
charnik@212
|
534 License
|
charnik@212
|
535 =======
|
charnik@553
|
536 This Source Code Form is subject to the terms of the Mozilla Public
|
charnik@553
|
537 License, v. 2.0. If a copy of the MPL was not distributed with this
|
charnik@553
|
538 file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
charnik@553
|
539
|
Konstantina@1121
|
540 Copyright (C) 2010, 2011, 2012, 2013 Pyravlos Team
|
charnik@553
|
541
|
charnik@553
|
542 http://www.strabon.di.uoa.gr/
|
charnik@553
|
543
|
charnik@553
|
544
|
charnik@553
|
545 How to apply the license
|
charnik@553
|
546 ========================
|
charnik@866
|
547 * In the beginning of script files (after the shell directive) paste the
|
charnik@866
|
548 following statement:
|
charnik@553
|
549 #
|
charnik@553
|
550 # This Source Code Form is subject to the terms of the Mozilla Public
|
charnik@553
|
551 # License, v. 2.0. If a copy of the MPL was not distributed with this
|
charnik@553
|
552 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
charnik@553
|
553 #
|
Konstantina@1121
|
554 # Copyright (C) 2010, 2011, 2012, 2013 Pyravlos Team
|
charnik@553
|
555 #
|
charnik@553
|
556 # http://www.strabon.di.uoa.gr/
|
charnik@553
|
557 #
|
charnik@553
|
558
|
charnik@866
|
559 * In the beginning of Java source code files paste the following statement:
|
charnik@553
|
560 /**
|
charnik@553
|
561 * This Source Code Form is subject to the terms of the Mozilla Public
|
charnik@553
|
562 * License, v. 2.0. If a copy of the MPL was not distributed with this
|
charnik@553
|
563 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
charnik@553
|
564 *
|
Konstantina@1121
|
565 * Copyright (C) 2010, 2011, 2012, 2013 Pyravlos Team
|
charnik@553
|
566 *
|
charnik@553
|
567 * http://www.strabon.di.uoa.gr/
|
charnik@553
|
568 */
|
charnik@553
|
569
|
charnik@866
|
570 * In the beginning of HTML/XML files paste the following statement:
|
charnik@553
|
571 <!-- This Source Code Form is subject to the terms of the Mozilla Public
|
charnik@553
|
572 - License, v. 2.0. If a copy of the MPL was not distributed with this
|
charnik@553
|
573 - file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
charnik@553
|
574 -
|
Konstantina@1121
|
575 - Copyright (C) 2010, 2011, 2012, 2013 Pyravlos Team
|
charnik@553
|
576 -
|
charnik@553
|
577 - http://www.strabon.di.uoa.gr/
|
charnik@553
|
578 -->
|