A URI is a link, is a path, is a request/response route (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/06-uri-as-link-as-path-as-route.md) · session 2026-07-08 · discussion: Talk: Rdf And Acequia

Stephen's move (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 URI can be a link. which is a path, which ultimately is a request/response route/path." This note unpacks the identity chain, because it unifies the previous five notes into one object seen at four zoom levels.

## The four faces | Face | The URI as... | Whose vocabulary | Note | |---|---|---|---| | Name | an identifier that denotes a resource | RDF, RFC 3986 | [00](https://redfish.acequia.io/guerin/.agents/f0d2c5e4-cec9-4567-92bd-dbbc62937c9e/2026-07-08/notes/00-rdf-primer-uris-and-guids-in-rdf.md) | | Link | an edge you can follow from wherever you hold it | hypertext, acequia-links | [01](https://redfish.acequia.io/guerin/.agents/f0d2c5e4-cec9-4567-92bd-dbbc62937c9e/2026-07-08/notes/01-acequia-link-as-rdf-statement.md), [05](https://redfish.acequia.io/guerin/.agents/f0d2c5e4-cec9-4567-92bd-dbbc62937c9e/2026-07-08/notes/05-make-link-worked-example-wires-mp4.md) | | Path | a walk written down: segment by segment through the namespace | Plan 9, [uri-bind-mount](https://redfish.acequia.io/guerin/.agents/874fce5b-9c8b-4b23-b2ed-429148c6c4b7/2026-04-23/notes/uri-bind-mount.md), mounts | [03](https://redfish.acequia.io/guerin/.agents/f0d2c5e4-cec9-4567-92bd-dbbc62937c9e/2026-07-08/notes/03-acequia-platform-identifier-survey.md) | | Route | the transaction that actually resolves it, this time | Cramer handshake, origin-routing | [04](https://redfish.acequia.io/guerin/.agents/f0d2c5e4-cec9-4567-92bd-dbbc62937c9e/2026-07-08/notes/04-least-action-paths-cramer-handshake.md) | Every URI held anywhere is already a latent link: holding the string is holding the tail of an edge whose head is the resource. Writing it into a note makes the edge visible; make-link promotes it to a first-class statement; dereferencing it makes it a route. Same object, increasing commitment.

## Why "path" is the hinge The path face is what joins the static and dynamic readings. A URI is not a flat token; it is a **walk written down**: `https://redfish.acequia.io / guerin / .agents / <GUID> /` narrows origin, then parciante, then agents base, then bead, one governance boundary per segment (the onboarding page's anatomy figure, read dynamically). And resolution actually walks it: DNS resolves the authority, the mount table longest-prefix-matches the front of the path, the route registry pattern-matches the rest, a handler consumes what remains. Each segment consumption is a small request/response against some resolver, so the big transaction (note 04) is composed of segment-wise transactions. The name is a *folded route*; dereferencing unfolds it against whatever topology exists right now. Two consequences fall out: 1. **Denotation is operational.** What a URI means is defined by what the handshake returns; a URI names the equivalence class of routes that resolve it, and the Cramer transaction picks the representative per request. This is why cool URIs matter: keeping the name stable while the routes underneath churn is the entire contract. 2. **Links compose into paths, paths into routes.** An acequia-link (URI to URI) is one edge; a chain of them is a path through the commons; the hubler wires are the paths that carried enough flux to persist. The paths-as-event-bus design direction (`874fce5b`, awaiting Stephen) is this face taken seriously: if a path is a route, then watching a path IS subscribing to its traffic.

## Where the identity is loose (kept honest) - A URN-style URI (or a bare `urn:uuid:`) is a name that is *not* a folded route; the chain holds only for locatable URIs. That is exactly the URL/URN split from the [Venn/Euler diagrams](https://redfish.acequia.io/guerin/.agents/3bf89750-6b01-41ba-8a98-3db7136d0f56/2026-07-08/notes/found-images-uri-url-urn.md). - The fragment (`#`) never travels: part of the name, never part of the route. Fitting, since our `#name` sigil is the read-edge, resolved by the holder. - A link-as-resource (note 05) and a link-as-latent-edge differ in identity: the first has its own GUID/URI, the second is anonymous until promoted. RDF's blank-node-to-skolem move, again.

## Open questions (for the dock) 1. If a URI is a folded route, should path segments be *designed* as resolver boundaries on purpose (each segment = one mount/one authority handoff), making the governance anatomy explicit in the grammar? 2. Does the segment-wise reading argue for per-segment capability checks (each hop attenuates scope, like a token chain walking `parent` pointers), unifying note 03's chains with path resolution? 3. paths-as-event-bus: is subscribe-to-a-path just a standing offer wave that repeatedly completes, and is that the primitive the docks already approximate by polling?

## References (bead cross-links) - Bead: 874fce5b · [canonical](https://redfish.acequia.io/guerin/.agents/874fce5b-9c8b-4b23-b2ed-429148c6c4b7/) - Bead: Uri Guid Discussion · [canonical](https://redfish.acequia.io/guerin/.agents/3bf89750-6b01-41ba-8a98-3db7136d0f56/)