Chimera v2.0
This release marks the F-Rel for the SPRINT project.
The list of features implemented for the FREL release are:
- Configure a Converter by simply defining a Camel XML Context specifying the various blocks in the pipeline and their properties (cf.
chimera-example
) - High configurability of pipelines to satisfy different data integration requirements with existing data sources and sinks thanks to already available Apache Camel components
- Local knowledge graph (in-memory, filesystem), or a remote graph stored in a triplestore or accessible through a SPARQL endpoint, can be used as the RDF Graph supporting the conversion pipeline
- Enable persistence/access to an already existing knowledge graph;
- Possibility of targeting a specific Named Graph;
- Enable optimized storing of triples/query execution using an external Triplestore/SPARQL endpoint.
- RMLProcessor: a lifting block based on the RMLMapper library for triples generation given RML mappings.
- Execution of RML mappings (also supporting functions using RML+FnO)
- Execute RML mappings accessing InputStream(s) as logical sources
- Possibility of enabling different strategies for a concurrent lifting procedure
- Optimized JSON and XML files processing
- Support to retrieve from an external/service resource the RML mappings to be executed
- Data Enricher:
- a data enricher block to load a set of RDF sources in the graph.
- A construct query enricher block to execute a SPARQL CONSTRUCT query on the RDF graph adding the obtained triples to the original graph.
- Inference Enricher: an inference enricher block loading a set of ontologies in the graph and enabling RDFS inference to enrich the graph.
- TemplateProcessor: a lowering block based on Apache Velocity to implement a template-based solution to format output document.
- Evaluation of arbitrary templates exploiting SPARQL queries and the Velocity Template Logic to execute the lowering of a knowledge graph to a specific format
- Different evaluation methods: (i) template evaluation output can be written incrementally to file to save memory during the procedure, or (ii) template can be evaluated reading/producing from an InputStream to optimize the execution time avoiding input/output operations
- Execution of parametric templates to be evaluated once for each resulting row of a given SPARQL query
- Support to retrieve from an external/service resource the Velocity templates to be executed
- ST4RTLiftingProcessor and ST4RTLoweringProcessor: a optimized lifting/lowering block based on the annotations-based method developed in the ST4RT project (not available in this repository)
- Optimization of java object processing
- Concurrency in annotated elements processing
- Keeping correct sequence of execution
- Dump: possibility of returning or exporting to file a serialization of the knowledge graph generated/accessed during the pipeline
- Different deployment artifacts available to run a Converter: executable jar, container, docker-compose, docker-compose service, Kubernetes service (cf.
chimera-example
)