-
Notifications
You must be signed in to change notification settings - Fork 577
Pull request for issue 2957 - subselect fails under optional #3077
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
base: 7.x
Are you sure you want to change the base?
Conversation
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 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().
* Bump minimum python version to 3.9 Update dependencies minimum package versions to post-3.9 versions. Upgrade latest pyparsing Update to latest MyPy Update to latest Black Re-issue new Poetry lockfile * First round of relatively simple typing updates for python 3.9 style type annotations * Change _SubjectType, _PredicateType, and _ObjectType typing to more restictive, and fix the fallout * Remove python 3.8 from github actions, add python 3.12 to github actions. * Change minimum lxml version for Python 3.12 compat. * Fix deprecated typing warnings in tests suite. * Don't gate QuotedGraph behind TYPE_CHECKING. * Fix where some tests were broken due to updated typing (auto-replace mistakes) * remove unused imports in other parts of the codebase * Change QuotedGraph to be an IdentifiedNode, that means that its automatically included in _subjectType, and we don't need a forward-definition for QuotedGraph in _subjectType alias. * More fixes to docs generation * Fix sphinx autodocs generation after all the typing changes * Ensure Pyparsing in Dockerfile and in Devtools min versions matches that set in PyProject toml * Put the TypeAlias import behind the TYPE_CHECKING gate * Bump versions of pre-commit checks to match the versions used in pyproject.toml
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: * RDFLib#1890 (comment) Signed-off-by: Alex Nelson <[email protected]>
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>
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>
Bumps [pytest-cov](https://github.com/pytest-dev/pytest-cov) from 5.0.0 to 6.0.0. - [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst) - [Commits](pytest-dev/pytest-cov@v5.0.0...v6.0.0) --- updated-dependencies: - dependency-name: pytest-cov dependency-type: direct:development 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>
…ge to union operator | (RDFLib#2971) * chore: type annotations update checkpoint. some w3c sparql10 tests now passing, but not sure how * chore: type annotations - refactor usage of typing.Optional
…cause autodocs-type-hints doesn't like them. (RDFLib#2973) Bump to newer autodocs-type-hints that is desgined for use in Python 3.9.
Bumps library/python from 3.12.7-slim to 3.13.0-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: Ashley Sommer <[email protected]>
Bumps library/python from 3.12.7-slim to 3.13.0-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]> Co-authored-by: Ashley Sommer <[email protected]>
…ange it to quarterly, so the versions aren't updated so often. (RDFLib#2975) Also bump to latest ruff version.
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>
Bumps [wheel](https://github.com/pypa/wheel) from 0.44.0 to 0.45.0. - [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.0) --- 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> Co-authored-by: Ashley Sommer <[email protected]>
Bumps library/python from `751d8be` to `4efa69b`. --- 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>
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>
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>
Bumps [coverage](https://github.com/nedbat/coveragepy) from 7.6.4 to 7.6.8. - [Release notes](https://github.com/nedbat/coveragepy/releases) - [Changelog](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst) - [Commits](nedbat/coveragepy@7.6.4...7.6.8) --- updated-dependencies: - dependency-name: coverage 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>
…d linting commands section in the developer section to use ruff check. (RDFLib#2981)
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]>
Bumps library/python from `2ec5a4a` to `751d8be`. --- 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>
* feat: sort longturtle blank nodes in the object position by their cbd string * fix: RDFLib#2767
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>
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>
Bumps [coverage](https://github.com/nedbat/coveragepy) from 7.6.8 to 7.6.9. - [Release notes](https://github.com/nedbat/coveragepy/releases) - [Changelog](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst) - [Commits](nedbat/coveragepy@7.6.8...7.6.9) --- updated-dependencies: - dependency-name: coverage 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>
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 mypy from 1.13.0 to 1.14.1 Bumps [mypy](https://github.com/python/mypy) from 1.13.0 to 1.14.1. - [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md) - [Commits](python/mypy@v1.13.0...v1.14.1) --- updated-dependencies: - dependency-name: mypy dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> * fix slice typing * fix slice typing RDFLib#2 * Graph().__getitem_ returns via yield from generators * tests for ypdated Graph().__getitems * allow Path as type of 'p' in Graph slice * modernise old test; add two new tests * moving slice tests to test_slice.py * blacked & ruff --fix --------- 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]>
…#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]>
…ls (RDFLib#3033) Bumps [poetry-plugin-export](https://github.com/python-poetry/poetry-plugin-export) from 1.8.0 to 1.9.0. - [Release notes](https://github.com/python-poetry/poetry-plugin-export/releases) - [Changelog](https://github.com/python-poetry/poetry-plugin-export/blob/main/CHANGELOG.md) - [Commits](python-poetry/poetry-plugin-export@1.8.0...1.9.0) --- updated-dependencies: - dependency-name: poetry-plugin-export 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>
This code looks like a good discussion starter to me. One matter - because you forked and opened the PR using your Another matter - I suggest instead of titling the PR "WIP," you leave the test in Draft status instead of as an "Open" PR. The GitHub-specific reason for this is that Drafts can't be merged until they're set to "Open" by the "Ready for review" button. If you want to do this, you should push the "Revert to draft" button. On to code: I see in your code that there is some dumping to files, and comments on what the expected results should be. This is fine for by-eyeball review, but the tests in this project follow an automation pattern. So, if tests should produce expected values, there should be an assertion of equality. I follow a pattern of building two sets, one There are other style points you would probably best accomplish by copying a nearby test in the testing directory and adapting it to your specific functionality checks. There's a lot of test functions that could be used as starter skeletons (e.g., these lines), so by the time you're done, the test would align stylistically with others already in the project. |
Ok, I have renamed the PR & I have put the status on 'draft'. This week I will see about the test script. I hope @WhiteGobo can work with my PR or did I prevent him from working on it due to my fork on the main branch? |
No easy way found to put in the edit myself. yield b.merge(a) You might have to test and check mypy yourself. ive worked on an old version of rdflib. |
Github logistics note: Checking the "Maintainers can edit this branch" box on the PR means the maintainers of RDFLib/rdflib can edit the submitted branch---your If you want others who aren't maintainers of RDFLib/rdflib to contribute to the PR, you can either give them write permissions to your repo's submitted branch; |
* remove old hacks against 2to3 This reverts e2fb491 * fix .readthedocs.yaml * try fix RTD config --------- Co-authored-by: Nicholas Car <[email protected]> Co-authored-by: Nicholas Car <[email protected]>
…b#3101) Bumps [rdflib](https://github.com/RDFLib/rdflib) from 7.1.2 to 7.1.4. - [Release notes](https://github.com/RDFLib/rdflib/releases) - [Changelog](https://github.com/RDFLib/rdflib/blob/7.1.4/CHANGELOG.md) - [Commits](RDFLib/rdflib@7.1.2...7.1.4) --- updated-dependencies: - dependency-name: rdflib 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]>
Bumps library/python from 3.13.1-slim@sha256:1127090f9fff0b8e7c3a1367855ef8a3299472d2c9ed122948a576c39addeaf1 to sha256:34dc8eb488136014caf530ec03a3a2403473a92d67a01a26256c365b5b2fc0d4. --- updated-dependencies: - dependency-name: library/python dependency-version: sha256:34dc8eb488136014caf530ec03a3a2403473a92d67a01a26256c365b5b2fc0d4 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps library/python from 3.13.1-slim@sha256:1127090f9fff0b8e7c3a1367855ef8a3299472d2c9ed122948a576c39addeaf1 to sha256:34dc8eb488136014caf530ec03a3a2403473a92d67a01a26256c365b5b2fc0d4. --- updated-dependencies: - dependency-name: library/python dependency-version: sha256:34dc8eb488136014caf530ec03a3a2403473a92d67a01a26256c365b5b2fc0d4 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…#3121) Bumps [typing-extensions](https://github.com/python/typing_extensions) from 4.13.0 to 4.13.2. - [Release notes](https://github.com/python/typing_extensions/releases) - [Changelog](https://github.com/python/typing_extensions/blob/main/CHANGELOG.md) - [Commits](python/typing_extensions@4.13.0...4.13.2) --- updated-dependencies: - dependency-name: typing-extensions dependency-version: 4.13.2 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>
* fix namespace prefixes in longturtle serialization * fix: mypy errors --------- Co-authored-by: Edmond <[email protected]>
…and fix missing fullstop (RDFLib#3141) * fix: do not automatically generate header id in RDF patch generation. Fix bug with missing header previous fullstop/period at end of line. * fix: add basic test that header is not added when not specified * remove unused import * black code * fix mypy errors --------- Co-authored-by: Nicholas Car <[email protected]>
…FLib#3115) * fix: remove Literal.toPython casting for gYear and gYearMonth Issue RDFLib#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 RDFLib#3078 . * test: adapt rdflib.Literal tests to gYear/gYearMonth toPython change --------- Co-authored-by: Nicholas Car <[email protected]>
Bumps [coverage](https://github.com/nedbat/coveragepy) from 7.7.1 to 7.8.2. - [Release notes](https://github.com/nedbat/coveragepy/releases) - [Changelog](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst) - [Commits](nedbat/coveragepy@7.7.1...7.8.2) --- updated-dependencies: - dependency-name: coverage dependency-version: 7.8.2 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> Co-authored-by: Nicholas Car <[email protected]>
* 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 RDFLib#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 <[email protected]>
…o blue grey; add 7to8 stub (RDFLib#3145)
The __annotations__ member can be incomplete, use the get_annotations() helper from annotationlib (Python >= 3.14) or inspect (Python >= 3.10) if available. Related: RDFLib#3083 Signed-off-by: Nils Philippsen <[email protected]> Co-authored-by: Nicholas Car <[email protected]>
* add tests to check SPARQLStore against public endpoints. By default it is disabled (slow, and public endpoints loves to go down whenever they can, so we don't want to have them run as part of the default CI/CD). We need to add the flag --public-endpoints to the pytest command to enable them. The list of tested endpoints is the same as the one used in SPARQLWrapper tests, with a new entry for a Qlever endpoint. Documentation about this have been added to the developers docs page * Improve type annotations for the SPARQLStore, uses Literal, so that people using it will get proper autocomplete suggestion for the returnFormats and methods available. Add better docs on how to use SPARQLStore in its docstring * Fix mypy type checking errors: Unused "type: ignore" comment and Unsupported operand types for + ("str" and "int") * fix doctests * improve mkdocs page linking * add additions to developers.rst to developers.md --------- Co-authored-by: Vincent Emonet <[email protected]>
I am afraid I do not have the skills to fix this. I get lost in the whole PR procedure. |
Summary of changes
This pull request solves issue 2957 where a subselect query fails under an optional clause in a SPARQL query.
A test script has been added, see test_subselectOptional.py.
Checklist
Checked that there aren't other open pull requests for
the same change.
Checked that all tests and type checking passes.
Not yet, work in progress.
If the change adds new features or changes the RDFLib public API:
./examples
.If the change has a potential impact on users of this project:
Considered granting push permissions to the PR branch,
so maintainers can fix minor issues and keep your PR up to date.