Page MenuHomePhabricator

wdqs-proxy: Allow the usage of the Qlever pathSearch SERVICE
Closed, ResolvedPublic

Description

Qlever provides an alternative to the Blazegraph GAS service. The Qlever path search service provides similar features. Users of WDQS should be able to use this service. The current implementation of the wdqs-proxy rejects these queries like the following

PREFIX pathSearch: <https://qlever.cs.uni-freiburg.de/pathSearch/>

SELECT ?start ?end ?path ?edge WHERE {
  SERVICE pathSearch: {
    _:path pathSearch:algorithm pathSearch:allPaths ;  # Specify the algorithm
           pathSearch:source <sourceNode> ;            # Specify the source node(s)
           pathSearch:target <targetNode> ;            # Specify the target node(s)
           pathSearch:pathColumn ?path ;               # Bind the path variable
           pathSearch:edgeColumn ?edge ;               # Bind the edge variable
           pathSearch:start ?start ;                   # Bind the edge start variable
           pathSearch:end ?end ;                       # Bind the edge end variable
    {SELECT * WHERE {
        ?start <predicate> ?end.                       # Define the edge pattern
    }}
  }
}

due to it being filtered by the federation allow list.

Support for Qlever's path search feature should be configurable.

AC:

  • pathSearch are correctly forwarded to QLever.
  • maxDepth` is limited to 5, while analysis to determine an appropriate threshold is concluded (T429833)

Follow up work:
Implement a constraint on max depth of the search once analysis is finalized T429833: Need to determine the maxDepth limit for QLever's pathSearch.

Event Timeline

trueg changed the task status from Open to In Progress.Jul 13 2026, 1:34 PM
trueg claimed this task.
trueg triaged this task as Medium priority.

If it is just about allowing SERVICE <https://qlever.cs.uni-freiburg.de/pathSearch/>, in theory we could simply add the URI to the federation allowlist. Since it is not a "real" federation endpoint, but rather a "virtual" one, we could maybe do it as a configurable list of exceptions to the federation allow list filter.

maxDepth support has been merged into Qlever's main branch. The wdqs-proxy now enforces the maximum allowed values for maxDepth.