RDF, RDFS, OWL

This is supposed to be a concise tutorial and you should not spend longer than 10 minutes to go through it.

RDF & Semantic Web

The Resource Description Framework (RDF) is a family of World Wide Web Consortium (W3C) specifications originally designed as a metadata data model. With this aim, it enables a mechanism for describing resources (aka. semantic web's activities) so that automated softwares to store, exchange, and use machine-readable information distributed throughout the Web.

The left-hand side shows the layered architecture of semantic web stack. It also indicates that two well-known technologies are used (i.e. RDF and OWL) to serve the ultimate goal of semantic web applications i.e. making the machine to understand the internet data. Main components of semantic web are summarized as follows:

  • XML is an elemental syntax for the content. However, it is not the main syntax as alternative options also exist as of now;
  • RDF is a simple language for expressing objects (web resources) and their relationships. This representation is known as data models and is a core of semantic web;
  • RDFS (or RDF schema) is a vocabulary for describing properties and classes of RDF-based resources. In particular, it enables to express hierarchies of such properties and classes;
  • OWL (Web Ontology Language) adds more vocabularies for describing properties and classes such as relations between classes (e.g. disjointness), cardinality (e.g. exactly-one), and etc.;
  • SPARQL is a protocol and query language (like SQL for relational database) for semantic web data sources;
  • RIF is the W3C Rule Interchange Format designed for expressing Web rules.

It is worth mentioning that RDF, unrelated to semantic web activities, has been also applied a lot in knowledge management applications (such as representing a knowledge base).

RDF Data Model

The RDF data model is based on the idea of making statements about resources in form of subject-predicate-object (called triples). For instance, the left-hand side denotes "Ian knows Mary, whose first name is Mary". Note that foaf is an RDF-based URL; hence, it can be used for describing resources.

As mentioned above, ones can additionally express resources by using RDFS and OWL. So, we explain more in the following.

RDFS

Oftentimes, we would like to represent more complex relations (for instance, a sub-class-of relation). For that, RDFS provides several constructs (i.e. vocabularies) to capture such kinds of relationships. These vocabularies are such as: rdfs:subClassOf, rdfs:range, rdfs:domain. As one of its traits, ones can employ a reasoner to expand the number of triples based on those defined relations. For instance, if we enrich the above example with triples "ian a Man" and "Man rdfs:subClassOf Human". Then, we are able to realize that "ian a Human". Note that this is not possible to do with RDF alone. Indeed, RDFS data are queried using SPARQL.

OWL

This is the highest level of expressivity. That is, we have more vocabularies to model complex relationships such as chained properties, restrictions between classes, etc.. Mathematically, RDF statements can be formally expressed as description logic formulae. As OWL can be serialized as RDF/XML, then it is possible to make a query via SPARQL, too. It is worth mentioning that OWL defines whether RDF statements are valid or not based on the descriptive semantics in description logic.

References

This tutorial is summarized and is revised from:

Note that the left-hand side is also a useful resource to look at.

Other blogged posts >> Tutorials