Class IrTransforms
java.lang.Object
org.eclipse.rdf4j.queryrender.sparql.ir.util.IrTransforms
IR transformation pipeline (best‑effort).
Design: - Transform passes are small, focused, and avoid mutating existing nodes; they return new IR blocks. - Safety
heuristics: path fusions only occur across parser‑generated bridge variables (names prefixed with
_anon_path_) so user‑visible variables are never collapsed or inverted unexpectedly. - Ordering matters:
early passes normalize obvious shapes (collections, zero‑or‑one, simple paths), mid passes perform fusions that can
unlock each other, late passes apply readability and canonicalization tweaks (e.g., parentheses, NPS orientation).
The pipeline is intentionally conservative: it prefers stable, readable output and round‑trip idempotence over
aggressive rewriting.-
Method Summary
Modifier and TypeMethodDescriptionstatic IrSelecttransformUsingChildren(IrSelect select, TupleExprIRRenderer r) Apply the ordered transform pipeline to the WHERE block of a SELECT IR.
-
Method Details
-
transformUsingChildren
Apply the ordered transform pipeline to the WHERE block of a SELECT IR. This function uses IrNode#transformChildren to descend only into BGP-like containers, keeping subselects intact.
-