All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
2.5.0 - 2023-06-02
- Support for relational databases using JDBC.
- Parameter
parallelism
setting the maximum number of parallel operations. - Script
change-version.sh
to update the version of RMLStreamer in required files.
- Updated Function Agent to v1.1.0
- Updated GREL Functions to v0.9.1
- Updated IDLab Functions to v0.2.0
- Use
<maven.compiler.release>
property inpom.xml
to set Java version to 11. - Allow a relative path (to the working dir) as output directory when writing to file.
- Fixed bug in extracting namespaces from XML element (internal issue #161)
2.4.2 - 2022-10-10
- The stand-alone docker image was based on a x86 architecture only. Now others are supported as well.
- Updated Function Agent to v0.2.1
2.4.1 - 2022-10-03
- Possibility to run stand-alone, with Flink embedded.
- Updated Flink from version 1.14.4 to 1.14.5
- Updated Docker example
- Passing omitting optional parameter
function-descriptions
resulted in program crash. - Functions used on other levels than Predicate Map or Object Map caused RMLStreamer to crash
- Functions returning
null
no longer cause RMLStreamer logging an error message. - Multiple values for same function argument (array) were not passed correctly to function
2.4.0 - 2022-05-30
- Use of external FnO function handling component
- Use
docker cp
for copying files between Docker containers. - Updated Flink from verion 1.14.0 to 1.14.4
- Parameter for FnO docs (internal issue #150)
2.3.0 - 2022-04-26
- Data stream joins using dynamic windowing
2.2.2 - 2021-12-21
- Updated Log4J from version 2.16.0 to 2.17.0 due to CVE-2021-45105.
2.2.1 - 2021-12-16
- Updated Log4J from version 2.15.0 to 2.16.0 due to CVE-2021-45046.
2.2.0 - 2021-12-14
- Logical target compression for files: gzip, zip, xz.
- WebSocket support for Logical Source via WoT description.
- Added scopt dependency
- Updated Flink from version 1.12.3 to 1.14.0
- Updated SLF4J from version 1.7.26 to 1.7.32
- Updated Log4J from version 2.13.3 to 2.15.0
- Updated Jena from version 3.11.0 to 4.3.1
- Updated JayWay JsonPath from version 2.3.0 to 2.6.0
- Updated JsonSurfer Jackson from version 1.6.0 to 1.6.2
- Updated Moquette from version 0.13 to 0.15
- Objects generated by functions with term type IRI were quoted, resulting in a wrong IRI. (GitHub issue #33, internal issue #140)
- Updated Log4J to a version protected against Log4Shell (Internal issue #146).
2.1.1 - 2020-05-19
- Support for using Web of Things descriptions in logical soure and logical target, as described in Van Assche et al and Target in RML specification. The current imlementation is a proof-of-concept. As WoT data source RMLStreamer supports MQTT streams; as logical target a file dump is supported.
- Updated JsonSurfer from version 1.5.1 to 1.6.0
- Updated Flink from version 1.11.3 to 1.12.3
- Function loading didn't always work because the
toString
method was called on theUri
to a function instead of thevalue
method. (Internal issue #132).
2.1.0 - 2020-03-18
- Support for functions on a per-record basis using the Function Ontology.
- Web of Things source (MQTT)
- Updated Flink from version 1.10.0 to 1.11.3
- Updated Kafka from version 2.2.2 to 2.4.1 (more versions supported using the universal connector)
- Updated VTD-XML from version 2.11 to 2.13.4
- Drop support for Java 8, only Java 11 supported.
- TCP PUSH support disabled: this code relies on development version of Apache Bahir.
- Cyclic reference of parent triples maps leads to a stack overflow error (GitHub issue #19, Internal issue #108)
- In some cases not all triples maps were applied when joins (static-static and static-streams) are involved (fixed together with issue above).
- Writing to file when input streams are involved is now possible (See GitHub issue #8, internal issue #107).
- XML/XPath handling was erroneous (See GitHub issue #24, internal issue #124).
2.0.0 - 2020-06-08
- Improved parameter handling, using scopt. Not compatible with previous CLI.
- Parallelising over the (local) task slots per task manager is enabled by default.
- Checkpointing is disabled by default.
- Updated Flink from version 1.9.1 to 1.10.0
- Updated Kafka support from version 2.2.0 to 2.2.2
- Updated documentation
- Escape characters were not escaped in generated literals (Internal issue #81).
- Curly brackets were not escaped correctly (Internal issue #65).
1.2.3 - 2020-03-16
- Updated documentation
baseIRI
parameter inrun.sh
was not correctly passed to the RMLStreamer application.socket
parameter only allowed to set the port number, and output was assumed to go tolocalhost
. Now you have to sethost:port
as value.
1.2.2 - 2020-03-03
- Option to switch on optimal usage of the task slots assigned to a task manager/job, at the cost of losing strict output order.
- Refactoring of tests.
- Test results are compared with expected output by comparing on RDF level, not String comparison.
- Because generated output is parsed as Turtle during tests, tests generating N-Quads always fail.
- A
@base
directive in the mapping file was used asbase IRI
when generating RDF. This is wrong; now thebase IRI
can be set with the program argument--baseIRI
. - An URI with a scheme other than
http
(e.g.tel
) was not concidered correct.
1.2.1 - 2020-01-21
- Instructions on how to run on Docker.
- Bump Flink from version 1.9 to version 1.9.1.
- Bump Kafka support from verison 0.10 to any version supported by Flink's universal Kafka connector (1.0.0+).
- Revised and refactored tests. Now only one Flink / TCP server / Kafka instance will run during test suite.
- Bugfix: when having more than one triples map using the same XML source, things might go wrong.
- Kafka 0.10 not supported anymore.
1.2.0 - 2019-11-05
- Support for join between static and streaming data; the "parent" is the static data set, the "child" is the data stream.
- You can name the job (--job-name).
- JSON-LD as output format (--post-process json-ld).
- Option to output every triple coming from one message at once (--post-process bulk).
- Support for Kafka 0.10.
- Bump version of Flink from 1.8.0 to 1.9.
- Kafka 0.9 or earlier not supported anymore.
- Removed rmls:zookeeper statements from mappings since Kafka 0.10 and higher don't need it.
1.1.0 - 2019-05-03
- At-least-once delivery of triples.
- Bump Flink from version 1.7.2 to 1.8.0
1.0.0 - 2019-03-29
- Everything! (initial release)