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 2 forks source link

Framework for changing plan printers #335

Closed hartig closed 4 months ago

hartig commented 4 months ago

@huanyu-li So fat, the printing of plans was implemented via static methods. This PR changes that. It introduces a framework for employing different plan printers and moves the existing functionality of plan printing as an implementation of this framework. In particular, this PR introduces two Java interfaces (LogicalPlanPrinter and PhysicalPlanPrinter) and corresponding classes (TextBasedLogicalPlanPrinterImpl and `TextBasedPhysicalPlanPrinterImpl) that, for the moment, do the same as was done in the static methods. Now, you can change the behavior of these classes to make the text-based printout look nicer, and you can create other classes that implement the two new interfaces in other ways (e.g., to "print" an RDF-based representation of the plans).

/cc @keski