(Issues of reliability, authenticity, and latency are discussed in Link Reliability: URNs are Not the Answer)
See Also: Catalogs
Naming is as much a social problem as a technical problem. Requiring 100% persistent names is folly. (See: notes on reliable links) But there is a use for institutionalized names, going all the way back to Engelbart's requirement for Library service.
See also: notes on hyper-g p-flood consistency mechanism
N2C  - Given a URN, return a collection of meta-information on
                    the named resource. The format of this response is the
                    subject of another document.
             N2L  - Given a URN, return a URL
i.e. "given N find one L such that N --located-at--> L"
(where located-at is defined in a profile/schema about web names)
             N2Ls - Given a URN, return a set of URLs
i.e. "given N find some/all L such that N --located-at--> L"
             N2R  - Given a URN, return an instance of the resource.
i.e. GET, that is
     "given name N, find one artifact A such that N refers to A"
             N2Rs - Given a URN, return multiple instances of the resouce,
                    typically encoded using multipart/alternative.
hmmm... cool idea. need a collection of metadata to describe the
relationships between the artifacts (instances)
     "given name N, find some/all artifacts A[i]
         such that N refers to A[i] for each i"
             N2C  - Given a URN, return a collection of meta-information on
                    the named resource. The format of this response is the
                    subject of another document.
     "given N, find artifact A such that
           A ==describes--> N"
             N2Ns - Given a URN, return all URNs that are also identifers
                    for the resource.
      "given N, find all N' such that N' --alias--> N"
             L2R  - Given a URL, return the resource.
       same as U2R, i.e. GET
             L2Ns - Given a URL, return all the URNs that are identifiers for
                    the resource.
       "given L, find all N such that N --located-at--> L"
             L2Ls - Given a URL, return all the URLs for instances of
                    of the same resource.
       "given L, find all L' such that ??? "
             L2C  - Given a URL, return a description of the resource.
Notation:
     id -- rel --> id
     id refers to artifact
     artifact ==rel--> id
     id has rel artifact
Naming profile:
      id1 --located-at--> id2
      id1 --moved-permanently-to--> id2
      id1 --alias--> id2