"The single most important development in the history of the Semantic Web"
uri4uri provides resolvable URIs to represent any URI. This is a major breakthrough in how the web works. This service will enable a raft of advances in web technology. Our database contains many useful facts about every URI.
How does it work?
For the past 3 years our server farm has been working to caculate every possible URI, including web addresses, email addresses, ISBNs and even some support for Gopher. This has been a massive undertaking and would not have been possible even five years ago. The data store is intensely indexed so that the information can be retrieved virtually instantly. Ensuring excellent response times has been at the core of everything we do.
How big is it?
The complete database contains information on literally trillions of URIs. Each record is several kilobytes so the size is astronomical. Currently it stands at 5.7 Exabytes and is growing by appoximately 3% per month. However, we use a combination of aggressive and pro-active compession techniques which reduce the total footprint to a much more manageable 78 Petabytes.
What we can confidently state, is that this is the largest and most linked dataset in history. It dwarfs any other dataset in the web of data.
What is included
URIs, URI fragment identifiers, Internet Domains, Mime Types, File Suffixes, URI Schemes.
How do I find the URI4URI which identifies the URL of a page I'm viewing?
What parts of a URI are supported?
The majority of the effort has gone into calculating the components of http and https URIs. An example showing off all the parts of a URI would be http://foo:firstname.lastname@example.org:80/index.html?a=1&b=2, however other URI schemes are supported, eg. tel: or secondlife:.
Why are URIs with a fragment handled differently?
By definition nothing in a URI after a '#' is sent to the server. To make a resolvable URI about a URI with a # it must be encoded. We took the decision to use standard URL encoding on URIs placed after https://w3id.org/uri4uri/fragment/ but not https://w3id.org/uri4uri/uri/. While this is a little inconsistent, it does mean that the majority of uri4uri URIs can be written without encoding, eg. a youtube video URL with no "#" would just be identified by https://w3id.org/uri4uri/uri/http://www.youtube.com/watch?v=dQw4w9WgXcQ but the URI for http://www.w3.org/2004/02/skos/core#notation will be written as https://w3id.org/uri4uri/fragment/http%3A%2F%2Fwww.w3.org%2F2004%2F02%2Fskos%2Fcore%23notation.
Is it recursive?
Yes, you can look-up uri4uri URIs in uri4uri: https://w3id.org/uri4uri/uri/https://w3id.org/uri4uri/uri/https://w3id.org/uri4uri/, but only to a depth of 64, for obvious reasons.
Sir Professor TimBL has said to you "Cool URIs don't change". This implies a sad corollary; "Uncool URIs do sometimes change". You may use the uri4uri URIs to describe your own metadata about a URI, including where, why and by whom it was assigned, and what it was the sameAs at a given moment or interval throughout its existence.
A good example of this is the Paris article on the English Wikipedia. Initially this described Paris in Texas, but in 2006 this was changed to describe Paris in France to calm some complaints from Europe. This means that the meaning of the DBPedia URI http://dpbedia.org/resource/Paris will have altered at that time. This can be expressed with a simple reified URI description:
<http://dpbedia.org/resource/Paris> uriv:identifiedBy <https://w3id.org/uri4uri/uri/http://dpbedia.org/resource/Paris> . <https://w3id.org/uri4uri/uri/http://dpbedia.org/resource/Paris> a uriv:URI . uriv:assignedBy <http://dbpedia.org/resource/DBpedia> . _:b1 a uriv:Statement ; uriv:subject <https://w3id.org/uri4uri/uri/http://dpbedia.org/resource/Paris> ; uriv:predicate <https://w3id.org/uri4uri/fragment.html/http%3A%2F%2Fwww.w3.org%2F2002%2F07%2Fowl%23sameAs> ; uriv:object <https://w3id.org/uri4uri/uri/sws.geonames.org/7174050/> ; uriv:trueAt _:b3 . _:b3 a tl:Interval . tl:end "2006-04-01T12:30:21+08:00"^^xsd:dateTime . _:b2 a uriv:Statement ; uriv:subject <https://w3id.org/uri4uri/uri/http://dpbedia.org/resource/Paris> ; uriv:predicate <https://w3id.org/uri4uri/fragment.html/http%3A%2F%2Fwww.w3.org%2F2002%2F07%2Fowl%23sameAs> ; uriv:object <https://w3id.org/uri4uri/uri/sws.geonames.org/2988507/> ; uriv:trueAt _:b4 . _:b4 a tl:Interval . tl:start "2006-04-01T12:30:22+08:00"^^xsd:dateTime .
subject, predicate, object and Statement in the uri4uri vocabulary have the same meaning to the reified URIs as the properties rdf:subject etc. have to normal resources. The timeline terms are used to decribe when the triple was true.
This, of course, assumes that owl:sameAs had the same definition in 2006. It is possible that an additional layer of abstraction is requred to allow a single statement to include URIs meanings from different dates. This work will depend on securing future funding.
Who are uri4uri.net?
This service has been conceived, created and maintained by the award-winning team behind data.totl.netTM. You can trust us to do the smart thing. You can trust us to do the right thing.
How do we contact you?
Feel free to email us with comments and suggestions.