URIs for Objects
Posted
Having covered URIs for subjects and predicates we turn to the third part of an RDF statement, object.
The examples I’ve used so far, the objects have been single scalars 1: the age of a well ‘45.3’ or price of a commodity ‘$125.795’. The real power from RDF comes from the fact that the object can be a URI, a link. This is the link in ’linked data’, a distinguishing feature of RDF.
Other database technologies, like relational, permit you to store a hyperlink in a column but that means nothing to the underlying technology. It’s just a string of characters. By contrast the representation of links in the object ‘column’ is what connects data, both within our own model as well as to others.
This might all seem a bit abstract, so let’s give some examples. One of the triples in the last post was
- Subject: http://nonodename.com/ld/fossil/34
- Predicate: http://nonodename.com/ont/geological/Age
- Object: “Late Cretaceous”
In English: the object ‘…/34’ has a geological age of ‘Late Cretaceous’.
As humans we can interpret that. But what does Late Cretaceous mean? You and I might type it into Google. RDF permits us to put a link in. We could, for example say:
- Subject: http://nonodename.com/ld/fossil/34
- Predicate: http://nonodename.com/ont/geological/Age
- Object: https://en.wikipedia.org/wiki/Late_Cretaceous
That Wikipedia page gives us plenty of information about that period. Placing a link to it removes any ambiguity and interpretation required of the reader.
We can go one better. The Wikipedia page is helpful for a human but not readable by a machine. Happily, a sister project of Wikipedia is WikiData. That uses RDF to describe the same concepts. All we do is use the correct link: https://www.wikidata.org/wiki/Q338199
Take a look at that page – you’ll see links to plenty of other information, including other identifiers. This is the core of what we mean by Linked Data – the ability for one entity to publish/curate a set of data and link it to other datasets. There’s a lot out there already linked:
The Linked Open Data Cloud from lod-cloud.net
The ability to define data in reference to other datasets in a syntactically and semantically consistent manner is, as far as I know, unique to the RDF stack and, fundamentally, what makes it so valuable.
Imagine if, instead of using strings & IDs for reference data in our datasets we used URIs. How powerful and unambiguous that would be? If, instead of saying ‘London’ in a location column we just said http://sws.geonames.org/6058560. The link could be to externally or internally managed data, as we see fit.
That’s the power of linked data.
-
RDF doesn’t insist that there is only a single value. It permits the object to be a list of values, for instance, an subject might have two names: one in English and one in French. I haven’t shown that yet to keep things simple. ↩︎