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
19 stars 3 forks source link

Merge classes for tpAdd, bgpAdd, and gpAdd #343

Open hartig opened 4 months ago

hartig commented 4 months ago

We have three separate classes for the three logical operators tpAdd, bgpAdd, and gpAdd, and another three classes for the left-outer counterparts ( tpOptAdd, bgpOptAdd, and gpOptAdd). This leads to quite a bit of code duplication in code related to these classes (e.g., in several places we have three if-else branches for them, where such branch does essentially the same thing but after casting to the particular class).

This issue is about merging these classes into two, one for the three inner-join versions (tpAdd, bgpAdd, and gpAdd) and one for the left-join versions (tpOptAdd, bgpOptAdd, and gpOptAdd). There may be some helper methods within the merged classes to be able to quickly ask whether the current graph pattern is a triple pattern/BGP.