oxiland 0.13.0

Embedded RDF datasets, SPARQL, persistence, and streaming I/O for Rust
Documentation
# Known limitations

This page indexes intentional product boundaries. Prefer the linked guide for
detail; do not treat silence elsewhere as support.

## Persistence and process model

- Oxiland is an **embedded** library, not a network database, multi-tenant
  server, or managed backup service.
  ([FAQ]faq.md, [Rust production]rust-production.md,
  [Python production]python-production.md)
- Persistent (Fjall) models keep a full in-memory Oxigraph working set for
  query—plan RAM for the dataset size.
  ([Performance]performance.md)
- Do not share one writable store directory across mutually untrusted processes
  as a coordination protocol. ([FAQ]faq.md)
- Format v1 reopens across **0.4.x–0.13.x** patch lines; export N-Quads before
  any future format-v2 migration. ([Support policy]../support.md)

## RDF I/O

- Unknown or ambiguous formats raise `Unsupported` / `UnsupportedError`; Oxiland
  does not guess syntax from document contents. ([FAQ]faq.md, [I/O]io.md)
- The default graph target **rejects** named-graph input. Rust can use
  `GraphTarget::Dataset`; Python does not expose that target today—use
  `graph=` or programmatic named-graph CRUD.
  ([Python data]python-data.md, [FAQ]faq.md)
- Progressive loads can leave partial data on failure; use transactional /
  collecting load when atomic import is required. ([FAQ]faq.md)

## CLI

- Memory mode is one-shot for multi-step workflows that expect a durable path.
- Dataset-style N-Quads/TriG import has the same named-graph target limitation
  as the default graph load path; restore multi-graph backups with Rust/Python
  `import_nquads` APIs. ([CLI guide]cli.md)

## C ABI

- `oxiland-capi` is `publish = false` (build from a repository checkout).
- Remaining fail-closed behavioral gaps (stream maps, namespace tracking,
  serializer/factory callbacks, and related limits) are listed in
  [C ABI limitations]c-abi-limitations.md.

## Optional storage backends

- Backend selection fails closed: unknown names and known-but-not-compiled
  optional backends never silently fall back to Fjall or memory.
  ([FAQ]faq.md, [Persistence]persistence.md)
- Physical layouts are not interchangeable; migrate with standards RDF or
  `Model::copy_to`.

## Python package

- Not an rdflib adapter and not layered on `oxiland-capi`.
- Published packages are wheels only (no sdist on PyPI).
  ([Python installation]python-installation.md)

## Performance claims

- Competitive parity (ADR-028) and suite-wide faster-than-Redland (ADR-029)
  are distinct claim classes; both are closed on tip evidence. Host-scoped
  highlight tables remain separately scoped when cited alone.
  ([Performance claims policy]performance.md#claims-policy)