Readings
Textbooks
Main course book:
- Dean Allemang, James Hendler & Fabien Gandon (2020). Semantic Web for the Working Ontologist, Effective Modeling for Linked Data, RDFS and OWL (Third Edition). ISBN: 9781450376143, PDF ISBN: 9781450376150, Hardcover ISBN: 9781450376174, DOI: 10.1145/3382097. The whole book is mandatory reading.
Supplementary text book (not mandatory):
- Andreas Blumauer and Helmut Nagy (2020). The Knowledge Graph Cookbook - Recipes that Work. mono/monochrom. ISBN-10: 3902796707, ISBN-13: 978-3902796707.
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 Allemang, Hendler & Gandon are mandatory, whereas the chapters in Blumauer & Nagy are suggested.
To be updated - the readings below are not final for Spring 2022.
Lecture 1: Introduction to knowledge Graphs
Themes:
- Introduction to Knowledge Graphs
- Organisation of INFO216
Mandatory readings:
- Chapters 1-2 in Allemang & Hendler
- Tim Berners-Lee talks about the semantic web
- Slides from the lecture
Useful materials:
- Pages 27-55 and 105-122 in Blumauer & Nagy (suggested)
- Important knowledge graphs:
- Wikidata (https://www.wikidata.org/)
- DBpedia (https://www.dbpedia.org, https://dbpedia.org/page/Bergen)
- GeoNames (https://www.geonames.org/)
- BabelNet (https://babelnet.org/)
- Linked Open Vocabularies (LOV, https://lov.linkeddata.es/dataset/lov/)
Lecture 2: Representing KGs (RDF)
Themes:
- RDF
- Programming RDF in Python
Mandatory readings:
- Chapter 3 in Allemang & Hendler
- W3C's RDF 1.1 Primer
- rdflib 6.1.1
- Main page
- Getting started with RDFLib
- Loading and saving RDF
- Creating RDF triples
- Navigating Graphs
- Utilities and convenience functions
- Slides from the lecture
Useful materials:
- Pages 25-28, 92-100, 125-128, and 164-167 in Blumauer & Nagy (suggested)
- RDFLib API documentation (useful for the labs)
- RDFLib's GitHub page
- W3C's RDF 1.1 Concepts and Abstract Syntax
- RDF Data Visualization tools
Lecture 3: Querying and updating KGs (SPARQL)
Themes:
- SPARQL queries
- SPARQL Update
- Programming SPARQL and SPARQL Update in Python
Mandatory readings:
- Chapter 5 in Allemang & Hendler
- SPARQL 1.1 Cheat Sheet
- SPARQL 1.1 Update Language (Sections 1-3)
- rdflib 6.1.1 materials:
- Querying with SPARQL
- Slides from the lecture (old slides from 2021)
Useful materials:
- For example pages 54-55, 133 in Blumauer & Nagy (suggested)
- SPARQL 1.1 Query Language
- SPARQL 1.1 Update Language (the rest of it)
- SPARQL 1.1 Overview
- RDFLib API documentation (same as Session 2)
Lecture 4: Storing and sharing KGs
Themes:
- Triple stores and Blazegraph
- Web APIs and JSON-LD
- Other serialisation formats
Mandatory readings:
- Chapter 4 in Allemang & Hendler
- Blazegraph:
- Introduction - About Blazegraph
- Getting started
- JSON Syntax
- Section 2 in W3C's JSON-LD 1.1 Processing Algorithms and API (mandatory)
- Slides from the lecture
Useful materials:
- Part 4 (System Architecture and Technologies) in Blumauer & Nagy (suggested)
- Blazegraph
- The rest of it...
- JSON for Linked Data (supplementary)
- What is Linked Data? Short video introduction to Linked Data by Manu Sporny
- What is JSON-LD? Short video introduction to JSON-LD by Manu Sporny
Lecture 5: Open Knowledge Graphs
Themes:
- The LOD cloud
- Important open KGs (LOD datasets)
- Wikidata
- DBpedia
- the GDELT project
- EventKG
- GeoNames
- WordNet
- BabelNet
- and others
Mandatory readings:
- Bizer, C., Heath, T., & Berners-Lee, T. (2009). Linked data-the story so far. Semantic services, interoperability and web applications: emerging concepts, 205-227.
- The Linking Open Data (LOD) cloud diagram
- SPARQL Extensions - Full Text Search, GeoSpatial Search, Refication Done Right
- Wikidata
- Endpoints and Wikidata Query Service (WDQS)
- Slides from the lecture
Useful materials:
- Parts 1 and 3 in Blumauer & Nagy's text book (not tightly related to the lecture, but time to finish them by now :-))
- Färber, M., Ell, B., Menne, C., & Rettinger, A. (2015). A Comparative Survey of DBpedia, Freebase, OpenCyc, Wikidata, and YAGO. Semantic Web Journal, July.
- Introduction to Wikidata and its RDF mapping
- About Dbpedia, its Ontology, which you can browse
- The GDELT Project - see also the About and Data pages
- EventKG - A Multilingual Event-Centric Temporal Knowledge Graph
- About GeoNames
- WordNet - A lexical database for English
- About BabelNet
Lecture 6: Enterprise Knowledge Graphs
Themes:
- Google’s Knowledge Graph
- Amazon’s Product Graphs
- Others (← F1)
- News Hunter’s infrastructure and architecture
Mandatory readings:
- Slides from the lecture (old slides from 2021)
- Slides about the News Hunter infrastructure and architecture (old slides from 2021)
Supplementary readings:
- Parts 2 and 4 in Blumauer & Nagy's text book (suggested)
- Introducing the Knowledge Graph: Things not Strings, Amit Singhal, Google (2012). (The blog post that introduced Google's knowledge graph to the world.)
- A reintroduction to our Knowledge Graph and knowledge panels, Danny Sullivan, Google (2020).
- AutoKnow: Self-Driving Knowledge Collection for Products of Thousands of Types. Example of research paper from Amazon - perhaps a bit heavy on Bachelor level, but you may want to have a look :-)
- How Amazon’s Product Graph is helping customers find products more easily, Arun Krishnan, Amazon (2018). (Short blog post that reviews some central ideas from the above research paper.)
Lecture 7: Rules (RDFS)
Themes:
- RDFS
- Axioms, rules and entailment
- Programming RDFS in Python
Mandatory readings:
- Chapters 6-7 in Allemang & Hendler (mandatory)
- W3C's RDF Schema 1.1, focus on sections 1-3 and 6 (mandatory)
- Slides from the lecture (old slides from 2021)
Useful materials:
- Pages 101-106 in Blumauer & Nagy (suggested)
- 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
Lecture 8: Vocabularies
Themes:
- LOD vocabularies and ontologies
Mandatory readings:
- Chapters 9-10 and 13 in Allemang & Hendler (mandatory)
- Linked Open Vocabularies (LOV)
- Slides from the lectures (old slides from 2021)
- Additional slides about the News Angler/News Hunter ontologies (old slides from 2021)
Useful materials:
- Vocabularies / ontologes:
- SKOS - Simple Knowledge Organization System Home Page
- schema.org - Full Hierarchy
- Dublin Core (DC)
- Friend of a Friend (FOAF)
- geo: World Geodetic Standard (WGS) 84
- Annotating vocabulary descriptions (VANN)
- Vocabulary Status (VS)
- Creative Commons (CC) Vocabulary
- Provenance Interchange (PROV)
- Event Ontology (event)
- Time ontology in OWL (time, OWL-time)
- Timeline Ontology (tl)
- Biographical Information (BIO)
- Semantic Interlinked Online Communities (SIOC)
- Bibliographic Ontology (bibo)
- Music Ontology (mo)
This is what we expect you to know about each vocabulary: Its purpose and where and how it can be used. You should know its most central 3-6 classes and properties be able to explain its basic structure. It is less important to get all the names and prefixes 100% right: we do not expect you to learn every little detail by heart.
Lecture 9: Ontologies (OWL)
Themes:
- Basic OWL concepts
- Axioms, rules and entailments
- Programming basic OWL in Python
Mandatory readings:
- Chapter 8 in Allemang & Hendler (mandatory)
- OWL2 Primer, sections 2-6
- VOWL: Visual Notation for OWL Ontologies
- Slides from the lecture (old slides from 2021)
Useful materials (cursory):
- Pages 106-109 in Blumauer & Nagy (suggested)
Lecture 10: Reasoning about KGs (DL)
Themes:
- Description logic
- Decision problems
- OWL-DL
Mandatory readings:
- [[:File:S13-OWL-DL.pdf | Slides from the lecture (old slides from 2021)]
Useful materials:
- Nardi & Brachman: Introduction to Description Logics. Chapter 1 in Description Logic Handbook. (cursory)
- Baader & Nutt: Basic Description Logics. Chapter 2 in Description Logic Handbook.
- Cursory, quickly gets mathematical after the introduction. In particular, sections 2.2.2.3-4 about fixpoint semantics apply to TBoxes with cyclic definitions, which we do not consider in this course. We also do not consider the stuff about rules, epistemics, and reasoning from section 2.2.5 on.
- Complexity of Reasoning in Description Logics. Powered by Evgeny Zolin. (informative)
- Example file demonstrating Protege-OWL reasoning with HermiT.
Lecture 11: Formal ontologies (OWL-DL)
Themes:
- Advanced OWL
Mandatory readings:
- Chapters 11-12 in Allemang & Hendler (mandatory)
- OWL2 Primer
- Slides from the lecture (old slides from 2021)
Useful materials:
- OWL 2 Document Overview (cursory)
- OWL 2 Quick Reference Guide (cursory)
- VOWL: Visual Notation for OWL Ontologies (cursory)
- WebVOWL (cursory)
Lecture 12: KG embeddings
Lecture 13: Knowledge Engineering
Themes:
- Knowledge engineering
- The Ontology Development 101 method
Mandatory readings:
- Chapters 14-16 in Allemang & Hendler (mandatory)
- Noy & McGuinness (2001): Ontology Development 101: A Guide to Creating Your First Ontology. Paper.
- Slides from the lecture (old slides from 2021)
Useful materials:
- The rest of Blumauer & Nagy (suggested)
Lecture 14: Wrapping up