Knowledge and Reasoning Systems Representation



  • Main languages ​​for the representation of ontologies.
  • Reasoning algorithms for these languages, and their usefulness.
  • Interplay between the expressiveness of representation languages ​​and the computational complexity of reasoning.
  • Limitations of these languages ​​for the representation of common sense knowledge.
  • Main languages ​​for representation of common sense knowledge in Artificial Intelligence.
  • Reasoning algorithms on these languages, and their usefulness.


  • 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, and integrate with other systems for building applications.


  • Apply formal theoretical knowledge in real-world applications;
  • 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, 2003.

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 (presencial, on the campus) 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 Data Bases 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 the representation of knowledge in 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. Ontology based data integration
    6. Reasoning in Ontology Languages
  3. Rule Based Systems
    1. Non-monotonic Reasoning
    2. Datalog
    3. Datalog based data access
    4. Datalog based data integration
    5. Answer-Set Programming


Programs where the course is taught: