zincite-query 0.5.0

Source-preserving MiniZinc inspection and data queries
Documentation

zincite-query

Select MiniZinc source, inspect semantic facts, calculate reports and construct explicit data-edit candidates. Native results retain source locations and completeness; shared expressions are read and evaluated by Zirql. Both for/in/if and |/where comprehensions share tuple/list patterns and scoped predicates. Native model facts and source-preserving Data edits stay with Zincite.

Text programs use Zirql's direct expression steps for filtering, matching, ordering, native dictionaries, existence, fixed points and paths. Program::from_values uses direct core ordering, mapping, existence and fixed-point steps alongside typed ProgramNative::Query leaves. Native filtering remains available through those Query leaves. Direct typed Filter, Match and Paths payloads are unsupported. NativeBody retains nested native results. Zincite's adapter supplies kinds, subjects, identity, scalar keys, result shapes and complete-observation policy. It retains statement/binding bookkeeping, model ownership and edit validation. See the adapter boundary and Zirql embedding guide for the development API beyond registry Zirql 0.2.0.

Use a current stable Rust toolchain. Add the library with:

cargo add zincite-query@0.1.2

The standalone zincite-query command uses the same options and exit codes as zincite query:

cargo install --locked --version '=0.1.2' zincite-query
zincite-query --help

See the reader guides, library reference and Rust API.

The archive includes the query examples under tests/fixtures/. Repository guide commands using crates/zincite-query/tests/fixtures/ run from a v0.1.2 checkout; inside this crate, use tests/fixtures/ instead. The examples/ directory is included in the package too.

The package includes examples/fixtures/grow-wedding.zq with a complete synthetic model and data file. The query grows guest members, records, groups, tables and capacities as one validated candidate, using native source copies to retain comments and spelling. The wedding growth guide introduces the input, query, supported shapes and preview/save/write commands. These operations are available since Zincite 0.1.2. Build the v0.1.2 checkout with cargo build --release -p zincite -p zincite-query from the repository root. The grow-wedding Rust example remains an optional illustration of direct literal views and source-edit APIs, with its own fixed data shape and limits.

Zincite targets MiniZinc 2.10.1 and does not run a compiler or solver. Read the support limits before relying on semantic results. Formatting and interfaces may change in the 0.1 series.

Licensed under MIT or Apache-2.0, at your option.

Collection value nodes

Development ProgramValue reports build Zirql's Filter, Head, Tail, Reverse and Check nodes directly. Bound/check arguments are expressions; Reduce { operator: ValueReducer::Length, .. } supplies count/length. Native query leaves keep their owner/completeness contracts. See the host collection reference and runnable recipe. Data admission retains its closed subset.