Difference between revisions of "Readings"

From Info216
 
(148 intermediate revisions by 2 users not shown)
Line 1: Line 1:
=Text book=
+
=Textbooks=
The text book in INFO216 is ''Semantic Web for the Working Ontologist, Second Edition: Effective Modeling in RDFS and OWL by Dean Allemang and James Hendler (Jun 3, 2011). Morgan Kaufmann.'' '''The whole book is obligatory reading.'''  
+
 
 +
Main course book:
 +
* 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.''
 +
 
 +
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=
 
=Other materials=
In addition, '''the materials listed below for each lecture is either mandatory or suggested reading.''' Currently, the readings are not updated from 2017, so some of them may change. Make sure you download the papers and web sites in good time before the exam. That way you are safe if a site becomes unavailable or somehow damaged the last few days before the exam. Note that to download some of the papers, you need to be inside UiB's network. Either use a computer directly on the UiB network or connect to your UiB account with VPN if you are elsewhere.
 
  
Finally, '''the lectures and lectures notes are also part of the curriculum.'''
+
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=
 
=Lectures=
Below are the mandatory and suggested readings for each lecture. All the text-book chapters are mandatory.
 
  
==Lecture 1: Introduction==
+
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 knowledge Graphs==
  
 
Themes:
 
Themes:
* Web of Data
+
* Introduction to Knowledge Graphs
* INFO216
+
* Organisation of INFO216
* Jena
 
* The programming project
 
  
 
Mandatory readings:
 
Mandatory readings:
* Chapters 1-2 in Allemang & Hendler. ''In text book.''
+
* Chapters 1-2 in Allemang, Hendler & Gandon (3rd edition)
* [http://www.youtube.com/watch?v=HeUrEh-nqtU Tim Berners-Lee talks about the semantic web] (mandatory)
+
* [http://www.youtube.com/watch?v=HeUrEh-nqtU Tim Berners-Lee talks about the semantic web]
* [http://jena.apache.org/about_jena/architecture.html Apache architecture overview] (mandatory)
+
* [[:File:S01-KnowledgeGraphs.pdf | Slides from the lecture]]
* [http://jena.apache.org/documentation/rdf/index.html The core RDF API] (mandatory)
 
* [http://jena.apache.org/tutorials/rdf_api.html An introduction to RDF and the Jena RDF API] (mandatory)
 
* [[:File:INFO216-introducction.pdf | Slides from the lecture]]
 
** [[:File:S01-Intro-WoD-Jena-7.pdf | Additional slides from the lecture]]
 
  
 
Useful materials:
 
Useful materials:
* [http://jena.apache.org/about_jena/ Welcome to Apache Jena] (useful starting page)
+
* Pages 27-55 and 105-122 in Blumauer & Nagy (suggested)
* [http://jena.apache.org/index.html Apache Jena] main page (useful starting page)
+
* Important knowledge graphs (we will look more at them later!):
* [http://jena.apache.org/tutorials/ Jena tutorials] (useful starting page)
+
** Wikidata (https://www.wikidata.org/)
* [https://jena.apache.org/documentation/javadoc/jena/ Package org.apache.jena.rdf.model] (supplementary, but necessary for the labs and project - lab 1 and the lecture notes lists the classes and methods you should look at)
+
** 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/)
  
Additional resources:
 
* PechaKucha: [https://www.pechakucha.com/cities/lambertville-new-hope/blogs/creating-a-presentation-update How to Create a PechaKucha Presentation]
 
* Elevator pitch:[https://www.linkedin.com/learning/creating-your-personal-brand/creating-a-perfect-elevator-pitch Some tips on how to plan your elevator pitch] and a [https://www.youtube.com/watch?v=Q19WW65kLkI example]
 
  
==Lecture 2: RDF==
+
 
 +
==Lecture 2: Representing KGs (RDF)==
  
 
Themes:  
 
Themes:  
 
* RDF
 
* RDF
* Programming RDF in Jena
+
* Programming RDF in Python
* Finding datasets and vocabularies for your projects
 
  
 
Mandatory readings:
 
Mandatory readings:
* Chapter 3 in Allemang & Hendler. ''In text book.''
+
* 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]
* We also continue with the Jena RDF materials from lecture 1:
+
* [http://rdflib.readthedocs.io/ rdflib 6.1.1]
** [http://jena.apache.org/documentation/rdf/index.html The core RDF API] (mandatory)
+
** Main page
** [http://jena.apache.org/tutorials/rdf_api.html An introduction to RDF and the Jena RDF API] (mandatory)
+
** Getting started with RDFLib
* [[:File:S02-RDF-8.pdf | Slides from the lecture]]
+
** Loading and saving RDF
 +
** Creating RDF triples
 +
** Navigating Graphs
 +
** Utilities and convenience functions
 +
* [[:File:S02-RDF.pdf | Slides from the lecture]]
  
 
Useful materials:
 
Useful materials:
* [https://www.w3.org/TR/rdf11-concepts/ W3C's RDF 1.1 Concepts and Abstract Syntax] (cursory)
+
* Pages 25-28, 92-100, 125-128, and 164-167 in Blumauer & Nagy (suggested)
** [https://jena.apache.org/documentation/javadoc/jena/ Package org.apache.jena.rdf.model] (supplementary, but necessary for the labs and project)
+
* [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: SPARQL==
+
==Lecture 3: Querying and updating KGs (SPARQL)==
  
 
Themes:
 
Themes:
* SPARQL
+
* SPARQL queries
* Programming SPARQL in Jena
 
 
* SPARQL Update
 
* SPARQL Update
* Programming SPARQL Update in Jena
+
* Programming SPARQL and SPARQL Update in Python
  
 
Mandatory readings:
 
Mandatory readings:
* Chapter 5 in Allemang & Hendler. ''In text book.''
+
* Chapter 6 in Allemang, Hendler & Gandon (3rd edition)
* [http://www.w3.org/TR/sparql11-update/ SPARQL 1.1 Update Language] (Sections 1-3 are obligatory)
+
* [[:File:sparql-1_1-cheat-sheet.pdf | SPARQL 1.1 Cheat Sheet]]
* [[:File:S03-SPARQL-12.pdf | Slides from the lecture]]
+
* [http://www.w3.org/TR/sparql11-update/ SPARQL 1.1 Update Language] (Sections 1-3)
 +
* [https://rdflib.readthedocs.io/ rdflib 6.1.1] materials:
 +
** Querying with SPARQL
 +
* [[:File:S03-SPARQL.pdf | Slides from the lecture]]
  
 
Useful materials:
 
Useful materials:
 +
* For example pages 54-55, 133 in Blumauer & Nagy (suggested)
 
* [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]
 
* [https://www.w3.org/TR/sparql11-overview/ SPARQL 1.1 Overview]
* [http://jena.apache.org/documentation/javadoc/arq/ Javadoc] for Apache Jena ARQ 3.2.0
+
* [https://rdflib.readthedocs.io/en/stable/apidocs/modules.html RDFLib API documentation] (same as Session 2)
** Query, QueryFactory, QueryExecution, QueryExecutionFactory, ResultSet
+
 
** UpdateFactory, UpdateAction
 
: (supplementary, but perhaps necessary for the labs and project)
 
  
==Lecture 4: Architecture==
+
==Lecture 4: Storing and sharing KGs==
  
 
Themes:
 
Themes:
* Application architecture
+
* Triple stores and Blazegraph
* Application components
+
* Web APIs and JSON-LD
* Triple stores
+
* Other serialisation formats
* Visualisation
 
  
 
Mandatory readings:
 
Mandatory readings:
* Chapter 4 in Allemang & Hendler. ''In text book.''
+
* Chapter 4 in Allemang, Hendler & Gandon (3rd edition)
* [http://jena.apache.org/about_jena/architecture.html Apache architecture overview] (mandatory, from lecture 1)
+
* [https://wiki.blazegraph.com/wiki/index.php/Main_Page Blazegraph]:
* [https://jena.apache.org/documentation/tdb/index.html Apache's TDB] (mandatory)
+
** Introduction - About Blazegraph
* [https://jena.apache.org/documentation/tdb/java_api.html Apache's TDB Java API] (mandatory)
+
** Getting started
* [https://jena.apache.org/documentation/fuseki2/index.html Apache Jena Fuseki] (mandatory, we use Fuseki 2)
+
* Section 2 in W3C's [https://www.w3.org/TR/json-ld-api/ JSON-LD 1.1 Processing Algorithms and API]
* [[:File:S04-architecture-5.pdf | Slides from the lecture]]
+
* [[:File:S04-StoringAndSharing.pdf | Slides from the lecture]]
  
 
Useful materials:
 
Useful materials:
* [https://jena.apache.org/documentation/javadoc/tdb/ Package org.apache.jena.tdb] Class TDBFactory (createDataset)
+
* Part 4 (System Architecture and Technologies) in Blumauer & Nagy (suggested)
* [http://www.eswc2012.org/sites/default/files/eswc2012_submission_303.pdf Skjæveland 2012: Sgvizler.] ''Paper.''
+
* [https://www.JSON.org/json-en.html JSON Syntax] (if you do not know it already :-))
* [http://mgskjaeveland.github.io/sgvizler/ Sgvizler 0.6]
+
* [https://wiki.blazegraph.com/wiki/index.php/Main_Page Blazegraph]
* [[:File:LohmannEtAl2016-VisualizingOntologiesWithVOWL.pdf | Lohmann et al. (2019): Visualizing Ontologies with VOWL. ''Semantic Web Journal.'']] ''Paper.''
+
** The rest of it...
* [http://vowl.visualdataweb.org/ VOWL: Visual Notation for OWL Ontologies]
+
* [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
* [[:File:S07-Visualisation-4.pdf | Slides from the lecture]]
+
* [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==
 +
 
 +
Themes:
 +
* The LOD cloud
 +
* Important open KGs (LOD datasets)
 +
** Wikidata
 +
** DBpedia
 +
** the GDELT project
 +
** EventKG
 +
** GeoNames
 +
** WordNet
 +
** BabelNet
 +
** and others
 +
 
 +
Mandatory readings:
 +
* 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:
 +
** 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]
 +
** 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
 +
** 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/)
 +
*** [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]
 +
*  [[:File:S05-OpenKGs.pdf | Slides from the lecture]]
 +
 
 +
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
 +
** [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]
 +
* 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]
 +
 
 +
 
 +
==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:
 +
* [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.)''
 +
* [[:File:S06-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: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 :-)
 +
 
  
==Lecture 5: RDFS==
+
==Lecture 7: Rules (RDFS)==
  
 
Themes:
 
Themes:
 
* RDFS
 
* RDFS
 
* Axioms, rules and entailment
 
* Axioms, rules and entailment
* Programming RDFS in Jena
+
* Programming RDFS in Python
  
 
Mandatory readings:
 
Mandatory readings:
* Chapters 6-7 in Allemang & Hendler. ''In text book.''
+
* Chapters 7-8 in Allemang, Hendler & Gandon (3rd edition)
* [http://www.w3.org/TR/rdf-schema/ W3C's RDF Schema 1.1] (mandatory)
+
* [http://www.w3.org/TR/rdf-schema/ W3C's RDF Schema 1.1], focus on sections 1-3 and 6
* [[:File:S05-RDFS-10.pdf | Slides from the lecture]]
+
* [[:File:S07-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)
+
* Pages 101-106 in Blumauer & Nagy (suggested)
* [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://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://jena.apache.org/documentation/javadoc/jena/ Javadoc] for
+
* [https://github.com/blazegraph/database/wiki/InferenceAndTruthMaintenance Inference and Thruth Maintenance in Blazegraph]
** Model (createRDFSModel)
+
* [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''.
** InfModel (getRawModel, remove + the same methods as Model)
+
* [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
** 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 6: RDFS Plus==
+
==Lecture 8: Ontologies (OWL)==
  
 
Themes:
 
Themes:
 
* Basic OWL concepts
 
* Basic OWL concepts
 
* Axioms, rules and entailments
 
* Axioms, rules and entailments
* Programming basic OWL in Jena
+
* Programming basic OWL in Python
  
 
Mandatory readings:
 
Mandatory readings:
* Chapter 8 in Allemang & Hendler. ''In text book.''
+
* Chapter 9-10 in Allemang, Hendler & Gandon (3rd edition)
* [[:File:S06-RDFSPlus-4.pdf | Slides from the lecture.]]
+
* [http://www.w3.org/TR/owl-primer OWL2 Primer], sections 2-6
 +
* [http://vowl.visualdataweb.org/ VOWL: Visual Notation for OWL Ontologies]
 +
* [[:File:S08-OWL.pdf | Slides from the lecture (old slides from 2021)]]
 +
 
 +
Useful materials (cursory):
 +
* Pages 106-109 in Blumauer & Nagy (suggested)
 +
* [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
 +
* [[:File:LohmannEtAl2016-VisualizingOntologiesWithVOWL.pdf | Lohmann et al. (2019): Visualizing Ontologies with VOWL. ''Semantic Web Journal.'']]
  
Useful materials:
 
* [https://jena.apache.org/documentation/javadoc/jena/ Javadoc] for
 
** OntModel (createOntologyModel)
 
** 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)
 
  
==Lecture 7: Vocabularies==
+
==Lecture 9: Vocabularies==
  
 
Themes:
 
Themes:
Line 154: Line 242:
  
 
Mandatory readings:
 
Mandatory readings:
* Chapters 9-10 and 13 in Allemang & Hendler. ''In text book.''
+
* Chapters 10-11 in Allemang, Hendler & Gandon (3rd edition)
 
* [http://lov.okfn.org/dataset/lov/ Linked Open Vocabularies (LOV)]
 
* [http://lov.okfn.org/dataset/lov/ Linked Open Vocabularies (LOV)]
* [http://stats.lod2.eu/ LODstats]
+
* Important vocabularies / ontologies:
* [[:File:S07-Vocabularies-21.pdf | Slides from the lecture]]
 
 
 
Useful materials:
 
* Vocabularies:
 
 
** [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://schema.org/docs/full.html schema.org - Full Hierarchy]
 
 
** [http://dublincore.org/ Dublin Core (DC)]
 
** [http://dublincore.org/ Dublin Core (DC)]
 
** [http://xmlns.com/foaf/spec/ Friend of a Friend (FOAF)]
 
** [http://xmlns.com/foaf/spec/ Friend of a Friend (FOAF)]
** [https://www.w3.org/2003/01/geo/wgs84_pos geo: World Geodetic Standard (WGS) 84] (and [https://www.w3.org/2003/01/geo/ few more general comments here])
+
** [http://schema.org/docs/full.html schema.org - Full Hierarchy]
** [https://www.w3.org/TR/vocab-data-cube/ The RDF Data Cube Vocabulary]
+
** [http://wikidata.dbpedia.org/services-resources/ontology DBpedia Ontology]
** [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://creativecommons.org/ns Creative Commons (CC) Vocabulary]
** [http://vocab.deri.ie/void Vocabulary of Interlinked Datasets (VoID)]
 
 
** [http://www.w3.org/ns/prov# Provenance Interchange (PROV)]
 
** [http://www.w3.org/ns/prov# Provenance Interchange (PROV)]
 
** [http://motools.sourceforge.net/event/event.html Event Ontology (event)]
 
** [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://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:''
 +
*** 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:S09-Vocabularies.pdf | Slides from the lectures]]
 +
* [[: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://motools.sourceforge.net/timeline/timeline.html Timeline Ontology (tl)]
 
** [http://vocab.org/bio/ Biographical Information (BIO)]
 
** [http://vocab.org/bio/ Biographical Information (BIO)]
** [http://rdfs.org/sioc/spec/ Semantic Interlinked Online Communities (SIOC)]
 
 
** [http://bibliontology.com/ Bibliographic Ontology (bibo)]
 
** [http://bibliontology.com/ Bibliographic Ontology (bibo)]
** [http://www.musicontology.com/ Music Ontology (mo)]
+
** [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. ''schema.org'' is less important because you have already had about it in INFO116.
 
  
==Lecture 8 and 9: Linked Open Datasets==
+
==Lecture 10: Reasoning about KGs (DL)==
  
 
Themes:
 
Themes:
* Important Linked Open Datasets
+
* Description logic
** DBpedia
+
* Decision problems
** LinkedGeoData
+
* OWL-DL
** GeoNames
 
** Wikidata
 
** and others
 
  
 
Mandatory readings:
 
Mandatory readings:
* [[: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:S10-DescriptionLogic.pdf | Slides from the lecture]]
* [[: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]
 
* [http://stats.lod2.eu/ LODstats]
 
* [[:File:S08-LinkedOpenDatasets-23.pdf | Slides from the lecture]]
 
  
 
Useful materials:
 
Useful materials:
* [http://wiki.dbpedia.org/about Dbpedia]
+
* [[:File:NardiBrachman-IntroductionToDescriptionLogic.pdf | Nardi & Brachman: Introduction to Description Logics. Chapter 1 in Description Logic Handbook.]]
* [https://www.wikidata.org/wiki/Wikidata:Introduction Wikidata]
+
* [[:File:BaderNutt-BasicDescriptionLogics.pdf | Baader & Nutt: Basic Description Logics. Chapter 2 in Description Logic Handbook.]]
* [http://www.geonames.org/about.html GeoNames]
+
** ''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.
* [https://wordnet.princeton.edu/ WordNet - A lexical database for English]
+
* [http://www.cs.man.ac.uk/~ezolin/dl/ Complexity of Reasoning in Description Logics. Powered by Evgeny Zolin.] (informative)
* [http://live.babelnet.org/about BabelNet]
 
  
==Lecture 10: Services==
+
==Lecture 11: Formal ontologies (OWL-DL)==
  
Themes:  
+
Themes:
* JSON, JSON-LD
+
* Advanced OWL
* Semantic web services
 
* Semantic workflows
 
  
 
Mandatory readings:
 
Mandatory readings:
* [http://json.org/ JSON Syntax] (mandatory)
+
* Chapters 12-13 in Allemang, Hendler & Gandon (3rd edition)
* Section 2 in W3C's [https://www.w3.org/TR/json-ld-api/ JSON-LD 1.0 Processing Algorithms and API] (mandatory)
+
* [http://www.w3.org/TR/owl-primer OWL2 Primer]
* [[:File:S10-Services-7.pdf | Slides from the lecture]]
+
* [[:File:S11-OWL-DL.pdf | Slides from the lecture]]
  
 
Useful materials:
 
Useful materials:
* [http://json-ld.org/spec/latest/json-ld/ JSON-LD 1.1 - A JSON-based Serialization for Linked Data] (supplementary reference)
+
* [http://www.w3.org/TR/owl-overview OWL 2 Document Overview]
* [http://json-ld.org/ JSON for Linked Data] (supplementary)
+
* [https://www.w3.org/TR/2012/REC-owl2-quick-reference-20121211/ OWL 2 Quick Reference Guide] (cursory)
** [http://www.youtube.com/watch?v=4x_xzT5eF5Q What is Linked Data?] Short video introduction to Linked Data by Manu Sporny
+
* [http://vowl.visualdataweb.org/v2 VOWL: Visual Notation for OWL Ontologies]
** [http://www.youtube.com/watch?v=vioCbTo3C-4 What is JSON-LD?] Short video introduction to JSON-LD by Manu Sporny
+
* [http://vowl.visualdataweb.org/webvowl/index.html#sioc WebVOWL]
 +
* [[:File:DL-reasoning-RoyalFamily-final.owl.txt | Example file]] demonstrating Protege-OWL reasoning with HermiT.
 +
 
 +
Owlready2 materials for the lab:
 +
* The section [https://pypi.org/project/Owlready2/ What can I do with Owlready2?]
 +
* [https://owlready2.readthedocs.io/en/latest/ Welcome to Owlready2's documentation!]
  
==Lecture 11: OWL==
+
==Lecture 12: KG embeddings==
  
 
Themes:
 
Themes:
* Advanced OWL
+
* KG embeddings
* Axioms, rules and entailments
+
* Link prediction
* Programming advanced OWL in Jena
+
* TorchKGE
  
 
Mandatory readings:
 
Mandatory readings:
* Chapters 11-12 in Allemang & Hendler. ''In text book.''
+
* [https://towardsdatascience.com/introduction-to-machine-learning-for-beginners-eed6024fdb08 Introduction to Machine Learning for Beginners] ([[:file:IntroToMachineLearning.pdf | PDF]])
* [[:File:S11-OWL-15-utlagt.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:S12-GraphEmbeddings.pdf | Slides from the lecture]]
  
Useful materials:
+
Supplementary readings:
* [http://www.w3.org/TR/owl-overview OWL 2 Document Overview] (cursory)
+
* [[: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-primer OWL2 Primer] (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: OWL DL==
+
==Lecture 13: Knowledge Engineering==
  
 
Themes:
 
Themes:
* Description logic
+
* Knowledge engineering
* Decision problems
+
* The Ontology Development 101 method
* OWL-DL
 
* Programming with OWL-DL reasoners in Jena
 
  
 
Mandatory readings:
 
Mandatory readings:
* [[:File:S12-OWL-DL-10.pdf | Slides from the lecture]]
+
* 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.]
 +
* [[:File:S15-OntologyDevelopment-5.pdf | Slides from the lecture (old slides from 2021)]]
  
 
Useful materials:
 
Useful materials:
* [[:File:NardiBrachman-IntroductionToDescriptionLogic.pdf | Nardi & Brachman: Introduction to Description Logics. Chapter 1 in Description Logic Handbook.]] ''(cursory)''
+
* The rest of Blumauer & Nagy (suggested)
* [[: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 13: Ontology development==
 
  
Themes:
+
==Lecture 14: Wrapping up==
* Ontology Development 101 method
 
 
 
Mandatory readings:
 
* Chapters 14-16 in Allemang & Hendler. ''In text book.''
 
* [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:S13-OntologyDevelopment-4.pdf | Slides from the lecture]]
 
  
Useful materials:
 
* [http://www.sciencedirect.com/science/article/pii/S095741741101640X Sicilia et al. (2012): Empirical findings on ontology metrics.] ''Paper.''  (cursory)
 
  
 
&nbsp;
 
&nbsp;
<div class="credits" style="text-align: right; direction: ltr; margin-left: 1em;">''INFO216, UiB, Spring 2017-2018, Andreas L. Opdahl (c)''</div>
+
<div class="credits" style="text-align: right; direction: ltr; margin-left: 1em;">''INFO216, UiB, 2017-2022, Andreas L. Opdahl (c)''</div>

Latest revision as of 13:39, 24 April 2022

Textbooks

Main course book:

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

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.

To be updated - the readings for the later lectures are not yet final for Spring 2022.


Lecture 1: Introduction to knowledge Graphs

Themes:

  • Introduction to Knowledge Graphs
  • Organisation of INFO216

Mandatory readings:

Useful materials:


Lecture 2: Representing KGs (RDF)

Themes:

  • 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:

Useful materials:


Lecture 4: Storing and sharing KGs

Themes:

  • Triple stores and Blazegraph
  • Web APIs and JSON-LD
  • Other serialisation formats

Mandatory readings:

Useful materials:


Lecture 5: Open Knowledge Graphs

Themes:

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

Mandatory readings:

Useful materials:


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:

Supplementary readings:


Lecture 7: Rules (RDFS)

Themes:

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

Mandatory readings:

Useful materials:


Lecture 8: Ontologies (OWL)

Themes:

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

Mandatory readings:

Useful materials (cursory):


Lecture 9: Vocabularies

Themes:

  • LOD vocabularies and ontologies

Mandatory readings:

Useful materials:

Lecture 10: Reasoning about KGs (DL)

Themes:

  • Description logic
  • Decision problems
  • OWL-DL

Mandatory readings:

Useful materials:

Lecture 11: Formal ontologies (OWL-DL)

Themes:

  • Advanced OWL

Mandatory readings:

Useful materials:

Owlready2 materials for the lab:

Lecture 12: KG embeddings

Themes:

  • KG embeddings
  • Link prediction
  • TorchKGE

Mandatory readings:

Supplementary readings:

Lecture 13: Knowledge Engineering

Themes:

  • Knowledge engineering
  • The Ontology Development 101 method

Mandatory readings:

Useful materials:

  • The rest of Blumauer & Nagy (suggested)


Lecture 14: Wrapping up

 

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