Database Reference
In-Depth Information
identifying things and so chooses the domain name: id.mereamaps.gov.me. So, we
now have the first part of our URI. Designing a template for the remaining part is
more contentious, and there are two main schools of thought. The debate is around
how human readable the URI should be. We will use the town of Medina and Ash
Fleet Farm as examples. If we wish to make the URI very human readable, we might
devise schemes such as <domain>/<type of thing>/<name of thing>, such as
http://id.mereamaps.gov.me/town/medina
and
http://id.mereamaps.gov.me/farm/ashfleetfarm
The advantage of this method is that it is possible to immediately tell what the
URI is referring to from the URI. But, the method has two major disadvantages; one
concerns change and the other uniqueness. The first problem is exposed by the simple
question: What happens if the thing changes its type or changes its name (or  the
type or name was incorrectly specified in the first place)? So, what would happen if
Medina became a city? And, what if Ash Fleet Farm becomes Lee Farm following a
change of ownership? Ash Fleet Farm was once called Manor Farm, so how would
you reference historical data concerning Manor Farm? There are two ways to handle
this. We may decide that a change of classification or a change of name means that
we have a new thing to describe, so we would allocate a new URI for this new thing.
However, geography is rarely that simple, and if no other changes have taken place,
more likely than not people will still consider it to be the same original thing. At the
very least, it is impossible to be consistent in a way that matches people's expecta-
tions. So, this might work in some cases but is unlikely to work in all and would be
an inappropriate solution if the original name or classification was simply wrong and
the change a correction. The only other option is to live with the old URI and accept
that it is now misleading, but this rather undermines the purpose of trying to make
the URI human readable.
The second problem, that of uniqueness, is no easier to resolve. The problem is
that we cannot guarantee that names are unique, and indeed our experience tells us
that they are not. What if there is another Ash Fleet Farm? Let us suppose that one
farm is in North Merea and the other in South Merea. Well, we could differentiate
them by including their region:
mm:/farm/southmerea/ashfleetfarm and
mm:/farm/northmerea/ashfleetfarm
Here “mm:” is used to abbreviate the namespace http://id.mereamaps.gov.me , a
shorthand that is used from this point. But again, this does not provide a complete or
elegant solution. The problem is that even this cannot guarantee uniqueness: What
if there are two Ash Fleet Farms in South Merea? In many areas, it is common to
find the same names being used to identify different things in very near proximity;
for example, in the English county of Wiltshire, there are two villages called Fyfield
within 6 miles of each other. It is therefore difficult to devise a system that can
Search WWH ::




Custom Search