The following vocabularies are essential, because they describe… vocabularies. Let’s get meta for a moment.

RDF

Prefix and namespace

  • rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#

Description

RDF and RDFS are the foundation on which all other vocabularies are built. They enable the description of a graph of rdfs:Resources, each identified by an IRI.

RDF graphs are based on the notion of rdf:statement: a statement can be compared to a very simple sentence <subject, verb, complement>, e.g. Charlie is a Person. In the RDF terminology, we say that an rdf:statement has an rdf:subject (the resource the statement is about), an rdf:property (the verb of the sentence, defining a characteristic of the subject) and an rdf:object (the value for the property for the subject). Therefore, the sentence Charlie is a Person could be expressed in RDF as [ex](http://example.org/ns#):Charlie rdf:type [ex](http://example.org/ns#):Person, where <http://example.org/ns#Charlie> is the subject, rdf:type the property, and <http://example.org/ns#Person> the object. Subject and predicate are necessarily individuals identified with an IRI, while the object is either an individual with an IRI, or a literal with a value (e.g. string or int).

Main concepts

  • Typing a Resource: <resource IRI> rdf:type <type IRI>, where the type is an rdfs:class

RDFS

Prefix and namespace

  • rdfs: http://www.w3.org/2000/01/rdf-schema#

Description

RDFS enables to build hierarchies of concepts by introducing the notion of rdfs:class, and the rdfs:subClassOf property. Similarly, rdf:properties can be organized hierarchically by using the rdfs:subPropertyOf property. RDFS also enables describing the types that can be attached to rdfs:resources when they are associated with an rdf:property by specifying the property’s rdfs:domain (the type of its subject) and rdfs:range (the type of the object). For instance, let’s imagine ex:hasAuthor, a property expressing the fact that someone is the author of a book. If we state that ex:hasAuthor rdfs:domain ex:Book and that ex:hasAuthor rdfs:range ex:Person, effectively what we say is that anytime we find a statement such as ex:aBook ex:hasAuthor ex:someone, we know that ex:aBook is of type ex:Book, and that ex:someone is a ex:Person

Main concepts

  • Subclassing: <subclass IRI> rdfs:subClassOf <class IRI>
  • Specifying a property’s domain: <property IRI> rdfs:domain <type IRI>
  • Specifying a property’s range: <property IRI> rdfs:range <type IRI>
  • Adding a human-readable name to a concept identified by an IRI: <IRI> rdfs:label "Some name"
  • Adding a longer comment describing a concept: <IRI> rdfs:comment "Some comment"
  • Redirecting to another information source: <IRI> rdfs:seeAlso <IRI>

OWL

Back to the vocabularies index