COMP60411: Modelling Data on the Web

This is the web page where you will find news and information about COMP60411 for 2018/19. There is, additionally, the page from the syllabus.


The course is taught by Bijan Parsia and Uli Sattler.

If you have any questions that might be of interest to others, please feel free to post it on the attendant Blackboard site.

Coursework and Timing:

The course starts on Friday, September 28th, 2018, at 9:00 in room 2.19 with lectures and labs. We plan to finish by 4:30 pm.

The deadline for handing in the coursework for the

Coursework, announcements, feedback, and discussions will be handled via Blackboard.

For most coursework, it can be helpful to use the <oXygen/> XML editor: they have given us a free group licence, which is available in Blackboard: check the Week 2 Forum.

Late coursework:

If you have mitigating circumstances (either for lateness or for any other issue), you should fill at the mitigating circumstances form and hand it in to the student support office. The instructors and teaching assistants do not grant extensions or resits for coursework directly: You need to go through the mitigating circumstances committee. (Feel free to come talk to us about problems you are having as early as possible. We will help you navigate the system. But we will adhere to the system.) If you do not have mitigating circumstances, then you will receive 0 marks for work handed in late, regardless of the reason (because we want to discuss the coursework after the deadline).

Concerning Literature:

Please note that all books used for this course are available in the resource center or online (see below in the table for the readings of each week). If you prefer to buy them, please note that

Schedule and materials:

Please note that this course unit is a severely modified version of previous editions: we have dropped a substantial number of topics, and added other topics, so please do not rely too heavily on exams, tales, or additional material from previous years!

Teaching assistants (TAs) will be in the MSc Lab

to help with coursework and other confusions. Bijan and Uli also tend to drop in frequently. Also, always subscribe to and keep an eye on the Blackboard forums: your question is probably already discussed there!
Week Date Topic(s) Resources/Reading Slides
1 Sept. 28, 2018 Course organisation
The relational data model:
  1. Data Structure: tables
  2. Schema Language: SQL
  3. Data Manipulation: SQL
Blackboard area
Learning SQL
Week 1 and as a pdf document
2 Oct. 5, 2018 Tree data models:
  1. Data Structure formalisms: XML (including name spaces)
  2. Schema Language: RelaxNG
  3. Data Manipulation: DOM
Self-Describing, Trees, Regular Expressions
Blackboard area

Learning XML XML in a Nutshell
XML Specification
XML Namespaces 1.0 Recommendation

Early Clark on XML Namespaces
Later Clark on XML Namespaces
Namespace Myths
Namespaces FAQ (Very extensive!)
Week 2
3 Oct. 12, 2017 Tree data models:
  1. Data Structure formalisms: XML (including name spaces)
  2. Schema Language: XML Schema (abbreviated as XSD or as WXS)
  3. Data Manipulation: XPath and XQuery
Blackboard area

WXS Design Patterns (1)
WXS Design Patterns (2)
Designing Extensible, Versionable XML Formats

Taxonomy of XML schema languages using formal language theory
XQuery Rec
XPath Rec
XPath Functions
FunctX XQuery Examples

XQuery book (online, through the library; there may be some contention, so try again later)
XQuery from the Experts
How XQuery extends XPath

Week 3
4 Oct. 19, 2018 Tree data models, XML continued:
  1. Data Structure formalisms: XML
  2. Schema Language: Schematron
  3. Data Manipulation: SAX
Tree data models, JSON:
  1. Data Structure formalisms: JSON
  2. Schema Language: JSON Schema
  3. Data Manipulation: Java
Robustness and Error Handling
Blackboard Area

XQuery formal semantics (heavy going)
The Essence of XML
Influence on the Design of XQuery

Schematron: validating XML using XSLT
Comparing XML Schema Languages
Refining the Taxonomy of XML Schema Languages. A new Approach for Categorizing XML Schema Languages in Terms of Processing Complexity.
Week 4 Slides
5 Oct. 26, 2018 Graph data models:
  1. Data Structure formalisms: RDF
  2. Schema Language: RDFS
  3. Data Manipulation: SPARQL
Robustness, Retrospective
Blackboard area

RDF - Resource Description Framework
RDFS - RDF Schema 1.1 Specification
SPARQL Property Path Expressions

SPARQL EndPoint to DBPedia
SPARQL EndPoint to WikiData
Learning SPARQL

Error handling and Web language design

Week 5 Slides
Oct. 28-Nov. 2: Reading Week.