Readings: Difference between revisions

From info216
No edit summary
(7 intermediate revisions by the same user 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.''' The reading list is not final and will change a little as the course progresses.
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.


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.  
'''The lectures and lectures notes are also part of the curriculum.'''


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 with VPN if you are elsewhere.
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.  


Finally, '''the lectures and lectures notes are also part of the curriculum.'''
''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.
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.




Line 25: Line 25:
* 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: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)
* [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)
 
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 an [https://www.youtube.com/watch?v=Q19WW65kLkI example]
 


==Lecture 2: RDF==
==Lecture 2: RDF==
Line 52: 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 66: 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 72: 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 89: 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: Application Architecture==
==Lecture 4: Application Architecture==
Line 98: Line 90:
* 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 112: 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]]
Line 122: 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 141: Line 136:
Case-based examples:
Case-based examples:
* [[:File:S5_RDFS_Example.pdf | RDFS Eating vegetables case]]
* [[:File:S5_RDFS_Example.pdf | RDFS Eating vegetables case]]
 
-->


==Lecture 6: RDFS Plus==
==Lecture 6: RDFS Plus==
Line 148: 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 167: Line 163:
OWL helpful clarifications:
OWL helpful clarifications:
* [[:File:OWL-example_I.pdf | owl:InverseFuctionalProperty vs owl:propertyDisjointWith]]
* [[:File:OWL-example_I.pdf | owl:InverseFuctionalProperty vs owl:propertyDisjointWith]]
 
-->


==Lecture 7 and 8: Vocabularies==
==Lecture 7 and 8: Vocabularies==
Line 174: Line 170:
* 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 201: 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 9 and 10: Linked Data Resources==
==Lecture 9 and 10: Linked Data Resources==
Line 212: 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 225: 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 11 and 12: Web APIs==
==Lecture 11 and 12: Web APIs==
Line 233: Line 233:
* Semantic workflows
* Semantic workflows


<!--
Mandatory readings:
Mandatory readings:
* [http://json.org/ JSON Syntax] (mandatory)
* [http://json.org/ JSON Syntax] (mandatory)
Line 243: 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 13: OWL==
==Lecture 13: OWL==
Line 249: Line 251:
* Advanced OWL
* Advanced OWL
* Axioms, rules and entailments
* Axioms, rules and entailments
* Programming advanced 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:S11-OWL-15-utlagt.pdf | Slides from the lecture]]


Line 262: 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 14: OWL DL==
==Lecture 14: OWL DL==
Line 269: 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:S12-OWL-DL-10.pdf | Slides from the lecture]]
Line 279: Line 284:
** ''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.
** ''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 15: Ontology Development and Evaluation==
==Lecture 15: Ontology Development and Evaluation==
Line 285: Line 291:
* 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:S13-OntologyDevelopment-4.pdf | Slides from the lecture]]
Line 292: Line 299:
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, 2017-2020, 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)