Skip to content

Conversation

edmondchuc
Copy link
Contributor

@edmondchuc edmondchuc commented Dec 13, 2024

This PR improves upon #2997 to remove the bespoke object blank node sorting technique to instead use sorted n-triples str lines after applying the RGDA1 graph canonicalisation algorithm. Fixes #1890.

It's necessary to read in the sorted n-triples lines with skolemize=True to preserve the blank node identifiers from the canonicalisation algorithm.

Now that we can sort reliably by the blank node identifiers, this implementation works for all blank node positions in an RDF statement, no matter if it's in the subject or object position. It even works for blank nodes at the top-level.

@ajnelson-nist, I've added your blank node test from Sort Turtle output (#1978) and it's now passing, yay!

Update: this also fixes the double up of semicolons bug when the subject is a top-level blank node. See 412fb5d.

Checklist

  • Checked that there aren't other open pull requests for
    the same change.
  • Checked that all tests and type checking passes.
  • If the change adds new features or changes the RDFLib public API:
    • Created an issue to discuss the change and get in-principle agreement.
    • Considered adding an example in ./examples.
  • If the change has a potential impact on users of this project:
    • Added or updated tests that fail without the change.
    • Updated relevant documentation to avoid inaccuracies.
    • Considered adding additional documentation.
  • Considered granting push permissions to the PR branch,
    so maintainers can fix minor issues and keep your PR up to date.

@coveralls
Copy link

coveralls commented Dec 13, 2024

Coverage Status

coverage: 90.274% (-0.002%) from 90.276%
when pulling 412fb5d on edmond/longturtle
into e8f61d4 on main.

@ajnelson-nist
Copy link
Contributor

@edmondchuc Thank you for porting my test!

Though, I noticed there were some spots semicolons got doubled-up.

@edmondchuc
Copy link
Contributor Author

@ajnelson-nist thanks for catching the double-up of the semicolons! I think it's fixed now.

@nicholascar nicholascar merged commit 182c3ba into main Jan 6, 2025
22 checks passed
@nicholascar nicholascar deleted the edmond/longturtle branch January 6, 2025 06:01
edmondchuc added a commit that referenced this pull request Jan 15, 2025
…on + 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
# Conflicts:
#	rdflib/plugins/serializers/longturtle.py
edmondchuc added a commit that referenced this pull request Jan 15, 2025
…on + 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
edmondchuc added a commit that referenced this pull request Jan 15, 2025
…on + 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
edmondchuc added a commit that referenced this pull request Jan 16, 2025
…on + 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
edmondchuc added a commit that referenced this pull request Jan 16, 2025
…on + 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
nicholascar added a commit that referenced this pull request Jan 16, 2025
* 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] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ashley Sommer <[email protected]>

* 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 <[email protected]>

* 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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nicholas Car <[email protected]>

* 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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
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 <[email protected]>

* 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 <[email protected]>
# 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] <[email protected]>
Signed-off-by: Alex Nelson <[email protected]>
Co-authored-by: Nicholas Car <[email protected]>
Co-authored-by: Ashley Sommer <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alex Nelson <[email protected]>
Co-authored-by: joecrowleygaia <[email protected]>
Co-authored-by: Val Lorentz <[email protected]>
Co-authored-by: jcbiddle <[email protected]>
Co-authored-by: Sander Van Dooren <[email protected]>
Co-authored-by: Nicholas Car <[email protected]>
Co-authored-by: Matt Goldberg <[email protected]>
nicholascar added a commit that referenced this pull request Sep 9, 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] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ashley Sommer <[email protected]>

* 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 <[email protected]>

* 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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nicholas Car <[email protected]>

* 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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
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 <[email protected]>

* 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 <[email protected]>
# 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] <[email protected]>
Signed-off-by: Alex Nelson <[email protected]>
Co-authored-by: Nicholas Car <[email protected]>
Co-authored-by: Ashley Sommer <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alex Nelson <[email protected]>
Co-authored-by: joecrowleygaia <[email protected]>
Co-authored-by: Val Lorentz <[email protected]>
Co-authored-by: jcbiddle <[email protected]>
Co-authored-by: Sander Van Dooren <[email protected]>
Co-authored-by: Nicholas Car <[email protected]>
Co-authored-by: Matt Goldberg <[email protected]>

* 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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
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] <[email protected]>

* add readthedocs sphynx.configuration

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nicholas Car <[email protected]>
Co-authored-by: Nicholas Car <[email protected]>

* 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] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nicholas Car <[email protected]>

* 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 <[email protected]>
Co-authored-by: Nicholas Car <[email protected]>

* 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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nicholas Car <[email protected]>

* 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] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nicholas Car <[email protected]>

* remove old hacks against 2to3 (#3076)

This reverts e2fb491

Co-authored-by: Nicholas Car <[email protected]>

* 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 <[email protected]>

* [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 <[email protected]>

* 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] <[email protected]>

* 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] <[email protected]>
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] <[email protected]>

* 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] <[email protected]>
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] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* 7.1.4 pre-release

* 7.1.4 pre-release (#3098)

* fix namespace prefixes in longturtle serialization (#3134)

Co-authored-by: Daan de Schepper <[email protected]>

* 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 <[email protected]>
Co-authored-by: Edmond Chuc <[email protected]>
Co-authored-by: Edmond Chuc <[email protected]>

* Revert "remove old hacks against 2to3 (#3076)"

This reverts commit b74c657.

* ci: try to fix failing ci

* Revert "ci: try to fix failing ci"

This reverts commit d77ef9f.

* ci: specify setuptools as a deps in tox.ini to prevent downgrade, leading to pip ModuleNotFoundError for pip._vendor

* test: mark SPARQLStore class docstring as webtest

* ci: fix setuptools missing in plugin isolated env

* Revert "test: mark SPARQLStore class docstring as webtest"

This reverts commit f5496de.

* test: skip SPARQLStore docstring test. It currently fails inside firejail due to the need to perform DNS name resolution.

Skipping for now until we can find a better way to mark it as webtest.

* style: formatting

* test: fix SPARQLStore docstring test

* test: mark plugin tests as webtest

---------

Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: Alex Nelson <[email protected]>
Signed-off-by: Nils Philippsen <[email protected]>
Co-authored-by: Nicholas Car <[email protected]>
Co-authored-by: Ashley Sommer <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alex Nelson <[email protected]>
Co-authored-by: joecrowleygaia <[email protected]>
Co-authored-by: Val Lorentz <[email protected]>
Co-authored-by: jcbiddle <[email protected]>
Co-authored-by: Sander Van Dooren <[email protected]>
Co-authored-by: Nicholas Car <[email protected]>
Co-authored-by: Matt Goldberg <[email protected]>
Co-authored-by: Nils Philippsen <[email protected]>
Co-authored-by: Alexandre Detiste <[email protected]>
Co-authored-by: Yaroslav Halchenko <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Daan de Schepper <[email protected]>
Co-authored-by: Sigmund Lahn <[email protected]>
edmondchuc added a commit that referenced this pull request Sep 19, 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] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ashley Sommer <[email protected]>

* 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 <[email protected]>

* 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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nicholas Car <[email protected]>

* 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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
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 <[email protected]>

* 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 <[email protected]>
# 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] <[email protected]>
Signed-off-by: Alex Nelson <[email protected]>
Co-authored-by: Nicholas Car <[email protected]>
Co-authored-by: Ashley Sommer <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alex Nelson <[email protected]>
Co-authored-by: joecrowleygaia <[email protected]>
Co-authored-by: Val Lorentz <[email protected]>
Co-authored-by: jcbiddle <[email protected]>
Co-authored-by: Sander Van Dooren <[email protected]>
Co-authored-by: Nicholas Car <[email protected]>
Co-authored-by: Matt Goldberg <[email protected]>

* 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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
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] <[email protected]>

* add readthedocs sphynx.configuration

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nicholas Car <[email protected]>
Co-authored-by: Nicholas Car <[email protected]>

* 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] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nicholas Car <[email protected]>

* 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 <[email protected]>
Co-authored-by: Nicholas Car <[email protected]>

* 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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nicholas Car <[email protected]>

* 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] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nicholas Car <[email protected]>

* remove old hacks against 2to3 (#3076)

This reverts e2fb491

Co-authored-by: Nicholas Car <[email protected]>

* 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 <[email protected]>

* [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 <[email protected]>

* 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] <[email protected]>

* 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] <[email protected]>
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] <[email protected]>

* 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] <[email protected]>
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] <[email protected]>
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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: Edmond Chuc <[email protected]>
Co-authored-by: Edmond Chuc <[email protected]>

* 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 <[email protected]>
Co-authored-by: Daan de Schepper <[email protected]>
Co-authored-by: Sigmund Lahn <[email protected]>
Co-authored-by: Nicholas Car <[email protected]>

* [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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: Edmond Chuc <[email protected]>
Co-authored-by: Edmond Chuc <[email protected]>

* 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 <[email protected]>
Co-authored-by: Daan de Schepper <[email protected]>
Co-authored-by: Sigmund Lahn <[email protected]>
Co-authored-by: Nicholas Car <[email protected]>
Co-authored-by: Tom Gillespie <[email protected]>

* 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 <[email protected]>
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

* fix: type issue - probably due to a mistake in the merge

* fix: bad merge

* fix: bad merge, restore arg to longturtle serializer

* chore: delete merged_prs.json

---------

Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: Alex Nelson <[email protected]>
Signed-off-by: Nils Philippsen <[email protected]>
Co-authored-by: Nicholas Car <[email protected]>
Co-authored-by: Ashley Sommer <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alex Nelson <[email protected]>
Co-authored-by: joecrowleygaia <[email protected]>
Co-authored-by: Val Lorentz <[email protected]>
Co-authored-by: jcbiddle <[email protected]>
Co-authored-by: Sander Van Dooren <[email protected]>
Co-authored-by: Nicholas Car <[email protected]>
Co-authored-by: Matt Goldberg <[email protected]>
Co-authored-by: Nils Philippsen <[email protected]>
Co-authored-by: Alexandre Detiste <[email protected]>
Co-authored-by: Yaroslav Halchenko <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Daan de Schepper <[email protected]>
Co-authored-by: Sigmund Lahn <[email protected]>
Co-authored-by: Tom Gillespie <[email protected]>
Co-authored-by: Daan de Schepper <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Sorting Turtle output?
4 participants