# Oxiland 0.3 compatibility report
Status: complete
Milestone: 0.3 — Query and results
Oxiland version: 0.3.0
Oxigraph version: 0.5.9
Inventory:
[`compatibility/inventory/redland-1.0.17-oxiland-0.3.json`](https://github.com/eddiethedean/oxiland/blob/main/compatibility/inventory/redland-1.0.17-oxiland-0.3.json)
## Claim
Oxiland 0.3 provides Redland-shaped SPARQL `Query` / `Update` builders with
dataset selection, algebra limit/offset, streaming ASK/SELECT/CONSTRUCT/DESCRIBE
results, SPARQL Results serialization (XML/JSON/CSV/TSV), and a documented
cancellation-token policy. Compatibility is scoped to the curated 0.3 inventory
slice and the tests linked from it.
## Evidence
| Result kinds ± empty ± failure | `tests/query.rs` |
| Limit/offset / dataset / unbound | `tests/query.rs` |
| Update + Fjall resync | `tests/query.rs::fjall_update_persists`; compensated mid-sync rollback and typed-literal canonical key tests in `src/persist.rs` |
| Results serialization | `tests/query.rs::serialize_ask_and_select_results_formats` |
| Graph result serialize | `serialize_graph_results_to_writer` in `tests/query.rs` |
| Early-stop streaming | `tests/query.rs::select_and_construct_support_early_stop` |
| Cancellation | `tests/query.rs::parse_versus_evaluation_errors` (cancel drains to `SparqlEvaluation`) |
| Inventory | `redland-1.0.17-oxiland-0.3.json` |
| Public API | `api/oxiland-public-api.txt` |
| Facade smoke | `compatibility/harness/sparql_smoke.py` |
| Design / ADRs | `docs/design/0.3-query-api.md`, ADR-009–ADR-012 |
## Not claimed
- C ABI query handles
- SPARQL protocol endpoint / HTTP `SERVICE`
- Order without `ORDER BY`
- Rasqal full differential oracle (smoke is facade-classified until expanded)
- Storage transactions (0.4)