Readings: Difference between revisions

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


=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.''' Because we are moving from Java to Python this spring, the reading list is not final. We will add more materials to each lecture in the next few 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 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 are mandatory. [[Java-based readings]] are also available as an alternative to the Python-based materials.
 
 
==Lecture 1: Knowledge Graphs==


Themes:
Themes:
* Web of Data
* Web of Data
* INFO216
* INFO216
* Jena
* RDFLib
* The programming project
* The programming project


Mandatory readings:
Mandatory readings:
* Chapters 1-2 in Allemang & Hendler. ''In text book.''
* Chapters 1-2 in Allemang & Hendler. ''In the text book.''
* [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] (mandatory)
* [http://jena.apache.org/about_jena/architecture.html Apache architecture overview] (mandatory)
* [https://rdflib.readthedocs.io/ rdflib 4.2.2]
* [http://jena.apache.org/documentation/rdf/index.html The core RDF API] (mandatory)
** Main page and Getting started with RDFLib
* [http://jena.apache.org/tutorials/rdf_api.html An introduction to RDF and the Jena RDF API] (mandatory)
* [[:File:S01-KG-8.pdf | Slides from the lecture]]
* [[:File:S01-Intro-WoD-Jena-7.pdf | Slides from the lecture]]


Useful materials:
Useful materials:
* [http://jena.apache.org/about_jena/ Welcome to Apache Jena] (useful starting page)
* [https://rdflib.readthedocs.io/en/stable/apidocs/modules.html RDFLib API documentation]
* [http://jena.apache.org/index.html Apache Jena] main page (useful starting page)
* [https://github.com/RDFLib/rdflib RDFLib's GitHub page]
* [http://jena.apache.org/tutorials/ Jena tutorials] (useful starting page)
* [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)


==Lecture 2: RDF==
==Lecture 2: RDF==
Line 36: Line 43:
Themes:  
Themes:  
* RDF
* RDF
* Programming RDF in Jena
* Programming RDF in Python
* Finding datasets and vocabularies for your projects
* Finding datasets and vocabularies for your projects


<!--
Mandatory readings:
Mandatory readings:
* Chapter 3 in Allemang & Hendler. ''In text book.''
* Chapter 3 in Allemang & Hendler. ''In the text book.''
* [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] (mandatory)
* We also continue with the Jena RDF materials from lecture 1:
* We also continue with the Jena RDF materials from lecture 1:
Line 50: Line 58:
* [https://www.w3.org/TR/rdf11-concepts/ W3C's RDF 1.1 Concepts and Abstract Syntax] (cursory)
* [https://www.w3.org/TR/rdf11-concepts/ W3C's RDF 1.1 Concepts and Abstract Syntax] (cursory)
** [https://jena.apache.org/documentation/javadoc/jena/ Package org.apache.jena.rdf.model] (supplementary, but necessary for the labs and project)
** [https://jena.apache.org/documentation/javadoc/jena/ Package org.apache.jena.rdf.model] (supplementary, but necessary for the labs and project)
-->


==Lecture 3: SPARQL==
==Lecture 3: SPARQL==
Line 55: Line 64:
Themes:
Themes:
* SPARQL
* SPARQL
* 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 5 in Allemang & Hendler. ''In the text book.''
* [http://www.w3.org/TR/sparql11-update/ SPARQL 1.1 Update Language] (Sections 1-3 are obligatory)
* [http://www.w3.org/TR/sparql11-update/ SPARQL 1.1 Update Language] (Sections 1-3 are obligatory)
* [[:File:S03-SPARQL-12.pdf | Slides from the lecture]]
* [[:File:S03-SPARQL-12.pdf | Slides from the lecture]]
Line 72: Line 81:
** UpdateFactory, UpdateAction
** UpdateFactory, UpdateAction
: (supplementary, but perhaps necessary for the labs and project)
: (supplementary, but perhaps necessary for the labs and project)
-->


==Lecture 4: Architecture==
==Lecture 4: Application Architecture==


Themes:
Themes:
* Application architecture
* Application components
* Application components
* Triple stores
* Triple stores
* Visualisation
* Visualisation


<!--
Mandatory readings:
Mandatory readings:
* Chapter 4 in Allemang & Hendler. ''In text book.''
* Chapter 4 in Allemang & Hendler. ''In the text book.''
* [http://jena.apache.org/about_jena/architecture.html Apache architecture overview] (mandatory, from lecture 1)
* [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/index.html Apache's TDB] (mandatory)
Line 95: Line 105:
* [[:File:LohmannEtAl2016-VisualizingOntologiesWithVOWL.pdf | Lohmann et al. (2019): Visualizing Ontologies with VOWL. ''Semantic Web Journal.'']] ''Paper.''
* [[:File:LohmannEtAl2016-VisualizingOntologiesWithVOWL.pdf | Lohmann et al. (2019): Visualizing Ontologies with VOWL. ''Semantic Web Journal.'']] ''Paper.''
* [http://vowl.visualdataweb.org/ VOWL: Visual Notation for OWL Ontologies]
* [http://vowl.visualdataweb.org/ VOWL: Visual Notation for OWL Ontologies]
-->
<!--
<!--
* [[:File:S07-Visualisation-4.pdf | Slides from the lecture]]
* [[:File:S07-Visualisation-4.pdf | Slides from the lecture]]
-->
-->


==Lecture 5: RDFS==
==Lecture 5: RDFS==
Line 104: Line 116:
* 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 6-7 in Allemang & Hendler. ''In the text book.''
* [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] (mandatory)
* [[:File:S05-RDFS-10.pdf | Slides from the lecture]]
* [[:File:S05-RDFS-10.pdf | Slides from the lecture]]
Line 120: Line 133:
** Reasoner (but we will not use it directly)
** Reasoner (but we will not use it directly)
: (supplementary, but perhaps necessary for the labs and project)
: (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 6: RDFS Plus==
Line 126: Line 143:
* 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 8 in Allemang & Hendler. ''In the text book.''
* [[:File:S06-RDFSPlus-4.pdf | Slides from the lecture.]]
* [[:File:S06-RDFSPlus-4.pdf | Slides from the lecture.]]


Line 140: Line 158:
: (supplementary, but perhaps necessary for the labs and project)
: (supplementary, but perhaps necessary for the labs and project)


==Lecture 7: Vocabularies==
Case-based examples:
* [[:File:S6_RDFS_Plus_Example.pdf | RDFS Plus People and Person case]]
 
OWL helpful clarifications:
* [[:File:OWL-example_I.pdf | owl:InverseFuctionalProperty vs owl:propertyDisjointWith]]
-->
 
==Lecture 7 and 8: Vocabularies==


Themes:
Themes:
* LOD vocabularies and ontologies
* LOD vocabularies and ontologies


<!--
Mandatory readings:
Mandatory readings:
* Chapters 9-10 and 13 in Allemang & Hendler. ''In text book.''
* Chapters 9-10 and 13 in Allemang & Hendler. ''In the text book.''
* [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]
* [http://stats.lod2.eu/ LODstats]
Line 172: Line 198:
** [http://www.musicontology.com/ Music Ontology (mo)]
** [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.
: '''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 9 and 10: Linked Data Resources==


Themes:
Themes:
Line 183: Line 210:
** and others
** 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: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.]]
Line 196: Line 224:
* [https://wordnet.princeton.edu/ WordNet - A lexical database for English]
* [https://wordnet.princeton.edu/ WordNet - A lexical database for English]
* [http://live.babelnet.org/about BabelNet]
* [http://live.babelnet.org/about BabelNet]
-->


==Lecture 10: Services==
==Lecture 11 and 12: Web APIs==


Themes:  
Themes:  
Line 204: Line 233:
* Semantic workflows
* Semantic workflows


<!--
Mandatory readings:
Mandatory readings:
* [http://json.org/ JSON Syntax] (mandatory)
* [http://json.org/ JSON Syntax] (mandatory)
* Section 2 in W3C's [https://www.w3.org/TR/json-ld-api/ JSON-LD 1.0 Processing Algorithms and API] (mandatory)
* Section 2 in W3C's [https://www.w3.org/TR/json-ld-api/ JSON-LD 1.0 Processing Algorithms and API] (mandatory)
* [[:File:S10-Services-7.pdf | Slides from the lecture]]
* [[:File:S10-Services-7.pdf | Slides from the lecture]]
 
** [[:File:S10-JSONLD.pdf | JSON-LD slides]]
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://json-ld.org/spec/latest/json-ld/ JSON-LD 1.1 - A JSON-based Serialization for Linked Data] (supplementary reference)
Line 214: Line 244:
** [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=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
** [http://www.youtube.com/watch?v=vioCbTo3C-4 What is JSON-LD?] Short video introduction to JSON-LD by Manu Sporny
-->


==Lecture 11: OWL==
==Lecture 13: OWL==


Themes:
Themes:
* Advanced OWL
* Advanced OWL
* Axioms, rules and entailments
* Axioms, rules and entailments
* Programming advances OWL in Jena
* Programming advanced OWL in Python


<!--
Mandatory readings:
Mandatory readings:
* Chapters 11-12 in Allemang & Hendler. ''In text book.''
* Chapters 11-12 in Allemang & Hendler. ''In the text book.''
<!--
* [[:File:S11-OWL-15-utlagt.pdf | Slides from the lecture]]
* [[:File:S12-OWL-15.pdf | Slides from the lecture]]
-->


Useful materials:
Useful materials:
Line 235: Line 265:
* [http://vowl.visualdataweb.org/webvowl/index.html#sioc WebVOWL] (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)
* [https://jena.apache.org/documentation/ontology/ Jena Ontology API] (we will most likely not go into this) (cursory)
-->


==Lecture 12: OWL DL==
==Lecture 14: OWL DL==


Themes:
Themes:
Line 242: Line 273:
* Decision problems
* Decision problems
* OWL-DL
* OWL-DL
* Programming with OWL-DL reasoners in Jena
* Programming with OWL-DL reasoners in Python


<!--
Mandatory readings:
Mandatory readings:
<!--
* [[:File:S12-OWL-DL-10.pdf | Slides from the lecture]]
* [[:File:S13-OWL-DL-10.pdf | Slides from the lecture]]
-->


Useful materials:
Useful materials:
* [[:File:NardiBrachman-IntroductionToDescriptionLogic.pdf | Nardi & Brachman: Introduction to Description Logics. Chapter 1 in Description Logic Handbook.]] ''Chapter.''  (cursory)
* [[:File:NardiBrachman-IntroductionToDescriptionLogic.pdf | Nardi & Brachman: Introduction to Description Logics. Chapter 1 in Description Logic Handbook.]] ''(cursory)''
* [[:File:BaderNutt-BasicDescriptionLogics.pdf | Baader & Nutt: Basic Description Logics. Chapter 2 in Description Logic Handbook.]] ''Chapter.'' (cursory, gets mathematical after the introduction)
* [[: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)
* [http://www.cs.man.ac.uk/~ezolin/dl/ Complexity of Reasoning in Description Logics. Powered by Evgeny Zolin.] (informative)
-->


==Lecture 13: Ontology development==
==Lecture 15: Ontology Development and Evaluation==


Themes:
Themes:
* Ontology Development 101 method
* Ontology Development 101 method


<!--
Mandatory readings:
Mandatory readings:
* Chapters 14-16 in Allemang & Hendler. ''In text book.''
* Chapters 14-16 in Allemang & Hendler. ''In the 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.''  
* [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]]
* [[:File:S14-method-and-quality-4.pdf | Slides from the lecture]]
-->


Useful materials:
Useful materials:
* [http://www.sciencedirect.com/science/article/pii/S095741741101640X Sicilia et al. (2012): Empirical findings on ontology metrics.] ''Paper.''  (cursory)
* [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-2020, Andreas L. Opdahl (c)''</div>

Revision as of 14:51, 16 January 2020

Textbook

The textbook 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.


Other materials

In addition, the materials listed below for each lecture are either mandatory or suggested reading. Because we are moving from Java to Python this spring, the reading list is not final. We will add more materials to each lecture in the next few 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 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 are mandatory. Java-based readings are also available as an alternative to the Python-based materials.


Lecture 1: Knowledge Graphs

Themes:

  • Web of Data
  • INFO216
  • RDFLib
  • The programming project

Mandatory readings:

Useful materials:

Lecture 2: RDF

Themes:

  • RDF
  • Programming RDF in Python
  • Finding datasets and vocabularies for your projects


Lecture 3: SPARQL

Themes:

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


Lecture 4: Application Architecture

Themes:

  • Application components
  • Triple stores
  • Visualisation


Lecture 5: RDFS

Themes:

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


Lecture 6: RDFS Plus

Themes:

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


Lecture 7 and 8: Vocabularies

Themes:

  • LOD vocabularies and ontologies


Lecture 9 and 10: Linked Data Resources

Themes:

  • Important Linked Open Datasets
    • DBpedia
    • LinkedGeoData
    • GeoNames
    • Wikidata
    • and others


Lecture 11 and 12: Web APIs

Themes:

  • JSON, JSON-LD
  • Semantic web services
  • Semantic workflows


Lecture 13: OWL

Themes:

  • Advanced OWL
  • Axioms, rules and entailments
  • Programming advanced OWL in Python


Lecture 14: OWL DL

Themes:

  • Description logic
  • Decision problems
  • OWL-DL
  • Programming with OWL-DL reasoners in Python


Lecture 15: Ontology Development and Evaluation

Themes:

  • Ontology Development 101 method


 

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