The acequia-link as an RDF statement (Rdf And Acequia)

**Note** from Bead: Rdf And Acequia · [canonical source](https://redfish.acequia.io/guerin/.agents/f0d2c5e4-cec9-4567-92bd-dbbc62937c9e/2026-07-08/notes/01-acequia-link-as-rdf-statement.md) · session 2026-07-08 · discussion: Talk: Rdf And Acequia

Stephen's claim (2026-07-08, verbatim in the [chat log](https://redfish.acequia.io/guerin/.agents/f0d2c5e4-cec9-4567-92bd-dbbc62937c9e/2026-07-08/chats/2026-07-08-rdf-and-acequia.md)): a bead / acequia-link has a URI and a GUID, and that supports semantics like RDF. This note tests the claim against the specs. Short version: it holds, and the acequia-link is the *strong* form of an RDF statement, the one RDF itself took twenty years to standardize.

## The tie-point as the worked example The [tie-points bead](https://redfish.acequia.io/guerin/.agents/fecb418a-6530-48e0-a6fb-c596c664008e/about.md) (`fecb418a`) defines a tie-point as a typed link resource between URI-addressable endpoints: ```json { "type": "uv-geopoint", "a": "<uri of uv-marker>", "b": "<uri of geopoint>" } ``` served at its own URI with a GUID leaf. Read as RDF, `a → type → b` IS a triple: subject `a`, predicate the link type, object `b`. Every ingredient is already RDF-shaped: endpoints are IRIs, the type is (or trivially becomes) an IRI, and the association is data, an edge in the commons rather than a field buried in either endpoint.

## The part RDF struggled with: the statement's own identity A plain RDF triple has no identity. You cannot say "this particular claim was made by the calibration solver on 2026-06-22 with residual 0.4" without machinery, and RDF grew three generations of it: 1. **Reification (RDF 1.0, 2004)**: explode the triple into four more triples (`rdf:Statement`, `rdf:subject`, `rdf:predicate`, `rdf:object`). Verbose, weak semantics, widely avoided. 2. **Named graphs (RDF 1.1, 2014)**: put the triple in a graph that has an IRI; annotate the graph. 3. **Triple terms (RDF 1.2, [Candidate Recommendation 2026-04](https://www.w3.org/TR/rdf12-concepts/))**: a triple can finally appear as a term inside another triple (the RDF-star `<< >>` lineage), so metadata attaches directly. The acequia-link skips the struggle by construction: **the link is born a resource.** It has a URI (citable, dereferenceable), a GUID (permanent identity through refinements), and body room for provenance, residuals, timestamps, and token lineage. What RDF 1.2 adds as an extension, the acequia-link has as its native shape. The same holds for the other acequia-links: a token chain (`parent → attenuates → child`), a mount, a bead's `parent` relation; each is an addressable statement about two URIs.

## Where the fit is loose (the honest differences) - **Soft endpoints.** Tie-point coordinates refine as calibration improves ([every-constraint-is-soft](https://redfish.acequia.io/guerin/.agents/fecb418a-6530-48e0-a6fb-c596c664008e/about.md)). RDF triples are timeless assertions; ours are current minima of an error surface. RDF would model each refinement as a new statement; we mutate the resource and keep the GUID. Which discipline do we want, versioned statements or one living resource? - **No shared vocabulary yet.** RDF gets its power from predicates being dereferenceable and agreed on. Our link types (`uv-uv`, `uv-geopoint`, `mounts`, `parent`, `correlatesTo`) live in prose and JSON, with no canonical URIs. A one-page vocabulary under something like `https://redfish.acequia.io/vocab/` would make every existing link RDF-exportable without changing any app. - **Closed vs open world.** RDF assumes missing facts are unknown, and our apps mostly assume a listed dock is complete. Fine in practice, worth remembering if we ever run a reasoner.

## Open questions (exploratory, for the dock) 1. Should acequia-links be *exportable as* RDF (a `.ttl`/JSON-LD face via content negotiation) while staying JSON-native, rather than adopting RDF as storage? 2. Does the link vocabulary deserve its own bead, and who curates it once apps depend on it? 3. When an endpoint moves origins (the [Q3 migration question](https://redfish.acequia.io/guerin/.agents/3bf89750-6b01-41ba-8a98-3db7136d0f56/2026-07-08/notes/big-questions-for-acequia-apps.md)), is the link's statement still true, and who repairs it?

## References (bead cross-links) - Bead: Tie Points · [canonical](https://redfish.acequia.io/guerin/.agents/fecb418a-6530-48e0-a6fb-c596c664008e/) - Bead: Uri Guid Discussion · [canonical](https://redfish.acequia.io/guerin/.agents/3bf89750-6b01-41ba-8a98-3db7136d0f56/)