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 |