Vincenzo Offertucci

Laurea Triennale

Relatore

  1. Professore Vittorio Scarano

Tutor

  1. Dottoressa Maria Angela Pellegrino

Indice

Cosa Studio?

Progettazione e implementazione di un'interfaccia block-based per l'interrogazione di Knowledge Graph.

Diario

Settimana Argomenti Riferimenti Utili
1-2 Studio di Snap! Manuale di Snap!, Forum di Snap!

Materiale

Software

  • Visual Studio Code
  • Snap!

Riferimenti

Seminari

Primo Seminario
Data: 28/07/2022
Titolo: Sviluppo di un'estensione di Snap! per l'interrogazione di Knowledge Graph
Abstract:Una delle limitazioni della diffusione dei Knowledge Graphs è il linguaggio SPARQL che risulta essere un po' complicato.
Per tale motivo abbiamo deciso di sviluppare un’interfaccia Block-Based per l'interrogazione di Knowledge Graphs.
In questo seminario, dunque, vedremo quali sono gli obiettivi che ci hanno guidato nel suo sviluppo e quali funzionalità sono state individuate tramite un'analisi dei sistemi esistenti che abbiamo utilizzato come riferimento.
Inoltre faremo una breve panoramica di Snap!, che cos'è e come può essere esteso.
Infine esamineremo lo stato del progetto, vedremo a che punto ci troviamo con l'implementazione delle funzionalità e ne analizzeremo le limitazioni.

La Mia Tesi

Titolo: Sviluppo di un'estensione di Snap! per l'interrogazione di Knowledge Graph

Abstract: I Knowledge Graph continuano a diffondersi ma una delle motivazioni che ne impedisce un loro largo utilizzo è il linguaggio SPARQL che risulta essere leggermente ostico. Per tale motivo abbiamo deciso di sviluppare un’estensione per il linguaggio di programmazione block-based Snap! per l'interrogazione di Knowledge Graph.
I linguaggi block-based eliminano la possibilità di commettere errori di sintassi che sono motivo di difficoltà quando uno studente si approccia inizialmente ad un linguaggio di programmazione. Inoltre, grazie ai blocchi a forma di puzzle, che sono colorati diversamente in base alla categoria alla quale appartengono, e alle etichette apposte sui blocchi, che ne esprimono la funzione in linguaggio naturale, l’impatto con il linguaggio risulta più semplice e intuitivo per i nuovi utenti.
Snap! è un linguaggio block-based sviluppato da Jens Mönig e Brian Harvey a partire da Scratch, a differenza di Scratch offre funzionalità più avanzate, infatti, il target di utenti a cui è rivolto ha un'età media più alta. L'obiettivo di Snap! è quello di non porre dei limiti a quello che l'utente può sviluppare utilizzando un linguaggio a blocchi.
Dopo un'analisi dei sistemi preesistenti sono state individuate una serie di funzionalità che poi sono state implementate all'interno del sistema proposto. In particolare l'estensione sviluppata offre blocchi per costruire query SPARQL, includendo i costrutti order by e limit, la visualizzazione dei risultati in formato tabellare, la possibilità di costruire query usando delle variabili, il salvataggio dei risultati dell'esecuzione della query in una variabile, l'inclusione di filtri e stringhe letterali, blocchi per ottenere righe o colonne dai risultati, blocchi per la ricerca di entotà o proprietà, un blocco per la traduzione delle query costruite utilizzando i blocchi in query SPARQL, e la possibilità di esportare i risultati ottenuti.
Infine, si è valutata l'estensione sviluppata utilizzando il benchmark QALD per stimare l'accuratezza del sistema proposto e la copertura del linguaggio SPARQL.

Bibliografia