This is supposed to be a concise tutorial and you should not spend longer than 10 minutes to go through it.
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:
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).
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.
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.
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.
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