Skip to content

Chimera v2.0

Compare
Choose a tag to compare
@marioscrock marioscrock released this 13 Nov 09:33
· 297 commits to master since this release

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)