view ChangeLog @ 1535:ce70b9286f2c

updated ChangeLog
author Konstantina Bereta <>
date Tue Mar 28 18:20:34 2017 +0300 (2017-03-28)
parents 6cc6a1963350
line source
1 * Fixed bug in the query rewritter that occurs when there is a
2 quad pattern and the third element is a constant that contains
3 spaces. Other bugs where also discovered and fixed in the way
4 (i.e., prefixes, non complete rules in regex).
5 (bug #83:
7 Query rewritter will be deprecated in future releases,
8 as any other use of regex as well. The new version will be
9 developed in lower level.
10 (Enhancement #84:
12 * Completed implementation of the period function, that constructs
13 a period with start and end points the given arguments
14 * Fixed a bug that would not return the correct spatial datatype of a
15 projected geometry literal stored in the database.
16 (bug #71:
18 * Now, geometries expressed in CRS84 and a `geo:wktLiteral' datatype
19 are assigned the correct CRS, i.e., EPSG:4326 with a longitude
20 latitude axis order.
22 * Now, we report a parse error when a constant geometry given in a
23 SELECT or HAVING clause is not well-formed according to the WKT
24 specification.
25 (bug #69:
27 * Function `geof:convexHull' is now supported in a Having clause.
29 * Fixed older implementation of `strdf:distance' that would expect two
30 arguments instead of three when present in a HAVING clause.
32 * Fixed a bug that would cause a class cast exception for grounded
33 expressions with function nesting in the SELECT or HAVING clause.
35 * Fixed a bug in which `postgis:ST_Centroid' did not work in the SELECT
36 clause with input geometries from the database.
38 * Fixed a bug that `geof:getSRID' would return an integer instead of a
39 the URI corrresponding to the CRS that the input geometry was
40 expressed.
41 (bug #32:
42 * Fixed a bug that would raise an exception for queries involving two
43 UNION graph patterns and a projection to a predicate or a URI in
44 general.
45 (bug #53:
47 Wed Sep 17 20:14:12 2014 Pyravlos Team
49 * Version 3.2.10 released.
51 * The test suite of Strabon has now reached a mature level. It
52 contains tests for both stSPARQL and GeoSPARQL query languages and
53 most of the compliance tests covered in the specification of
54 GeoSPARQL (well, only those tests for the components that we have
55 chosen to implement).
57 * The endpoint now parses Accept headers with multiple values and uses
58 the first mimetype corresponding to a valid stSPARQLQueryResultFormat.
59 (bug #64:
61 * The endpoint now registers a handler for SIGTERM signals, so that if
62 it is run from the command-line (endpoint-exec), then the closing of
63 the connection will be ultimately called.
64 (bug #40:
66 * Strabon goes debian v1. the endpoint-exec jar is now given in a .deb
67 format. By dpkg-ing it, one can run a stand alone strabon endpoint
68 locally.
69 (bug #45
71 * Fixed a bug in which Strabon hanged when a unary spatial construct
72 had a ternary spatial construct as argument.
73 (bug #45
75 * Fixed a bug according to which spatial functions in ORDER BY were not
76 evaluated at all.
77 (bug #62:
79 * Fixed a bug according to which spatial boolean functions appearing
80 in the SELECT clause were raising a NULL pointer exception.
81 (bug #34:
83 * Fixed a bug in queries that contain variables that exist inside
84 spatial functions in select and do not exist in the where clause
85 made Strabon throw a NULL pointer exception.
86 (bug #51
88 * Various changes in the interface and behavior of Strabon Endpoint:
89 - Revised the logos and the sample queries.
90 - Results query limit is set to zero (unlimited).
91 - Users can now store RDF data that is present in a file on the
92 client side (the file is uploaded to the server).
93 - Credentials are now required for uploading files or executing
94 UPDATE queries, unless Strabon Endpoint runs locally (localhost).
95 - When viewing the results of queries in HTML, any URI is now an
96 active link to itself. Previously, that URI was being DESCRIBEd
97 and one was being transferred to a page viewing the result of the
98 DESCRIBE query.
99 - The DESCRIBE functionality can now be accessed through the menu bar.
101 * Fixed a bug where strdf:intersection function did not work as an
102 aggregate when used without 'GROUP BY'.
103 (bug #46
106 Sat Oct 19 23:37:23 2013 Pyravlos Team
108 * Version 3.2.9 released.
110 * Added support for the following google chart types: PieChart,
111 AreaChart and ColumnChart to strabon endpoint.
113 * Added Timemap as new results format in Strabon endpoint. This
114 option displays results in a map and a timeline on the same time,
115 using the Timemap js library (
116 The KMLWriter has been extended for that purpose, by transforming
117 dateTime values that are included in the result set into the respective
118 TimeStamp KML primitive (
119 In the "temporals" branch, the values of the strdf:period datatype
120 are converted into the respective KML TimeSpan primitive.
122 * Added extension function <> which is
123 mapped to the ST_Centroid(geometry) extension function of PostGIS.
124 See also: <>.
126 * Added extension function <> which is
127 mapped to the ST_MakeLine(geometry, geometry) extension function of
128 PostGIS. See also: <>.
130 * Added PostGIS vocabulary class.
132 * Added support of all SPARQL result types provided by Sesame (json,
133 xml, csv, tsv, binary). To get the respective writer, just prepend the
134 string "SPARQL/", e.g., "SPARQL/JSON". This is to ensure that we
135 support all SPARQL result formats of the SPARQL Protocol.
137 * Fixed a bug where a non-implemented extension function would make
138 Strabon throw a NULL pointer exception. Now we get away with it
139 through a warning.
141 * Strabon endpoint now publishes the URIs of the supported units of
142 measure for use in strdf:distance and geof:distance functions of
143 stSPARQL and GeoSPARQL, respectively. The URIs are those defined by
144 OGC Units of Measure 1.0 specification which may be found at
145 Strabon endpoint publishes
146 the URIs at http://localhost:8080/endpoint/Capabilities.
148 * Created new module with name 'vocab` and artifactId
149 'strabon-vocabulary` and moved there. Other
150 vocabularies have been added as well, such as Simple Features, and
151 GeoSPARQL.
153 * Strabon endpoint now publishes the URIs of the supported extension
154 functions for stSPARQL and GeoSPARQL. One should access them by
155 hitting the link http://localhost:8080/endpoint/Capabilities.
157 * Support for parsing EPSG URIs in geometry literals with datatype
158 geo:wktLiteral.
159 (bug #33:
161 * Endpoint Client now supports querying of Virtuoso and Parliament endpoints.
163 * Endpoint Client now supports store and update operations, but only
164 for Strabon Endpoints.
166 *Modified the NQUADSTranslator so that the rewritten triples are
167 immediately flushed to the database once they are created.
169 *In the N-Quads format, the fourth element is *optional*. Made proper
170 modification to the storage manager to coply to the specification
171 described here: Now files in
172 NQUADS format can contain quads *or* triples in order to be stored
173 successfully in Strabon.
175 *Fixed bug that occurs when storing periods having "UC" as ending
176 point.
178 *Added an initial set of tests on temporal operations in the
179 testsuite module.
181 *Completed support for temporal updates
183 *Moved vocabulary related to the temporal features of Strabon to the
184 respective "vocabulary" project
186 *The evaluation of temporal joins in the database does not produce
187 cartesian products in the database
189 * GeoSPARQL functions sfCrosses, sfOverlaps, ehOverlaps do not use the
190 ST_Relate PostGIS function (bug #24:
192 * All Simple Features functions of GeoSPARQL do not use the ST_Relate
193 PostGIS function
195 * Added diffTime function. This function performs the difference
196 between two literals of xsd:time datatype and returns a literal of
197 the xsd:time datatype as well.
199 * Added a testsuite package in default branch. Full tester guide can be found
200 in README. Among other, most of GeoSPARQL compliance tests
201 (, pg. 53) have been
202 implemented.
204 * Changed the definition and implementation of strdf:distance function, by
205 adopting the definition of GeoSPARQL.
206 (bug #23:
208 * Changed the definition and implementation of strdf:buffer function, by
209 adopting the definition of GeoSPARQL.
210 (bug #35:
212 * Added geof:distance and geof:buffer functions, which have the same definition
213 with strdf:distance and strdf:buffer respectively.
214 (bug #32:
216 * Added a download button when performing describe and construct queries at the
217 endpoint.
218 (bug #38:
220 * Fixed a bug, where XMLWriter and TSVWriter did not return geometries with the
221 SRID.
222 (bug #47:
224 * Fixed a bug where the GeoSPARQL construct functions did not return the datatype
225 geo:wktLiteral datatype but strdf:WKT.
227 Tue Mar 26 13:28:26 2013 Pyravlos Team
229 * Version 3.2.8 released.
231 * Added support for handling (storing/querying) GeoSPARQL datatypes.
232 (bug #31:
234 * Fixed a bug in StoreOp that wouldn't close the connection, neither
235 rollback the transaction upon an exception. This had as a side effect
236 the abnormal termination of StoreOp (through for example the use of
237 Ctrl-C signal) which was leaving the database locked.
239 * Fixed bug where spatial aggregates (e.g., union) didn't work as
240 expected when the query didn't contain a `GROUP BY' clause.
241 (bug #22:
243 * Updated GeoSPARQL namespaces and fixed function names to comply with
244 the GeoSPARQL specification.
245 (bug #25:
247 *Added preliminary tests on temporal functions in the respective
248 "test" package of the runtime module.
250 *Added option to strabon and endpoint scripts to support storing
251 files in NQUADS format.
253 *When a large file in NQUADS format is going to be stored, it is
254 partitioned and stored in parts. This happens because the translation
255 of quads to triples is a memory intensive job, so, translating and
256 storing the file in batches increases performance.
259 Wed Jan 09 18:06:41 2013 Pyravlos Team
261 * Version 3.2.7 released.
263 * Add an extension function
264 <> for computing the
265 span (in milliseconds) between two timestamps.
267 * Added an <endpoint-exec> module. This module builds an executable jar file
268 with an embedded Apache Tomcat 7. To create and run the executable jar just
269 type:
270 $ mvn clean package
271 $ java -jar endpoint-exec/target/strabon-endpoint-executable-*.jar
273 * Modified strabon script and postgis/monetdb.StoreOP class to get an
274 option for storing a RDF file in a named graph. Moreover, the RDF
275 format of the input RDF file now is given as an option (still, if it
276 is missing, it is assumed that the input is in N-TRIPLES format). The
277 option for the format is -f and the option for the named graph is -g
278 (takes a URI as an argument).
280 * Modified the names of the stSPARQL extension functions that
281 utilize the minimum bounding boxes of the involved geometries.
283 *Fixed bug in the evaluation of temporal constructs.
285 *Fixed a major bug that occured when a temporal variable that also took part
286 in a temporal join was projected.
288 *Renamed temporal extension functions to comply with the respective
289 functions of Allen's temporal relations.
291 *Modified the implementation of the temporal relation functions
292 "meets", "starts", "finishes", to comply with the semantics of the
293 respective functions of Allen. These functions are not supported by
294 PostgreSQL Temporal, so, in order to be evaluated in the database
295 level, we implemented them as PostgreSQL extension functions.
296 ATTENTION: In order to use these functions, the respective sql script
297 that includes them should be loaded to the the temporally (and spa-
298 tially) enabled database.
301 Tue Dec 11 19:33:45 2012 Pyravlos Team
303 * Version 3.2.6 released.
305 * Modified the names of the stSPARQL extension functions to comply
306 with the OGC Simple Features Access standard.
308 Tue Dec 11 00:11:43 2012 Pyravlos Team
310 * Version 3.2.5 released.
312 * Added support for storing and querying temporal information.
313 This functionality may be found in the `temporals' branch.
315 *The datatypes <> and
316 <> are used to
317 represent periods and instants respectively.
319 *The valid time time of triples is represented using quadtruples,
320 with the valid time annotation(instant or period) being the
321 fourth element of the quad. Into this direction:
322 *Strabon has been extended to support the NQUADS format. The
323 respective Sesame packages (of version 2.6.9) that support
324 this format are used.
326 *NQuadTranslator class has been created. This class uses the
327 NQUADS parser which is available here:
328 The initial version of this parser did not include support
329 for literals as the fourth element of the quad. We exteded
330 it to support the valid time representations described above.
332 *The NQUADSTranslator translates quads into triples using the
333 named graph approach, similar to the one proposed by Tappolet
334 et al. and described in
336 *The rdbms level of Strabon has been extended to (i) support
337 tha period datatype (ii) store the period values in the table
338 period_values(id, period). The period column is of the period
339 datatype, offered by the PostgreSQL Temporal extension (
340 Also, a GiST index is created on this column.
342 *A rewriting mechanism that converts quad graph patterns into
343 triple partners using the named graphs approach has been
344 implemented as a method of the runtime.generaldb.Strabon
345 class.
347 *A big part of the temporal functions of stSPARQL has been
348 imlemented. These functions include:
349 *The temporal relation functions during, periodOverlaps,
350 equalsPeriod, nequalsPeriod, adjacent, before, after,
351 overleft, overright, meets, starts, finishes.
353 *The period constructors period_intersect, period_union,
354 preceding_period, and succeeding_period. The last two
355 constructors are implemented using the jtemporal library.
356 The other functions are implemented in the database,
357 being mapped into the respective functions of PostgreSQL
358 Temporal. A complete reference of PostgreSQL Temporal
359 can be found here:
361 *The temporal constants "NOW" and "UC" (Until Changed)
362 are supported.
364 *The vocabulary of the valid time dimension of stSPARQL can
365 be found at the TemporalConstants class of the evaluation
366 module.
368 * Changed behaviour of Strabon and Strabon Endpoint for connecting to
369 a spatially-enabled database. Only one instance of Strabon is allowed
370 at a time.
372 * Implemented a Java client for Strabon Endpoint. The client should be
373 used only with endpoint versions >=3.2.5. The implementation may be
374 found int the `endpoint-client' submodule of maven. Currently, only
375 querying of Strabon Endpoints is supported.
377 * Added support for requesting the capabilities of Strabon Endpoint
378 (fixes Bug #20 <>). See
379 changesets f840796400bf and ?<TBC>? for specific details and how you
380 can determine the capabilities of older endpoints (versions <= 3.2.4).
382 * Updated KML writer to include the projected variables of an stSPARQL
383 query in "ExtendedData" and "Data" tags. This is the proper way to
384 do it if we need to convert a KML to a ESRI shapefile and also include
385 such information as attributes for a feature. See related pages from
386 KML specification:
387 <>
388 <>
390 * Added user authentication for storing RDF data through Strabon
391 Endpoint. The credentials are specified in
392 WEB-INF/ file.
394 * Strabon Endpoints now limits the number of the results to a maximum
395 one. The maximum number is specified in the beans.xml file. This
396 corresponds to parameter "maxLimit". The endpoint script has also been
397 updated correspondingly; the limit can be given using the option "-l".
398 One can disable limiting of query results, by setting the "maxLimit"
399 parameter to 0. Addresses Bug #6
400 (<>).
402 * Added "Known Issues" section to README.
404 * Added -m (more memory) and -M (much more memory) options in strabon
405 script for out-of-memory exceptions.
407 * Fixed Bug #10 (<>). Now
408 KMLWriter handles more geometric types (other than polygons). See
409 changeset 9a3bfee64a39.
411 * Menu and navigation in Strabon Endpoint has changed to use jquery.
412 The menu is now populated using the queries placed inside the beans.xml.
414 * Added BrowseBean and browse.jsp for browsing the RDF data using the
415 Strabon Endpoint.