Readings: Difference between revisions

From info216
No edit summary
 
(27 intermediate revisions by the same user not shown)
Line 23: Line 23:
Below are the mandatory and suggested readings for each lecture. All the textbook chapters in Hogan et al. ("Knowledge Graphs") are mandatory, whereas the chapters in Allemang, Hendler & Gandon ("Semantic Web") are suggested.
Below are the mandatory and suggested readings for each lecture. All the textbook chapters in Hogan et al. ("Knowledge Graphs") are mandatory, whereas the chapters in Allemang, Hendler & Gandon ("Semantic Web") are suggested.


==Lecture 1: Introduction to KGs==
==Session 1: Introduction to KGs==


Themes:
Themes:
Line 47: Line 47:
* Wikidata (https://www.wikidata.org/)
* Wikidata (https://www.wikidata.org/)


==Lecture 2: Querying and updating KGs (SPARQL)==
==Session 2: Querying and updating KGs (SPARQL)==


Themes:
Themes:
Line 57: Line 57:
* Section 2.2 Queries in Hogan et al.
* Section 2.2 Queries in Hogan et al.
* [https://graphdb.ontotext.com/documentation/10.8/sparql.html The SPARQL query language — GraphDB 10.8 documentation]
* [https://graphdb.ontotext.com/documentation/10.8/sparql.html The SPARQL query language — GraphDB 10.8 documentation]
* [https://rdflib.readthedocs.io/ rdflib 7.1.3] materials:
* [https://rdflib.readthedocs.io/ rdflib 7.1.3] materials: [https://rdflib.readthedocs.io/en/stable/intro_to_sparql.html Querying with SPARQL]
** [https://rdflib.readthedocs.io/en/stable/intro_to_sparql.html Querying with SPARQL]
* The slides from the lecture (available under [https://mitt.uib.no/courses/51914/files/folder/Slides Files/Slides in http://mitt.uib.no]).
* The slides from the lecture (available under [https://mitt.uib.no/courses/51914/files/folder/Slides Files/Slides in http://mitt.uib.no]).


Line 68: Line 67:
* [https://en.wikibooks.org/wiki/SPARQL/Expressions_and_Functions SPARQL Expressions and Functions]
* [https://en.wikibooks.org/wiki/SPARQL/Expressions_and_Functions SPARQL Expressions and Functions]


==Lecture 3: Creating KGs==
==Session 3: Creating KGs==


Themes:
Themes:
Line 84: Line 83:
* [https://json-ld.org/ JSON for Linking Data]
* [https://json-ld.org/ JSON for Linking Data]


==Lecture 4: Validating KGs (incomplete)==
==Session 4: Validating KGs==


Themes:
Themes:
* Validating KG schemas (SHACL)
* Semantic KG schemas/vocabularies (RDFS)
* Semantic KG schemas/vocabularies (RDFS)
* Validating KG schemas (SHACL)


Mandatory readings:
Mandatory readings:
* Section 3.1 Schema in Hogan et al.
* Section 3.1 Schema in Hogan et al.
* The slides from the lecture <!--(available under [https://mitt.uib.no/courses/51914/files/folder/Slides Files/Slides in http://mitt.uib.no]).-->
* Sections 5.1, 5.3, 5.5, 5.6.1, and 5.6.3 in [https://book.validatingrdf.com/bookHtml011.html Gayo, J.E. et al. Validating RDF].
* The slides from the lecture (available under [https://mitt.uib.no/courses/51914/files/folder/Slides Files/Slides in http://mitt.uib.no]).


Useful materials:
Useful materials:
* SHACL
* SHACL
  * Interactive, online [https://shacl.org/playground/ SHACL Playground]
** Interactive, online [https://shacl.org/playground/ SHACL Playground]
  * [https://docs.google.com/presentation/d/1weO9SzssxgYp3g_44X1LZsVtL0i6FurQ3KbIKZ8iriQ/ Lab presentation containing a short overview of SHACL and pySHACL]
** [https://pypi.org/project/pyshacl/ pySHACL - A Python validator for SHACL at PyPi.org] ''(after installation, go straight to "Python Module Use".)''
  * [https://pypi.org/project/pyshacl/ pySHACL - A Python validator for SHACL at PyPi.org] ''(after installation, go straight to "Python Module Use".)''
** [https://w3c.github.io/data-shapes/shacl/ Shapes Constraint Language (SHACL) (Editor's Draft)]
  * [https://w3c.github.io/data-shapes/shacl/ Shapes Constraint Language (SHACL) (Editor's Draft)]
* RDFS
* RDFS
  * [https://www.w3.org/TR/rdf11-mt/ W3C's RDF 1.1 Semantics] (''the axioms and entailments in sections 8 and 9, are most important, and we will review them in the lecture'')
** [https://www.w3.org/TR/rdf11-mt/ W3C's RDF 1.1 Semantics] (''the axioms and entailments in sections 8 and 9 are most important, and we will go through the most important ones in the lecture'')
  * [https://github.com/RDFLib/OWL-RL 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''.
** [https://github.com/RDFLib/OWL-RL 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''.
  * [https://owl-rl.readthedocs.io/en/latest/owlrl.html OWL-RL documentation] (most likely more detailed than you will need - check the [[Python Examples]] first
** [https://owl-rl.readthedocs.io/en/latest/owlrl.html OWL-RL documentation] (most likely more detailed than you will need)


 
==Session 5: Advanced KGs==
 
==Lecture: Advanced KGs==


Themes:
Themes:
* More about RDF, e.g.,
* More about RDF, e.g.,
  * identity
** identity
  * blank nodes
** blank nodes
  * reification
** reification
  * higher-arity graphs
** higher-arity graphs


Mandatory readings:
Mandatory readings:
* Sections 3.2 Identity and 3.3 Context in Hogan et al.
* Sections 3.2 Identity and 3.3 Context in Hogan et al.
* The slides from the lecture (available under [https://mitt.uib.no/courses/51914/files/folder/Slides Files/Slides in http://mitt.uib.no]).


Useful materials:
Useful materials:
* RDF
* [https://www.w3.org/TR/rdf11-concepts/ W3C's RDF 1.1 Concepts and Abstract Syntax]
* RDF*/SPARQL*
* [https://www.ldf.fi/service/rdf-grapher RDF Grapher] for drawing RDF graphs
* [https://issemantic.net/rdf-visualizer RDF Visualizer] for drawing RDF graphs


==Lecture: Ontologies==
==Session 6: Ontologies==


Themes:
Themes:
Line 131: Line 130:
Mandatory readings:
Mandatory readings:
* Sections 4.1 Ontologies and 6.3 Schema/ontology creation in Hogan et al.
* Sections 4.1 Ontologies and 6.3 Schema/ontology creation in Hogan et al.
* The slides from the lecture (available under [https://mitt.uib.no/courses/51914/files/folder/Slides Files/Slides in http://mitt.uib.no]).


Useful materials:
Useful materials:
* OWL
* [http://www.w3.org/TR/owl-primer/ OWL 2 Primer, sections 2-6 (advanced: 9-10)] (show: Turtle)
* [https://service.tib.eu/webvowl/ WebVOWL] interactive OWL visualisation tool
* Selected vocabularies:
** [http://xmlns.com/foaf/spec/ Friend of a Friend (FOAF)] (if necessary follow the link to the 2004 version)
** [http://www.w3.org/TR/owl-time/ Time ontology in OWL (time, OWL-time)]
** [http://dublincore.org/ Dublin Core (DC)]
** [http://www.w3.org/2004/02/skos/ SKOS - Simple Knowledge Organization System Home Page]
** [http://www.w3.org/ns/prov# Provenance Interchange (PROV)]
* Linked Open Vocabularies (LOV, https://lov.linkeddata.es/dataset/lov/)


==Lecture: Reasoning==
==Session 7: Reasoning==


Themes:
Themes:
Line 144: Line 152:
Mandatory readings:
Mandatory readings:
* Section 4.2 Rules + DL in Hogan et al.
* Section 4.2 Rules + DL in Hogan et al.
* The slides from the lecture (available under [https://mitt.uib.no/courses/51914/files/folder/Slides Files/Slides in http://mitt.uib.no]).


Useful materials:
Useful materials:
* RDFS
* [https://www.w3.org/TR/rdf11-mt/ W3C's RDF 1.1 Semantics] (''the axioms and entailments in sections 8 and 9 are most important'')
* OWL-DL
* [http://www.w3.org/TR/owl-overview/ W3C OWL 2 Overview]
* [http://www.w3.org/TR/owl-primer/ W3C OWL 2 Primer]
* [https://www.w3.org/TR/2012/REC-owl2-quick-reference-20121211/ W3C OWL 2 Quick Reference Guide (2nd Edition)]


==Lecture: KG Analytics==
==Session 8: KG Analytics==


Themes:
Themes:
* Graph analytics
* Graph analytics
** graph metrics
** directed vector-labelled graphs
** analysis frameworks and techniques
* Symbolic learning
** rule, axiom, and hypothesis mining


Mandatory readings:
Mandatory readings:
* Section 5.1 Graph Analytics in Hogan et al.
* Sections 5.1 Graph Analytics and 5.4 Symbolic Learning in Hogan et al.
* The slides from the lecture (available under [https://mitt.uib.no/courses/51914/files/folder/Slides Files/Slides in http://mitt.uib.no]).


Useful materials:
Useful materials:
* networkx
* [https://networkx.org/ NetworkX - Network analysis in Python]
 
==Session 9: KGs in Practice (Guest Lecture)==
Guest lecture by Sindre Asplem, [https://www.capgemini.com/no-no/ Capgemini].
 
Mandatory readings:
* The slides from the lecture (available under [https://mitt.uib.no/courses/51914/files/folder/Slides Files/Slides in http://mitt.uib.no]).


==Lecture: KG Embeddings==
==Session 10: KG Embeddings==


Themes:
Themes:
Line 169: Line 192:
Mandatory readings:
Mandatory readings:
* Sections 5.2 Knowledge Graph Embeddings and 5.3 Graph neural networks in Hogan et al.
* Sections 5.2 Knowledge Graph Embeddings and 5.3 Graph neural networks in Hogan et al.
** ''In Section 5.2.1, we focus on the Translational Models. The other models are cursory reading.''
* Towards DataScience introduction: [https://towardsdatascience.com/introduction-to-knowledge-graph-embedding-with-dgl-ke-77ace6fb60ef Introduction to Knowledge Graph Embeddings] ([[:file:IntroToKGEmbeddings.pdf | PDF]])
* The slides from the lecture (available under [https://mitt.uib.no/courses/51914/files/folder/Slides Files/Slides in http://mitt.uib.no]).
Supplementary readings:
* Towards DataScience introductions:
** [https://towardsdatascience.com/introduction-to-machine-learning-for-beginners-eed6024fdb08 Introduction to Machine Learning for Beginners] ([[:file:IntroToMachineLearning.pdf | PDF]])
** [https://towardsdatascience.com/introduction-to-word-embedding-and-word2vec-652d0c2060fa Introduction to Word Embeddings and word2vec] ([[:file:IntroToWordEmbeddings.pdf | PDF]])
* [[:file:Mikolov_et_al._-_2013_-_Efficient_Estimation_of_Word_Representations_in_Ve.pdf | Mikolov et al’s original word2vec paper]]
* [[:file:Bordes_et_al._-_Translating_Embeddings_for_Modeling_Multi-relation.pdf | Bordes et al’s original TransE paper]]
* [https://torchkge.readthedocs.io/en/latest/ Welcome to TorchKGE’ s documentation!] (for the labs)
Useful materials:
* [https://pykeen.readthedocs.io/en/stable/index.html PyKEEN] is an alternative Python API. It is similar and may be more up-to-date than TorchKGE.
==Session 11: Graph Neural Networks (GNNs) ==
Themes:
* Graph neural networks
** recurrent/recursive, convolutional, GATs
* Question answering with GNNs (QA-GNN)
* Open KGs:
** WordNet, BabelNet, ConceptNet
Mandatory readings:
* Section 5.3 Graph neural networks in Hogan et al.


Useful materials:
Useful materials:
* TorchKGE or PyKeen or ??
* [[:file:Yasunaga2022-QA-GNN-2104.06378v5.pdf | The QA-GNN paper]]
* [https://conceptnet.io/ ConceptNet:] An open, multilingual knowledge graph
* [https://pytorch-geometric.readthedocs.io/en/latest/ PyG Documentation:] PyG (PyTorch Geometric) is a library built upon  PyTorch to easily write and train Graph Neural Networks (GNNs) for a wide range of applications related to structured data.


==Lecture: KG Refinement==
==Session 12: KG Refinement (KGs and LLMs)==


Themes:
Themes:
Line 183: Line 234:
Useful materials:
Useful materials:


==Lecture: KGs in Practice==
==Session 13: KGs in Practice==


Themes:
Themes:
Line 195: Line 246:
** GeoNames (https://www.geonames.org/)
** GeoNames (https://www.geonames.org/)
** BabelNet (https://babelnet.org/)
** BabelNet (https://babelnet.org/)
** Linking Open Data (LOD) (http://lod-cloud.net)
** Linked Open Data (LOD) (http://lod-cloud.net)
** Linked Open Vocabularies (LOV, https://lov.linkeddata.es/dataset/lov/)
** Linked Open Vocabularies (LOV, https://lov.linkeddata.es/dataset/lov/)


Useful materials:
Useful materials:


<!--
==Lecture: KG Quality==
==Lecture: KG Quality==


Line 211: Line 263:


Useful materials:
Useful materials:
 
-->
==Lecture: KGs in industry==
 
I am also working to organise a Guest Lecture from a practitioner and former student.
 


<!-- ==Lecture 2: Representing KGs (RDF)==
<!-- ==Lecture 2: Representing KGs (RDF)==

Latest revision as of 08:52, 7 April 2025

Textbooks

Main course book (the whole book is mandatory reading):

  • Hogan, A. et al. (2021). Knowledge Graphs. Springer. Synthesis Lectures on Data, Semantics, and Knowledge 22, 1–237, DOI: 10.2200/S01125ED1V01Y202109DSK022, Springer. https://kgbook.org/

Supplementary books (not mandatory):

  • 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.
  • 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 labs, 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 (in progress)

Below are the mandatory and suggested readings for each lecture. All the textbook chapters in Hogan et al. ("Knowledge Graphs") are mandatory, whereas the chapters in Allemang, Hendler & Gandon ("Semantic Web") are suggested.

Session 1: Introduction to KGs

Themes:

  • Introduction to Knowledge Graphs
  • Organisation of the course

Mandatory readings:

Useful materials:

Session 2: Querying and updating KGs (SPARQL)

Themes:

  • SPARQL queries
  • SPARQL Update
  • Programming SPARQL and SPARQL Update in Python

Mandatory readings:

Useful materials:

Session 3: Creating KGs

Themes:

  • Extracting KGs from text
  • Extracting from marked-up sources
  • Extracting from SQL databases and JSON

Mandatory readings:

Useful materials:

Session 4: Validating KGs

Themes:

  • Validating KG schemas (SHACL)
  • Semantic KG schemas/vocabularies (RDFS)

Mandatory readings:

Useful materials:

Session 5: Advanced KGs

Themes:

  • More about RDF, e.g.,
    • identity
    • blank nodes
    • reification
    • higher-arity graphs

Mandatory readings:

Useful materials:

Session 6: Ontologies

Themes:

  • More powerful vocabularies/ontologies (OWL)
  • Creating ontologies

Mandatory readings:

Useful materials:

Session 7: Reasoning

Themes:

  • More about semantic KG schemas (RDFS)
  • Description logic
  • OWL-DL

Mandatory readings:

Useful materials:

Session 8: KG Analytics

Themes:

  • Graph analytics
    • graph metrics
    • directed vector-labelled graphs
    • analysis frameworks and techniques
  • Symbolic learning
    • rule, axiom, and hypothesis mining

Mandatory readings:

Useful materials:

Session 9: KGs in Practice (Guest Lecture)

Guest lecture by Sindre Asplem, Capgemini.

Mandatory readings:

Session 10: KG Embeddings

Themes:

  • Semantic embedding spaces
  • KG embedding techniques
  • Graph neural networks

Mandatory readings:

Supplementary readings:

Useful materials:

  • PyKEEN is an alternative Python API. It is similar and may be more up-to-date than TorchKGE.

Session 11: Graph Neural Networks (GNNs)

Themes:

  • Graph neural networks
    • recurrent/recursive, convolutional, GATs
  • Question answering with GNNs (QA-GNN)
  • Open KGs:
    • WordNet, BabelNet, ConceptNet

Mandatory readings:

  • Section 5.3 Graph neural networks in Hogan et al.

Useful materials:

  • The QA-GNN paper
  • ConceptNet: An open, multilingual knowledge graph
  • PyG Documentation: PyG (PyTorch Geometric) is a library built upon PyTorch to easily write and train Graph Neural Networks (GNNs) for a wide range of applications related to structured data.

Session 12: KG Refinement (KGs and LLMs)

Themes:

  • Enriching KGs

Mandatory readings:

  • Chapter 8 Completion + Correction in Hogan et al.

Useful materials:

Session 13: KGs in Practice

Themes:

  • Open KGs
  • Enterprise KGs

Mandatory readings:

Useful materials:



 

INFO216, UiB, 2017-2024, Andreas L. Opdahl (c)