(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