Skip to content

Proposal: urn:local: namespace for context-local identifiers #4

@melvincarvalho

Description

@melvincarvalho

urn:local: - A URN Namespace for Context-Local Identifiers

Problem

In the age of LLMs and context-aware computing, we need a simple way to express "this identifier is local to the current context."

Current approaches have issues:

  • http:// URLs imply dereferenceability (404 errors)
  • did: methods require resolvers
  • _: blank nodes are cryptic (RDF-specific)
  • urn:example: is for documentation only
  • Custom namespaces lack universal meaning

Proposal

Adopt urn:local: as a de facto standard for context-local identifiers:

urn:local:treasury     → "treasury" in THIS ledger/document/system
urn:local:config       → "config" in THIS context
urn:local:user:alice   → "alice" in THIS namespace

Why This Matters for LLMs

Property Benefit
Self-documenting LLM instantly understands scope
No resolution needed Won't hallucinate external lookups
Context-native Matches how LLMs process information
Collision-free Can't conflict with global identifiers
Portable Copy document anywhere, meaning preserved

Semantics

When an agent (human or AI) encounters urn:local:X:

  1. Do NOT attempt to resolve externally
  2. Interpret X within the current document/context/system
  3. Treat as equivalent to a local variable or internal reference

Use Cases

  • WebLedgers: urn:local:treasury, urn:local:amm
  • Config files: urn:local:database, urn:local:cache
  • JSON-LD documents: Local entity references
  • LLM contexts: Scoped identifiers in prompts
  • Multi-tenant systems: Per-tenant namespacing

Specification

urn:local:<local-name>

where:
- "urn" = Uniform Resource Name scheme
- "local" = Namespace Identifier (NID) indicating local scope
- <local-name> = Any valid URN Namespace Specific String

Next Steps

  1. Document usage in WebLedgers
  2. Create standalone spec page
  3. Seek adoption in related projects
  4. Consider W3C Community Group or informal RFC

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions