- Notifications
You must be signed in to change notification settings - Fork 579
feat: change dataset's default serialize format to trig #3260
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
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
nicholascar approved these changes Oct 16, 2025
5 tasks
nicholascar added a commit that referenced this pull request Nov 12, 2025
* 7.1.3 prep (#3036) * 7.1.1 post release (#2953) * Fix Black formatting in ./admin/get_merged_prs.py (#2954) * build(deps-dev): bump ruff from 0.7.0 to 0.7.1 (#2955) Bumps [ruff](https://github.com/astral-sh/ruff) from 0.7.0 to 0.7.1. - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](astral-sh/ruff@0.7.0...0.7.1) --- updated-dependencies: - dependency-name: ruff dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Ashley Sommer <ashleysommer@gmail.com> * Fix defined namespace warnings (#2964) * Fix defined namespace warnings Current docs-generation tests are polluted by lots of warnings that occur when Sphinx tries to read various parts of DefinedNamespace. * Fix tests that no longer need incorrect exceptions handled. * fix black formatting in test file * Undo typing changes, so this works on current pre-3.9 branch * better handling for any/all double-underscore properties * Don't include __slots__ in dir(). * test: earl test passing * Annotate Serializer.serialize and descendants (#2970) This patch aligns the type signatures on `Serializer` subclasses, including renaming the arbitrary-keywords dictionary to always be `**kwargs`. This is in part to prepare for the possibility of adding `*args` as a positional-argument delimiter. References: * #1890 (comment) Signed-off-by: Alex Nelson <alexander.nelson@nist.gov> * build(deps): bump orjson from 3.10.10 to 3.10.11 (#2966) Bumps [orjson](https://github.com/ijl/orjson) from 3.10.10 to 3.10.11. - [Release notes](https://github.com/ijl/orjson/releases) - [Changelog](https://github.com/ijl/orjson/blob/master/CHANGELOG.md) - [Commits](ijl/orjson@3.10.10...3.10.11) --- updated-dependencies: - dependency-name: orjson dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps-dev): bump ruff from 0.7.1 to 0.7.2 (#2969) Bumps [ruff](https://github.com/astral-sh/ruff) from 0.7.1 to 0.7.2. - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](astral-sh/ruff@0.7.1...0.7.2) --- updated-dependencies: - dependency-name: ruff dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps-dev): bump ruff from 0.7.2 to 0.7.3 (#2979) Bumps [ruff](https://github.com/astral-sh/ruff) from 0.7.2 to 0.7.3. - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](astral-sh/ruff@0.7.2...0.7.3) --- updated-dependencies: - dependency-name: ruff dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps-dev): bump ruff from 0.7.3 to 0.8.0 (#2994) Bumps [ruff](https://github.com/astral-sh/ruff) from 0.7.3 to 0.8.0. - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](astral-sh/ruff@0.7.3...0.8.0) --- updated-dependencies: - dependency-name: ruff dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump orjson from 3.10.11 to 3.10.12 (#2991) Bumps [orjson](https://github.com/ijl/orjson) from 3.10.11 to 3.10.12. - [Release notes](https://github.com/ijl/orjson/releases) - [Changelog](https://github.com/ijl/orjson/blob/master/CHANGELOG.md) - [Commits](ijl/orjson@3.10.11...3.10.12) --- updated-dependencies: - dependency-name: orjson dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * added Node as an exported name from the root package location. Updated linting commands section in the developer section to use ruff check. (#2981) * build(deps-dev): bump wheel from 0.45.0 to 0.45.1 (#2992) Bumps [wheel](https://github.com/pypa/wheel) from 0.45.0 to 0.45.1. - [Release notes](https://github.com/pypa/wheel/releases) - [Changelog](https://github.com/pypa/wheel/blob/main/docs/news.rst) - [Commits](pypa/wheel@0.45.0...0.45.1) --- updated-dependencies: - dependency-name: wheel dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Nicholas Car <nick@kurrawong.net> * feat: sort longturtle blank nodes (#2997) * feat: sort longturtle blank nodes in the object position by their cbd string * fix: #2767 * build(deps-dev): bump pytest from 8.3.3 to 8.3.4 (#2999) Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.3.3 to 8.3.4. - [Release notes](https://github.com/pytest-dev/pytest/releases) - [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst) - [Commits](pytest-dev/pytest@8.3.3...8.3.4) --- updated-dependencies: - dependency-name: pytest dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps-dev): bump poetry from 1.8.4 to 1.8.5 (#3001) Bumps [poetry](https://github.com/python-poetry/poetry) from 1.8.4 to 1.8.5. - [Release notes](https://github.com/python-poetry/poetry/releases) - [Changelog](https://github.com/python-poetry/poetry/blob/1.8.5/CHANGELOG.md) - [Commits](python-poetry/poetry@1.8.4...1.8.5) --- updated-dependencies: - dependency-name: poetry dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps-dev): bump ruff from 0.8.0 to 0.8.2 (#3003) Bumps [ruff](https://github.com/astral-sh/ruff) from 0.8.0 to 0.8.2. - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](astral-sh/ruff@0.8.0...0.8.2) --- updated-dependencies: - dependency-name: ruff dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps-dev): bump ruff from 0.8.2 to 0.8.3 (#3010) Bumps [ruff](https://github.com/astral-sh/ruff) from 0.8.2 to 0.8.3. - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](astral-sh/ruff@0.8.2...0.8.3) --- updated-dependencies: - dependency-name: ruff dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump berkeleydb from 18.1.11 to 18.1.12 (#3009) Bumps [berkeleydb](https://www.jcea.es/programacion/pybsddb.htm) from 18.1.11 to 18.1.12. --- updated-dependencies: - dependency-name: berkeleydb dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> # Conflicts: # poetry.lock * build(deps): bump orjson from 3.10.12 to 3.10.13 (#3018) Bumps [orjson](https://github.com/ijl/orjson) from 3.10.12 to 3.10.13. - [Release notes](https://github.com/ijl/orjson/releases) - [Changelog](https://github.com/ijl/orjson/blob/master/CHANGELOG.md) - [Commits](ijl/orjson@3.10.12...3.10.13) --- updated-dependencies: - dependency-name: orjson dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps-dev): bump ruff from 0.8.4 to 0.8.6 (#3025) Bumps [ruff](https://github.com/astral-sh/ruff) from 0.8.4 to 0.8.6. - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](astral-sh/ruff@0.8.4...0.8.6) --- updated-dependencies: - dependency-name: ruff dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat: deterministic longturtle serialisation using RDF canonicalization + n-triples sort (#3008) * feat: use the RGDA1 canonicalization algorithm + lexical n-triples sort to produce deterministic longturtle serialisation * chore: normalise usage of format * chore: apply black * fix: double up of semicolons when subject is a blank node * fix: lint * jsonld: Do not merge nodes with different invalid URIs (#3011) When parsing JSON-LD with invalid URIs in the `@id`, the `generalized_rdf: True` option allows parsing these nodes as blank nodes instead of outright rejecting the document. However, all nodes with invalid URIs were mapped to the same blank node, resulting in incorrect data. For example, without this patch, the new test fails with: ``` AssertionError: Expected: @Prefix schema: <https://schema.org/> . <https://example.org/root-object> schema:author [ schema:familyName "Doe" ; schema:givenName "Jane" ; schema:name "Jane Doe" ], [ schema:familyName "Doe" ; schema:givenName "John" ; schema:name "John Doe" ] . Got: @Prefix schema: <https://schema.org/> . <https://example.org/root-object> schema:author <> . <> schema:familyName "Doe" ; schema:givenName "Jane", "John" ; schema:name "Jane Doe", "John Doe" . ``` * Fixed incorrect ASK behaviour for dataset with one element (#2989) * Pass base uri to serializer when writing to file. (#2977) Co-authored-by: Nicholas Car <nick@kurrawong.net> * Dataset documentation improvements (#3012) * example printout improvements * added BN graph creation * updated tests var names & added one subtest * typos & improved formatting * updated Graph & Dataset docco * typo fix * fix code-in-comment syntax * fix code-in-comment syntax 2 * fix code-in-comment syntax - ellipses * fix code-in-comment syntax - sort print loop output * blacked * ruff fixes * Poetry 2.0.0 pyproject.toml file * move to PEP621 (Poetry 2.0.0) pyproject.toml * require poetry 2.0.0 * require poetry 2.0.0 * add in requirement for poetry-plugin-export * change from --sync to sync command * further pyproject.toml format updates * add poetry plugin to requirements-poetry.in * fix pre-commit poetry version to 2.0.0 * remove testing artifact * update license to 2025 * add me to contributors * remove outdated --check arg * typo * test add back in precommit args * test remove precommit args * match ruff version to pre-commit autoupdate PR #3026; add back in --check * re-remove --check * add David to CONTRIBUTORS * ruff in pyproject.toml to match pre-commit * updates for David's comments * fix Dataset docc ReST formatting * remove ConjunctiveGraph example; add Dataset example; add JSON-LS serialization example * Add RDFLib Path to SHACL path utility and corresponding tests (#2990) * shacl path parser: Add additional test case * shacl utilities: Add new SHACL path building utility with corresponding tests --------- Co-authored-by: Nicholas Car <nick@kurrawong.net> # Conflicts: # rdflib/extras/shacl.py * fix: typing and import issues * fix: line length as int * fix: ruff version conflict * fix: berkeleydb pin to 18.1.10 for python 3.8 compatibility * 3a not 2a --------- Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Alex Nelson <alexander.nelson@nist.gov> Co-authored-by: Nicholas Car <nick@kurrawong.net> Co-authored-by: Ashley Sommer <ashleysommer@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alex Nelson <alexander.nelson@nist.gov> Co-authored-by: joecrowleygaia <142864129+joecrowleygaia@users.noreply.github.com> Co-authored-by: Val Lorentz <vlorentz@softwareheritage.org> Co-authored-by: jcbiddle <114963309+jcbiddle@users.noreply.github.com> Co-authored-by: Sander Van Dooren <sandervd@users.noreply.github.com> Co-authored-by: Nicholas Car <nick@kurrawong.ai> Co-authored-by: Matt Goldberg <59745812+mgberg@users.noreply.github.com> * 7.1.3-pre-release * small docco update (#3053) * 7.1.3-post-release; some updated release info for devs (#3054) * build(deps): bump orjson from 3.10.13 to 3.10.15 (#3055) Bumps [orjson](https://github.com/ijl/orjson) from 3.10.13 to 3.10.15. - [Release notes](https://github.com/ijl/orjson/releases) - [Changelog](https://github.com/ijl/orjson/blob/master/CHANGELOG.md) - [Commits](ijl/orjson@3.10.13...3.10.15) --- updated-dependencies: - dependency-name: orjson dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps-dev): bump ruff from 0.8.6 to 0.9.2 (#3047) Bumps [ruff](https://github.com/astral-sh/ruff) from 0.8.6 to 0.9.2. - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](astral-sh/ruff@0.8.6...0.9.2) --- updated-dependencies: - dependency-name: ruff dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump html5rdf from 1.2.0 to 1.2.1 in /docker/latest (#3045) Bumps [html5rdf](https://github.com/RDFLib/html5rdf) from 1.2.0 to 1.2.1. - [Release notes](https://github.com/RDFLib/html5rdf/releases) - [Changelog](https://github.com/RDFLib/html5rdf/blob/main/CHANGES.rst) - [Commits](https://github.com/RDFLib/html5rdf/commits/v1.2.1) --- updated-dependencies: - dependency-name: html5rdf dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump html5rdf from 1.2 to 1.2.1 (#3048) Bumps [html5rdf](https://github.com/RDFLib/html5rdf) from 1.2 to 1.2.1. - [Release notes](https://github.com/RDFLib/html5rdf/releases) - [Changelog](https://github.com/RDFLib/html5rdf/blob/main/CHANGES.rst) - [Commits](https://github.com/RDFLib/html5rdf/commits/v1.2.1) --- updated-dependencies: - dependency-name: html5rdf dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps-dev): bump wheel from 0.44.0 to 0.45.1 (#3051) Bumps [wheel](https://github.com/pypa/wheel) from 0.44.0 to 0.45.1. - [Release notes](https://github.com/pypa/wheel/releases) - [Changelog](https://github.com/pypa/wheel/blob/main/docs/news.rst) - [Commits](pypa/wheel@0.44.0...0.45.1) --- updated-dependencies: - dependency-name: wheel dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps-dev): bump ruff 0.9.2 - 0.9.6 + readthedocs conf (#3072) * build(deps-dev): bump ruff from 0.9.2 to 0.9.6 Bumps [ruff](https://github.com/astral-sh/ruff) from 0.9.2 to 0.9.6. - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](astral-sh/ruff@0.9.2...0.9.6) --- updated-dependencies: - dependency-name: ruff dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * add readthedocs sphynx.configuration --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Nicholas Car <nick@kurrawong.net> Co-authored-by: Nicholas Car <nick@kurrawong.ai> * build(deps): bump lxml from 5.3.0 to 5.3.1 (#3071) Bumps [lxml](https://github.com/lxml/lxml) from 5.3.0 to 5.3.1. - [Release notes](https://github.com/lxml/lxml/releases) - [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt) - [Commits](lxml/lxml@lxml-5.3.0...lxml-5.3.1) --- updated-dependencies: - dependency-name: lxml dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Nicholas Car <nick@kurrawong.net> * Cope with Namespace annotations in Python 3.14 (#3084) The __annotations__ member can be incomplete, use the get_annotations() helper from annotationlib (Python >= 3.14) or inspect (Python >= 3.10) if available. Related: #3083 Signed-off-by: Nils Philippsen <nils@tiptoe.de> Co-authored-by: Nicholas Car <nick@kurrawong.net> * build(deps): bump dorny/test-reporter from 1 to 2 (#3081) Bumps [dorny/test-reporter](https://github.com/dorny/test-reporter) from 1 to 2. - [Release notes](https://github.com/dorny/test-reporter/releases) - [Changelog](https://github.com/dorny/test-reporter/blob/main/CHANGELOG.md) - [Commits](dorny/test-reporter@v1...v2) --- updated-dependencies: - dependency-name: dorny/test-reporter dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps-dev): bump pytest from 8.3.4 to 8.3.5 (#3079) Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.3.4 to 8.3.5. - [Release notes](https://github.com/pytest-dev/pytest/releases) - [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst) - [Commits](pytest-dev/pytest@8.3.4...8.3.5) --- updated-dependencies: - dependency-name: pytest dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump library/python in /docker/unstable (#3067) Bumps library/python from 3.12.7-slim to 3.13.2-slim. --- updated-dependencies: - dependency-name: library/python dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Nicholas Car <nick@kurrawong.net> * build(deps): bump library/python in /docker/latest (#3066) Bumps library/python from 3.12.7-slim to 3.13.2-slim. --- updated-dependencies: - dependency-name: library/python dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Nicholas Car <nick@kurrawong.net> * remove old hacks against 2to3 (#3076) This reverts e2fb491 Co-authored-by: Nicholas Car <nick@kurrawong.net> * Downgrade log message about plugin without override argument to debug from warning (#3063) Original issue - #1880 was worked around by providing a fall back call without "override" in - #2018 As a result any user with such a store (in our case just <class 'rdflib.plugins.memory.IOMemory'>) is flooded with such warnings pointing to that issue #1880 and for all means and purposes AFAIK just need to ignore them since there is nothing user can do to address it. That raises the question on why is it a Warning at a user level and not some debug message for developers/troubleshooting etc? Hence I am lowering it to debug level to bring peace of mind to users of the library. Co-authored-by: Nicholas Car <nick@kurrawong.net> * [pre-commit.ci] pre-commit autoupdate (#3056) updates: - [github.com/astral-sh/ruff-pre-commit: v0.5.4 → v0.11.0](astral-sh/ruff-pre-commit@v0.5.4...v0.11.0) - [github.com/psf/black-pre-commit-mirror: 24.4.2 → 25.1.0](psf/black-pre-commit-mirror@24.4.2...25.1.0) - [github.com/python-poetry/poetry: 1.8.3 → 2.1.1](python-poetry/poetry@1.8.3...2.1.1) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Nicholas Car <nick@kurrawong.net> * Reduce warnings (#3085) * build(deps-dev): bump ruff from 0.9.2 to 0.9.6 Bumps [ruff](https://github.com/astral-sh/ruff) from 0.9.2 to 0.9.6. - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](astral-sh/ruff@0.9.2...0.9.6) --- updated-dependencies: - dependency-name: ruff dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * add readthedocs sphynx.configuration * replace ConjunctiveGraph() with Dataset() in tests * tidy some notation * align black version * fix black & ruff * poetry --check -> poetry-check --lock * more CG -> Datasets * ruff * GC -> Dataset --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Reduce warnings (#3087) * build(deps-dev): bump ruff from 0.9.2 to 0.9.6 Bumps [ruff](https://github.com/astral-sh/ruff) from 0.9.2 to 0.9.6. - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](astral-sh/ruff@0.9.2...0.9.6) --- updated-dependencies: - dependency-name: ruff dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * add readthedocs sphynx.configuration * replace ConjunctiveGraph() with Dataset() in tests * tidy some notation * align black version * fix black & ruff * poetry --check -> poetry-check --lock * more CG -> Datasets * ruff * GC -> Dataset * CG -> D * ruff fixes --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Allow multi subjects & objects in graph funcs (#3086) * subjects() * objects() & tests * blacked * build(deps): bump library/python in /docker/unstable (#3089) Bumps library/python from `ae9f9ac` to `8f3aba4`. --- updated-dependencies: - dependency-name: library/python dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * 7.1.4 pre-release (#3098) * Merge 7-maintenance branch into 7.x (#3222) * 7.1.4 pre-release * fix namespace prefixes in longturtle serialization (#3134) Co-authored-by: Daan de Schepper <d.de.schepper@rijksmuseum.nl> * Fix failing webtest (#3194) * test: fix failing webtest Fixes #3192 * Revert "remove old hacks against 2to3 (#3076)" (#3195) This reverts commit b74c657. * Specify `Optional` parameters in `Graph.triples_choices` (#3075) * Specify `Optional` parameters in `Graph.triples_choices` The two non-list parameters can be `None`, but this is not reflected in the type hint. Also introduces a type alias to simplify method signatures. * style: remove unused imports --------- Co-authored-by: Nicholas Car <nick@kurrawong.net> Co-authored-by: Edmond Chuc <37032744+edmondchuc@users.noreply.github.com> Co-authored-by: Edmond Chuc <edmond@kurrawong.ai> * feat: canonicalization with longturtle serializer now optional (#3197) * feat: canonicalization with longturtle serializer now optional Fixes #3196 * docs: fix docs build error by removing py obj reference to canon --------- Co-authored-by: Nicholas Car <nick@kurrawong.ai> Co-authored-by: Daan de Schepper <d.de.schepper@rijksmuseum.nl> Co-authored-by: Sigmund Lahn <s@lahn.no> Co-authored-by: Nicholas Car <nick@kurrawong.net> * [7.x] notation3.py: don't normalize float representation (#3221) * 7.1.4 pre-release * fix namespace prefixes in longturtle serialization (#3134) Co-authored-by: Daan de Schepper <d.de.schepper@rijksmuseum.nl> * Fix failing webtest (#3194) * test: fix failing webtest Fixes #3192 * Revert "remove old hacks against 2to3 (#3076)" (#3195) This reverts commit b74c657. * Specify `Optional` parameters in `Graph.triples_choices` (#3075) * Specify `Optional` parameters in `Graph.triples_choices` The two non-list parameters can be `None`, but this is not reflected in the type hint. Also introduces a type alias to simplify method signatures. * style: remove unused imports --------- Co-authored-by: Nicholas Car <nick@kurrawong.net> Co-authored-by: Edmond Chuc <37032744+edmondchuc@users.noreply.github.com> Co-authored-by: Edmond Chuc <edmond@kurrawong.ai> * feat: canonicalization with longturtle serializer now optional (#3197) * feat: canonicalization with longturtle serializer now optional Fixes #3196 * docs: fix docs build error by removing py obj reference to canon * added n3 test to check for internal float normalization made as a separate commit to illustrate the old broken behavior priro to the fix in the next commit * notation3.py: don't normalize float representation fix behavior of the n3 parser family to avoid normalizing raw float string representation which makes it impossible to roundtrip the exact original string representation of e.g. 1e10 * test: refactor test_float_no_norm to use pytest parametrization * style: add noqa to sfloat class * chore: remove unused mypy type ignore * docs: fix sfloat reference * fix: sphinx nitpicky reference --------- Co-authored-by: Nicholas Car <nick@kurrawong.ai> Co-authored-by: Daan de Schepper <d.de.schepper@rijksmuseum.nl> Co-authored-by: Sigmund Lahn <s@lahn.no> Co-authored-by: Nicholas Car <nick@kurrawong.net> Co-authored-by: Tom Gillespie <tgbugs@gmail.com> * Fix incorrect deskolemization of literals (#3127) (#3223) * Fix issue 3126 * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: Daan de Schepper <daan@daandeschepper.nl> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * chore: prep 7.2.0 release (#3224) * chore: prep 7.2.0 release * chore: remove mention of charter * chore: remove scratch file * chore: prep 7.2.1 release (#3225) * chore: prep 7.2.1 release * docs: add new step in releasing section * build: update poetry lockfile * docs: fix title underline too short * chore: 7.2.1 post release (#3226) * chore: bump rdflib version in docker image requirements.txt * chore: generate docker requirements.txt using pip-compile task Adding --no-strip-extras to pip-compile command to preserve existing behaviour in pip-tools v8 * chore: update pyproject.toml version with alpha suffix * Run the example queries agains the local fuseki (#3240) 0. skip the test if the sparql endpoints host is not available 1. prepare the local fuseki store with some data 2. execute the example queries * Adjust the type hint for Graph open to reflect a SPARQLUpdateStore configuration (#3239) * Adjust the type hint for Graph open to reflect a SPARQLUpdateStore configuration Also adjust the type hint for ReadOnlyGraphAggregate and for further stores * fix doc string --------- Co-authored-by: Edmond Chuc <37032744+edmondchuc@users.noreply.github.com> * SPARQL result parsing (#2796) * Remove plugin registration for "application/sparql-results+xml; charset=UTF-8" Remove ResultParser plugin registration with the name "application/sparql-results+xml; charset=UTF-8" since it is never called in internal code. The only place where ResultParser plugins are requested is in "rdflib/query.py:276" ``` if format: plugin_key = format elif content_type: plugin_key = content_type.split(";", 1)[0] else: plugin_key = "xml" parser = plugin.get(plugin_key, ResultParser)() ``` In case of a content-type the charset is split off already. * Resolve TODO: Pull in these from the result implementation plugins for _response_mime_types in sparqlconnector * Register all Parser plugins as SPARQL ResultParser plugins * Avoid overwriting ResultParser plugins --------- Co-authored-by: Edmond Chuc <37032744+edmondchuc@users.noreply.github.com> * fix: skip prefix generation for predicates corresponding to base namespace (#3244) * skip prefix generation for predicates corresponding to base namespace * fix: skip prefix generation for predicates corresponding to the base namespace. This applies to both turtle and longturtle Also added fix to escape brackets in pnames to longturtle. --------- Co-authored-by: bulricht <108867473+bulricht@users.noreply.github.com> * fix(v7): remove Literal.toPython date conversion for gYear/gYearMonth (#3115) (#3258) * fix: remove Literal.toPython date conversion for gYear/gYearMonth (#3115) * fix: remove Literal.toPython casting for gYear and gYearMonth Issue #3078 reports, that rdflib.Literal.toPython casting of xsd:gYear and xsd:gYearMonth to datetime objects is not possible, as there is no appropriate Python equivalence for those types. The current implementation casts xsd:gYear and xsd:gYearMonth to datetime objects assuming January 1st for xsd:gYear and the 1st day of the given month for xsd:gYearMonth. This is plain wrong. The change removes casting to datetime objects in rdflib.Literal.toPython for xsd:gYear and xsd:gYearMonth. Closes #3078 . * test: adapt rdflib.Literal tests to gYear/gYearMonth toPython change --------- Co-authored-by: Nicholas Car <nick@kurrawong.net> * style: apply black formatting --------- Co-authored-by: Lukas Plank <128675670+lu-pl@users.noreply.github.com> Co-authored-by: Nicholas Car <nick@kurrawong.net> * feat: allow adding graphs backed by different stores to the same dataset (#3259) * feat: allow adding graphs backed by different stores to the same dataset * chore: add comment for clarity * test: confirm adding a new graph, different backing store but same identifier appends to the dataset * test: update comments and test names * feat: set dataset's default serialize format to trig (#3260) * sparqls optionals clause can now bind variables. with test. issue 2957 (#3247) Co-authored-by: Richard Focke Fechner <richardfechner@posteo.net> Co-authored-by: Edmond Chuc <37032744+edmondchuc@users.noreply.github.com> * fix: dataset nquads serialization including RDFLib internal default graph identifier (#3262) * fix: dataset nquads serialization including RDFLib internal default graph identifier * chore: remove json-ld code * fix: Dataset.parse now returns Self (#3263) * fix: Dataset.parse now returns Self * chore: remove test that's not relevant for this PR * chore: add deprecation notice to Dataset methods and attributes (#3264) * chore: add deprecation warning to Dataset.contexts() * chore: deprecate Dataset.default_context and introduce Dataset.default_graph * chore: deprecate Dataset.identifier * chore: replace usage of default_context with default_graph in Dataset * patch for reevaluation in sparql modify between update loops. with test (#3261) Co-authored-by: Richard Focke Fechner <richardfechner@posteo.net> Co-authored-by: Edmond Chuc <37032744+edmondchuc@users.noreply.github.com> * fix: SPARQL Update inserts into the default graph (#3265) * fix: the return type of Dataset.parse * fix: SPARQL Update inserts into the default graph does not create a new graph with a blank node label as the graph name * chore: add todo comment * fix: allow static type checkers to infer term's __new__ type (#3266) * fix: the return value type of term's __new__ * fix: import of Self for python versions lower than 3.11 * fix: import errors in CI due to reliance on typing_extensions. Remove explicit typing and let type checkers to infer instead --------- Co-authored-by: Nicholas Car <nick@kurrawong.net> * fix: RecursiveSerializer- outputs undeclared prefix for predicates that contains the base as a substring (#3267) * fix: turtle, longturtle, and n3 serializers - outputs undeclared prefix when using base on a predicate that contains the base as a substring Fixes: #3160 * chore: remove print * chore: formatting --------- Co-authored-by: Nicholas Car <nick@kurrawong.net> * feat: add Dataset __iadd__ support (#3268) fixes: #3031 Co-authored-by: Nicholas Car <nick@kurrawong.net> * build: prep 7.3.0 (#3277) * build: prep 7.3.0 * revert noisy diff * chore: add back 7.3.0 changelog * style: format * chore: add summary to release * chore: 7.3.0 post release (#3278) * added TypeError to test_roundtrip[test_other__service1], because different error on python 7.13.8. (#3275) with input from @edmondchuc Co-authored-by: Edmond Chuc <37032744+edmondchuc@users.noreply.github.com> * feat: v7 mkdocs (#3287) * Pr/3143 (#3144) * Start migrating the documentation from .rst sphynx to .md material for mkdocs. Add mkdocs.yml with proper configuration, enable automated generation of the doc API from the docstring, and start converting a few pages (index, getting started, developers) for demo. * Add automated (opt-in) tests of all python codeblocks in the markdown docs using pytest-markdown-docs. Needed to comment 1 small test that seemingly should fail (AttributeError: DefinedNamespace like object has no attribute '_NS', indeed the DefinedNamespace class expect a _NS, so it makes sense it fails) but for some reason it was not properly failing when ran with regular pytest, but it fails with pytest-markdown-docs * convert all documentations pages to markdown, convert all docstrings to markdown with google style, updated config for mkdocs (readthedocs, tox, task) fixed #3128 * delete files, dependencies and mentions related to sphinx * uncomment test previously commented for experimenting with markdown codeblock testing * update poetry lock * blacked again * ignore mypy errors --------- Co-authored-by: Vincent Emonet <vincent.emonet@gmail.com> * build: set mkdocs versions for rdflib v7 compatibility * style: apply black formatting * chore: mypy comments * fix: mypy, ruff, and apply black formatting * build: only test mkdocs build on python 3.11 and above * build: update poetry lock * build: fix python version constraint and add comment explaining why the python constraint for mkdocs deps * build: update poetry lock * chore: fix mypy and apply formatting * build: set setuptools version constraints in tox.ini * build: set berkeleydb version * build: loosen berkeleydb constraint --------- Co-authored-by: Nicholas Car <nick@kurrawong.net> Co-authored-by: Vincent Emonet <vincent.emonet@gmail.com> * fix: set changed size when iterating the store's graphs (#3281) * fix: set changed size when iterating the store's graphs * fix: materialise the iterator with list() so it doesn't change * chore: revert calling to store directly --------- Co-authored-by: Nicholas Car <nick@kurrawong.net> * chore(v7): upgrade ci and dev/test deps (#3288) * build: add pyproject classifier for python 3.14 * test: add test matrix for python 3.12, 3.13 and 3.14 * test: update matrix * test: update tox.ini with new python versions * style: align black formatting with python version 3.8 * test: mark sparql10 test as xfail as it's failing in python 3.14 * test: mark sparql10 test as xfail as it's failing in python 3.14 * chore: update ruff, mypy, and black to the latest supported versions * test: xfail test marked only when greater than or equal to python 3.14 * style: formatting * test: mark more tests as xfail * chore: prep 7.4.0 release (#3289) * chore: remove remnant rst files * chore: prep 7.4.0 release * chore: post steps for 7.4.0 release (#3291) * test: fix dbpedia webtests (#3304) * fix: These markdown docs were added back in when moving to MkDocs in v7.4.0. This removes them again and also removes them from the mkdocs.yml config. * build: fix poetry.lock having two conflicting click entries * build: revert back to main's poetry.lock file as the newly generated one still has duplicate package entries for different versions (click, griffe, etc) * chore: remove unecessary type checking imports * chore: delete merged_prs.json --------- Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Alex Nelson <alexander.nelson@nist.gov> Signed-off-by: Nils Philippsen <nils@tiptoe.de> Co-authored-by: Nicholas Car <nick@kurrawong.net> Co-authored-by: Ashley Sommer <ashleysommer@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alex Nelson <alexander.nelson@nist.gov> Co-authored-by: joecrowleygaia <142864129+joecrowleygaia@users.noreply.github.com> Co-authored-by: Val Lorentz <vlorentz@softwareheritage.org> Co-authored-by: jcbiddle <114963309+jcbiddle@users.noreply.github.com> Co-authored-by: Sander Van Dooren <sandervd@users.noreply.github.com> Co-authored-by: Nicholas Car <nick@kurrawong.ai> Co-authored-by: Matt Goldberg <59745812+mgberg@users.noreply.github.com> Co-authored-by: Nils Philippsen <nils@tiptoe.de> Co-authored-by: Alexandre Detiste <alexandre.detiste@gmail.com> Co-authored-by: Yaroslav Halchenko <debian@onerussian.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Daan de Schepper <d.de.schepper@rijksmuseum.nl> Co-authored-by: Sigmund Lahn <s@lahn.no> Co-authored-by: Tom Gillespie <tgbugs@gmail.com> Co-authored-by: Daan de Schepper <daan@daandeschepper.nl> Co-authored-by: Natanael Arndt <arndtn@gmail.com> Co-authored-by: bulricht <108867473+bulricht@users.noreply.github.com> Co-authored-by: Lukas Plank <128675670+lu-pl@users.noreply.github.com> Co-authored-by: Focke <richi.fechner@web.de> Co-authored-by: Richard Focke Fechner <richardfechner@posteo.net> Co-authored-by: Vincent Emonet <vincent.emonet@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.
Summary of changes
Previously, calls to a dataset's serialize method used the superclass (Graph)'s default format, "turtle". However, serializing a dataset with the turtle format results in only triples in the default graph, with named graph triples omitted. A better default format for datasets is "trig", which serializes all triples from all graphs.
This PR changes the default serializer format for datasets to "trig".
This was raised in this issue: #2021
Checklist
the same change.
./examples.so maintainers can fix minor issues and keep your PR up to date.