Skip to content

Drop the reasonable rdf12-passthrough fork patch — upstream #50 merged, 0.4.3/0.4.4 released (E-011 cleanup) #39

Description

@styk-tv

Summary

pgRDF still consumes reasonable via a [patch.crates-io] fork pin
(styk-tv/reasonable@rdf12-passthrough, commit 8974c110). The reason that fork
exists has been resolved upstream for ~5 weeks, so the patch can now be dropped
in favour of the released crate. Tracked internally as ERRATA.v0.4 E-011
(see Cargo.toml).

Current state (v0.6.17, latest)

Cargo.toml:

  • reasonable = { version = "0.4", features = ["rdf-12"] }
  • [patch.crates-io] reasonable = { git = "https://github.com/styk-tv/reasonable", branch = "rdf12-passthrough" }

Cargo.lock:

  • reasonable 0.4.1 from git+…rdf12-passthrough#8974c110…

The fork commit (8974c110, 2026-05-15) adds a feature-gated TermRef::Triple(_)
arm so reasonable compiles when shacl 0.3.x (via rudof_rdf) hard-enables
oxrdf/rdf-12 workspace-wide.

Why it can be dropped now

So the fork is now functionally identical to a released crate, and the git
dependency is pure supply-chain debt (hurts reproducibility / SLSA cleanliness for
no functional gain).

Proposed change

  1. Confirm the released crate exposes the feature pgRDF opts into (PR Aggregates over expressions + BIND-produced variables (SUM(?a*?b), SUM over Extend output) #50 added it
    to lib/Cargo.toml; verify the published feature name matches features = ["rdf-12"]).
  2. Remove the [patch.crates-io] reasonable = … block.
  3. Pin reasonable = { version = "0.4.4", features = ["rdf-12"] } (or current).
  4. Drop the E-011 comment block.

Verification

  • cargo build / cargo check clean with no [patch.crates-io] for reasonable.
  • cargo tree -i reasonable shows the crates.io source (not git+…).
  • Cargo.lock reasonable source is registry+…, not git+….

Notes

  • Functionally a no-op (the fork is the merged PR), so no behaviour change is
    expected — this is build-hygiene / supply-chain.
  • Filed as part of moving cross-repo NOTIFIES → GitHub issues.

Metadata

Metadata

Assignees

No one assigned

    Labels

    duplicateThis issue or pull request already existsenhancementImprovement to existing behaviour

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions