Skip to content

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, Rust production, Python production)
  • Persistent (Fjall) models keep a full in-memory Oxigraph working set for query—plan RAM for the dataset size. (Performance)
  • Do not share one writable store directory across mutually untrusted processes as a coordination protocol. (FAQ)
  • Format v1 reopens across 0.4.x–0.13.x patch lines; export N-Quads before any future format-v2 migration. (Support policy)

RDF I/O

  • Unknown or ambiguous formats raise Unsupported / UnsupportedError; Oxiland does not guess syntax from document contents. (FAQ, I/O)
  • 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, FAQ)
  • Progressive loads can leave partial data on failure; use transactional / collecting load when atomic import is required. (FAQ)

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)

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.

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, Persistence)
  • 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)

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)