You are on page 1of 2

14 Domain Modeling: RDF(S)

Object-oriented analysis, design, and programming, the family of OOA, OOD, and OOP, has been
widely adopted in industry, but the underlying concepts and methods are by now more than 30 years
old. A systematic issue is the disconnect between models and their implementation, such as a UML
class diagram employed for domain modeling and its resulting design diagram and implementation in
source code. Even with code generation tools, expensive traceability is required to keep models and code
consistent. In this lecture, we investigate a different approach based on web technologies, in particular
the W3C (World Wide Web Consortium) standards for the so-called Semantic Web, a machine-readable
counterpart to the classical WWW targeted at humans. During the last decade, these technologies have
become widely used for modeling domain information (in form of so-called web ontologies or vocabularies)
and data from numerous application domains, all freely accessible online. Unlike the semi-formal approach
of UML, web standards such as RDF, RDFS, and OWL are built on formal syntax and semantics, so they
can become part of the running system, rather than a disconnected modeling artifact. We cover the basic
ideas behind the W3C standards for the Resource Description Framework (RDF) and RDF Schema (RDFS),
and look at the role they can play for domain modeling in a requirements engineering context. 14.1

Learning Objectives
Learning Objective 1:
Learn about modern web standards for building vocabularies (also know as ontologies or schemas)
that model concepts, relations, and data in a domain; in particular RDF and RDFS
Understand the motivation behind the W3C standards and developments towards a machine-readable
web (called the Semantic Web or Web 3.0)
Understand how software development differs between the traditional object-oriented analysis and
design method, based on UML models, and modern semantic web technologies, based on RDF(S)

Learning Objective 2:
Learn how to model information using (subject, predicate, object) triples
Understand the use of IRIs and literals in RDF
Learn about different serialization formats for RDF, like RDFa, RDF/XML, Turtle, and N3
Learn how to model a domain using RDF Schema (RDFS)
Learn how to create instances for a domain in form of RDF triples
Understand best practices for reusing existing vocabularies
Learn how to validate an RDF Schema

Notes and Further Reading


The RDF Primer available at [3] provides a concise, practical introduction to RDF and RDFS, with many
pointers to further information. For more details, including code examples, read the chapters on RDF and
RDFS in [4] (which you can download for free through the Concordia library). Additionally, the online
resources listed below are a good start for finding existing vocabularies, datasets, and validating your own
RDF(S) files.
A complete introduction to modern web standards and software engineering methodologies based on
the so-called Semantic Web is outside the scope of this course, but if you want to get a first impression,
the complete tutorial available at [2] is a good start. For more details, the book [4] provides a good
overview. The seminal 2001 article by Tim Berners-Lee et al. [1] describes the long-term vision behind a
machine-readable web.

Reading Material

Required
[3] (RDF Primer)

14-1
14-2 Bibliography

Supplemental
[4, Chapter 2] (RDF)
[4, Chapter 4] (RDFS)

Further Reading
[2] (Tutorial on Semantic Web technologies, such as RDF, RDFS, OWL, and SPARQL)
[1] (The Semantic Web article by Tim Berners-Lee et al.)
14.72

Links
Online Resources
Online W3C RDF Validator: http://www.w3.org/RDF/Validator/
Search Engine for Vocabularies: http://lov.okfn.org/dataset/lov/vocabs
RDF Dataset Search: http://datahub.io/
14.73

Bibliography
[1] Tim Berners-Lee, James Hendler, and Ora Lassila. The Semantic Web. Scientific American, pages
2937, May 2001. http://www.scientificamerican.com/article.cfm?id=the-semantic-web.
[2] Ivan Herman. Tutorial on Semantic Web Technologies. http://www.w3.org/People/Ivan/
CorePresentations/RDFTutorial/.
[3] W3C. RDF 1.1 Primer. http://www.w3.org/TR/rdf11-primer/, 24 June 2014.
[4] Liyang Yu. A Developers Guide to the Semantic Web. Springer-Verlag Berlin Heidelberg, 2011.
Available online at http://clues.concordia.ca/record=b2727220~S0.

Study Questions
1. What are the constituents of an RDF triple?
2. How is information modeled using these triples?
3. What is the purpose of a serialization format for RDF?
4. What is the difference between RDF and RDF(S)?
5. How does a software development workflow change when using RDFS for domain modeling, instead
of UML?
6. What are the RDF(S) equivalents of the major UML domain model (class diagram) elements?
7. How can you reuse a domain model built in RDF Schema?

SOEN 6481 Lecture Notes, Winter 2015/16

You might also like