https://github.com/inseefr/trevas
Transformation engine and validator for statistics.
https://github.com/inseefr/trevas
transverse-component
Last synced: 4 months ago
JSON representation
Transformation engine and validator for statistics.
- Host: GitHub
- URL: https://github.com/inseefr/trevas
- Owner: InseeFr
- License: mit
- Created: 2020-05-26T12:43:11.000Z (about 6 years ago)
- Default Branch: develop
- Last Pushed: 2024-05-22T08:31:18.000Z (about 2 years ago)
- Last Synced: 2024-05-23T07:35:52.859Z (about 2 years ago)
- Topics: transverse-component
- Language: Java
- Homepage:
- Size: 25.2 MB
- Stars: 9
- Watchers: 7
- Forks: 4
- Open Issues: 39
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Trevas
Transformation engine and validator for statistics.
[](https://github.com/InseeFr/Trevas/actions/workflows/ci.yml)
[](https://sonarcloud.io/dashboard?id=InseeFr_Trevas)
[](https://sonarcloud.io/dashboard?id=InseeFr_Trevas)
[](
https://central.sonatype.com/artifact/fr.insee.trevas/trevas-parent)
[](https://javadoc.io/doc/fr.insee.trevas)
[](https://opensource.org/licenses/MIT)
[](http://www.awesomeofficialstatistics.org)
Trevas is a Java engine for the Validation and Transformation Language (VTL),
an [SDMX standard](https://sdmx.org/?page_id=5096) that allows the formal definition of algorithms to validate
statistical data and calculate derived data. VTL is user oriented and provides a technology-neutral and standard view of
statistical processes at the business level. Trevas supports the latest VTL version (v2.1, July 2024).
For actual execution, VTL expressions need to be translated to the target runtime environment. Trevas provides this step
for the Java platform, by using the VTL formal grammar and the [Antlr](https://www.antlr.org/) tool. For a given
execution, Trevas receives the VTL expression and the data bindings that associate variable names in the expression to
actual data sets. The execution results can then be retrieved from the bindings for further treatments.
Trevas provides an abstract definition of a Java VTL engine, as well as two concrete implementations:
- an in-memory engine for relatively small data, for example at design time when developing and testing VTL expressions
on data samples
- an [Apache Spark](https://spark.apache.org/) engine for Big Data production environments
Other implementations can be easily developed for different contexts.
## Documentation
The documentation can be found in the [docs](https://github.com/InseeFr/Trevas/tree/master/docs) folder
and [browsed online](https://inseefr.github.io/Trevas).
If you want to contribute, see this [guide](docs/CONTRIBUTING.md).
## Requirements
Open JDK 17 + is required.
## References
Trevas is listed among the [SDMX](https://sdmx.org/?page_id=4500) tools.
Trevas is part of the [sdmx.io](https://www.sdmx.io/) ecosystem.
Trevas is referenced by [_Awesome official statistics
software_](https://github.com/SNStatComp/awesome-official-statistics-software).