Skip to content

Federation

Read-only SPARQL endpoint for cross-instance federation (Layer 1 of ADR-0023).

Auto-generated docs

When trails is installed, run ENABLE_MKDOCSTRINGS=true ./scripts/docs-build for full docstring-extracted reference.

FederationEndpoint

Symbol Signature Description
FederationEndpoint FederationEndpoint(store, config: FederationConfig \| None = None, cost_tracker=None, policies: list[dict] \| None = None) Wraps a kernel Store and exposes Cedar-gated, cost-tracked SPARQL query evaluation
.execute .execute(sparql: str, *, principal: str, ...) -> list[dict] Execute a validated federated SPARQL query

Configuration

Symbol Signature Description
FederationConfig FederationConfig(enabled: bool = False, read_only: bool = True, max_query_time_ms: int = 30000, max_requests_per_minute: int = 60) Configuration from [federation] section of trails.toml

Validation

Symbol Signature Description
validate_federation_query validate_federation_query(sparql: str) -> None Validate a SPARQL query is read-only (SELECT/ASK/CONSTRUCT/DESCRIBE only). Raises FederationQueryError on forbidden keywords
FederationQueryError subclass of TrailsError Raised when a federated SPARQL query is rejected

Peer negotiation

Symbol Signature Description
FederatedQueryEngine class Engine for executing queries across federated peers
negotiate_peer_baseline function Negotiate a shared vocabulary baseline between federation peers