Skip to content
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

merge main into develop #5237

Merged
merged 20 commits into from
Jan 25, 2025
Merged

merge main into develop #5237

merged 20 commits into from
Jan 25, 2025

Conversation

hmottestad
Copy link
Contributor

merge main into develop

hmottestad and others added 17 commits December 28, 2024 08:35
…notified and were also not added. This only happens when the exact statement was removed by the DELETE clause.
This change fixes a situation that can incorrectly cause empty results.
It happens when the input of the left argument is a single binding set
and for special source selection situations (e.g. the right argument is
marked as ExclusiveStatement while the endpoint does not provide data)

To avoid the issue we also use the regular left join logic also for a
single binding set input, which can handle the situation properly.

Issue is covered with a unit test.
The previous implementation of the FedXConnection was delegating
"hasStatements()" to the implementation of "getStatements()", where the
latter was actually fetching data from the federation members.

For checks hasStatements() checks like {null, rdf:type, null} or even
{null, null, null} the implementation is problematic as it would fetch
all data matching the pattern from the federation members, only to
answer if it actually exists.

We now make use of "existence" check on the federation members, and can
actually rely on the source selection cache for this.

Unit test coverage has been added.
Add an additional constructor accepting a supplier for an initialized
cache.
The federation optimizer was missing to execute the binding assigner
(which injects external bindings into the statement pattern). The
consequence was potentially incorrect results (due to source source
selection with partial knowledge) as well as sub-optimal source
selection

Issue is covered with a unit test, which is failing in two places prior
to this change.
@hmottestad hmottestad enabled auto-merge January 25, 2025 08:29
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.

2 participants