Modern computing increasingly takes advantage of large amounts of distributed data and knowledge. This is grounded on theoretical principles borrowing to several fields of computer science such as programming languages, data bases, structured documentation, logic and artificial intelligence. The goal of this course is to present some of them, the problems that they solve and those that they uncover. The course considers two perspectives on data and knowledge: interpretation (what they mean), analysis (what they reveal) and processing (how can they be traversed efficiently and transformed safely).
The course offers a semantic perspective on distributed knowledge. Distributed knowledge may come from data sources using different ontologies on the semantic web, autonomous software agents learning knowledge or social robots interacting with different interlocutors. The course adopts a synthetic view on these. It first presents principles of the semantics of knowledge representation (RDF, OWL). Ontology alignments are then introduced to reduce the heterogeneity between distributed knowledge and their exploitation for answering federated queries is presented. A practical way for cooperating agents to evolve their knowledge is cultural knowledge evolution that is then illustrated. Finally, the course defines dynamic epistemic logics as a way to model the communication of knowledge and beliefs.
The course also introduces a perspective on programming language foundations, algorithms and tools for processing structured information, and in particular tree-shaped data. It consists in an introduction to relevant theoretical tools with an application to NoSQL (not only SQL) and XML technologies in particular. Theories and algorithmic toolboxes such as fundamentals of tree automata and tree logics are introduced, with applications to practical problems found for extracting information. Applications include efficient query evaluation, memory-efficient validation of document streams, robust type-safe processing of documents, static analysis of expressive queries, and static type-checking of programs manipulating structured information. The course also aims at presenting challenges, important results, and open issues in the area.
Lectures are on Wednesday from 9h45 to 12h45.
Date | Title | Room | Lecturer |
25/09 | Core XML (XML, Schemas, Parsing) | H102 | PG |
02/10 | Programming with XML (Streaming Validation, XPath, XQuery) | H101 | PG |
09/10 | Foundations of XML Types (Tree Grammars, Tree Automata) | H101 | PG |
23/10 | Tree Logics (FO, MSO) | H102 | PG |
06/11 | Tree Logics continued (μ-calculus) | C004 | PG |
13/11 | C009 | PG | |
20/11 | Knowledge, web, agents, etc. | C004 | JE |
27/11 | Ontology networks | C004 | JE |
04/12 | Belief revision | C004 | JE |
11/12 | Distributed query evaluation | C005 | JE |
18/12 | Social and cultural knowledge evolution | C004 | JE |
08/01 | Logics of knowledge | C004 | JE |
Lecturer: Pierre Genevès
Slides and relevant teaching material are available from: http://pierre.geneves.net/teaching-mosig.html.
Lecturer: Jérôme Euzenat
This part of the course is now collected into its Separate page.
The lecture notes are the only document that you have to look at and they are available here.
The course is evaluated with two exams one after the first part and the other after the second. This aims at being sure that the students know what is expected from them. In addition here are some past exams. Example of such exams are provided in the corresponding parts.
In case of second chance exams, these are given online through a suited evaluation software.