Readings: Difference between revisions

From info216
(12 intermediate revisions by the same user not shown)
Line 49: Line 49:
* Programming RDF in Python
* Programming RDF in Python


Mandatory readings (preliminary):
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]
Line 59: Line 59:
** Navigating Graphs
** Navigating Graphs
** Utilities and convenience functions
** Utilities and convenience functions
* [[:File:S02-RDF.pdf | Slides from the lecture]]
** RDF terms in rdflib
** Namespaces and Bindings
* [[:File:S02-RDF.pdf | Slides from last year's lecture]]


Useful materials (preliminary):
Useful materials:
* [https://www.ldf.fi/service/rdf-grapher RDF Grapher] for drawing RDF graphs
* [https://www.ldf.fi/service/rdf-grapher RDF Grapher] for drawing RDF graphs
* [https://rdflib.readthedocs.io/en/stable/apidocs/modules.html RDFLib 6.2.0 packages] (reference for the labs)
* [https://rdflib.readthedocs.io/en/stable/apidocs/modules.html RDFLib 6.2.0 packages] (reference for the labs)
Line 75: Line 77:
* Programming SPARQL and SPARQL Update in Python
* Programming SPARQL and SPARQL Update in Python


Mandatory readings (preliminary):
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]]
* [https://medium.com/wallscope/constructing-sparql-queries-ca63b8b9ac02 Constructing SPARQL Queries]
* [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 6.1.1] materials:
** Querying with SPARQL
** Querying with SPARQL
* [[:File:S03-SPARQL.pdf | Slides from the lecture]]
* [[:File:S03-SPARQL.pdf | Slides from last year's lecture]]


Useful materials (preliminary):
Useful materials:
* For example pages 54-55, 133 in Blumauer & Nagy (suggested)
* [[:File:sparql-1_1-cheat-sheet.pdf | SPARQL 1.1 Cheat Sheet]]
* [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]
* For example pages 54-55, 133 in Blumauer & Nagy (suggested)
* [https://rdflib.readthedocs.io/en/stable/apidocs/modules.html RDFLib API documentation] (same as Session 2)


==Lecture 4: Open Knowledge Graphs I==
==Lecture 4: Open Knowledge Graphs I==
Line 97: Line 98:
** Wikidata
** Wikidata
** DBpedia
** DBpedia
** GeoNames
** the GDELT project
** the GDELT project
** EventKG
** GeoNames
** WordNet
** WordNet
** BabelNet
** BabelNet
** and others
** and perhaps others


Mandatory readings (preliminary):
Mandatory readings (preliminary):
Line 121: Line 121:
** 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 129: Line 127:
*** [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]]
*  [[:File:S05-OpenKGs.pdf | Slides from last year's lecture]]


Useful materials (preliminary):
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.]]
* [[: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 5: Open Knowledge Graphs II==
==Lecture 5: Open Knowledge Graphs II==
'''See readings for lecture 4.'''
''See readings for lecture 4.''


==Lecture 6: Enterprise Knowledge Graphs==
==Lecture 6: Enterprise Knowledge Graphs==
Line 157: Line 156:
* [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]]  
* [[:File:S06-EnterpriseKGs.pdf | Slides from last year's lecture]]  


Supplementary readings (preliminary):
Supplementary readings (preliminary):
* 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:A1-Poster-NIKT2021.pdf | News Angler / News Hunter poster]]
* [[: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]]. Example of research paper from Amazon - this is a bit heavy for Bachelor level, but you can have a look :-)
* Parts 2 and 4 in Blumauer & Nagy's text book (''strongly suggested - this is where Blumauer & Nagy's book is good!'')


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


Themes:
Themes:
Line 174: Line 173:
* Chapters 7-8 in Allemang, Hendler & Gandon (3rd edition)
* Chapters 7-8 in Allemang, Hendler & Gandon (3rd edition)
* [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]]  
* Material on SHACL ''(TBD)''
* [[:File:S07-RDFS.pdf | Slides from last year's lecture]]  


Useful materials (preliminary):
Useful materials (preliminary):
* Pages 101-106 in Blumauer & Nagy (suggested)
* [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
* [https://w3c.github.io/data-shapes/shacl/ Shapes Constraint Language (SHACL) (Editor's Draft)]
* [https://pypi.org/project/pyshacl/ pySHACL - A Python validator for SHACL]
* Pages 101-106 in Blumauer & Nagy (suggested)


==Lecture 8: Ontologies (OWL)==
==Lecture 8: Ontologies (OWL)==
Line 194: Line 196:
* [http://www.w3.org/TR/owl-primer OWL2 Primer], sections 2-6
* [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:S08-OWL.pdf | Slides from the lecture (old slides from 2021)]]
* [https://protegeproject.github.io/protege/getting-started/ Protégé-OWL Getting Started]
* [[:File:S08-OWL.pdf | Slides from last year's lecture]]


Useful materials (cursory) (preliminary):
Useful materials (cursory) (preliminary):
* 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]
Line 203: Line 205:
* 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.'']]
* [[:File:LohmannEtAl2016-VisualizingOntologiesWithVOWL.pdf | Lohmann et al. (2019): Visualizing Ontologies with VOWL. ''Semantic Web Journal.'']]
* Pages 106-109 in Blumauer & Nagy (suggested)


==Lecture 9: Vocabularies==
==Lecture 9: Vocabularies==
Line 227: Line 230:
*** 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:S09-Vocabularies.pdf | Slides from last year's lecture]]
* [[:File:S09-NewsAnglerOntologies.pdf | Additional slides about the News Angler/News Hunter ontologies (same slides as  2021)]]
* [[:File:S09-NewsAnglerOntologies.pdf | Additional slides about the News Angler/News Hunter ontologies (same slides as  2021)]]


Line 248: Line 251:


Mandatory readings (preliminary):
Mandatory readings (preliminary):
* [[:File:S10-DescriptionLogic.pdf | Slides from the lecture]]
* [[:File:S10-DescriptionLogic.pdf | Slides from last year's lecture]]


Useful materials (preliminary):
Useful materials (preliminary):
Line 264: Line 267:
* Chapters 12-13 in Allemang, Hendler & Gandon (3rd edition)
* Chapters 12-13 in Allemang, Hendler & Gandon (3rd edition)
* [http://www.w3.org/TR/owl-primer OWL2 Primer]
* [http://www.w3.org/TR/owl-primer OWL2 Primer]
* [[:File:S11-OWL-DL.pdf | Slides from the lecture]]
* [[:File:S11-OWL-DL.pdf | Slides from last year's lecture]]


Useful materials (preliminary):
Useful materials (preliminary):
Line 288: Line 291:
* [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-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]])
* [https://towardsdatascience.com/introduction-to-knowledge-graph-embedding-with-dgl-ke-77ace6fb60ef Introduction to Knowledge Graph Embeddings] ([[:file:IntroToKGEmbeddings.pdf | PDF]])
* [[:file:S12-GraphEmbeddings.pdf | Slides from the lecture]]
* [[:file:S12-GraphEmbeddings.pdf | Slides from last year's lecture]]


Supplementary readings (preliminary):
Supplementary readings (preliminary):
Line 307: Line 310:
* Chapters 14-16 in Allemang, Hendler & Gandon (3rd edition)
* Chapters 14-16 in 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.]
* [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)]]
* [[:File:S15-OntologyDevelopment-5.pdf | Slides from an earlier lecture (old slides from 2021)]]


Useful materials (preliminary):
Useful materials (preliminary):

Revision as of 15:31, 23 January 2023

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 text book (not mandatory):

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

Other materials

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

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

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

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

Lectures

Below are the mandatory and suggested readings for each lecture. All the textbook chapters in Allemang, Hendler & Gandon are mandatory, whereas the chapters in Blumauer & Nagy are suggested.

Lecture 1: Introduction to KGs

Themes:

  • Introduction to Knowledge Graphs
  • Organisation of the course

Mandatory readings:

Useful materials:

Lecture 2: Representing KGs (RDF)

Themes:

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

Mandatory readings:

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: Open Knowledge Graphs I

Themes:

  • The LOD cloud
  • Important open KGs (LOD datasets)
    • Wikidata
    • DBpedia
    • GeoNames
    • the GDELT project
    • WordNet
    • BabelNet
    • and perhaps others

Mandatory readings (preliminary):

Useful materials

Lecture 5: Open Knowledge Graphs II

See readings for lecture 4.

Lecture 6: Enterprise Knowledge Graphs

Themes:

  • Enterprise Knowledge Graphs
  • Google’s Knowledge Graph
  • Amazon’s Product Graphs
  • News Hunter’s infrastructure and architecture

Mandatory readings (preliminary):

Supplementary readings (preliminary):

Lecture 7: Rules (RDFS and SHACL)

Themes:

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

Mandatory readings (preliminary):

Useful materials (preliminary):

Lecture 8: Ontologies (OWL)

Themes:

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

Mandatory readings (preliminary):

Useful materials (cursory) (preliminary):

Lecture 9: Vocabularies

Themes:

  • LOD vocabularies and ontologies

Mandatory readings (preliminary):

Useful materials (preliminary):

Lecture 10: Reasoning about KGs (DL)

Themes:

  • Description logic
  • Decision problems
  • OWL-DL

Mandatory readings (preliminary):

Useful materials (preliminary):

Lecture 11: Formal ontologies (OWL-DL)

Themes:

  • Advanced OWL

Mandatory readings:

Useful materials (preliminary):

Owlready2 materials for the lab (preliminary):

Lecture 12: KG embeddings I

Themes:

  • KG embeddings
  • Link prediction
  • TorchKGE

Mandatory readings (preliminary):

Supplementary readings (preliminary):

Lecture 13: KG embeddings II

See readings for lecture 12.

Lecture 14: Knowledge engineering / Wrapping up

Themes:

  • Knowledge engineering
  • The Ontology Development 101 method

Mandatory readings (preliminary):

Useful materials (preliminary):

  • The rest of Blumauer & Nagy (suggested)


 

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