Loading...
 

URI axiom

The World Wide Web was built on some rules, mostly naming conventions like the use of "http://", the use of "." in names (like ".com"), domain names that are case-insensitive, and identifier strings that (after the slash) are case-sensitive. Those can't change now. Other things have become common like the use of underscores ("_") and plus signs ("+") for spaces, date conventions like "/2005/11/" for November 2005. Each of these has implications for how to pronounce or transform the name. "November 2005" for instance is nowhere stated but is obvious from the name.

mixed results


Some rules have disappeared. The use of dubya dubya dubya as a prefix has become deprecated, mass media rarely uses this.

When web addresses (called Universal Resource Identifiers or URIs) obey these rules they are easier to remember, repeat and memorize. It's common to see names that obey and disobey the rules at the same time:

http://infravio.com/news_events/2005/11/oasis-melds-sci-fi-soa.html for instance uses a dash ("-") in the page name but an underscore in the directory name "news_events". It uses all lowercase even for acronyms like OASIS and SOA, dates are standard, and the use of dubya dubya dubya is optional. The page itself includes RSS links and is so short it would easily fit on a worn device screen.

Berners-Lee's axioms


Because the transformations and substitutions are not reliable, they can't be relied on by coders - even if humans can get by with them. The W3 has a set of URI Axioms by Tim Berners-Lee, one of which is that extracting facts like "2005 November" is always a bad idea - he prefers the opaque URI that requires looking up names in a database instead of using the name strings as a code.

However, it's been noted since, especially by Jeff Bone in Opacity for the Stupid, that the real problem is code assuming things and then failing because it is wrong. If humans are the ones assuming things, not code, it's far less of a problem. So Tim Berners-Lee's URI axiom list should only apply to programs, not people.

Better axioms


People have poor memory, unlike computers. Really really strict rules are far better since they make the names very hard to forget. It's not so bad to have some inconsistencies as humans fail anyway, and if they aren't failing due to a URL and 404 problem they're failing due to something else, so it's ok to risk some failures to get a lot more throughput. See Better URI Axioms and throughput accounting.

human-centric axioms


Here is some advice re: the use of the term:namespace and all issues names from open politics itself, to make URIs human-centric:

"Stick to one form of spaces: an underscore."

"Pick out sentence fragments you want people to repeat, and make them your basic URIs, e.g.
http://sierraclub.ca/Tar_Sands
http://sierraclub.ca/conserve
http://sierraclub.ca/conserve_energy
(no those don't work - why not?)"

"Then explain why you don't want other phrases used, by classifying them each as a "term" good people don't use
http://sierraclub.ca/term:Oil_Sands
http://sierraclub.ca/term:War_on_Terror
http://sierraclub.ca/term:economic_growth
(no those don't work - why not?)"