comunica / comunica-feature-link-traversal

📬 Comunica packages for link traversal-based query execution
Other
8 stars 11 forks source link

Add different termination stages of traversal #50

Open rubensworks opened 2 years ago

rubensworks commented 2 years ago

Issue type:


Description:

While traversal queries will in some cases have to terminate very fast (but possibly miss results), other queries will be allowed to take more time (and possible find more results).

We could allow the user to configure the desired termination stage, either before or during query execution. For example, these stages could be defined in terms of link selectivity as:

  1. High selectivity and optimized indexes, such as type index and TREE
  2. Medium selectivity, such as traversing in an LDP container via ldp:contains
  3. Low selectivity, such as the cAll semantics (=follow all possible links)

E.g., if a developer selects stage 2, then the query engine will first focus on stage 1 (highly selective), and then work towards stage 2 (medium selective), but it will not do stage 3.

A mechanism like this should make it easier to demonstrate speed and termination for different selectivity stages.

github-actions[bot] commented 2 years ago

Thanks for the suggestion!