LiUSemWeb / HeFQUIN

HeFQUIN is a query federation engine for heterogeneous federations of graph data sources, including federations of knowledge graphs.
https://liusemweb.github.io/HeFQUIN/
Apache License 2.0
18 stars 1 forks source link

More efficient approach for intermediate-result data structures #4

Open hartig opened 3 years ago

hartig commented 3 years ago

In the current implementation the data structures for passing blocks of intermediate result elements from one operator to the next are fairly straightforward. They require the consuming operator to iterate over the result elements. However, some operators may benefit from an index-based or query-style access into such a data structure. To support this we need a more sophisticated implementation of the data structure, which makes the trade-off that populating such a data structure becomes more time consuming. Hence, such a more sophisticated implementation should be used only for operators that can really benefit from it. The purpose of this issue here is to implement such more sophisticated data structures, as well as a way for operators to indicate their preferred input data structure. A factory pattern may be used for the latter.

A similar thing may be done for the data structures that represent responses from the federation members.

hartig commented 3 years ago

Duplicate of #3 ?

hartig commented 3 years ago

While #3 is explicitly about another implementation of IntermediateResultBlock, this issue here is also about other data structures for passing around lists/sets of result elements (e.g., for responses of data fetch requests).

hartig commented 3 years ago

Now that we have the implementations of SolutionMappingsIndex in place, this TODO here can be attempted.