Readings: Difference between revisions

From info216
No edit summary
No edit summary
 
(185 intermediate revisions by the same user not shown)
Line 1: Line 1:
=Textbooks=
=Textbooks=


Main course book:
Main course book (''the whole book is mandatory reading''):
* 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.''
* 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 text book (''not'' mandatory):
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.
* Andreas Blumauer and Helmut Nagy (2020). '''The Knowledge Graph Cookbook - Recipes that Work.''' mono/monochrom. ISBN-10: ‎3902796707, ISBN-13: 978-3902796707.


Line 11: Line 13:
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.
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.'''
'''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.
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.
Line 17: Line 19:
''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.
''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 Hogan et al. ("Knowledge Graphs") are mandatory, whereas the chapters in Allemang, Hendler & Gandon ("Semantic Web") are suggested.


=Lectures=
==Session 1: Introduction to KGs==
 
Themes:
* Introduction to Knowledge Graphs
* Organisation of the course
 
Mandatory readings:
* Chapter 1 Introduction, section 2.1 Models, and Appendix A Background in Hogan et al.
* [http://www.youtube.com/watch?v=HeUrEh-nqtU Tim Berners-Lee talks about the semantic web]
* [http://rdflib.readthedocs.io/ RDFlib 7.1.3 documentation], the following pages:
** The main page
** Getting started with RDFLib
** Loading and saving RDF
** Creating RDF triples
** Navigating Graphs
** Utilities and convenience functions
** RDF terms in rdflib
** Namespaces and Bindings
* 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:
* Chapters 1-3 in Allemang, Hendler & Gandon (3rd edition)
* Wikidata (https://www.wikidata.org/)
 
==Session 2: Querying and updating KGs (SPARQL)==
 
Themes:
* SPARQL queries
* SPARQL Update
* Programming SPARQL and SPARQL Update in Python
 
Mandatory readings:
* 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://rdflib.readthedocs.io/ rdflib 7.1.3] materials: [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]).
 
Useful materials:
* Chapter 6 in Allemang, Hendler & Gandon (3rd edition)3.12 Session 12: KGs and LLMs
* [http://www.w3.org/TR/sparql11-query/ SPARQL 1.1 Query Language]
* [http://www.w3.org/TR/sparql11-update/ SPARQL 1.1 Update Language]
* [[:File:sparql-1_1-cheat-sheet.pdf | SPARQL 1.1 Cheat Sheet]]
* [https://en.wikibooks.org/wiki/SPARQL/Expressions_and_Functions SPARQL Expressions and Functions]
 
==Session 3: Creating KGs==
 
Themes:
* Extracting KGs from text
* Extracting from marked-up sources
* Extracting from SQL databases and JSON
 
Mandatory readings:
* Chapter 6 Creation and Enrichment, sections 6.1-6.4, 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:
* [https://www.dbpedia-spotlight.org/ DBpedia Spotlight]
* [https://graphdb.ontotext.com/documentation/10.0/virtualization.html Virtualization, GraphDB 10.0 documentation]
* [https://json-ld.org/ JSON for Linking Data]
 
==Session 4: Validating KGs==
 
Themes:
* Validating KG schemas (SHACL)
* Semantic KG schemas/vocabularies (RDFS)
 
Mandatory readings:
* Section 3.1 Schema in Hogan et al.
* 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:
* SHACL
** Interactive, online [https://shacl.org/playground/ SHACL Playground]
** [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)]
* 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 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://owl-rl.readthedocs.io/en/latest/owlrl.html OWL-RL documentation] (most likely more detailed than you will need)
 
==Session 5: Advanced KGs==
 
Themes:
* More about RDF, e.g.,
** identity
** blank nodes
** reification
** higher-arity graphs
 
Mandatory readings:
* 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:
* [https://www.w3.org/TR/rdf11-concepts/ W3C's RDF 1.1 Concepts and Abstract Syntax]
* [https://www.ldf.fi/service/rdf-grapher RDF Grapher] for drawing RDF graphs
* [https://issemantic.net/rdf-visualizer RDF Visualizer] for drawing RDF graphs
 
==Session 6: Ontologies==
 
Themes:
* More powerful vocabularies/ontologies (OWL)
* Creating ontologies
 
Mandatory readings:
* 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:
* [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/)
 
==Session 7: Reasoning==
 
Themes:
* More about semantic KG schemas (RDFS)
* Description logic
* OWL-DL
 
Mandatory readings:
* 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:
* [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'')
* [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)]
 
==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:
* 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:
* [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]).
 
==Session 10: KG Embeddings==
 
Themes:
* Semantic embedding spaces
* KG embedding techniques
* Graph neural networks
 
Mandatory readings:
* 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)


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.
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.


'''To be updated - the readings below ''are not final for Spring 2022''.'''
==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


<!--[[Java-based readings]] are also available as an alternative to the Python-based materials.-->
Mandatory readings:
* Section 5.3 Graph neural networks in Hogan et al.


Useful materials:
* [[: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 1: Introduction to knowledge Graphs==
==Session 12: KGs and LLMs==


Themes:
Themes:
* Introduction to Knowledge Graphs
* Large Language Models (LLMs)
* Organisation of INFO216
* Combining KGs and Large Language Models (LLMs)
** retrieval augmented knowledge fusion
** end-to-end KG construction
** LLM-augmented KG to text generation
** KG-LLM synergy


Mandatory readings:
Mandatory readings:
* Chapters 1-2 in Allemang & Hendler (suggested)
* Chapter 8 Completion + Correction in Hogan et al.
* [http://www.youtube.com/watch?v=HeUrEh-nqtU Tim Berners-Lee talks about the semantic web] (mandatory)
* [[:File:S01-KnowledgeGraphs.pdf | Slides from the lecture]]


Useful materials:
Useful materials:
* Pages 27-55 and 105-122 in Blumauer & Nagy (mandatory)
* [[:file:PanEtAl2023-Unifying_Large_Language_Models_and_Knowledge_Graphs_A_Roadmap.pdf | Pan et al. (2024) ''Unifying large language models and knowledge graphs: A roadmap'']]
* [[:file:Vaswani17-AttentionIsAllYouNeed-1706.03762%281%29.pdf | Vaswani et al. (2017) ''Attention is all you need'']]
* [[:file:HitzlerEtAl-NeuroSymbolicIntegration-swj2291.pdf | Hitzler et al. (2022) ''Neuro-symbolic approaches in artificial intelligence'']]
 
<!--
==Session 13: KGs in Practice==
 
Themes:
* Open KGs
* Enterprise KGs
 
Mandatory readings:
* Important knowledge graphs:
* Important knowledge graphs:
** Wikidata (https://www.wikidata.org/)
** Wikidata (https://www.wikidata.org/)
Line 46: Line 255:
** GeoNames (https://www.geonames.org/)
** GeoNames (https://www.geonames.org/)
** BabelNet (https://babelnet.org/)
** BabelNet (https://babelnet.org/)
** 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/)


==Lecture 2: Representing KGs (RDF)==
Useful materials:
-->
 
<!--
==Lecture: KG Quality==
 
Themes:
* KG completion and correction
* Best practices
* Access protocols and usage control
 
Mandatory readings:
* Chapters 8 Completion + Correction and 9 Best Practices + Access Protocols + Usage Control in Hogan et al.
 
Useful materials:
-->
 
<!-- ==Lecture 2: Representing KGs (RDF)==


Themes:  
Themes:  
* RDF
* Resource Description Framework (RDF)
* Programming RDF in Python
* Programming RDF in Python


Mandatory readings:
Mandatory readings:
* Pages 25-28, 92-100, 125-128, and 164-167 in Blumauer & Nagy (mandatory)
* Chapter 3 in Allemang, Hendler & Gandon (3rd edition)
* [https://www.w3.org/TR/rdf11-primer/ W3C's RDF 1.1 Primer] (mandatory)
* [https://www.w3.org/TR/rdf11-primer/ W3C's RDF 1.1 Primer] until and including 5.1.2 Turtle (but not the rest for now)
* [http://rdflib.readthedocs.io/ rdflib 5.0.0] materials:
* [http://rdflib.readthedocs.io/ RDFlib 7.0.0 documentation], the following pages:
** Main page
** The main page
** Getting started with RDFLib
** Getting started with RDFLib
** Loading and saving RDF
** Loading and saving RDF
Line 64: Line 291:
** Navigating Graphs
** Navigating Graphs
** Utilities and convenience functions
** Utilities and convenience functions
** RDF terms in rdflib
** Namespaces and Bindings
* [[:File:S02-RDF.pdf | Slides from the lecture]]
* [[:File:S02-RDF.pdf | Slides from the lecture]]


Useful materials:
Useful materials:
* Chapter 3 in Allemang & Hendler (suggested)
* [https://rdflib.readthedocs.io/en/stable/apidocs/modules.html RDFLib 7.0.0 packages] (reference for the labs)
* [https://rdflib.readthedocs.io/en/stable/apidocs/modules.html RDFLib API documentation] (useful for the labs and group project)
* [https://www.ldf.fi/service/rdf-grapher RDF Grapher] for drawing RDF graphs
* [https://github.com/RDFLib/rdflib RDFLib's GitHub page]
* [https://issemantic.net/rdf-visualizer RDF Visualizer] for drawing RDF graphs
* [https://www.w3.org/TR/rdf11-concepts/ W3C's RDF 1.1 Concepts and Abstract Syntax] (cursory)
* [https://www.w3.org/TR/rdf11-concepts/ W3C's RDF 1.1 Concepts and Abstract Syntax]
* [https://www.w3.org/2018/09/rdf-data-viz/ RDF Data Visualization tools]
* An overview page of some other [https://www.w3.org/2018/09/rdf-data-viz/ RDF Data Visualization tools]
* Pages 25-28, 92-100, 125-128, and 164-167 in Blumauer & Nagy (suggested)
-->




==Lecture 3: Querying and updating KGs (SPARQL)==
<!--
==Lecture 4: Linked Open Data (LOD)==


Themes:
Themes:
* SPARQL queries
* Linked Open Data(LOD)
* SPARQL Update
* The LOD cloud
* Programming SPARQL and SPARQL Update in Python
* Data provisioning


Mandatory readings:
Mandatory readings ''(both lecture 4 and 5)'':
* For example pages 54-55, 133 in Blumauer & Nagy (mandatory)
* Chapter 5 in Allemang, Hendler & Gandon (3rd edition)
* Chapter 5 in Allemang & Hendler (suggested)
* [https://www.w3.org/DesignIssues/LinkedData.html Linked Data], Tim Berners-Lee, 2006-07-27.
* [[:File:sparql-1_1-cheat-sheet.pdf | SPARQL 1.1 Cheat Sheet]]
* [[:File:S04-LOD.pdf | Slides from the lecture]]
* [http://www.w3.org/TR/sparql11-update/ SPARQL 1.1 Update Language] (Sections 1-3 are obligatory)
<!-- * [[:File:S03-SPARQL-13.pdf | Slides from the lecture]] -->
* [https://rdflib.readthedocs.io/ rdflib 5.0.0] materials:
** Querying with SPARQL
* [[:File:S03-SPARQL.pdf | Slides from the lecture]]


Useful materials:
Useful materials
* [http://www.w3.org/TR/sparql11-query/ SPARQL 1.1 Query Language]
* [https://www.ontotext.com/knowledgehub/fundamentals/linked-data-linked-open-data/ What Are Linked Data and Linked Open Data?]
* [http://www.w3.org/TR/sparql11-update/ SPARQL 1.1 Update Language] (the rest of it)
* [[:File:BizerHeathBernersLee-LinkedData2009-TheStorySoFar.pdf | Bizer, C., Heath, T., & Berners-Lee, T. (2009). Linked data-the story so far. Semantic services, interoperability and web applications: emerging concepts, 205-227.]]
* [https://www.w3.org/TR/sparql11-overview/ SPARQL 1.1 Overview]
* [https://rdflib.readthedocs.io/en/stable/apidocs/modules.html RDFLib API documentation] (same as Lecture 1)


==Lecture 4: Storing and sharing KGs==
==Lecture 5: Open Knowledge Graphs I==


Themes:
Themes:
* Application architecture
* Important open KGs (LOD datasets)
* Triple stores and Blazegraph
** Wikidata
* Endpoints and Wikidata Query Service (WDQS)
** DBpedia
* Web APIs and JSON-LD
* Serialisation formats


Mandatory readings:
Mandatory readings:
* Part 4 (System Architecture and Technologies) in Blumauer & Nagy (mandatory)
* Chapter 5 in Allemang, Hendler & Gandon (3rd edition)
* Chapter 4 in Allemang & Hendler (suggested)
* Important knowledge graphs - and what to read:
* [http://lov.okfn.org/dataset/lov/ Linked Open Vocabularies (LOV)]
** Wikidata (https://www.wikidata.org/):
* [https://wiki.blazegraph.com/wiki/index.php/Main_Page Blazegraph]:
*** [https://www.wikidata.org/wiki/Wikidata:Introduction Introduction to Wikidata]
** Introduction - About Blazegraph
*** [https://www.wikidata.org/wiki/Wikidata:SPARQL_query_service/Wikidata_Query_Help SPARQL query service/A gentle introduction to the Wikidata Query Service]
** Getting started
*** example: [https://www.wikidata.org/wiki/Q26793]
** SPARQL Extensions - Full Text Search, GeoSpatial Search, Refication Done Right
** DBpedia (https://www.dbpedia.org):
* [[:File:S04-Architecture-6.pdf | Slides from the lecture]]
*** [http://wiki.dbpedia.org/about About Dbpedia]
* [https://www.wikidata.org/wiki/Wikidata:Introduction Wikidata]
*** example: [https://dbpedia.org/resource/Bergen]
* [https://www.JSON.org/json-en.html JSON Syntax] (mandatory)
* [[:File:S05-S06-OpenKGs.pdf | Slides from the lecture]]
* Section 2 in W3C's [https://www.w3.org/TR/json-ld-api/ JSON-LD 1.1 Processing Algorithms and API] (mandatory)
* [[:File:S04-ToolsAndServices.pdf | Slides from the lecture]]
 
Useful materials:
* [https://wiki.blazegraph.com/wiki/index.php/Main_Page Blazegraph]
** The rest of it...
* [http://json-ld.org/ JSON for Linked Data] (supplementary)
** [http://www.youtube.com/watch?v=4x_xzT5eF5Q What is Linked Data?] Short video introduction to Linked Data by Manu Sporny
** [http://www.youtube.com/watch?v=vioCbTo3C-4 What is JSON-LD?] Short video introduction to JSON-LD by Manu Sporny


==Lecture 5: Open Knowledge Graphs==
==Lecture 6: Open Knowledge Graphs II==


Themes:
Themes:
* The LOD cloud
* Important open KGs (LOD datasets)
* Important open KGs (LOD datasets)
** Wikidata
** DBpedia ''(continued)''
** DBpedia
** GeoNames
** the GDELT project
** the GDELT project
** EventKG
** GeoNames
** WordNet
** WordNet
** BabelNet
** BabelNet
** and others
** ConceptNet


Mandatory readings:
Mandatory readings:
* Chapter 5 in Allemang, Hendler & Gandon (3rd edition)
* Important knowledge graphs - and what to read:
** GeoNames (https://www.geonames.org/):
*** [http://www.geonames.org/about.html About GeoNames]
*** example: [https://www.geonames.org/3161732/bergen.html]
** GDELT (https://www.gdeltproject.org/)
*** [https://www.gdeltproject.org/ The GDELT Project] - see also the About and Data pages
** WordNet (https://wordnet.princeton.edu/)
*** [https://wordnet.princeton.edu/ WordNet - A lexical database for English]
** BabelNet (https://babelnet.org/):
*** [http://live.babelnet.org/about About BabelNet]
*** [https://babelnet.org/how-to-use How to use]
*** example: [https://babelnet.org/synset?id=bn%3A00010008n&orig=Bergen&lang=EN]
** ConceptNet (http://conceptnet.io)
*** [http://conceptnet.io ConceptNet - An open, multilingual knowledge graph]
*  [[:File:S05-S06-OpenKGs.pdf | Slides from the lecture]]
Useful materials
* Wikidata statistics
** [https://grafana.wikimedia.org/d/000000167/wikidata-datamodel?orgId=1&refresh=30m Entity statistics]
** [https://grafana.wikimedia.org/d/000000175/wikidata-datamodel-statements?orgId=1&refresh=30m Statement statistics]
* [https://www.dbpedia-spotlight.org/ DBpedia Spotlight]
* GDELT documentation
** [http://data.gdeltproject.org/documentation/GDELT-Event_Codebook-V2.0.pdf Event Codebook (and covers mentions)]
** [http://data.gdeltproject.org/documentation/CAMEO.Manual.1.1b3.pdf CAMEO event codes and other codes]
** [http://data.gdeltproject.org/documentation/GDELT-Global_Knowledge_Graph_Codebook-V2.1.pdf Global Knowledge Graph Codebook]
* Parts 1 and 3 in Blumauer & Nagy's text book (not tightly related to the lecture, but time to finish them by now :-))
* Parts 1 and 3 in Blumauer & Nagy's text book (not tightly related to the lecture, but time to finish them by now :-))
* [[:File:BizerHeathBernersLee-LinkedData2009-TheStorySoFar.pdf | Bizer, C., Heath, T., & Berners-Lee, T. (2009). Linked data-the story so far. Semantic services, interoperability and web applications: emerging concepts, 205-227.]]
* [[:File:FarberEtAl-ComparativeSurvey-SWJ2015.pdf | Färber, M., Ell, B., Menne, C., & Rettinger, A. (2015). A Comparative Survey of DBpedia, Freebase, OpenCyc, Wikidata, and YAGO. Semantic Web Journal, July.]]
* [http://lod-cloud.net The Linking Open Data (LOD) cloud diagram]
* [[:File:S09-S10-OpenKnowledgeGraphs.pdf | Slides from the lecture]]
Useful materials:
* [https://www.wikidata.org/wiki/Wikidata:Introduction Introduction to Wikidata] and its [https://www.mediawiki.org/wiki/Wikibase/Indexing/RDF_Dump_Format RDF mapping]
* [http://wiki.dbpedia.org/about About Dbpedia], its [https://wiki.dbpedia.org/services-resources/ontology Ontology], which you can [https://dbpedia.org/ontology/Place browse]
* [https://www.gdeltproject.org/ The GDELT Project] - see also the About and Data pages
* [http://eventkg.l3s.uni-hannover.de/ EventKG - A Multilingual Event-Centric Temporal Knowledge Graph]
* [http://www.geonames.org/about.html About GeoNames]
* [https://wordnet.princeton.edu/ WordNet - A lexical database for English]
* [http://live.babelnet.org/about About BabelNet]


==Lecture 6: Enterprise Knowledge Graphs==
==Lecture 7: Enterprise Knowledge Graphs==


Themes:  
Themes:  
* Enterprise Knowledge Graphs (EKGs)
* Google’s Knowledge Graph
* Google’s Knowledge Graph
* Amazon’s Product Graphs
* Amazon’s Product Graph
* Others (← F1)
* JSON-LD (video presentation)
* News Hunter’s infrastructure and architecture


Mandatory readings:
Mandatory readings:
* Parts 2 and 4 in Blumauer & Nagy's text book
* [[:File:S11-EnterpriseKnowledgeGraphs.pdf | Slides from the lecture]]
* [[:File:S11-NewsHunter-InfraAndArch.pdf | Slides about the News Hunter infrastructure and architecture]]
Supplementary readings:
* [https://www.blog.google/products/search/introducing-knowledge-graph-things-not/ Introducing the Knowledge Graph: Things not Strings], Amit Singhal, Google (2012). ''(The blog post that introduced Google's knowledge graph to the world.)''
* [https://www.blog.google/products/search/introducing-knowledge-graph-things-not/ Introducing the Knowledge Graph: Things not Strings], Amit Singhal, Google (2012). ''(The blog post that introduced Google's knowledge graph to the world.)''
* [https://blog.google/products/search/about-knowledge-graph-and-knowledge-panels/ A reintroduction to our Knowledge Graph and knowledge panels], Danny Sullivan, Google (2020).
* [https://blog.google/products/search/about-knowledge-graph-and-knowledge-panels/ A reintroduction to our Knowledge Graph and knowledge panels], Danny Sullivan, Google (2020).
* [[:File:2006.13473.pdf | 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 :-)
* [https://www.aboutamazon.com/news/innovation-at-amazon/making-search-easier 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 AutoKnow research paper listed below.)''
* [https://www.aboutamazon.com/news/innovation-at-amazon/making-search-easier 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.)''
* [https://www.amazon.science/blog/building-product-graphs-automatically Building product graphs automatically], Xin Luna Dong, Amazon (2020).
* [https://json-ld.org/ JSON for Linking Data]
* [[:File:S07-EnterpriseKGs.pdf | Slides from the lecture]]


Supplementary readings:
* Parts 2 and 4 in Blumauer & Nagy's text book (''strongly suggested - this is where Blumauer & Nagy's book is good!'')
* [[:File:Bosch-LIS.pdf | LIS: A knowledge graph-based line information system]] by Grangel-González, I., Rickart, M., Rudolph, O., & Shah, F. (2023, May). In Proceedings of the European Semantic Web Conference (pp. 591-608). Cham: Springer Nature Switzerland.
* [[:File:2006.13473.pdf | AutoKnow: Self-Driving Knowledge Collection for Products of Thousands of Types]] by Dong, X. L., He, X., Kan, A., Li, X., Liang, Y., Ma, J., ... & Han, J. (2020, August). In Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining (pp. 2724-2734). ''Research paper from Amazon about AutoKnow - this is a bit heavy for Bachelor level, but you can have a look :-)''


==Lecture 7: Rules (RDFS)==
==Lecture 8: Rules (SHACL and RDFS)==


Themes:
Themes:
* RDFS
* SHACL and RDFS
* Axioms, rules and entailment
* Axioms, rules and entailment
* Programming RDFS in Python
* Programming SHACL and RDFS in Python


Mandatory readings:
Mandatory readings:
* Pages 101-106 in Blumauer & Nagy (mandatory)
* Chapters 7-8 in Allemang, Hendler & Gandon (3rd edition)
* Chapters 6-7 in Allemang & Hendler (suggested)
* [https://book.validatingrdf.com/bookHtml011.html Chapter 5 ''SHACL''] in [https://book.validatingrdf.com/index.html Validating RDF] (available online)
* [http://www.w3.org/TR/rdf-schema/ W3C's RDF Schema 1.1], focus on sections 1-3 and 6 (mandatory)
** Sections 5.1, 5.3-5.5, and 5.6,1-5.6.3
* [[:File:S05-RDFS.pdf | Slides from the lecture]]  
* [http://www.w3.org/TR/rdf-schema/ W3C's RDF Schema 1.1], focus on sections 1-3 and 6
* [[:File:S07-SHACL-RDFS.pdf | Slides from the lecture]]  


Useful materials:
Useful materials:
* [https://www.w3.org/TR/rdf11-mt/ W3C's RDF 1.1 Semantics] (cursory, except the axioms and entailments in sections 8 and 9, which we will review in the lecture)
* 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://w3c.github.io/data-shapes/shacl/ Shapes Constraint Language (SHACL) (Editor's Draft)]
* [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://github.com/blazegraph/database/wiki/InferenceAndTruthMaintenance Inference and Thruth Maintenance in Blazegraph]
* [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 - check the [[Python Examples]] first
* [https://github.com/blazegraph/database/wiki/InferenceAndTruthMaintenance Inference and Thruth Maintenance in Blazegraph]
<!--
* [https://jena.apache.org/documentation/inference/index.html Reasoners and rules engines: Jena inference support] (cursory; sections 1 and 3 are relevant, but quite hard)
* [https://jena.apache.org/documentation/javadoc/jena/ Javadoc] for
** Model (createRDFSModel)
** InfModel (getRawModel, remove + the same methods as Model)
** RDFS (label, comment, subClassOf, subPropertyOf, domain, range...)
** Reasoner (but we will not use it directly)
: (supplementary, but perhaps necessary for the labs and project)
Case-based examples:
* [[:File:S5_RDFS_Example.pdf | RDFS Eating vegetables case]]
-->
==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)
* [http://lov.okfn.org/dataset/lov/ Linked Open Vocabularies (LOV)]
* [[:File:S07-S08-VocabulariesAndOntologies.pdf | Slides from the lectures]]
* [[:File:S08-NewsAngler-ontologies.pdf | Additional slides about the News Angler/News Hunter ontologies]]
Useful materials:
* Vocabularies / ontologes:
** [http://www.w3.org/2004/02/skos/ SKOS - Simple Knowledge Organization System Home Page]
** [http://schema.org/docs/full.html schema.org - Full Hierarchy]
** [http://dublincore.org/ Dublin Core (DC)]
** [http://xmlns.com/foaf/spec/ Friend of a Friend (FOAF)]
** [https://www.w3.org/2003/01/geo/ geo: World Geodetic Standard (WGS) 84]
** [http://purl.org/vocab/vann/ Annotating vocabulary descriptions (VANN)]
** [https://www.w3.org/2003/06/sw-vocab-status/note Vocabulary Status (VS)]
** [http://creativecommons.org/ns Creative Commons (CC) Vocabulary]
** [http://www.w3.org/ns/prov# Provenance Interchange (PROV)]
** [http://motools.sourceforge.net/event/event.html Event Ontology (event)]
** [http://www.w3.org/TR/owl-time/ Time ontology in OWL (time, OWL-time)]
** [http://motools.sourceforge.net/timeline/timeline.html Timeline Ontology (tl)]
** [http://vocab.org/bio/ Biographical Information (BIO)]
** [http://rdfs.org/sioc/spec/ Semantic Interlinked Online Communities (SIOC)]
** [http://bibliontology.com/ Bibliographic Ontology (bibo)]
** [http://musicontology.com/ 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)==
==Lecture 9: Ontologies (OWL)==
Line 249: Line 434:


Mandatory readings:
Mandatory readings:
* Pages 106-109 in Blumauer & Nagy (mandatory)
* Chapter 9-10, 12-13 in Allemang, Hendler & Gandon (3rd edition)
* Chapter 8 in Allemang & Hendler (suggested)
* [http://www.w3.org/TR/owl-primer OWL2 Primer], sections 2-6 and 9-10
* [http://www.w3.org/TR/owl-primer OWL2 Primer], sections 2-6
* [http://vowl.visualdataweb.org/ VOWL: Visual Notation for OWL Ontologies]
* [http://vowl.visualdataweb.org/ VOWL: Visual Notation for OWL Ontologies]
* [[:File:S06-OWL-1.pdf | Slides from the lecture.]]
* [https://protegeproject.github.io/protege/getting-started/ Protégé-OWL Getting Started]
* [[:File:S09-OWL.pdf | Slides from the lecture]]


<!--
Useful materials (cursory):
Useful materials (cursory):
* [http://www.w3.org/TR/owl-overview OWL 2 Document Overview]
* [http://www.w3.org/TR/owl-overview OWL 2 Document Overview]
* [https://www.w3.org/TR/owl2-quick-reference/ OWL 2 Quick Reference Guide]
* [https://www.w3.org/TR/owl2-quick-reference/ OWL 2 Quick Reference Guide]
* [https://www.w3.org/TR/owl2-rdf-based-semantics/ OWL2 RDF-Based Semantics]
* [https://www.w3.org/TR/owl2-rdf-based-semantics/ OWL2 RDF-Based Semantics]
* The OWL-RL materials from Lecture 5
* The OWL-RL materials (from Lecture 5)
* [[:File:LohmannEtAl2016-VisualizingOntologiesWithVOWL.pdf | Lohmann et al. (2019): Visualizing Ontologies with VOWL. ''Semantic Web Journal.'']] ''Paper.''
* [http://vowl.visualdataweb.org/v2 VOWL: Visual Notation for OWL Ontologies]
<!--
* [http://vowl.visualdataweb.org/webvowl/index.html#sioc WebVOWL]
* [https://jena.apache.org/documentation/javadoc/jena/ Javadoc] for
* [[:File:LohmannEtAl2016-VisualizingOntologiesWithVOWL.pdf | Lohmann et al. (2019): Visualizing Ontologies with VOWL. ''Semantic Web Journal.'']]
** OntModel (createOntologyModel)
* Pages 106-109 in Blumauer & Nagy (suggested)
** OntModelSpec (the different reasoners are outlined [https://jena.apache.org/documentation/inference/index.html here (very long)], OWL_MEM_RULE_INF is a good starting point)
** OWL (defines built-in OWL resources)
** OntClass, Individual, ObjectProperty, DatatypeProperty
: (supplementary, but perhaps necessary for the labs and project)
 
Case-based examples:
* [[:File:S6_RDFS_Plus_Example.pdf | RDFS Plus People and Person case]]
 
OWL helpful clarifications:
* [[:File:OWL-example_I.pdf | owl:InverseFuctionalProperty vs owl:propertyDisjointWith]]
-->


==Lecture 10: Reasoning about KGs (DL)==
==Lecture 10: Vocabularies==


Themes:
Themes:
* Description logic
* LOD vocabularies and ontologies
* Decision problems
* OWL-DL


Mandatory readings:
Mandatory readings:
* [[:File:S13-OWL-DL.pdf | Slides from the lecture]]
* Chapters 10-11 in Allemang, Hendler & Gandon (3rd edition)
* [http://lov.okfn.org/dataset/lov/ Linked Open Vocabularies (LOV)]
* Important vocabularies / ontologies:
** [http://xmlns.com/foaf/spec/ Friend of a Friend (FOAF)] (if necessary follow the link to the 2004 version)
** [http://motools.sourceforge.net/event/event.html Event Ontology (event)]
** [http://www.w3.org/TR/owl-time/ Time ontology in OWL (time, OWL-time)]
** [https://www.w3.org/2003/01/geo/ geo: World Geodetic Standard (WGS) 84]
** [http://dublincore.org/ Dublin Core (DC)]
** [http://www.w3.org/2004/02/skos/ SKOS - Simple Knowledge Organization System Home Page]
** [http://rdfs.org/sioc/spec/ Semantic Interlinked Online Communities (SIOC)]
** [http://schema.org/docs/full.html schema.org - Full Hierarchy]
** [http://wikidata.dbpedia.org/services-resources/ontology DBpedia Ontology]
** [http://www.w3.org/ns/prov# Provenance Interchange (PROV)]
** [http://creativecommons.org/ns Creative Commons (CC) Vocabulary]
** ''What we expect you to know about each vocabulary is this:''
*** Its purpose and where and how it can be used.
*** 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.
* [[:File:S10-Vocabularies.pdf | Slides from the lecture]]


Useful materials:
* [[:File:NardiBrachman-IntroductionToDescriptionLogic.pdf | Nardi & Brachman: Introduction to Description Logics. Chapter 1 in Description Logic Handbook.]] ''(cursory)''
* [[:File:BaderNutt-BasicDescriptionLogics.pdf | 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.
* [http://www.cs.man.ac.uk/~ezolin/dl/ Complexity of Reasoning in Description Logics. Powered by Evgeny Zolin.] (informative)
* [[:File:DL-reasoning-RoyalFamily-final.owl.txt | Example file]] demonstrating Protege-OWL reasoning with HermiT.
<!--
Useful materials:
* [http://www.sciencedirect.com/science/article/pii/S095741741101640X Sicilia et al. (2012): Empirical findings on ontology metrics.] ''(very cursory paper)''
-->


==Lecture 11: Formal ontologies (OWL-DL)==
==Lecture 11: KG embeddings==


Themes:
Themes:
* Advanced OWL
* KG embeddings
* Link prediction
* TorchKGE


Mandatory readings:
Mandatory readings:
* [http://www.w3.org/TR/owl-primer OWL2 Primer]
* [https://towardsdatascience.com/introduction-to-machine-learning-for-beginners-eed6024fdb08 Introduction to Machine Learning for Beginners] ([[:file:IntroToMachineLearning.pdf | PDF]])
* [[:File:S12-OWL-2.pdf | Slides from the lecture]]
* [https://towardsdatascience.com/introduction-to-word-embedding-and-word2vec-652d0c2060fa Introduction to Word Embeddings and word2vec] ([[:file:IntroToWordEmbeddings.pdf | PDF]])
* [https://towardsdatascience.com/introduction-to-knowledge-graph-embedding-with-dgl-ke-77ace6fb60ef Introduction to Knowledge Graph Embeddings] ([[:file:IntroToKGEmbeddings.pdf | PDF]])
* [[:file:S11-GraphEmbeddings.pdf | Slides from the lecture]]


Useful materials:
Supplementary readings:
* Chapters 11-12 in Allemang & Hendler.
* [[:file:Mikolov_et_al._-_2013_-_Efficient_Estimation_of_Word_Representations_in_Ve.pdf | Mikolov et al’s original word2vec paper]]
* [http://www.w3.org/TR/owl-overview OWL 2 Document Overview] (cursory)
* [[:file:Bordes_et_al._-_Translating_Embeddings_for_Modeling_Multi-relation.pdf | Bordes et al’s original TransE paper]]
* [https://www.w3.org/TR/2012/REC-owl2-quick-reference-20121211/ OWL 2 Quick Reference Guide] (cursory)
* [https://torchkge.readthedocs.io/en/latest/ Welcome to TorchKGE’ s documentation!] (for the labs)
* [http://vowl.visualdataweb.org/v2 VOWL: Visual Notation for OWL Ontologies] (cursory)
* [http://vowl.visualdataweb.org/webvowl/index.html#sioc WebVOWL] (cursory)
<!--
* [https://jena.apache.org/documentation/ontology/ Jena Ontology API] (we will most likely not go into this) (cursory)
-->


==Lecture 12: KG embeddings==
==Lecture 12: KGs and Large Language Models==


==Lecture 13: Knowledge Engineering==
Themes:


Themes:
* What are Large Language Models (LLMs)
* Ontology Development 101 method
* Combining KGs and Large Language Models (LLMs)
** retrieval augmented knowledge fusion
** end-to-end KG construction
** LLM-augmented KG to text generation


Mandatory readings:
Mandatory readings:
* Pages ... in Blumauer & Nagy (mandatory)
* Chapters 14-16 in Allemang & Hendler (suggested)
* [http://liris.cnrs.fr/alain.mille/enseignements/Ecole_Centrale/What%20is%20an%20ontology%20and%20why%20we%20need%20it.htm Noy & McGuinness (2001): Ontology Development 101: A Guide to Creating Your First Ontology.] ''Paper.''
* [[:File:S15-OntologyDevelopment-5.pdf | Slides from the lecture]]


==Lecture 14: Wrapping up==
* [[:file:S12-KGsAndLLMs.pdf | Slides from the lecture]]
* No mandatory readings beyond the slides
 
Supplementary readings:


* Pan, S., Luo, L., Wang, Y., Chen, C., Wang, J., & Wu, X. (2024). [[:file:PanEtAl2023-LLMs_KGs_Opportunities_Challenges.pdf | ''Unifying large language models and knowledge graphs: A roadmap.'']]  IEEE Transactions on Knowledge and Data Engineering.
* Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., ... &  Polosukhin, I. (2017). [[:file:NIPS-2017-attention-is-all-you-need-Paper.pdf | ''Attention is all you need.'']]  Advances in neural information processing systems, 30.<br />
-->


&nbsp;
&nbsp;
<div class="credits" style="text-align: right; direction: ltr; margin-left: 1em;">''INFO216, UiB, 2017-2022, Andreas L. Opdahl (c)''</div>
<div class="credits" style="text-align: right; direction: ltr; margin-left: 1em;">''INFO216, UiB, 2017-2024, Andreas L. Opdahl (c)''</div>

Latest revision as of 08:26, 6 May 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

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: KGs and LLMs

Themes:

  • Large Language Models (LLMs)
  • Combining KGs and Large Language Models (LLMs)
    • retrieval augmented knowledge fusion
    • end-to-end KG construction
    • LLM-augmented KG to text generation
    • KG-LLM synergy

Mandatory readings:

  • Chapter 8 Completion + Correction in Hogan et al.

Useful materials:




 

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