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