Readings
Textbook
- New textbook in the Spring semester 2021 is The Knowledge Graph Cookbook - Recipes that Work, by Andreas Blumauer and Helmut Nagy (April 16, 2020). mono/monochrom. The whole book is obligatory reading.
- The old textbook in INFO216 was Semantic Web for the Working Ontologist, Second Edition: Effective Modeling in RDFS and OWL by Dean Allemang and James Hendler (Jun 3, 2011). Morgan Kaufmann. It is still recommended reading, but not obligatory.
Other materials
In addition, the materials listed below for each lecture are either mandatory or suggested reading. More materials will be added to each lecture in the coming weeks.
The lectures and lectures notes are also part of the curriculum.
Make sure you download the electronic resources to your own computer in good time before the exam. This is your own responsibility. That way you are safe if a site becomes unavailable or somehow damaged the last few days before the exam.
Note: to download some of the papers, you may need to be inside UiB's network. Either use a computer directly on the UiB network or connect to your UiB account through VPN.
Lectures
Below are the mandatory and suggested readings for each lecture. All the textbook chapters in Blumauer & Nagy are mandatory, whereas the chapters in Allemang & Hendler are suggested. Java-based readings are also available as an alternative to the Python-based materials.
Lecture 1: Knowledge Graphs
Themes:
- Introduction to Knowledge Graphs
- Organisation of INFO216
Mandatory readings:
- Pages 27-55, 105-122 in Blumauer & Nagy (mandatory)
- Chapters 1-2 in Allemang & Hendler (suggested)
- Tim Berners-Lee talks about the semantic web (mandatory)
- [/rdflib.readthedocs.io/ rdflib 4.2.2] materials:
- Main page
- Getting started with RDFLib
- [https:/ Slides from the lecture
Useful materials:
- RDFLib API documentation (useful for the labs and project)
- RDFLib's GitHub page
<--
Lecture 2: RDF
Themes:
- RDF
- Programming RDF in Python
- Finding datasets and vocabularies for your projects
Mandatory readings:
- Chapter 3 in Allemang & Hendler. In the text book.
- W3C's RDF 1.1 Primer (mandatory)
- We also continue with the rdflib 4.2.2 materials from lecture 1:
- Loading and saving RDF
- Creating RDF triples
- Navigating Graphs
- Utilities and convenience functions
- Slides from the lecture
Useful materials:
- W3C's RDF 1.1 Concepts and Abstract Syntax (cursory)
- RDFLib API documentation (same as Lecture 1)
- RDF Data Visualization tools
Lecture 3: SPARQL
Themes:
- SPARQL
- SPARQL Update
- Programming SPARQL and SPARQL Update in Python
Mandatory readings:
- Chapter 5 in Allemang & Hendler. In the text book.
- SPARQL 1.1 Update Language (Sections 1-3 are obligatory)
- Slides from the lecture
- rdflib 4.2.2 materials:
- Querying with SPARQL
Useful materials:
- SPARQL 1.1 Query Language
- SPARQL 1.1 Update Language (the rest of it)
- SPARQL 1.1 Overview
- RDFLib API documentation (same as Lecture 1)
- SPARQL 1.1 Cheat Sheet
Lecture 4: Application Architecture
Themes:
- Application components
- Triple stores
- Visualisation
Mandatory readings:
- Chapter 4 in Allemang & Hendler. In the text book.
- Blazegraph:
- Introduction - About Blazegraph
- Getting started
- SPARQL Extensions - Full Text Search, GeoSpatial Search, Refication Done Right
- Slides from the lecture
Useful materials:
- Blazegraph
- The rest of it...
- Skjæveland 2012: Sgvizler. Paper.
- Sgvizler 0.6
- Lohmann et al. (2019): Visualizing Ontologies with VOWL. Semantic Web Journal. Paper.
- VOWL: Visual Notation for OWL Ontologies
< !--
-- >
Lecture 5: RDFS
Themes:
- RDFS
- Axioms, rules and entailment
- Programming RDFS in Python
Mandatory readings:
- Chapters 6-7 in Allemang & Hendler. In the text book.
- W3C's RDF Schema 1.1 (mandatory)
- Slides from the lecture
Useful materials:
- W3C's RDF 1.1 Semantics (cursory, except the axioms and entailments in sections 8 and 9, which we will review in the lecture)
- OWL-RL adds inference capability on top of RDFLib. To use it, copy the owlrl folder into your project folder, next to your Python files, and import it with import owlrl.
- OWL-RL documentation (most likely more detailed than you will need - check the Python Examples first
- Inference and Thruth Maintenance in Blazegraph