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 (suggested)
- Tim Berners-Lee talks about the semantic web (mandatory)
- Slides from the lecture
Useful materials:
- Pages 27-55 and 105-122 in Blumauer & Nagy (mandatory)
- 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:
- Pages 25-28, 92-100, 125-128, and 164-167 in Blumauer & Nagy (mandatory)
- W3C's RDF 1.1 Primer (mandatory)
- rdflib 5.0.0 materials:
- 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:
- Chapter 3 in Allemang & Hendler (suggested)
- RDFLib API documentation (useful for the labs and group project)
- RDFLib's GitHub page
- W3C's RDF 1.1 Concepts and Abstract Syntax (cursory)
- 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:
- For example pages 54-55, 133 in Blumauer & Nagy (mandatory)
- Chapter 5 in Allemang & Hendler (suggested)
- SPARQL 1.1 Cheat Sheet
- SPARQL 1.1 Update Language (Sections 1-3 are obligatory)
- rdflib 5.0.0 materials:
- Querying with SPARQL
- Slides from the lecture
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)
Lecture 4: Storing and sharing KGs
Themes:
- Application architecture
- Triple stores and Blazegraph
- Endpoints and Wikidata Query Service (WDQS)
- Web APIs and JSON-LD
- Serialisation formats
Mandatory readings:
- Part 4 (System Architecture and Technologies) in Blumauer & Nagy (mandatory)
- Chapter 4 in Allemang & Hendler (suggested)
- Linked Open Vocabularies (LOV)
- Blazegraph:
- Introduction - About Blazegraph
- Getting started
- SPARQL Extensions - Full Text Search, GeoSpatial Search, Refication Done Right
- Slides from the lecture
- Wikidata
- JSON Syntax (mandatory)
- Section 2 in W3C's JSON-LD 1.1 Processing Algorithms and API (mandatory)
- Slides from the lecture
Useful materials:
- 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:
- Parts 1 and 3 in Blumauer & Nagy's text book (not tightly related to the lecture, but time to finish them by now :-))
- Bizer, C., Heath, T., & Berners-Lee, T. (2009). Linked data-the story so far. Semantic services, interoperability and web applications: emerging concepts, 205-227.
- Färber, M., Ell, B., Menne, C., & Rettinger, A. (2015). A Comparative Survey of DBpedia, Freebase, OpenCyc, Wikidata, and YAGO. Semantic Web Journal, July.
- The Linking Open Data (LOD) cloud diagram
- Slides from the lecture
Useful materials:
- 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:
- Parts 2 and 4 in Blumauer & Nagy's text book
- Slides from the lecture
- Slides about the News Hunter infrastructure and architecture
Supplementary readings:
- 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:
- Pages 101-106 in Blumauer & Nagy (mandatory)
- Chapters 6-7 in Allemang & Hendler (suggested)
- W3C's RDF Schema 1.1, focus on sections 1-3 and 6 (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
Lecture 8: Vocabularies
Themes:
- LOD vocabularies and ontologies
Mandatory readings:
- All of Blumauer & Nagy's text book is mandatory reading. Although the chapters do not match up well with the lectures, this is a good time to finish parts 1 and 3.
- Chapters 9-10 and 13 in Allemang & Hendler (suggested)
- Linked Open Vocabularies (LOV)
- Slides from the lectures
- Additional slides about the News Angler/News Hunter ontologies
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:
- Pages 106-109 in Blumauer & Nagy (mandatory)
- Chapter 8 in Allemang & Hendler (suggested)
- OWL2 Primer, sections 2-6
- VOWL: Visual Notation for OWL Ontologies
- Slides from the lecture.
Lecture 10: Reasoning about KGs (DL)
Themes:
- Description logic
- Decision problems
- OWL-DL
Mandatory readings:
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:
Useful materials:
- Chapters 11-12 in Allemang & Hendler.
- 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:
- Ontology Development 101 method
Mandatory readings:
- Pages ... in Blumauer & Nagy (mandatory)
- Chapters 14-16 in Allemang & Hendler (suggested)
- Noy & McGuinness (2001): Ontology Development 101: A Guide to Creating Your First Ontology. Paper.
- Slides from the lecture