Semantic Web Basics

Things and Strings

things and stringAlthough conceptually simple, understanding the difference between things and strings is absolutely essential when working with linked data. Remember that linked data expresses the relationship between two things.

example arc

From left to right, these are referred to as the subject (Moby Dick), the predicate (creator), and the object (Herman Melville). There are some strict rules regarding these arcs. Both the subject and the predicate must be in the form of Uniform Resource Identifiers, or URIs.

subject as URIpredicate as URI

The only place where you can use a string (that is words or language) is in the object of the triple.object as thing or identifier

This means that you have a choice, but there are consequences to that choice. Although it may be easier at times to use a string of characters instead of finding or creating a valid URI, because of the rules above, a string, by its nature, becomes a dead end in your graph. Let's review those rules: to be a subject, the thing must be a URI. And the way that the graph of data grows is that the object of one relationship in the graph (in this case, Herman Melville) can also be the subject of another one. What happens if you wish to say something else about Herman Melville, for example, when he was born? You cannot use the string "Herman Melville" as a subject, because it is not a URI. a graph with things and strings

example with URI

But note that if you do provide a URI for your author, that does not mean that you have nothing to display to your users other than an ugly URI. The semantic web standards are designed both for machines and for humans, and so there is the concept of a label that can be used with any identified thing. So you can make a graph that can grow and link, and at the same time you can have the display "strings" that your applications can use to display information to human users. And in this way, your graph can provide richer information through links.

expanded graph