Knowledge Representation and Reasoning
Academic Year 2026/2027 - Teacher: DANIELE FRANCESCO SANTAMARIAExpected Learning Outcomes
Course Structure
Required Prerequisites
Attendance of Lessons
Detailed Course Content
- The role of Knowledge Graphs in modern AI: an overview.
- Introduction to knowledge representation: definition of knowledge, information, and data; the DIKW pyramid and the semiotic triangle.
- Introduction to knowledge reasoning: definitions.
- Introduction to knowledge representation: Semantic Networks.
- Introduction to knowledge representation: Frames.
- Introduction to knowledge representation: modern solutions.
- Introduction to knowledge reasoning: an introduction to Description Logic.
- Introduction to knowledge reasoning: an introduction to Logic Programming.
- Introduction to knowledge reasoning: an introduction to Production System Rules.
- Introduction to knowledge modeling: KADS.
- Introduction to knowledge modeling: ontologies.
- Knowledge Graphs: historical background.
- Knowledge Graphs: definitions.
- Knowledge Graphs: data models.
- Knowledge Graphs, from design to release: introduction.
- Knowledge Graphs, from design to release: the creation phase.
- Knowledge Graphs, from design to release: the hosting phase.
- Knowledge Graphs, from design to release: the management phase.
- Knowledge Graphs, from design to release: the release phase.
Textbook Information
- Dieter Fensel et al., Knowledge Graphs: Methodology, Tools and Selected Use Cases.
- Neo4J Cypher Official Manual (Cypher Version 25).
The teacher will provide all additional teaching materials required for the course, including lecture notes, supplementary readings, practical exercises, and other relevant resources.
Course Planning
| Subjects | Text References | |
|---|---|---|
| 1 | The role of Knowledge Graphs in the modern AI: an overview. | Slides |
| 2 | Introduction to knowledge representation: definition of knowledge, information, data; the DIKW pyramid and semiotic triangle | Slides |
| 3 | Introduction to knowledge reasoning: definitions | Slides |
| 4 | Introduction to knowledge representation: Semantic Network | Slides |
| 5 | Introduction to knowledge representation: Frames | Slides |
| 6 | Introduction to knowledge representation: modern solutions | Slides |
| 7 | Introduction to knowledge reasoning: overview of Description Logics | Slides |
| 8 | Introduction to knowledge reasoning: overview of Logic Programming | Slides |
| 9 | Introduction to knowledge reasoning: overview of Production System Rules | Slides |
| 10 | Introduction to knowledge modeling: KADS | Slides |
| 11 | Introduction to knowledge modeling: ontologies | Slides |
| 12 | Knowledge Graph: a brief historical overview | Fensel, chapter I |
| 13 | Knowledge Graph: definitions | Fensel, chapter I |
| 14 | Knowledge Graph: data models | Fensel, chapter I |
| 15 | Knowledge Graph, from design to deployment: introduction | Fensel, chapter I |
| 16 | Knowledge Graph, from design to deployment: the creation phase | Fensel, chapter II |
| 17 | Knowledge Graph, from design to deployment: the hosting phase | Fensel, chapter II |
| 18 | Knowledge Graph, from design to deployment: the curation phase | Fensel, chapter II |
| 19 | Knowledge Graph, from design to deployment: the deployment phase | Fensel, chapter II |
Learning Assessment
Learning Assessment Procedures
Final Grade Assessment Criteria
The final grade will primarily reflect the quality of the Knowledge Graph developed, the correctness and appropriateness of the modeling choices, the ability to adequately represent the selected domain, and the quality of the accompanying documentation. The student's ability to present and justify the project, as well as to critically connect the theoretical and practical aspects covered in the course, will also be assessed.
Fail: the Knowledge Graph does not meet the minimum project requirements, presents substantial shortcomings in its modeling or representation of knowledge, and/or is inadequately documented. The student does not demonstrate sufficient understanding of the fundamental concepts required to design, implement, and discuss the project. The project will also be considered not acceptable if it is primarily the result of AI slop, i.e., automatically generated content that has not been adequately understood, verified, integrated, and justified by the student.
18–23: the Knowledge Graph covers the fundamental concepts of the selected domain and provides an essential modeling of the relevant knowledge, although with possible simplifications or limitations. The main design choices are only partially understood and justified. The documentation is sufficient to describe the structure and main characteristics of the Knowledge Graph, but provides limited discussion of the design decisions and their rationale. During the discussion, the student demonstrates a minimum understanding of the fundamental concepts and a modest ability to connect theoretical concepts with the solutions adopted in the project.
24–27: the Knowledge Graph is well designed and structured, adequately represents the selected domain, and demonstrates good application of the concepts and techniques covered in the course. The main modeling decisions are appropriately justified, and the project presents a good level of consistency and completeness. The documentation is of a good standard and clearly describes the adopted model, the main design choices, the represented data, and the ways in which the Knowledge Graph can be used or queried. The student demonstrates a good understanding of the course contents and a good ability to discuss their application to the project.
28–30 and honors: the Knowledge Graph is complete, coherent, and well conceived, with well-justified modeling choices and careful attention to the quality of knowledge representation. The project demonstrates a thorough understanding of the concepts covered in the course and, where relevant, critically addresses aspects such as ontology reuse and alignment, data quality and provenance, interoperability, validation, and graph querying. The documentation is complete, clear, and technically thorough, allowing an external reader to understand the domain, knowledge model, design choices, and how to use the Knowledge Graph. During the discussion, the student demonstrates the ability to present the project comprehensively, justify the design choices, and critically connect the theoretical and practical aspects covered in the course.
Project Discussion
The project assessment will also include an oral discussion, during which the student will be expected to:
describe the domain and objectives of the Knowledge Graph;
explain its structure and the main modeling choices;
justify the design decisions and discuss possible alternatives;
explain how the data were acquired, transformed, and represented;
demonstrate and discuss the main ways in which the Knowledge Graph can be queried and used;
present and discuss the accompanying documentation;
answer questions concerning the theoretical concepts of the course as applied to the project.
The discussion should demonstrate that the Knowledge Graph and its documentation have been understood and developed consciously by the student, rather than simply produced through automated tools.
Exam Registration
To take the exam, students must register through the SmartEdu portal.
The project discussion will take place on a date subsequent to the registration date, to be agreed upon with the instructor.
Students with Disabilities and/or Specific Learning Disorders (SLD)
Students with disabilities and/or Specific Learning Disorders (SLD) should contact the instructor and the CInAP representative of DMI sufficiently in advance of the exam date to communicate their intention to take the exam using the appropriate accommodations.
Examples of frequently asked questions and / or exercises
- Design a Knowledge Graph for a specific application domain, identifying the relevant entities, relationships, and properties.
Model a domain using a graph-based approach and implement the resulting model using Neo4j. Write and execute Cypher queries to insert, modify, retrieve, and analyse data stored in a Knowledge Graph. Analyse an existing knowledge model and propose possible modifications or improvements. Document the design choices made when developing a Knowledge Graph, providing appropriate justification for the structures and relationships adopted. Solve basic knowledge representation and reasoning problems using the tools and techniques presented during the course.