- From: Melvin Carvalho <melvincarvalho@gmail.com>
- Date: Mon, 26 Jan 2026 15:03:59 +0100
- To: Ted Hardie <ted.ietf@gmail.com>
- Cc: Martin J. Dürst <duerst@it.aoyama.ac.jp>, urn@ietf.org, "uri@w3.org" <uri@w3.org>
- Message-ID: <CAKaEYhKQE0ZNt15THDNjAiofHr3Kgr6+1mn2o-6cV8GuHjek6w@mail.gmail.com>
po 5. 1. 2026 v 12:14 odesílatel Ted Hardie <ted.ietf@gmail.com> napsal:
> Howdy,
>
> I agree with Martin that this seems to be a poor fit for the URN
> properties. If something like urn:local:version does not mean the same
> thing in all contexts, this doesn't seem like it's a good candidate for
> using a URN.
>
> I also agree with him that you could probably create a URI scheme that had
> the relevant properties, using something like "local-scope-data" as the
> name of the scheme; you could probably also reuse the NSS definitions from
> the URN documents as syntax if those truly do match what you want.
>
> I am somewhat skeptical, though, that trying to create a single scheme to
> cover this set of use cases:
>
> * Distributed configs and state machines (urn:local:version,
> urn:local:pool)
> * Configuration artifacts (urn:local:database, urn:local:cache)
> * JSON-LD and other graph-shaped documents requiring local entity
> references
> * Multi-tenant systems with per-context identifiers
> * Structured data processing by generic agents (including, but not limited
> to, AI systems)
>
> is going to be easy or successful. At best, i think you will have created
> a single-bit context marker for an opaque string, with all the relevant
> semantics being utterly opaque at the URI layer. I think that means that
> the advantage over this:
>
> Ad-hoc names ("version", “config”) lack URI semantics and machine cues
>
> will be minimal.
>
> If you have a single use case that you believe will drive adoption, I'd
> suggest starting with that single protocol context, using a provisional
> registration of something like local-scope-data, and see if it gets taken
> up. If it does, you can use that experience to review the initial
> definition and propose other contexts of use.
>
> best regards,
>
> Ted Hardie
>
Thank you all for the thoughtful feedback. I agree with the conclusion that
URN semantics are not an ideal fit for context-scoped identifiers, and that
a URI scheme may be the more appropriate direction.
I wanted to briefly share an observation that motivated the original
proposal and may be relevant to whether a URI scheme is worth pursuing.
In two separate, unprompted cases, different large language models
generating structured data independently produced identifiers of the form
`urn:local:` and, in another instance, `local://`. When asked to explain,
the models described these as an intuitive way to signal "local by design".
I appreciate we are somewhat in the wild west in this regard still. But it
is likely that engineering on the internet will increasingly use such tools.
I don’t present this as authoritative input, LLMs are not standards bodies.
However, the convergent emergence is interesting: systems trained on
existing URI/URN specifications nonetheless reach for a “local” identifier
when faced with this gap.
This suggests:
1. There is a real unmet need for signaling context-scoped identity
2. “local” is an intuitive and discoverable name for that concept
3. Such identifiers are likely to appear in generated data regardless of
formal standardization
Given the feedback in this thread, would there be interest in exploring
`local:` as a URI scheme (not URN), incorporating the constraints and
concerns raised here?
Best regards,
Melvin
>
> On Mon, Jan 5, 2026 at 6:13 AM Martin J. Dürst <duerst@it.aoyama.ac.jp>
> wrote:
>
>> Hello Melvin, others,
>>
>> Reading the Introduction to RFC 6963 (urn:example: URN namespace,
>> https://www.rfc-editor.org/rfc/rfc6963.html#section-1), and given the
>> general idea that URNs should be stable and unique, I'm not sure at all
>> that a urn:local: namespace is a good idea.
>>
>> Your explanations seem to fit much more with a "local:" URI scheme. URI
>> schemes have much less restrictions on their semantics than URN
>> namespaces. (copying the uri list)
>>
>> Another issue is that "local" isn't very clearly defined. Many mime
>> media types can contain information from different origins; if "local"
>> identifiers from different origins get mixed, there may be conflicts.
>>
>> Regards, Martin.
>>
>> On 2026-01-03 04:34, Melvin Carvalho wrote:
>> > Hello,
>> >
>> > I would like to propose a new URN namespace for explicitly
>> context-scoped
>> > identifiers:
>> >
>> > - urn:local:
>> >
>> > PROBLEM
>> >
>> > In many systems that process structured data (e.g., JSON-LD documents,
>> > ledgers, configuration artifacts, protocol messages), there is a
>> recurring
>> > need for identifiers that are intentionally local to a defined scope.
>> >
>> > Existing approaches have drawbacks:
>> >
>> > * http(s) URLs imply dereferenceability, even when none is intended
>> > * did: methods require resolvers and global identity semantics
>> > * RDF blank nodes (_:) are RDF-specific and opaque outside that
>> ecosystem
>> > * urn:example: is reserved for documentation only (RFC 6963)
>> > * Ad-hoc names ("version", “config”) lack URI semantics and machine cues
>> >
>> > What is missing is a clear, protocol-agnostic way to signal "this
>> > identifier is local by design."
>> >
>> > PROPOSAL
>> >
>> > Define urn:local: as a URN namespace for identifiers whose meaning is
>> > explicitly scoped to a containing context.
>> >
>> > Examples:
>> >
>> > * urn:local:version — "version" of software or specification
>> > * urn:local:db:primary — primary database in this configuration
>> > * urn:local:user:alice — user "alice" within this system context
>> >
>> > SEMANTICS
>> >
>> > When an agent encounters urn:local:<NSS>:
>> >
>> > 1. No external resolution MUST be attempted
>> > 2. Interpretation MUST be limited to the applicable scope
>> >
>> > The scope is defined by the containing artifact (e.g., document,
>> message,
>> > configuration unit) and/or by an application-specific profile that
>> > establishes the processing context.
>> >
>> > RATIONALE
>> >
>> > URNs are syntactically absolute identifiers, but this proposal uses that
>> > property to provide unambiguous signaling.
>> >
>> > urn:local: is analogous to relative references in URI processing: the
>> > identifier is globally well-formed, while its interpretation is
>> > intentionally context-dependent.
>> >
>> > This follows the precedent of RFC 6963 (urn:example:), which introduced
>> a
>> > utility namespace for a narrowly defined, non-resolvable purpose.
>> >
>> > USE CASES
>> >
>> > * Distributed configs and state machines (urn:local:version,
>> urn:local:pool)
>> > * Configuration artifacts (urn:local:database, urn:local:cache)
>> > * JSON-LD and other graph-shaped documents requiring local entity
>> references
>> > * Multi-tenant systems with per-context identifiers
>> > * Structured data processing by generic agents (including, but not
>> limited
>> > to, AI systems)
>> >
>> > SYNTAX
>> >
>> > urn:local:<NSS>
>> >
>> > Where <NSS> follows RFC 8141 rules for Namespace Specific Strings.
>> > Hierarchical naming (e.g., urn:local:foo:bar) would be permitted.
>> >
>> > QUESTIONS FOR THE LIST
>> >
>> > 1. Is there interest in pursuing a short Internet-Draft for this?
>> > 2. Are there existing mechanisms that already address this cleanly?
>> > 3. Any concerns with the local NID or the proposed semantics?
>> >
>> > If there is interest, I am happy to draft a specification.
>> >
>> > Best regards,
>> >
>> > Melvin Carvalho
>> >
>> > References:
>> > RFC 8141: Uniform Resource Names (URNs)
>> > RFC 6963: A URN Namespace for Examples (urn:example:)
>> >
>> >
>> > _______________________________________________
>> > urn mailing list -- urn@ietf.org
>> > To unsubscribe send an email to urn-leave@ietf.org
>>
>> _______________________________________________
>> urn mailing list -- urn@ietf.org
>> To unsubscribe send an email to urn-leave@ietf.org
>>
>
Received on Monday, 26 January 2026 14:04:16 UTC