Knowledge Representation and Reasoning
Anno accademico 2026/2027 - Docente: DANIELE FRANCESCO SANTAMARIARisultati di apprendimento attesi
Il corso si pone i seguenti obiettivi formativi generali in termini di risultati di apprendimento attesi.
Modalità di svolgimento dell'insegnamento
Prerequisiti richiesti
Frequenza lezioni
Contenuti del corso
- Il ruolo dei Knowledge Graph nel l’IA moderni, cenni.
- Introduzione alla rappresentazione della conoscenza: definizione di conoscenza, informazione, dato; la piramide DIKW e il triangolo semiotico.
- Introduzione alla rappresentazione della conoscenza: le Reti Semantiche.
- Introduzione alla rappresentazione della conoscenza: i Frame.
- Introduzione alla rappresentazione della conoscenza: soluzioni moderne.
- Introduzione al ragionamento sulla conoscenza: definizioni.
- Introduzione al ragionamento sulla conoscenza: cenni di Logica Descrittiva.
- Introduzione al ragionamento sulla conoscenza: cenni di Logic Programming.
- Introduzione al ragionamento sulla conoscenza: cenni di Production System Rules.
- Introduzione alla modellazione della conoscenza: KADS.
- Introduzione alla modellazione della conoscenza: le ontologie.
- Knowledge Graph: cenni storici.
- Knowledge Graph: definizioni.
- Knowledge Graph: modelli di dato.
- Knowledge Graph, dalla progettazione al rilascio: introduzione.
- Knowledge Graph, dalla progettazione al rilascio; la fase di creazione.
- Knowledge Graph, dalla progettazione al rilascio; la fase di hosting.
- Knowledge Graph, dalla progettazione al rilascio: la fase di gestione.
- Knowledge Graph, dalla progettazione al rilascio: la fase di rilascio.
Testi di riferimento
- Dieter Fensel et al., Knowledge Graphs: Methodology, Tools and Selected Use Cases.
- Neo4J Cypher Official Manual (Cypher Version 25).
Il docente fornirà inoltre tutto il materiale didattico integrativo necessario allo svolgimento del corso, comprese dispense, esercitazioni, letture supplementari e ulteriori risorse utili.
Programmazione del corso
| Argomenti | Riferimenti testi | |
|---|---|---|
| 1 | Il ruolo dei Knowledge Graph nell'IA moderna, cenni | Slides |
| 2 | Introduzione alla rappresentazione della conoscenza: definizione di conoscenza, informazione, dato; la piramide DIKW e il triangolo semiotico | Slides |
| 3 | Introduzione alla rappresentazione della conoscenza: le Reti Semantiche | Slides |
| 4 | Introduzione alla rappresentazione della conoscenza: i Frame | Slides |
| 5 | Introduzione alla rappresentazione della conoscenza: soluzioni moderne | Slides |
| 6 | Introduzione al ragionamento sulla conoscenza: definizioni | Slides |
| 7 | Introduzione al ragionamento sulla conoscenza: cenni di Logica Descrittiva | Slides |
| 8 | Introduzione al ragionamento sulla conoscenza: cenni di Logic Programming | Slides |
| 9 | Introduzione al ragionamento sulla conoscenza: cenni di Production System Rules | Slides |
| 10 | Introduzione alla modellazione della conoscenza: KADS | Slides |
| 11 | Introduzione alla modellazione della conoscenza: le ontologie | Slides |
| 12 | Knowledge Graph: cenni storici | Fensel, capitolo I |
| 13 | Knowledge Graph: definizioni | Fensel, capitolo I |
| 14 | Knowledge Graph: modelli di dato | Fensel, capitolo I |
| 15 | Knowledge Graph, dalla progettazione al rilascio: introduzione | Fensel, capitolo I |
| 16 | Knowledge Graph, dalla progettazione al rilascio; la fase di creazione | Fensel, capitolo II |
| 17 | Knowledge Graph, dalla progettazione al rilascio; la fase di hosting | Fensel, capitolo II |
| 18 | Knowledge Graph, dalla progettazione al rilascio: la fase di gestione | Fensel, capitolo II |
| 19 | Knowledge Graph, dalla progettazione al rilascio: la fase di rilascio | Fensel, capitolo II |
Verifica dell'apprendimento
Modalità di verifica dell'apprendimento
L'esame consiste nella realizzazione e presentazione di un progetto, concordato con il docente, volto a verificare la capacità dello studente di applicare le conoscenze e le competenze acquisite durante il corso alla progettazione, implementazione e interrogazione di un Knowledge Graph.
Criteri di attribuzione del voto finale
L’attribuzione del voto finale terrà conto principalmente della qualità del Knowledge Graph realizzato, della correttezza delle scelte di modellazione, della capacità di rappresentare adeguatamente il dominio applicativo e della qualità della relativa documentazione. Saranno inoltre valutate la capacità dello studente di illustrare il progetto, motivare le scelte effettuate e collegare criticamente gli aspetti teorici e pratici affrontati durante il corso.
Non approvato: il Knowledge Graph non raggiunge gli obiettivi minimi del progetto, presenta carenze sostanziali nella modellazione o nella rappresentazione della conoscenza e/o non è adeguatamente documentato. Lo studente non dimostra di aver acquisito i concetti di base necessari per comprendere, realizzare e discutere il progetto. Il giudizio sarà inoltre non approvato qualora il progetto risulti essere prevalentemente frutto di AI slop, ossia di contenuti generati automaticamente e non adeguatamente compresi, verificati, integrati e motivati dallo studente.
18–23: il Knowledge Graph copre i concetti fondamentali del dominio e presenta una modellazione essenziale, seppur con eventuali semplificazioni o limitazioni. Le scelte progettuali sono comprese e motivate solo parzialmente. La documentazione è sufficiente a descrivere la struttura e le principali caratteristiche del Knowledge Graph, ma risulta limitata nell’analisi delle scelte effettuate e nella loro motivazione. Durante la discussione, lo studente dimostra una padronanza minima dei concetti di base e capacità modeste di collegare gli aspetti teorici alle soluzioni adottate nel progetto.
24–27: il Knowledge Graph è ben progettato e strutturato, rappresenta in modo adeguato il dominio scelto e mostra una buona applicazione dei concetti e delle tecniche affrontate durante il corso. Le principali scelte di modellazione sono motivate e il progetto presenta un buon livello di coerenza e completezza. La documentazione è discreta e descrive in modo chiaro il modello adottato, le principali scelte progettuali, i dati rappresentati e le modalità di utilizzo o interrogazione del Knowledge Graph. Lo studente dimostra una buona padronanza dei contenuti e una buona capacità di discuterne le implicazioni.
28–30 e lode: il Knowledge Graph è completo, coerente e ben concepito, con scelte di modellazione adeguatamente motivate e un’elevata attenzione alla qualità della rappresentazione della conoscenza. Il progetto dimostra una piena padronanza dei concetti del corso e, ove pertinente, considera criticamente aspetti quali riuso e allineamento delle ontologie, qualità e provenienza dei dati, interoperabilità, validazione e interrogazione del grafo. La documentazione è completa, chiara e tecnicamente approfondita, tale da consentire a un lettore esterno di comprendere il dominio, il modello di conoscenza, le scelte progettuali e le modalità di utilizzo del Knowledge Graph. Durante la discussione, lo studente dimostra di saper esporre compiutamente il progetto, motivare le proprie scelte e collegare criticamente gli aspetti teorici e pratici affrontati nel corso.
Discussione del progetto
La valutazione del progetto comprenderà anche una discussione orale, durante la quale lo studente dovrà essere in grado di:
descrivere il dominio e gli obiettivi del Knowledge Graph;
illustrare la struttura e le principali scelte di modellazione;
motivare le scelte effettuate e discutere eventuali alternative;
spiegare come i dati sono stati acquisiti, trasformati e rappresentati;
mostrare e discutere le principali modalità di interrogazione e utilizzo del Knowledge Graph;
illustrare la documentazione prodotta;
rispondere a domande relative ai concetti teorici del corso applicati al progetto.
La discussione dovrà dimostrare che il Knowledge Graph e la relativa documentazione sono stati compresi e realizzati consapevolmente dallo studente, e non semplicemente prodotti mediante strumenti automatici.
Prenotazione dell’esame
Per partecipare all’esame è necessario aver effettuato la prenotazione sul portale SmartEdu.
La discussione del progetto si svolgerà in una data successiva a quella della prenotazione, concordata con il docente.
Studenti con disabilità e/o DSA
Gli studenti con disabilità e/o DSA dovranno contattare con sufficiente anticipo rispetto alla data dell’esame il docente e il referente CInAP del DMI, comunicando la volontà di sostenere l’esame usufruendo delle opportune misure compensative.
Esempi di domande e/o esercizi frequenti
Progettare un Knowledge Graph a partire da uno specifico dominio applicativo, individuando entità, relazioni e proprietà rilevanti. - Modellare un dominio utilizzando il modello a grafo e implementarlo mediante Neo4j.
- Scrivere ed eseguire query Cypher per inserire, modificare, recuperare e analizzare i dati presenti nel Knowledge Graph.
- Analizzare un modello di conoscenza esistente e proporre eventuali modifiche o miglioramenti.
- Documentare le scelte effettuate nella progettazione del Knowledge Graph, motivando la scelta delle strutture e delle relazioni utilizzate.
- Risolvere semplici problemi di interrogazione e ragionamento sulla conoscenza utilizzando gli strumenti e le tecniche presentati durante il corso.