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

Links to TypeIndexes in seed URIs are not used #167

Open
RubenEschauzier opened this issue Feb 6, 2025 · 1 comment
Open

Links to TypeIndexes in seed URIs are not used #167

RubenEschauzier opened this issue Feb 6, 2025 · 1 comment
Labels

Comments

@RubenEschauzier
Copy link
Contributor

Issue type:

  • 🐛 Bug

Description:

When a URI is retrieved from the query, it is dereferenced during the optimize stage of ActorQueryProcessSequential. At this stage, the context does not contain KeysQueryOperation.operation. Consequently, the test for ActorExtractLinksSolidTypeIndex fails, preventing it from being invoked for the URI's content.

This becomes relevant when the query URI points to /profile/card#me, as seen in the example below:

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX snvoc: <https://solidbench.linkeddatafragments.org/www.ldbc.eu/ldbc_socialnet/1.0/vocabulary/>
SELECT ?messageId ?messageCreationDate ?messageContent WHERE {
  ?message snvoc:hasCreator <https://solidbench.linkeddatafragments.org/pods/00000000000000000933/profile/card#me>;
    snvoc:content ?messageContent;
    snvoc:creationDate ?messageCreationDate;
    snvoc:id ?messageId.
  { ?message rdf:type snvoc:Post. }
  UNION
  { ?message rdf:type snvoc:Comment. }
}

As a result, the engine does not extract triples linking to publicTypeIndex or privateTypeIndex, meaning the TypeIndex content is not utilized. Furthermore, when the engine navigates to the /settings/ directory, which contains a link to the TypeIndex via ldp:contains, the TypeIndex file will be dereferenced. However, ActorExtractLinksSolidTypeIndex will not process it, as it requires an explicit link to the TypeIndex file rather than the file itself.

In addition (although this typically shouldn't matter), if the /settings/ URI is ever dereferenced before /profile/card#me, the TypeIndex will be ignored.

@rubensworks
Copy link
Member

Very good catch!

One possible solution would be to include KeysQueryOperation.operation in the context during preprocessing as well.
This would not yet be the final query operation, but in this case this should not cause issues (as discussed offline).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Triage
Development

No branches or pull requests

2 participants