Skip to main content

eval_select_communities

Function eval_select_communities 

Source
pub fn eval_select_communities(
    rete: &Rete,
    query: &str,
    round: Option<usize>,
) -> Result<CommunitySelect, SparqlError>
Expand description

Evaluate a SELECT per pyramid community, then merge: each community’s subjects are pushed into the plan as a VALUES binding, the partial rows are concatenated, and the solution modifiers (GROUP BY / ORDER BY / LIMIT / DISTINCT) run once on the union — so the rows are identical to eval_query’s answer. Sound only for subject-star queries over the default graph (every triple pattern sharing one subject variable; FILTERs allowed); anything else returns SparqlError::Unsupported rather than a possibly-wrong split answer. round picks the dendrogram granularity (None = the build’s tile-budget round). Also returns each community’s subject and row counts for display.