Skip to content

v1.3.0

Latest

Choose a tag to compare

@github-actions github-actions released this 19 Oct 17:16

SPARQL Anything 1.3.0 brings the engine in line with the Façade-X specification (v0.1). It supports the new Façade-X namespaces, renames fx:root to fx:Root while keeping backward compatibility, and adds a test suite that keeps the implementation aligned with the spec.

New in this release: xml:lang support for XML, automatic delimiter detection for TSV, preservation of base on output, and JSON numbers that keep their lexical form (exponent values are now typed xsd:double). The CLI also gains a --help option.

Most of the work went into hardening, driven by acceptance testing of the release candidates. Highlights:

  • CLI: correct handling of multiple -v binding sets, proper non-zero exit codes on errors, acceptance of all documented RDF format names in -f, and -l <URL> now loads into the default graph.
  • Formats: .jsonld files are read correctly, JSON slicing works with slice.size > 1, .svgz is decompressed, and archive and HTTP options behave as documented.
  • Data model: containers from different data sources no longer share blank nodes.

Documentation grows with new guides on slicing, the --profile option, parametric queries, and contributing as a developer. Releases are also leaner on Maven Central from now on: release candidates go to the snapshots repository, and published artifacts carry only the required checksums.


As part of this release we had 46 issues closed.

Bugs

  • #663 Fix failing S3 integration test due to inaccessible MinIO image in CI
  • #675 [CLI] -o with multiple -v binding sets overwrites output (only first gets a suffix)
  • #677 [CLI] With multiple -v binding sets and no -o, only the first result is printed
  • #684 [v1.3.0-RC2] query option: NPE when the referenced query is not a classpath resource
  • #685 [v1.3.0-RC2] JSON slicing breaks with slice.size > 1 (parse errors, NPE, silent data loss)
  • #687 [v1.3.0-RC2] -v fails with NPE for JSON and XML result-set files
  • #688 [v1.3.0-RC2] CLI cannot read .jsonld files: the custom JSON language overrides JSON-LD
  • #689 [v1.3.0-RC2] archive-format option is ignored when the archive URL has an extension
  • #690 [v1.3.0-RC2] -f rejects documented RDF format names (TURTLE, NTRIPLES, NQUADS, JSONLD, JSONLD11)
  • #692 [v1.3.0-RC2] CLI exits with code 0 on syntax errors, unknown options and failed slices
  • #695 Java 21 Windows build fails since cd88d28
  • #696 [v1.3.0-RC2] RDF triplifier ignores content, command and read-from-std-in
  • #697 [v1.3.0-RC2] Containers of different data sources share blank nodes (archive.matches merges files under one root)
  • #698 [v1.3.0-RC2] HTTP options: .N suffixes not stripped, payload sent chunked, http.redirect false ignored
  • #699 [v1.3.0-RC2] .svgz files are not decompressed
  • #700 [v1.3.0-RC2] -l <URL>: remote RDF is loaded in a named graph, not the default graph

Documentations

  • #336 [Documentation] Add section on slicing
  • #579 [Documentation] add tutorial for parametric queries / Basil variables
  • #604 Add documentation on --profile option
  • #638 [doc] "working-with-graph-nodes" is a bad grouping
  • #645 [Documentation] Guide for developers
  • #668 [Documentation] Automatically translate #N references to GH links
  • !673 [Documentation] Add section on slicing (#336)
  • !674 [Documentation] Add documentation on --profile option (#604)
  • #678 [Documentation] Improve documentation workflow (remove redundant files...)
  • #693 [v1.3.0-RC2] Documentation inconsistencies found by the acceptance tests (1.3.0)

Features

  • #571 preserve base on output
  • #657 Automatically set delimiter for TSV
  • #659 Support new Facade-X namespaces from the specification
  • #667 [XML] Support for xml:lang

Improvements

  • #357 Review Lang mappings between JSON and JSONLD when the expected content is RDF
  • #606 Refactor fx:root into fx:Root
  • !653 Bump pymdown-extensions from 10.21.3 to 11.0.1 in /docs
  • #658 Keep current development aligned with FX specifications (v0.1) via tests
  • #662 [JSON] Keep the lexical form of numbers; type exponent numbers xsd:double
  • #664 SLF4J warning on tests
  • #665 Multiple XML comments in pom
  • #681 fx:root vs fx:Root backward compatibility in v1.3.0
  • #694 [v1.3.0-RC2] Add CLI option --help