Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge of features and code refactoring developed as part of OBDF experiments #1

Open
wants to merge 28 commits into
base: develop
Choose a base branch
from

Conversation

fracorco
Copy link

@fracorco fracorco commented Dec 6, 2024

This PR covers additional features and substantial code cleanup/refactoring carried out for the OBDF experiments.

New/improved features:

  • added QuerySelector abstraction to instantiate query templates, keeping previous SQL-based implementation and adding new CSV-based one
  • added plugin mechanism (for Mixer and QuerySelector interfaces) with runtime retrieval of available plugins and their options/metadata
  • extended logging: import of statistics from external files, input/output hashes in generated mixer.json statistics; refactoring of statistics code
  • building of executable fat jar via shade + really-executable-jar-maven-plugin (vs assembly plugin), with updated build.sh script
  • support for conditionally retrying queries (based on regex matching of error message, up to a number of times and with wait time between retries)
  • support for waiting a configurable time between successive queries
  • support for ending warm up based on a configurable timeout
  • added Dockerfile

Code cleanup/refactoring:

  • consolidation of code into fewer modules; removed mixer-distribution, mixer-utils, mixer-db-connection
  • consolidation of .gitignore files into a single repository-level one
  • optimization of Maven configuration, with parent-level dependencies/plugins/profiles management
  • reworked/improved timeout handling
  • refactoring and simplification of code for parsing options from command line arguments
  • specification of argument/return value nullability via JSpecify annotations
  • removed out-of-scope files from the repository (Eclipse and IntelliJ project files, OBDF configurations)
  • ensuring that response stream from SPARQL endpoint is fully consumed and closed, even in case of a timeout
  • documentation (readme, javadoc for core classes)

Updated project requirements:

  • Java 11+ (on the basis that Ontop also requires Java 11+).
  • Maven 3.6.3+

Discussion items:

  • whether (and where) to publishing the Docker image
  • whether to maintain support for embedding JDBC drivers
  • whether to increase obda-mixer version (proposal: 1.3)

fracorco added 28 commits June 12, 2023 11:23
… input/output hashes, proper 'mixer' plugin system
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants