view ChangeLog @ 1453:2fac60132bc8

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