Readings: Difference between revisions

From info216
No edit summary
 
(104 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.''
* 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.  


Supplementary text book (''not'' mandatory):
Supplementary reading book (''not'' mandatory):
* Andreas Blumauer and Helmut Nagy (2020). '''The Knowledge Graph Cookbook - Recipes that Work.''' mono/monochrom. ISBN-10: ‎3902796707, ISBN-13: 978-3902796707.
* Andreas Blumauer and Helmut Nagy (2020). '''The Knowledge Graph Cookbook - Recipes that Work.''' mono/monochrom. ISBN-10: ‎3902796707, ISBN-13: 978-3902796707.


Line 17: Line 18:
''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=
=Lectures (in progress)=


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.
Below are the mandatory and suggested readings for each lecture. All the textbook chapters in Allemang, Hendler & Gandon are mandatory, whereas the chapters in Blumauer & Nagy are suggested.


''To be updated - the readings for the later lectures are not yet final for Spring 2022.''
==Lecture 1: Introduction to KGs==
 
 
==Lecture 1: Introduction to knowledge Graphs==


Themes:
Themes:
* Introduction to Knowledge Graphs
* Introduction to Knowledge Graphs
* Organisation of INFO216
* Organisation of the course


Mandatory readings:
Mandatory readings:
Line 36: Line 34:


Useful materials:
Useful materials:
* Pages 27-55 and 105-122 in Blumauer & Nagy (suggested)
* Important knowledge graphs (''which we will look more at later''):
* Important knowledge graphs (we will look more at them later!):
** Wikidata (https://www.wikidata.org/)
** Wikidata (https://www.wikidata.org/)
** DBpedia (https://www.dbpedia.org, https://dbpedia.org/page/Bergen)
<!-- ** DBpedia (https://www.dbpedia.org, https://dbpedia.org/page/Bergen)
** 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)
** Linking 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/)
 
-->
 
* Pages 27-55 and 105-122 in Blumauer & Nagy (suggested)


==Lecture 2: Representing KGs (RDF)==
==Lecture 2: Representing KGs (RDF)==


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


Mandatory readings:
Mandatory readings:
* Chapter 3 in Allemang, Hendler & Gandon (3rd edition)
* Chapter 3 in Allemang, Hendler & Gandon (3rd edition)
* [https://www.w3.org/TR/rdf11-primer/ W3C's RDF 1.1 Primer]
* [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 6.1.1]
* [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 63: Line 60:
** 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:
* [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)
* Pages 25-28, 92-100, 125-128, and 164-167 in Blumauer & Nagy (suggested)
* [https://www.w3.org/TR/rdf11-concepts/ W3C's RDF 1.1 Concepts and Abstract Syntax]
* [https://rdflib.readthedocs.io/en/stable/apidocs/modules.html RDFLib API documentation] (useful reference for the labs)
* [https://www.ldf.fi/service/rdf-grapher RDF Grapher] for drawing RDF graphs
* An overview page of some other [https://www.w3.org/2018/09/rdf-data-viz/ RDF Data Visualization tools]


==Lecture 3: Querying and updating KGs (SPARQL)==
==Lecture 3: Querying and updating KGs (SPARQL)==
Line 80: Line 79:
* Programming SPARQL and SPARQL Update in Python
* Programming SPARQL and SPARQL Update in Python


Mandatory readings:
Mandatory readings (tentative):
* Chapter 6 in Allemang, Hendler & Gandon (3rd edition)
* Chapter 6 in Allemang, Hendler & Gandon (3rd edition)
* [[:File:sparql-1_1-cheat-sheet.pdf | SPARQL 1.1 Cheat Sheet]]
* [http://www.w3.org/TR/sparql11-update/ SPARQL 1.1 Update Language] (Sections 1-3)
* [http://www.w3.org/TR/sparql11-update/ SPARQL 1.1 Update Language] (Sections 1-3)
* [https://rdflib.readthedocs.io/ rdflib 6.1.1] materials:
* [https://rdflib.readthedocs.io/ rdflib 7.0.0] materials:
** Querying with SPARQL
** [https://rdflib.readthedocs.io/en/stable/intro_to_sparql.html Querying with SPARQL]
* [[:File:S03-SPARQL.pdf | Slides from the lecture]]
* [[:File:S03-SPARQL.pdf | Slides from the lecture]]


Useful materials:
Useful materials:
* For example pages 54-55, 133 in Blumauer & Nagy (suggested)
<!-- * [https://medium.com/wallscope/constructing-sparql-queries-ca63b8b9ac02 Constructing SPARQL Queries] -->
* [http://www.w3.org/TR/sparql11-query/ SPARQL 1.1 Query Language]
* [http://www.w3.org/TR/sparql11-query/ SPARQL 1.1 Query Language]
* [http://www.w3.org/TR/sparql11-update/ SPARQL 1.1 Update Language] (the rest of it)
* [http://www.w3.org/TR/sparql11-update/ SPARQL 1.1 Update Language] (the rest of it)
* [https://www.w3.org/TR/sparql11-overview/ SPARQL 1.1 Overview]
* [[:File:sparql-1_1-cheat-sheet.pdf | SPARQL 1.1 Cheat Sheet]]
* [https://rdflib.readthedocs.io/en/stable/apidocs/modules.html RDFLib API documentation] (same as Session 2)
* [https://en.wikibooks.org/wiki/SPARQL/Expressions_and_Functions SPARQL Expressions and Functions]
* For example pages 54-55, 133 in Blumauer & Nagy (suggested)
* The [[:File:kg4news-dump-20230130.txt | Knowledge Graphs for the News]] example used in the lecture. (Remember to save with the correct ''.ttl'' extension.)


 
==Lecture 4: Linked Open Data (LOD)==
==Lecture 4: Storing and sharing KGs==


Themes:
Themes:
* Triple stores and Blazegraph
* Linked Open Data(LOD)
* Web APIs and JSON-LD
* The LOD cloud
* Other serialisation formats
* Data provisioning


Mandatory readings:
Mandatory readings ''(both lecture 4 and 5)'':
* Chapter 4 in Allemang, Hendler & Gandon (3rd edition)
* Chapter 5 in Allemang, Hendler & Gandon (3rd edition)
* [https://wiki.blazegraph.com/wiki/index.php/Main_Page Blazegraph]:
* [https://www.w3.org/DesignIssues/LinkedData.html Linked Data], Tim Berners-Lee, 2006-07-27.
** Introduction - About Blazegraph
* [[:File:S04-LOD.pdf | Slides from the lecture]]
** Getting started
* Section 2 in W3C's [https://www.w3.org/TR/json-ld-api/ JSON-LD 1.1 Processing Algorithms and API]
* [[:File:S04-StoringAndSharing.pdf | Slides from the lecture]]


Useful materials:
Useful materials
* Part 4 (System Architecture and Technologies) in Blumauer & Nagy (suggested)
* [https://www.ontotext.com/knowledgehub/fundamentals/linked-data-linked-open-data/ What Are Linked Data and Linked Open Data?]
* [https://www.JSON.org/json-en.html JSON Syntax] (if you do not know it already :-))
* [[: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://wiki.blazegraph.com/wiki/index.php/Main_Page Blazegraph]
** The rest of it...
* [http://json-ld.org/ JSON for Linked Data]
* [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 I==
==Lecture 5: Open Knowledge Graphs==


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


Mandatory readings:
Mandatory readings:
* Chapter 5 in Allemang, Hendler & Gandon (3rd edition)
* Chapter 5 in Allemang, Hendler & Gandon (3rd edition)
* [https://www.w3.org/DesignIssues/LinkedData.html Linked Data], Tim Berners-Lee, 2006-07-27.
* [http://lod-cloud.net The Linking Open Data (LOD) cloud diagram] - The Linked Open Data Cloud
* Important knowledge graphs - and what to read:
* Important knowledge graphs - and what to read:
** Wikidata (https://www.wikidata.org/):
** Wikidata (https://www.wikidata.org/):
Line 147: Line 128:
*** [http://wiki.dbpedia.org/about About Dbpedia]
*** [http://wiki.dbpedia.org/about About Dbpedia]
*** example: [https://dbpedia.org/resource/Bergen]
*** 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/):
** GeoNames (https://www.geonames.org/):
*** [http://www.geonames.org/about.html About GeoNames]
*** [http://www.geonames.org/about.html About GeoNames]
Line 152: Line 149:
** GDELT (https://www.gdeltproject.org/)
** GDELT (https://www.gdeltproject.org/)
*** [https://www.gdeltproject.org/ The GDELT Project] - see also the About and Data pages
*** [https://www.gdeltproject.org/ The GDELT Project] - see also the About and Data pages
** EventKG (http://eventkg.l3s.uni-hannover.de/)
*** [http://eventkg.l3s.uni-hannover.de/ EventKG - A Multilingual Event-Centric Temporal Knowledge Graph]
** WordNet (https://wordnet.princeton.edu/)
** WordNet (https://wordnet.princeton.edu/)
*** [https://wordnet.princeton.edu/ WordNet - A lexical database for English]
*** [https://wordnet.princeton.edu/ WordNet - A lexical database for English]
Line 160: Line 155:
*** [https://babelnet.org/how-to-use How to use]
*** [https://babelnet.org/how-to-use How to use]
*** example: [https://babelnet.org/synset?id=bn%3A00010008n&orig=Bergen&lang=EN]
*** example: [https://babelnet.org/synset?id=bn%3A00010008n&orig=Bergen&lang=EN]
*  [[:File:S05-OpenKGs.pdf | Slides from the lecture]]
** ConceptNet (http://conceptnet.io)
*** [http://conceptnet.io ConceptNet - An open, multilingual knowledge graph]
*  [[:File:S05-S06-OpenKGs.pdf | Slides from the lecture]]


Useful materials:
Useful materials
* [[: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.]]
* Parts 1 and 3 in Blumauer & Nagy's text book (not tightly related to the lecture, but time to finish them by now :-))
* Wikidata statistics
* Wikidata statistics
** [https://grafana.wikimedia.org/d/000000167/wikidata-datamodel?orgId=1&refresh=30m Entity 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://grafana.wikimedia.org/d/000000175/wikidata-datamodel-statements?orgId=1&refresh=30m Statement statistics]
* [https://www.dbpedia-spotlight.org/ DBpedia Spotlight]
* GDELT documentation
* GDELT documentation
** [http://data.gdeltproject.org/documentation/GDELT-Event_Codebook-V2.0.pdf Event Codebook (and covers mentions)]
** [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/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]
** [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==
==Lecture 6: Enterprise Knowledge Graphs==


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


Mandatory readings:
Mandatory readings:
Line 186: Line 182:
* [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).
* [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 AutoKnow research paper listed below.)''
* [[:File:S06-EnterpriseKGs.pdf | Slides from the lecture]]  
* [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:
Supplementary readings:
* Parts 2 and 4 in Blumauer & Nagy's text book (''strongly suggested - this is where Blumauer & Nagy's book is good!'')
* Parts 2 and 4 in Blumauer & Nagy's text book (''strongly suggested - this is where Blumauer & Nagy's book is good!'')
* [[:File:A1-Poster-NIKT2021.pdf | News Angler / News Hunter poster]]
* [[: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]]. Example of research paper from Amazon - this is a bit heavy for Bachelor level, but you can have a look :-)
* [[: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:
* Chapters 7-8 in Allemang, Hendler & Gandon (3rd edition)
* Chapters 7-8 in Allemang, Hendler & Gandon (3rd edition)
* [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
* [http://www.w3.org/TR/rdf-schema/ W3C's RDF Schema 1.1], focus on sections 1-3 and 6
* [[:File:S07-RDFS.pdf | Slides from the lecture]]  
* [[:File:S07-SHACL-RDFS.pdf | Slides from the lecture]]  


Useful materials:
Useful materials:
* Pages 101-106 in Blumauer & Nagy (suggested)
* 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://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/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
* Pages 101-106 in Blumauer & Nagy (suggested)


 
==Lecture 9: Ontologies (OWL)==
==Lecture 8: Ontologies (OWL)==


Themes:
Themes:
Line 222: Line 224:


Mandatory readings:
Mandatory readings:
* Chapter 9-10 in Allemang, Hendler & Gandon (3rd edition)
* Chapter 9-10, 12-13 in Allemang, Hendler & Gandon (3rd edition)
* [http://www.w3.org/TR/owl-primer OWL2 Primer], sections 2-6
* [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]
* [http://vowl.visualdataweb.org/ VOWL: Visual Notation for OWL Ontologies]
* [[:File:S08-OWL.pdf | Slides from the lecture (old slides from 2021)]]
* [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):
* Pages 106-109 in Blumauer & Nagy (suggested)
* [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)
* [http://vowl.visualdataweb.org/v2 VOWL: Visual Notation for OWL Ontologies]
* [http://vowl.visualdataweb.org/webvowl/index.html#sioc WebVOWL]
* [[:File:LohmannEtAl2016-VisualizingOntologiesWithVOWL.pdf | Lohmann et al. (2019): Visualizing Ontologies with VOWL. ''Semantic Web Journal.'']]
* [[: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==
==Lecture 9: Vocabularies==


Themes:
Themes:
Line 245: Line 249:
* [http://lov.okfn.org/dataset/lov/ Linked Open Vocabularies (LOV)]
* [http://lov.okfn.org/dataset/lov/ Linked Open Vocabularies (LOV)]
* Important vocabularies / ontologies:
* 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://www.w3.org/2004/02/skos/ SKOS - Simple Knowledge Organization System Home Page]
** [http://dublincore.org/ Dublin Core (DC)]
** [http://rdfs.org/sioc/spec/ Semantic Interlinked Online Communities (SIOC)]
** [http://xmlns.com/foaf/spec/ Friend of a Friend (FOAF)]
** [http://schema.org/docs/full.html schema.org - Full Hierarchy]
** [http://schema.org/docs/full.html schema.org - Full Hierarchy]
** [http://wikidata.dbpedia.org/services-resources/ontology DBpedia Ontology]
** [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]
** [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://rdfs.org/sioc/spec/ Semantic Interlinked Online Communities (SIOC)]
** ''What we expect you to know about each vocabulary is this:''  
** ''What we expect you to know about each vocabulary is this:''  
*** Its purpose and where and how it can be used.
*** 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.  
*** 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.  
*** 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:S09-Vocabularies.pdf | Slides from the lectures]]
* [[:File:S10-Vocabularies.pdf | Slides from the lecture]]
* [[:File:S09-NewsAnglerOntologies.pdf | Additional slides about the News Angler/News Hunter ontologies (same slides as  2021)]]


Useful materials:
* More vocabularies / ontologies:
** [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://motools.sourceforge.net/timeline/timeline.html Timeline Ontology (tl)]
** [http://vocab.org/bio/ Biographical Information (BIO)]
** [http://bibliontology.com/ Bibliographic Ontology (bibo)]
** [http://musicontology.com/ Music Ontology (mo)]
==Lecture 10: Reasoning about KGs (DL)==
Themes:
* Description logic
* Decision problems
* OWL-DL
Mandatory readings:
* [[:File:S10-DescriptionLogic.pdf]]
Useful materials:
* [[:File:NardiBrachman-IntroductionToDescriptionLogic.pdf | Nardi & Brachman: Introduction to Description Logics. Chapter 1 in Description Logic Handbook.]]
* [[: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)
==Lecture 11: Formal ontologies (OWL-DL)==
Themes:
* Advanced OWL


Mandatory readings:
==Lecture 11: KG embeddings==
* Chapters 12-13 in Allemang, Hendler & Gandon (3rd edition)
* [http://www.w3.org/TR/owl-primer OWL2 Primer]
* [[:File:|S11-OWL-DL.pdf | Slides from the lecture]]
 
Useful materials:
* [http://www.w3.org/TR/owl-overview OWL 2 Document Overview]
* [https://www.w3.org/TR/2012/REC-owl2-quick-reference-20121211/ OWL 2 Quick Reference Guide] (cursory)
* [http://vowl.visualdataweb.org/v2 VOWL: Visual Notation for OWL Ontologies]
* [http://vowl.visualdataweb.org/webvowl/index.html#sioc WebVOWL]
* [[:File:DL-reasoning-RoyalFamily-final.owl.txt | Example file]] demonstrating Protege-OWL reasoning with HermiT.
 
==Lecture 12: KG embeddings==


Themes:
Themes:
Line 312: Line 274:
* TorchKGE
* TorchKGE


Mandatory readings:
Mandatory readings (preliminary):
* [https://torchkge.readthedocs.io/en/latest/ TorchKGE]
* [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 (preliminary):
* [[: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 13: Knowledge Engineering==
==Lecture 12: KGs and Large Language Models==


<!--
Themes:
Themes:
* Knowledge engineering
* Questions about the exam
* The Ontology Development 101 method
* Quizzes


Mandatory readings:
Mandatory readings:
* Chapters 14-16 in Allemang, Hendler & Gandon (3rd edition)
* The rest of Allemang, Hendler & Gandon (3rd edition)
* [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.]
* [[:File:S15-OntologyDevelopment-5.pdf | Slides from the lecture (old slides from 2021)]]


Useful materials:
Useful materials:
* The rest of Blumauer & Nagy (suggested)
* The rest of Blumauer & Nagy (suggested)
 
-->
 
==Lecture 14: Wrapping up==




&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 11:22, 24 April 2024

Textbooks

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.

Supplementary reading book (not mandatory):

  • Andreas Blumauer and Helmut Nagy (2020). The Knowledge Graph Cookbook - Recipes that Work. mono/monochrom. ISBN-10: ‎3902796707, ISBN-13: 978-3902796707.

Other materials

In addition, the materials listed below for each lecture are either mandatory or suggested reading. More materials will be added to each lecture in the coming weeks.

The lectures and lectures notes are also part of the curriculum.

Make sure you download the electronic resources to your own computer in good time before the exam. This is your own responsibility. That way you are safe if a site becomes unavailable or somehow damaged the last few days before the exam.

Note: to download some of the papers, you may need to be inside UiB's network. Either use a computer directly on the UiB network or connect to your UiB account through VPN.

Lectures (in progress)

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.

Lecture 1: Introduction to KGs

Themes:

  • Introduction to Knowledge Graphs
  • Organisation of the course

Mandatory readings:

Useful materials:

  • Important knowledge graphs (which we will look more at later):
  • Pages 27-55 and 105-122 in Blumauer & Nagy (suggested)

Lecture 2: Representing KGs (RDF)

Themes:

  • Resource Description Framework (RDF)
  • Programming RDF in Python

Mandatory readings:

  • Chapter 3 in Allemang, Hendler & Gandon (3rd edition)
  • W3C's RDF 1.1 Primer until and including 5.1.2 Turtle (but not the rest for now)
  • 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
  • Slides from the lecture

Useful materials:

Lecture 3: Querying and updating KGs (SPARQL)

Themes:

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

Mandatory readings (tentative):

Useful materials:

Lecture 4: Linked Open Data (LOD)

Themes:

  • Linked Open Data(LOD)
  • The LOD cloud
  • Data provisioning

Mandatory readings (both lecture 4 and 5):

Useful materials

Lecture 5: Open Knowledge Graphs I

Themes:

  • Important open KGs (LOD datasets)
    • Wikidata
    • DBpedia

Mandatory readings:

Lecture 6: Open Knowledge Graphs II

Themes:

  • Important open KGs (LOD datasets)
    • DBpedia (continued)
    • GeoNames
    • the GDELT project
    • WordNet
    • BabelNet
    • ConceptNet

Mandatory readings:

Useful materials

Lecture 7: Enterprise Knowledge Graphs

Themes:

  • Enterprise Knowledge Graphs (EKGs)
  • Google’s Knowledge Graph
  • Amazon’s Product Graph
  • JSON-LD (video presentation)

Mandatory readings:

Supplementary readings:

  • Parts 2 and 4 in Blumauer & Nagy's text book (strongly suggested - this is where Blumauer & Nagy's book is good!)
  • 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.
  • 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 8: Rules (SHACL and RDFS)

Themes:

  • SHACL and RDFS
  • Axioms, rules and entailment
  • Programming SHACL and RDFS in Python

Mandatory readings:

Useful materials:

Lecture 9: Ontologies (OWL)

Themes:

  • Basic OWL concepts
  • Axioms, rules and entailments
  • Programming basic OWL in Python

Mandatory readings:

Useful materials (cursory):

Lecture 10: Vocabularies

Themes:

  • LOD vocabularies and ontologies

Mandatory readings:


Lecture 11: KG embeddings

Themes:

  • KG embeddings
  • Link prediction
  • TorchKGE

Mandatory readings (preliminary):

Supplementary readings (preliminary):

Lecture 12: KGs and Large Language Models

 

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