Readings: Difference between revisions
(386 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
= | |||
=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= | =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. | |||
==Lecture 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/) | |||
==Lecture 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) | |||
* [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] | |||
==Lecture 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] | |||
==Lecture 4: Validating KGs (incomplete)== | |||
Themes: | |||
* Semantic KG schemas/vocabularies (RDFS) | |||
* Validating KG schemas (SHACL) | |||
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 throught 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) | |||
==Lecture: 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. | |||
Useful materials: | |||
* RDF | |||
* RDF*/SPARQL* | |||
==Lecture: 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. | |||
Useful materials: | |||
* OWL | |||
==Lecture: Reasoning== | |||
Themes: | |||
* More about semantic KG schemas (RDFS) | |||
* Description logic | |||
* OWL-DL | |||
Mandatory readings: | |||
* Section 4.2 Rules + DL in Hogan et al. | |||
Useful materials: | |||
* RDFS | |||
* OWL-DL | |||
==Lecture: KG Analytics== | |||
Themes: | |||
* Graph analytics | |||
Mandatory readings: | |||
* Section 5.1 Graph Analytics in Hogan et al. | |||
Useful materials: | |||
* networkx | |||
==Lecture: 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. | |||
Useful materials: | |||
* TorchKGE or PyKeen or ?? | |||
==Lecture: KG Refinement== | |||
Themes: | |||
* Enriching KGs | |||
Mandatory readings: | |||
* Chapter 8 Completion + Correction in Hogan et al. | |||
Useful materials: | |||
==Lecture: KGs in Practice== | |||
Themes: | |||
* Open KGs | |||
* Enterprise KGs | |||
Mandatory readings: | |||
* 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/) | |||
** Linking Open Data (LOD) (http://lod-cloud.net) | |||
** Linked Open Vocabularies (LOV, https://lov.linkeddata.es/dataset/lov/) | |||
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: KGs in industry== | |||
I am also working to organise a Guest Lecture from a practitioner and former student. | |||
<!-- ==Lecture 2: Representing KGs (RDF)== | |||
Themes: | |||
* Resource Description Framework (RDF) | |||
* Programming RDF in Python | |||
Mandatory readings: | |||
* Chapter 3 in Allemang, Hendler & Gandon (3rd edition) | |||
* [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 7.0.0 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 | |||
* [[:File:S02-RDF.pdf | Slides from the lecture]] | |||
Useful materials: | |||
* [https://rdflib.readthedocs.io/en/stable/apidocs/modules.html RDFLib 7.0.0 packages] (reference for the labs) | |||
* [https://www.ldf.fi/service/rdf-grapher RDF Grapher] for drawing RDF graphs | |||
* [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] | |||
* 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 4: Linked Open Data (LOD)== | |||
Themes: | |||
* Linked Open Data(LOD) | |||
* The LOD cloud | |||
* Data provisioning | |||
Mandatory readings ''(both lecture 4 and 5)'': | |||
* Chapter 5 in Allemang, Hendler & Gandon (3rd edition) | |||
* [https://www.w3.org/DesignIssues/LinkedData.html Linked Data], Tim Berners-Lee, 2006-07-27. | |||
* [[:File:S04-LOD.pdf | Slides from the lecture]] | |||
Useful materials | |||
* [https://www.ontotext.com/knowledgehub/fundamentals/linked-data-linked-open-data/ What Are Linked Data and Linked Open Data?] | |||
* [[: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.]] | |||
==Lecture 5: Open Knowledge Graphs I== | |||
Themes: | |||
* Important open KGs (LOD datasets) | |||
** Wikidata | |||
** DBpedia | |||
Mandatory readings: | |||
* Chapter 5 in Allemang, Hendler & Gandon (3rd edition) | |||
* Important knowledge graphs - and what to read: | |||
** Wikidata (https://www.wikidata.org/): | |||
*** [https://www.wikidata.org/wiki/Wikidata:Introduction Introduction to Wikidata] | |||
*** [https://www.wikidata.org/wiki/Wikidata:SPARQL_query_service/Wikidata_Query_Help SPARQL query service/A gentle introduction to the Wikidata Query Service] | |||
*** example: [https://www.wikidata.org/wiki/Q26793] | |||
** DBpedia (https://www.dbpedia.org): | |||
*** [http://wiki.dbpedia.org/about About Dbpedia] | |||
*** example: [https://dbpedia.org/resource/Bergen] | |||
* [[:File:S05-S06-OpenKGs.pdf | Slides from the lecture]] | |||
==Lecture 6: Open Knowledge Graphs II== | |||
Themes: | |||
* Important open KGs (LOD datasets) | |||
** DBpedia ''(continued)'' | |||
** GeoNames | |||
** the GDELT project | |||
** WordNet | |||
** BabelNet | |||
** ConceptNet | |||
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 :-)) | |||
==Lecture 7: Enterprise Knowledge Graphs== | |||
Themes: | |||
* Enterprise Knowledge Graphs (EKGs) | |||
* Google’s Knowledge Graph | |||
* Amazon’s Product Graph | |||
* JSON-LD (video presentation) | |||
Mandatory 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://blog.google/products/search/about-knowledge-graph-and-knowledge-panels/ A reintroduction to our Knowledge Graph and knowledge panels], Danny Sullivan, Google (2020). | |||
* [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.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 | ==Lecture 8: Rules (SHACL and RDFS)== | ||
Themes: | |||
* | * SHACL and RDFS | ||
* | * Axioms, rules and entailment | ||
* Programming SHACL and RDFS in Python | |||
* | |||
Mandatory readings: | |||
* Chapters | * Chapters 7-8 in Allemang, Hendler & Gandon (3rd edition) | ||
* RDF Schema 1.1 | * [https://book.validatingrdf.com/bookHtml011.html Chapter 5 ''SHACL''] in [https://book.validatingrdf.com/index.html Validating RDF] (available online) | ||
* | ** Sections 5.1, 5.3-5.5, and 5.6,1-5.6.3 | ||
* [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: | |||
* | * 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://owl-rl.readthedocs.io/en/latest/owlrl.html OWL-RL documentation] (most likely more detailed than you will need - check the [[Python Examples]] first | |||
==Lecture | ==Lecture 9: Ontologies (OWL)== | ||
Themes: | |||
* | * Basic OWL concepts | ||
* | * Axioms, rules and entailments | ||
* | * Programming basic OWL in Python | ||
Mandatory readings: | |||
* | * Chapter 9-10, 12-13 in Allemang, Hendler & Gandon (3rd edition) | ||
* [http://www.w3.org/TR/owl-primer OWL2 Primer], sections 2-6 and 9-10 | |||
* | * [http://vowl.visualdataweb.org/ VOWL: Visual Notation for OWL Ontologies] | ||
* | * [https://protegeproject.github.io/protege/getting-started/ Protégé-OWL Getting Started] | ||
* [http://vowl.visualdataweb.org/v2 | * [[:File:S09-OWL.pdf | Slides from the lecture]] | ||
Useful materials (cursory): | |||
* [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-rdf-based-semantics/ OWL2 RDF-Based Semantics] | |||
* The OWL-RL materials (from Lecture 5) | |||
* [http://vowl.visualdataweb.org/v2 VOWL: Visual Notation for OWL Ontologies] | |||
* [http://vowl.visualdataweb.org/webvowl/index.html#sioc WebVOWL] | * [http://vowl.visualdataweb.org/webvowl/index.html#sioc WebVOWL] | ||
* [[:File:LohmannEtAl2016-VisualizingOntologiesWithVOWL.pdf | Lohmann et al. (2019): Visualizing Ontologies with VOWL. ''Semantic Web Journal.'']] | |||
* Pages 106-109 in Blumauer & Nagy (suggested) | |||
==Lecture 10: Vocabularies== | |||
Themes: | |||
* LOD vocabularies and ontologies | |||
Mandatory readings: | |||
* 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]] | |||
==Lecture 11: KG embeddings== | |||
Themes: | |||
* KG embeddings | |||
* Link prediction | |||
* TorchKGE | |||
Mandatory readings: | |||
* [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]]) | |||
* [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]] | |||
Supplementary readings: | |||
* [[: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) | |||
==Lecture 12: KGs and Large Language Models== | |||
Themes: | |||
* What are 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 | |||
Mandatory readings: | |||
* [[: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 /> | ||
* | --> | ||
== | | ||
<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 15:06, 14 February 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.
Lecture 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.
- Tim Berners-Lee talks about the semantic web
- 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 Files/Slides in http://mitt.uib.no).
Useful materials:
- Chapters 1-3 in Allemang, Hendler & Gandon (3rd edition)
- Wikidata (https://www.wikidata.org/)
Lecture 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.
- The SPARQL query language — GraphDB 10.8 documentation
- rdflib 7.1.3 materials: Querying with SPARQL
- The slides from the lecture (available under Files/Slides in http://mitt.uib.no).
Useful materials:
- Chapter 6 in Allemang, Hendler & Gandon (3rd edition)
- SPARQL 1.1 Query Language
- SPARQL 1.1 Update Language
- SPARQL 1.1 Cheat Sheet
- SPARQL Expressions and Functions
Lecture 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 Files/Slides in http://mitt.uib.no).
Useful materials:
Lecture 4: Validating KGs (incomplete)
Themes:
- Semantic KG schemas/vocabularies (RDFS)
- Validating KG schemas (SHACL)
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 Gayo, J.E. et al. Validating RDF.
- The slides from the lecture (available under Files/Slides in http://mitt.uib.no).
Useful materials:
- SHACL
- Interactive, online SHACL Playground
- pySHACL - A Python validator for SHACL at PyPi.org (after installation, go straight to "Python Module Use".)
- Shapes Constraint Language (SHACL) (Editor's Draft)
- RDFS
- W3C's RDF 1.1 Semantics (the axioms and entailments in sections 8 and 9 are most important, and we will go throught the most important ones 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)
Lecture: 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.
Useful materials:
- RDF
- RDF*/SPARQL*
Lecture: 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.
Useful materials:
- OWL
Lecture: Reasoning
Themes:
- More about semantic KG schemas (RDFS)
- Description logic
- OWL-DL
Mandatory readings:
- Section 4.2 Rules + DL in Hogan et al.
Useful materials:
- RDFS
- OWL-DL
Lecture: KG Analytics
Themes:
- Graph analytics
Mandatory readings:
- Section 5.1 Graph Analytics in Hogan et al.
Useful materials:
- networkx
Lecture: 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.
Useful materials:
- TorchKGE or PyKeen or ??
Lecture: KG Refinement
Themes:
- Enriching KGs
Mandatory readings:
- Chapter 8 Completion + Correction in Hogan et al.
Useful materials:
Lecture: KGs in Practice
Themes:
- Open KGs
- Enterprise KGs
Mandatory readings:
- 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/)
- Linking Open Data (LOD) (http://lod-cloud.net)
- Linked Open Vocabularies (LOV, https://lov.linkeddata.es/dataset/lov/)
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: KGs in industry
I am also working to organise a Guest Lecture from a practitioner and former student.