Semantic Web and Linked Data


You will variously see sets of metadata elements referred to as "ontologies," "vocabularies," "terms," or "elements." Whether or not these terms are interchangeable depends on the usage in the document or web site that you are reading. The tendency to mix them without defining ones usage often leads to misunderstanding. This section will cover the concept of "ontologies" as defined by the Semantic Web community, and will also give some of the common uses of the related terms.

"Ontology" defined

Ontology is a term first used in philosophy to describe the study of things and existence. This branch of philosophy, known also as metaphysics, was the first to develop ideas around how we describe things in the world, often using a hierarchical arrangement of things organized by chosen categoristics.

In information science, ontology uses the organizational techniques first developed by philosphers to structure a formal description of a segment of information space. It is heavily used in artificial intelligence activities that attempt to model the real world in a way that concepts can be manipulated with computer programs.

It is this information science definition of ontology that is used in thinking about the Semantic Web. However, even key Semantic Web documents tend not to adhere strictly to this terminology.

There is no clear division between what is referred to as “vocabularies” and “ontologies”. The trend is to use the word “ontology” for more complex, and possibly quite formal collection of terms, whereas “vocabulary” is used when such strict formalism is not necessarily used or only in a very loose sense.


The upshot of this is that ONTOLOGY is the formal term for what we often call VOCABULARIES, that is a list of metadata TERMS that we will use in our work. However, the word "vocabularies" is often used to mean not the metadata terms themselves but the data that we encode with those terms. For example, you may have a metadata term similar to dcterms:language that will be used to encode the language of some text. You may have a controlled list of values that you will use for the languages, such as "eng" "fre" "ger" "spa". The set of language terms is also often called a vocabulary. To make a clear distinction between these uses, controlled lists of terms that can be used in metadata description are often called "value vocabularies." I will use this form when speaking of such lists of valid values.

A formal ontology defines a made-up version of some part of the world that will be described using metadata. For example, Dublin Core was developed to describe web pages; FOAF (Friend of a Friend) was developed to describe people for Friend of a Friend) was developed to describe people in social networking situations; FRBR was developed to describe library resources. In developing an ontology one usually begins by creating a conceptual model of the universe that will be handled by the metadata. As an example, an ontology called "geoNames" which is used for geographic information, includes names of places, their immediate context (a value vocabulary of place types and context types), the location of the geographic place in longitude and latitude. Dublin Core has terms for "title," "creator," and "subject," and other terms commonly used to describe documents.

An ontology primarily defines the predicate of the triple. These terms are more comonly called properties.

Triple with predicate

Properties in linked data are very similar to the metadata terms in a key/value pair. Those pairs are often in the form of:

     title = "The Well"

As we've seen in the previous chapter, linked data uses a three-part statement and the "key" of the key/value pair is now the middle portion of the triple. Like a metadata schema, an ontology defines the metadata terms -- not only thier names but other aspects, as we'll see soon.

Ontologies and Name Spaces

An ontology does not have to redefine any terms that have already been defined in another name space. In fact, there is no direct correlation between an ontology and a name space. you can build your ontology entirely from pre-defined terms from any number of namespaces, or you can create your own if none exist that meet your needs. An example of an ontology that makes use of properties from a variety of name spaces is the Bibliographic Ontology, or BIBO. BIBO uses terms from FOAF, PRISM, Dublin Core and others, and it also defines many new properties that did not yet exist.