WebURIArchitectures

Also: WebURIOpinions

Here are some design options for how dereference might impinge on URI interpretation in RDF.

For 'dereferenceable' see RFC 3986. This excludes relative URIs and URIs containing #. In the case of http: URIs this means you get a 200 response.

Under each plan we need to explain at least

  1. how to refer to a document
  2. how to refer to a document's primary topic
  3. how to refer to the thing that is the referent, in a document, of the URI whence the document is retrieved

Note that 2 and 3 are not necessarily the same thing.

For simplicity, the below assumes consensus on how # and 303 work.

Contents

Null hypothesis

In this case you can assume absolutely nothing. There is no way to predict how others will use a dereferenceable URI in RDF, so if you're interested in interoperability, you had better not use them at all, at least not referentially (i.e. in <...>).

To refer to a document found at some URI (the same or different), you would use a term (URI or blank node) and explain it clearly, something like

:doc :isRetrievedFrom "http://example/d"^^xsd:anyURI .

with :isRetrievedFrom is defined as part of an appropriate ontology. (Documenting :isRetrievedFrom rigorously will be quite a chore.)

To refer to the primary topic of some document, you might say

[foaf:isPrimaryTopicOf [:isRetrievedFrom "http://example/d"^^xsd:anyURI]]

These two relations could be composed to form something more concise:

[:isPrimaryTopicOfRetrieved "http://example/d"^^xsd:anyURI]

If you want to refer to what a particular URI refers to in a document found at that URI, you would have to say something that will be understood to mean that. I can think of two ways to do this.

The easiest way might be to use that URI, combined with something like owl:imports, which requires a pre-interpretation of a graph in order to build a larger graph (the 'imports closure') which is then interpreted as a whole. This relies on the description being written in RDF.

An alternative would be to say that the URI is to be interpreted as directed by some document, without committing to graph merging. This is similar to the rdfs:isDefinedBy predicate, which does not require that the target document carry RDF. Unfortunately rdfs:isDefinedBy doesn't say which URI you're interested in, so a binary function needs to be synthesized, sort of a pain in RDF. This is obviously a problem in the case of a blank node, but RDF semantics implies that it's an issue when you use a URI as well, even if it's the same URI as the one doing the referring in the target document.

(see also 'web closure')

Not important

Maybe it's OK if there is no interoperability, either because the different communities (or tools) don't talk to one another, or because they don't listen to one another.

TimBL / httpRange-14 / Cool URIs for Semweb

Under this design, to refer to a document found at a dereferenceable URI, say http://example/e, write <http://example/e>.

To refer to something described by a document, you can use # or 303, or else devolve to the null hypothesis. However in this design it is not necessary to say [isRetrievedFrom "http://example/d"^^xsd:anyURI], because that is equivalent to <http://example/d>.

Primary topic

Under this design, to refer to a thing, you can find or write a web page whose primary topic is that thing, and then refer to it using the page's URI, e.g. <http://example/d>

To refer to a document, I'm not sure what is proposed. Maybe if the page has no primary topic then you just use the page's URI, and if it does have a primary topic, you revert to the null hypothesis. This has the unfortunate property of requiring judgment to assess whether the page has a primary topic.

What the page says

Under this design, to refer to a thing, you find or write a web page that has two properties: (a) it uses a URI to refer to that thing, and (b) it is retrievable at that URI. The 'use' of the URI therein would have to be detailed enough to adequately specify what *you* want to refer to. Now to write your reference, you just use the URI.

To refer to a document, I'm not sure what is proposed. Maybe as long as the page does not use its own URI referentially (e.g. in RDF) you just use the page's URI, or if it does, you revert to the null hypothesis.

Chimera theory

In this design a dereferenceable URI refers to a 'chimera' entity that has some of the properties of the page and some of the properties of either its primary topic or the entity named on the page by the URI.

This is similar to the null hypothesis, in that it gives no way help in writing references to documents or what they're about, but it does give an easy way to refer to chimera entities.

Linked data URIs refer to information resources

In this design (from TimBL's 1989 paper on the Web, and his 1997 metadata architecture note) you never refer to anything other than documents directly; you always indirect through a document. So instead of saying that Moscow is the capital of Russia, you say that the primary topic of the Moscow-document is the capital of the primary topic of the Russia-document. That is, links between documents induce relationships between the things they talk about.

This is essentially a discipline on the use of RDF that is a good fit to situations such as linked data where inference is of little interest. Essentially, all statements are metadata. There may be a way to adapt this idea to current needs.

Where you do want to interpret URIs otherwise, e.g. ontology and logic, maybe you could be exempt from this discipline.