---+ Shortening URIs with Virtuoso Long URLs are hard for humans to type or remember, and don't work very well with short message services like [[http://twitter.com/OpenLink][Twitter]] or [[http://identi.ca/kidehen][identi.ca]]. *CURIs* are compressed URIs which redirect to the original long URL. They are easier to share, type, and use in general. The Virtuoso URI Shortener offers a way to do this in your own domain and data space, without reliance on external services such as [[http://bit.ly/][bit.ly]], [[http://is.gd/][is.gd]], or [[http://tinyurl.com/][tinyurl.com]]. %TOC% ---++How does it work? All full-length URIs are stored in a Virtuoso database table which keeps a unique ID number for each URI. This ID is converted to base32 encoding, which only uses uppercase letters and numbers from 2 to 7, for use in the CURI. Note: numbers 1 and 0 are not used in this encoding, eliminating the common visual confusion between uppercase o and number 0, and between uppercase i, lowercase L, and number 1. ---+++ Configuration Options The prefix for loading images, CSS, etc., can be set through the Virtuoso INI file option, CURIUISkinPrefix. ---++Package Installation and Accessibility 1. Download the [[https://virtuoso.openlinksw.com/download/][Virtuoso URI Shortener VAD]] package. 2. Install the package through the Virtuoso Conductor from the System Admin -> Packages tab or using the isql command line program as shown below: SQL> DB.DBA.VAD_INSTALL('tmp/c_uri_dav.vad',0); VARCHAR VARCHAR _______________________________________________________________________________ 00000 No errors detected 00000 Installation of "OpenLink Virtuoso URI Shortener" is complete. 00000 Now making a final checkpoint. 00000 Final checkpoint is made. 00000 SUCCESS 6 Rows. -- 1766 msec. 3. Go to Endpoint - http://<cname>/c * Note: you could also use the page:http://<cname>[:<port>]/c/create.vsp?uri=xx 4. Paste in long URL. ---++Example * Load your service, e.g., http://<cname>/c in your browser. %BR%%BR%%BR%%BR% * Enter a URI, e.g., http://lod.openlinksw.com/sparql?default-graph-uri=&should-sponge=&query=SELECT+%3Fx%0D%0AWHERE%0D%0A++{%0D%0A++++%3Fx++foaf%3Aname++%22Alice%22++.%0D%0A++++FILTER%0D%0A++++++%28%0D%0A++++++++bif%3Aexists%0D%0A++++++++++%28+%28%0D%0A+++++++++++++SELECT+*%0D%0A+++++++++++++WHERE%0D%0A+++++++++++++++{%0D%0A+++++++++++++++++%3Fx++foaf%3Aknows++%3Fy++++++.%0D%0A+++++++++++++++++%3Fy++foaf%3Aname+++%22John%22%0D%0A+++++++++++++++}%0D%0A++++++++++%29+%29%0D%0A++++++%29%0D%0A++}&format=text%2Fhtml&debug=on&timeout= %BR%%BR%%BR%%BR% * Click Make CURI. * A new CURI will be created and displayed, e.g., http://<cname>/c/7EFF %BR%%BR%%BR%%BR%