Knowledge Representation and Reasoning Systems



  • Main languages ​​for the representation of ontologies.
  • Reasoning algorithms for these languages, and their usefulness.
  • Ontology-based data acess (OBDA).
  • Interplay between the expressiveness of representation languages ​​and the computational complexity of reasoning.
  • Limiations of these ontology languages for representing common sense knowledge.
  • Answer Set Programming as a language ​​for the representation of common sense knowledge in Artificial Intelligence and for solving large combinatorical problems.
  • Reasoning algorithms on this language, and their usefulness.
  • Efficient Modelling for Answer Set Programming.
  • Learning logic programs (for Answer Set Programming).


  • Use knowledge representation languages for modelling Databases, and simple application domains in Artificial Intelligence.
  • Apply reasoning mechanisms for ​​knowledge representation languages to test for the correctness of Database models and to formulate more expressive Database queries.
  • Apply reasoning mechanisms for ​​knowledge representation languages ​​to derive consequences in general domain areas (in Artificial Intelligence).
  • Relate these knowledge representation languages ​​with data integration problems in Databases.
  • Use these knowledge representation languages ​​for problem modelling and solving, including problems of satisfaction and scheduling.
  • Use systems that implement reasoning mechanisms for ​​knowledge representation languages efficiently, and integrate with other systems for building applications.


  • Apply formal theoretical knowledge in real-world applications.
  • Autonomous research for problem solving.
  • Become aware of design trade-offs.

General characterization





Responsible teacher

João Alexandre Carvalho Pinheiro Leite, Jorg Matthias Knorr


Weekly - 4

Total - 56

Teaching language



Available soon


Text Books

• Knowledge Representation and Reasoning by Ronald Brachman & Hector Levesque, Morgan Kaufmann 2004.

• Answer Set Solving in Practice by M. Gebser, R. Kaminski, B. Kaufmann, and T. Schaub. Synthesis Lectures on Artificial Intelligence and Machine Learning, Morgan and Claypool, 2012.

• Handbook of Knowledge Representation edited by Frank van Harmelen, Vladimir Lifschitz and Bruce Porter, Elsevier 2007.

• The Description Logic Handbook: Theory, Implementation, and Applications. F. Baader, D. Calvanese, D. McGuinness, D. Nardi, and P. F. Patel-Schneider. Cambridge University Press, 2nd edition, 2010.

Teaching method

The syllabus is taught in theoretical and laboratory classes. In the former, the main concepts and techniques are addressed.

The laboratory classes are dedicated to solving problems, experimenting the various concepts, and (partially) developing the project.

Evaluation method

The evaluation includes:

  • 2 individual tests (or an exam),  where the knowledge acquired by the students on the concepts and techniques is assessed.
  • 2 practical projects, developed in groups of 2 students, consisting of a) the development of an ontology and its use for data access and b) the modelling of a problem using Answer Set Programming.

The tests and the exam are realized in person and closed book.

Each test and each project accounts for 25% of the final grade. The average of the two tests (or alternatively the exam) is required to be superior than 9,5 (out of 20).

Subject matter

The course has a first part, which focuses on languages for domain specification (sometimes also known as Ontology Languages), and reasoning methods and algorithms for these languages. These languages have application both in the area of Artificial Intelligence, and in the area of Databases and Information Systems. In the second part, the course focuses on languages and systems for knowledge representation in typical problems of Artificial Intelligence, particularly in languages for the representation of commonsense knowledge, and specifically the efficient representation of knowledge and resolution of problems of satisfaction, scheduling, and planning.

  1. Introduction to Knowledge Representation and Reasoning
  2. Ontology-Based Systems
    1. Modeling information through ontologies
    2. Ontology Languages (Description Logics)
    3. Query answering over databases and ontologies
    4. Ontology-based data access
    5. Reasoning in Ontology Languages
  3. Rule-Based Systems
    1. Non-monotonic Reasoning
    2. Answer Set Programming (ASP)
    3. Syntax and Semantics of main language constructs of ASP
    4. Efficient Modeling with ASP
    5. Learning programs with ASP


Programs where the course is taught: