Skip to content

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

Draft
wants to merge 69 commits into
base: 7.x
Choose a base branch
from

Conversation

floresbakker
Copy link

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:

    • 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.

nicholascar and others added 30 commits October 28, 2024 10:57
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>
dependabot bot and others added 5 commits January 10, 2025 16:39
* 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>
@ajnelson-nist
Copy link
Contributor

This code looks like a good discussion starter to me.

One matter - because you forked and opened the PR using your main branch, you will have to do all updates to that PR as pushes against your main branch. In the future, you should use separate branches, e.g. named after the issue they are trying to resolve (like issue-2957).

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 expected, one computed, assigned the same type (your test for Query2 would use the type set[str]), hard-coding expected, ending the test with an assert expected == computed, and then figuring out the middle of the test to populated computed as succinctly as I can.

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.

@floresbakker floresbakker marked this pull request as draft February 24, 2025 15:30
@floresbakker floresbakker changed the title WIP: added test case for issue 2957 - subselect fails under optional Pull request for issue 2957 - subselect fails under optional Feb 24, 2025
@floresbakker
Copy link
Author

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?

@WhiteGobo
Copy link
Contributor

No easy way found to put in the edit myself.
Just change line 194 in rdflib/rdflib/plugins/sparql/evaluate.py to

                 yield b.merge(a)

You might have to test and check mypy yourself. ive worked on an old version of rdflib.

@ajnelson-nist
Copy link
Contributor

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 main---I think until the PR is merged or closed.

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;
OR, you can just apply the change @WhiteGobo suggested in a patch of your own, and optionally put an ack in the Git log. Personally, I'd use Suggested-by: @WhiteGobo, per this guide point from the Linux Kernel documentation.

nicholascar and others added 16 commits March 25, 2025 09:24
* 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]>
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]>
@floresbakker
Copy link
Author

I am afraid I do not have the skills to fix this. I get lost in the whole PR procedure.

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.