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

Re implement physical plan printer #352

Closed huanyu-li closed 3 months ago

huanyu-li commented 3 months ago

I see there is already a BaseForPhysicalOps.java in the code having getID(). Should we just use this one?

In addition, is the following way for printing lop information for a physical operator OK?

FILTERBindJoin (3) 
|    - bgpAdd (ID)  
|        - fm (ID) SPARQL endpoint at https://query.wikidata.org/sparql )
|        - pattern (HASHCODE) (bgp ?cc  <http://www.w3.org/2000/01/rdf-schema#label>  ?o .)
└──  req (0)     
       - fm (HASHCODE) SPARQL endpoint at http://dbpedia.org/sparql)    
       - pattern (HASHCODE) (bgp ?c  <http://www.w3.org/2002/07/owl#sameAs>  ?cc .
hartig commented 3 months ago

I see there is already a BaseForPhysicalOps.java in the code having getID(). Should we just use this one?

Yes. In Malaga I asked you to already add this function to the physical operators as well, anticipating that we would need it in the same way as we needed it for the logical operators.

In addition, is the following way for printing lop information for a physical operator OK? [...]

Thanks for asking! I would prefer:

FILTERBindJoin (3)
|  - lop (ID) bgpAdd
|  - fm (ID) SPARQL endpoint at https://query.wikidata.org/sparql
|  - pattern (HASHCODE) (bgp ?cc  <http://www.w3.org/2000/01/rdf-schema#label>  ?o .)
|
└──  req (0)     
       - fm (HASHCODE) SPARQL endpoint at http://dbpedia.org/sparql
       - pattern (HASHCODE) (bgp ?c  <http://www.w3.org/2002/07/owl#sameAs>  ?cc .)
huanyu-li commented 3 months ago

When printing logical operators as part in a physical plan, do we just need to print unary logical operators?

hartig commented 3 months ago

I just wanted to say 'yes', but then I thought that it may sometimes be convenient to see for which, say, logical union op and particular physical union op has been created. In this sense, my answer now is 'no'. Better print the logical ops for every type of physical op.