Readings: Difference between revisions

From info216
No edit summary
 
(282 intermediate revisions by 2 users not shown)
Line 1: Line 1:
=Text book=
 
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.'''  
=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=
=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 in 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.


=Lectures=
'''The lectures and lectures notes are also part of the curriculum.'''
Below are the mandatory and suggested readings for each lecture. All the text-book chapters are mandatory.


==Lecture 1: Introduction==
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.
* Chapters 1-2 in Allemang & Hendler. ''In text book.''
 
* [http://www.youtube.com/watch?v=HeUrEh-nqtU Tim Berners-Lee talks about the semantic web] (mandatory)
''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.
* [http://jena.apache.org/about_jena/ Welcome to Apache Jena] (useful starting page)
 
* [http://jena.apache.org/about_jena/architecture.html Apache architecture overview] (mandatory)
=Lectures (in progress)=
* [http://jena.apache.org/index.html Apache Jena] main page (useful starting page)
 
* [http://jena.apache.org/documentation/rdf/index.html The core RDF API] (mandatory)
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.
* [http://jena.apache.org/tutorials/ Jena tutorials] (useful starting page)
 
* [http://jena.apache.org/tutorials/rdf_api.html An introduction to RDF and the Jena RDF API] (mandatory)
==Lecture 1: Introduction to KGs==
* [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)
 
<!--
Themes:
* [[:File:S01-Intro-WoD-Jena-7.pdf | Slides from the lecture]]
* Introduction to Knowledge Graphs
* Organisation of the course
 
Mandatory readings:
* 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]
* [[:File:S01-KnowledgeGraphs.pdf | Slides from the lecture]]
 
Useful materials:
* Important knowledge graphs (''which we will look more at later''):
** 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/)
-->
-->
* Pages 27-55 and 105-122 in Blumauer & Nagy (suggested)
==Lecture 2: Representing KGs (RDF)==
Themes:
* Resource Description Framework (RDF)
* Programming RDF in Python


==Lecture 2: RDF==
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] until and including 5.1.2 Turtle (but not the rest for now)
* [https://www.w3.org/TR/rdf11-concepts/ W3C's RDF 1.1 Concepts and Abstract Syntax] (cursory)
* [http://rdflib.readthedocs.io/ RDFlib 7.0.0 documentation], the following pages:
<!--
** The main page
* [[:File:S02-RDF-8.pdf | Slides from the lecture]]
** Getting started with RDFLib
-->
** Loading and saving RDF
* We continue with the Jena RDF materials from lecture 1:
** Creating RDF triples
** [http://jena.apache.org/documentation/rdf/index.html The core RDF API] (mandatory)
** Navigating Graphs
** [http://jena.apache.org/tutorials/rdf_api.html An introduction to RDF and the Jena RDF API] (mandatory)
** Utilities and convenience functions
** [https://jena.apache.org/documentation/javadoc/jena/ Package org.apache.jena.rdf.model] (supplementary, but necessary for the labs and project)
** RDF terms in rdflib
** Namespaces and Bindings
* [[:File:S02-RDF.pdf | Slides from the lecture]]


==Lecture 3: RDFS==
Useful materials:
* Chapters 6-7 in Allemang & Hendler. ''In text book.''
* [https://rdflib.readthedocs.io/en/stable/apidocs/modules.html RDFLib 7.0.0 packages] (reference for the labs)
* [http://www.w3.org/TR/rdf-schema/ W3C's RDF Schema 1.1] (mandatory)
* [https://www.ldf.fi/service/rdf-grapher RDF Grapher] for drawing RDF graphs
* [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)
* [https://issemantic.net/rdf-visualizer RDF Visualizer] for drawing RDF graphs
* [https://jena.apache.org/documentation/inference/index.html Reasoners and rules engines: Jena inference support] (cursory; sections 1 and 3 are relevant, but a bit hard)
* [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] -->
* [[:File:S03-RDFS-9.pdf | Slides from the lecture]]
* Pages 25-28, 92-100, 125-128, and 164-167 in Blumauer & Nagy (suggested)
-->
* [https://jena.apache.org/documentation/javadoc/jena/ Javadoc] for
** Model (createRDFSModel)
** InfModel (getRawModel, remove + the same methods as Model)
** RDFS (label, comment, subClassOf, subPropertyOf, domain, range...)
** Reasoner (but we will not use it directly)
: (supplementary, but perhaps necessary for the labs and project)


==Lecture 4: Architecture (and starting with RDFS Plus)==
==Lecture 3: Querying and updating KGs (SPARQL)==
* Chapter 4 in Allemang & Hendler. ''In text book.''
* [http://jena.apache.org/about_jena/architecture.html Apache architecture overview] (mandatory, from lecture 1)
* [https://jena.apache.org/documentation/tdb/index.html Apache's TDB] (mandatory)
* [https://jena.apache.org/documentation/tdb/java_api.html Apache's TDB Java API] (mandatory)
* [https://jena.apache.org/documentation/javadoc/tdb/ Package org.apache.jena.tdb] Class TDBFactory (createDataset)
* [https://jena.apache.org/documentation/fuseki2/index.html Apache Jena Fuseki] (mandatory, but I have not decided whether we will use Fuseki 1 or 2 yet - last time I checked, Fuseki 1 still provided easier support for SPARQL Update)
<!--
* [[:File:S04-architecture-5.pdf | Slides from the lecture]]
-->


If we have time at the end, we will also review basic OWL concepts from "RDFS Plus":
Themes:
* Chapter 8 in Allemang & Hendler. In text book.
* SPARQL queries
* SPARQL Update
* Programming SPARQL and SPARQL Update in Python


==Lecture 5: Services==
Mandatory readings (tentative):
* [http://json.org/ JSON Syntax] (mandatory)
* Chapter 6 in Allemang, Hendler & Gandon (3rd edition)
* [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/sparql11-update/ SPARQL 1.1 Update Language] (Sections 1-3)
* Section 2 in W3C's [https://www.w3.org/TR/json-ld-api/ JSON-LD 1.0 Processing Algorithms and API] (mandatory)
* [https://rdflib.readthedocs.io/ rdflib 7.0.0] materials:
* [http://json-ld.org/ JSON for Linked Data] (supplementary)
** [https://rdflib.readthedocs.io/en/stable/intro_to_sparql.html Querying with SPARQL]
** [http://www.youtube.com/watch?v=4x_xzT5eF5Q What is Linked Data?] Short video introduction to Linked Data by Manu Sporny
* [[:File:S03-SPARQL.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
<!--
* [[:File:S05-Services-5.pdf | Slides from the lecture]]
-->


==Lecture 6: SPARQL==
Useful materials:
* Chapter 5 in Allemang & Hendler. ''In text book.''
<!-- * [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]
* [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://en.wikibooks.org/wiki/SPARQL/Expressions_and_Functions SPARQL Expressions and Functions]
* [[:File:S06-SPARQL-11.pdf | Slides from the lecture]]
* 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.)
* [http://jena.apache.org/documentation/javadoc/arq/ Javadoc] for Apache Jena ARQ 3.2.0
 
** Query, QueryFactory, QueryExecution, QueryExecutionFactory, ResultSet
==Lecture 4: Linked Open Data (LOD)==
** UpdateFactory, UpdateAction
 
: (supplementary, but perhaps necessary for the labs and project)
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 8: Rules (SHACL and RDFS)==
 
Themes:
* SHACL and RDFS
* Axioms, rules and entailment
* Programming SHACL and RDFS in Python
 
Mandatory readings:
* 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
* [[: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
* Pages 101-106 in Blumauer & Nagy (suggested)
 
==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]
* [[: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]
* [[:File:LohmannEtAl2016-VisualizingOntologiesWithVOWL.pdf | Lohmann et al. (2019): Visualizing Ontologies with VOWL. ''Semantic Web Journal.'']]
* Pages 106-109 in Blumauer & Nagy (suggested)


==Lecture 7: Visualisation==
==Lecture 10: Vocabularies==
* [http://drum.lib.umd.edu/bitstream/handle/1903/466/CS-TR-3665.pdf?sequence=2 Shneiderman, Ben (1996): The eyes have it: A task by data type taxonomy for information visualizations.] ''Paper.''
* [http://dl.acm.org/ft_gateway.cfm?id=2146416&ftid=1146182&dwn=1 Heer & Shneiderman (2012): Interactive Dynamics for Visual Analysis - A taxonomy of tools that support the fluent and flexible use of visualizations.] ''Paper.''
* [http://www.eswc2012.org/sites/default/files/eswc2012_submission_303.pdf Skjæveland 2012: Sgvizler.] ''Paper.''
* [http://mgskjaeveland.github.io/sgvizler/ Sgvizler 0.6]
* [[:File:LohmannEtAl2016-VisualizingOntologiesWithVOWL.pdf | Lohmann et al. (2019): Visualizing Ontologies with VOWL. ''Semantic Web Journal.'']] ''Paper.''
<!--
* [[:File:S07-Visualisation-4.pdf | Slides from the lecture]]
-->


==Lecture 8: RDFS Plus==
Themes:
* Chapter 8 in Allemang & Hendler. ''In text book.''
* LOD vocabularies and ontologies
<!--
* [[:File:S08-RDFSPlus-3.pdf | Slides from the lecture.]]
-->
* [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 9: Vocabularies==
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:
* Vocabularies:
** [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://rdfs.org/sioc/spec/ Semantic Interlinked Online Communities (SIOC)]
** [http://schema.org/docs/full.html schema.org - Full Hierarchy]
** [http://schema.org/docs/full.html schema.org - Full Hierarchy]
** [http://dublincore.org/ Dublin Core (DC)]
** [http://wikidata.dbpedia.org/services-resources/ontology DBpedia Ontology]
** [http://xmlns.com/foaf/spec/ Friend of a Friend (FOAF)]
** [http://www.w3.org/ns/prov# Provenance Interchange (PROV)]
** [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])
** [https://www.w3.org/TR/vocab-data-cube/ The RDF Data Cube Vocabulary]
** [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)]
** ''What we expect you to know about each vocabulary is this:''  
** [http://www.w3.org/ns/prov# Provenance Interchange (PROV)]
*** Its purpose and where and how it can be used.
** [http://motools.sourceforge.net/event/event.html Event Ontology (event)]
*** Its most central 3-6 classes and properties be able to explain its basic structure.  
** [http://www.w3.org/TR/owl-time/ Time ontology in OWL (time, OWL-time)]
*** 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.  
** [http://motools.sourceforge.net/timeline/timeline.html Timeline Ontology (tl)]
* [[:File:S10-Vocabularies.pdf | Slides from the lecture]]
** [http://vocab.org/bio/ Biographical Information (BIO)]
 
** [http://rdfs.org/sioc/spec/ Semantic Interlinked Online Communities (SIOC)]
 
** [http://bibliontology.com/ Bibliographic Ontology (bibo)]
==Lecture 11: KG embeddings==
** [http://www.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.
Themes:
<!--
* KG embeddings
* [[:File:S09-Vocabularies-20.pdf | Slides from the lecture]]
* 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:


==Lecture 10: Linked Open Data (LOD)==
* What are Large Language Models (LLMs)
* [[: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.]]
* Combining KGs and Large Language Models (LLMs)
* [[: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.]]
** retrieval augmented knowledge fusion
* [http://lod-cloud.net The Linking Open Data (LOD) cloud diagram]
** end-to-end KG construction
* [http://stats.lod2.eu/ LODstats]
** LLM-augmented KG to text generation
<!--
* [[:File:S10-SemanticDatasets-22.pdf | Slides from the lecture]]
-->


==Lecture 11: Open semantic datasets==
Mandatory readings:
* [http://wiki.dbpedia.org/about Dbpedia]
* [https://www.wikidata.org/wiki/Wikidata:Introduction Wikidata]
* [http://www.geonames.org/about.html GeoNames]
* [https://wordnet.princeton.edu/ WordNet - A lexical database for English]
* [http://live.babelnet.org/about BabelNet]
<!--
* ''Slides from the lecture are joint with Lecture 10 above.''
-->


==Lecture 12: OWL==
* Slides from the lecture
* Chapters 11-12 in Allemang & Hendler. ''In text book.''
* No mandatory readings beyond the slides
* [http://www.w3.org/TR/owl-overview OWL 2 Document Overview] (cursory)
* [http://www.w3.org/TR/owl-primer OWL2 Primer] (cursory)
* [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] (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)
<!--
* [[:File:S12-OWL-15.pdf | Slides from the lecture]]
-->


==Lecture 13: OWL DL==
Supplementary readings:
* [[:File:NardiBrachman-IntroductionToDescriptionLogic.pdf | Nardi & Brachman: Introduction to Description Logics. Chapter 1 in Description Logic Handbook.]] ''Chapter.''  (cursory)
* [[:File:BaderNutt-BasicDescriptionLogics.pdf | Baader & Nutt: Basic Description Logics. Chapter 2 in Description Logic Handbook.]] ''Chapter.''  (cursory, gets mathematical after the introduction)
* [http://www.cs.man.ac.uk/~ezolin/dl/ Complexity of Reasoning in Description Logics. Powered by Evgeny Zolin.] (informative)
<!--
* [[:File:S13-OWL-DL-10.pdf | Slides from the lecture]]
-->


==Lecture 14: Ontology development==
* Pan, S., Luo, L., Wang, Y., Chen, C., Wang, J., & Wu, X. (2024).  ''Unifying large language models and knowledge graphs: A roadmap.'' IEEE Transactions on Knowledge and Data Engineering.
* Chapters 14-16 in Allemang & Hendler. ''In text book.''
* 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 />
* [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.''
* [http://www.sciencedirect.com/science/article/pii/S095741741101640X Sicilia et al. (2012): Empirical findings on ontology metrics.] ''Paper.'' (cursory)
<!--
* [[:File:S14-method-and-quality-4.pdf | Slides from the lecture]]
-->


<div class="credits" style="text-align: right; direction: ltr; margin-left: 1em;">''INFO216, UiB, Spring 2017, Prof. Andreas L. Opdahl (c)''</div>
&nbsp;
<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 14:13, 14 May 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:

Supplementary readings:

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:

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

 

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