Curriculum Vitae et Studiorum di Sergio Greco professore ordinario presso il Dipartimento di Ingegneria Informatica, Modellistica, Elettronica e Sistemistica dell’Università della Calabria Dati anagrafici nome data di nascita luogo di nascita cittadinanza residenza tel. ufficio tel. mobile e-mail Sergio Greco 25 novembre 1955 Carlopoli (CZ) italiana via Mosca, Residence Green Park, 87036 Rende (CS) 0984 494740 320 4204740 [email protected] Indice 1 Posizioni ricoperte e attività di studio 1.1 Posizione attuale . . . . . . . . . . . . 1.2 Posizioni precedenti e correnti . . . . . 1.3 Attività di studio e borse di studio . . 1.4 Attività di ricerca presso istituti esteri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Attività di ricerca 2.1 Basi di dati inconsistenti e incomplete . . . . . . . . . . . . . . . . . 2.2 Datalog con Simboli di Funzione . . . . . . . . . . . . . . . . . . . . 2.3 Knowledge Discovery e Data Mining . . . . . . . . . . . . . . . . . . 2.4 Bioinformatica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5 Estensioni di Datalog: semantica, espressività e complessità . . . . . 2.6 Programmazione Logica e Basi di Dati Disgiuntive. . . . . . . . . . . 2.7 Ottimizzazione di interrogazioni logiche . . . . . . . . . . . . . . . . 2.8 Integrazione di Basi di Dati Attive e Deduttive . . . . . . . . . . . . 2.9 Linguaggi di Interrogazione per dati a grafo, semistrutturati e XML 2.10 Tecniche per la navigazione di siti e la classificazione di pagine web. 2.11 Integrazione di basi di dati ed interrogazione di basi di dati federate. 2.12 Matching ed Unificazione di set-terms . . . . . . . . . . . . . . . . . 2.13 Programmazione Logica con Array . . . . . . . . . . . . . . . . . . . 2.14 Integrazione di Basi di Dati e Programmazione Logica . . . . . . . . 2.15 Integrazione di Programmazione Logica e Programmazione Orientata 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 3 4 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . agli Oggetti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 7 8 9 9 12 13 14 14 15 15 16 16 17 17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Altre attività scientifiche 3.1 Chair di conferenze . . . . . . . . . . . . 3.2 Editorial Boards . . . . . . . . . . . . . 3.3 Partecipazione a comitati di programma 3.4 Revisioni per riviste e congressi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 17 18 18 19 4 Alumni 19 4.1 Dottori di ricerca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.2 Studenti di dottorato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 5 Coordinamento di progetti 20 5.1 Progetti di Ricerca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 5.2 Progetti di ricerca - azione di Formazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 6 Partecipazione a progetti di ricerca 22 7 Premi e Riconoscimenti 23 8 Spin-off 24 9 Attività didattiche 9.1 Corsi svolti presso l’Università della Calabria . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2 Docenza presso altre sedi universitarie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3 Altre attività didattiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 24 25 25 10 Attività organizzative 25 11 Elenco delle Pubblicazioni 11.1 Libri e monografie . . . . . . . . . . . . . . . . . . . 11.2 Atti di conferenze e numeri speciali di riviste . . . . 11.3 Riviste internazionali . . . . . . . . . . . . . . . . . . 11.4 Lavori sottomessi a riviste a carattere internazionale 11.5 Riviste a carattere nazionale . . . . . . . . . . . . . . 11.6 Congressi internazionali . . . . . . . . . . . . . . . . 11.7 Workshops internazionali . . . . . . . . . . . . . . . 11.8 Capitoli di Libri . . . . . . . . . . . . . . . . . . . . 11.9 Raccolte Monografiche . . . . . . . . . . . . . . . . . 11.10Poster e articoli brevi . . . . . . . . . . . . . . . . . 11.11Congressi a carattere nazionale . . . . . . . . . . . . 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 27 27 27 31 32 32 38 39 40 40 40 1 Posizioni ricoperte e attività di studio 1.1 Posizione attuale • Professore ordinario presso il Dipartimento di Ingegneria Informatica, Modellistica, Elettronica e Sistemistica (DIMES) dell’Università della Calabria, SSD ING-INF/05 (Sistemi di Elaborazione dell’Informazione). • Direttore del Dipartimento di Ingegneria Informatica, Modellistica, Elettronica e Sistemistica. • Coordinatore del dottorato di ricerca in Ingegneria dei Sistemi e Informatica. • Coordinatore del dottorato di ricerca in Information and Communication Engineering for Pervasive Intelligent Environments. • Membro del Senato Accademico dell’Università della Calabria. 1.2 Posizioni precedenti e correnti • Da Novembre 2012 ricopre il ruolo di direttore del Dipartimento di Ingegneria Informatica, Modellistica, Elettronica e Sistemistica. • Da Novembre 2002 a Ottobre 2012 ha ricoperto il ruolo di direttore del Dipartimento di Elettronica Informatica e Sistemistica. • Da Gennaio 2013 è coordinatore del dottorato di ricerca Information and Communication Engineering for Pervasive Intelligent Environments. • Da Novembre 2012 è coordinatore del dottorato di ricerca in Ingegneria dei Sistemi e Informatica (attivo ancora per i prossimi due anni). • Da Novembre 2012 è membro del Senato Accademico dell’Università della Calabria, eletto in rappresentanza dei direttori di dipartimento. • Da Novembre 2012 presta servizio in qualità di professore ordinario presso il Dipartimento di Ingegneria Informatica, Modellistica, Elettronica e Sistemistica dell’Università della Calabria. • Da Novembre 2000 a Ottobre 2012 ha prestato servizio in qualità di professore di prima fascia presso la Facoltà di Ingegneria dell’Università della Calabria. • Da Novembre 1998 a Ottobre 2000 ha prestato servizio in qualità di professore associato presso la Facoltà di Ingegneria dell’Università della Calabria. • Da Giugno 1989 ad Ottobre 1998 ha prestato servizio in qualità di ricercatore presso la Facoltà di Ingegneria dell’Università della Calabria. Nel mese di Giugno 1992 è stato confermato nel ruolo di ricercatore. • Da Febbraio 1986 a Giugno 1989 ha prestato servizio presso il CRAI (Consorzio per la Ricerca e le Applicazioni di Informatica) di Rende, operando con la qualifica di specialista senior e ricoprendo l’incarico di responsabile di progetto. • Da Aprile 1984 fino a Febbraio 1986 ha fruito, presso il CRAI di una borsa di studio per la formazione di specialisti informatici, indetta dal Formez e finanziata dalla Comunità Economica Europea nel quadro del programma FSE. 3 1.3 Attività di studio e borse di studio Ha conseguito la laurea in Ingegneria delle Tecnologie Industriali (ind. Elettrico) presso l’Università degli Studi della Calabria, discutendo la tesi “Progetto e implementazione di un linguaggio ad alto livello per la progettazione e la simulazione di architetture di calcolo”. Nel 1984 è risultato vincitore di una borsa di studio triennale, indetta dal Formez, per la formazione di ricercatori in Informatica. Nell’ambito di tale borsa, per i primi diciotto mesi, ha seguito presso il CRAI una serie di corsi intensivi tenuti da docenti univeritari provenienti da varie sedi universitarie italiane; nei successivi mesi ha svolto attività di “training on the job”. Nel 1990 è risultato vincitore di una borsa di studio del CNR di durata annuale per lo svolgimento di ricerche presso istituti di ricerca esteri. Nel 1996 è risultato vincitore di una borsa di studio NATO-CNR “Senior Fellowship” di durata bimestrale per lo svolgimento di ricerche presso istituti di ricerca esteri. Nel 2000 è risultato vincitore di una borsa di studio NATO-CNR “Senior Fellowship” di durata bimestrale per lo svolgimento di ricerche presso istituti di ricerca esteri. 1.4 Attività di ricerca presso istituti esteri Nel periodo Luglio 1990 - Luglio 1991 ha fruito di una borsa di studio del CNR svolgendo attività di ricerca presso il centro di ricerca dell’MCC (Mycroelectronics and Computer Corporation) di Austin (Texas). Nel periodo Agosto-Settembre 1996 ha fruito di una borsa di studio NATO-CNR svolgendo attività di ricerca presso il Computer Science Department dell’Università della California di Los Angeles (USA). Nei periodi Ottobre-Dicembre 1991, Agosto-Settembre 1994 e Agosto-Settembre 1998 ha svolto attività di ricerca presso il Computer Science Department dell’Università della California di Los Angeles (USA). 2 Attività di ricerca Le attività di ricerca hanno riguardato principalmente le basi di dati, la programmazione logica e l’intelligenza artificiale, la rappresentazione della conoscenza ed il ragionamento non-monotono, complessità e potere espressivo dei linguaggi logici. Di seguito vengono presentati i risultati più significativi nei principali ambiti nei quali la ricerca è stata svolta. 2.1 Basi di dati inconsistenti e incomplete I vincoli di integrità di una base di dati sono espressi mediante formule logiche che definiscono stati accettabili e coerenti dei dati, cioè proprietà dei dati che devono essere soddisfatte dalle istanze della base di dati. Tuttavia, mentre in passato si assumeva che le istanze ammissibili fossero consistenti (rispetto ai vincoli di integrità quali, ad esempio, quelli di chiave), le applicazioni ed i contesti correnti impongono la presenza di istanze inconsistenti. Ciò è anche dovuto al fatto che le basi di dati correnti spesso integrano dati provenienti da sorgenti diverse (anche disponibili attraverso la rete Internet). Per questo motivo la gestione di dati inconsistenti svolge un ruolo chiave nelle applicazioni correnti. In tale contesto, il problema principale è quello di calcolare la risposta “corretta” di una interrogazione posta su una base di dati inconsistente. Due approcci sono stati definiti nella recente letteratura. Il primo consiste nel generare, a partire da una base di dati inconsistente, una o più basi di dati “riparate”, ottenute da quella di partenza attraverso un insieme minimale di operazioni di inserimento/cancellazione (o di modifica) di tuple e di eseguire l’interrogazione sulle basi di dati riparate (cioè si riscrive la base di dati). Il secondo consiste invece nel riscrivere l’interrogazione in modo da poter calcolare la risposta corretta eseguendo l’interrogazione riscritta sulla base di dati sorgente. Query rewriting. In [9] viene presentata una tecnica di riscrittura di interrogazioni congiuntive su basi di dati che potrebbero violare i vincoli di chiave. Quando la riscrittura è possibile, a partire da una interrogazione congiuntiva espressa nel calcolo relazionale (o, equivalentemente, in algebra relazionale o SQL) è 4 possibile generare una nuova interrogazione espressa nel calcolo relazionale che se valutata su una base di dati incerta (che potrebbe violare i vincoli di chiave), permette di ottenere le risposte certe. Il lavoro mostra che la conoscenza, oltre ai vincoli che potrebbero essere violati, di ulteriori vincoli come, ad esempio, dipendenze funzionali o join dependencies, che sono soddisfatti, permette la riscrittura di alcune interrogazioni che altrimenti, come è stato mostrato precedentemente, non sarebbero riscrivibili. Le interrogazioni riscrivibili, essendo esprimibili nel calcolo relazionale, hanno una complessità che ricade nella classe AC 0 e, quindi, calcolabili in modo molto efficiente. Calcolo di risposte consistenti probabilistiche. La maggior parte delle ricerche che trattano il problema di calcolare risposte certe ad interrogazioni su basi di dati inconsistenti, sono basate sulla nozione di riparazione, cioè sulla determinazione di una o più basi di dati consistenti ottenute attraverso l’applicazione di un insieme minimale di operazioni di inserimento o eliminazione di tuple. In [11, 74] viene presentata una nuova definizione di riparazione e di risposta certa ad una base di dati inconsistente, in presenza di dipendenze funzionali. L’obiettivo è quello di evitare alcuni problemi presenti nell’approccio classico e dovuti al fatto che la cancellazione di tuple comporta anche la perdita di informazioni che sono certe. Per far fronte a questo problema, la riparazione è ottenuta attraverso la modifica dei valori delle tuple e viene proposta una nuova semantica di risposta certa attraverso la determinazione di una base di dati probabilistica che “riassume” tutte le basi di dati riparate. Poiché la valutazione di interrogazioni su basi di dati probabilistiche è particolarmente complessa a causa della difficoltà di calcolare la probabilità da associate alle tuple contenute nella risposta, una tecnica per il calcolo di probabilità “approssimate” è stata altresı̀ proposta. Semantica three-valued. Una nuova semantica per il calcolo di ripararioni e risposte consistenti di tipo “approssimato” è stata proposta in [24,77]. La semantica di tipo three-value associa alle tuple presenti in una base di dati un valore di verità che può vero o indefinito (le tuple mancanti hanno associato il valore di verità falso). Il nuovo approccio permette di calcolare una base di dati riparata unica di tipo threevalued. Sulla base di ciò è possibile calcolare la risposta ad una interrogazione in tempo polinomiale. La risposta è “approssimata” nel senso che le tuple vere nella risposta sono contenute nell’insieme di tuple certe considerando l’approccio classico. La risposta ad una interrogazione può essere calcolata riscrivendo i vincoli in termini di regole Datalog e calcolando un modello deterministico del programma (ad esempio, il modello well-founded o il modello max-deterministic). Interrogazioni polinomiali. Il calcolo di risposte certe considerando vincoli ristretti quali dipendenze funzionali, vincoli di inclusione e vincoli di chiave esterna sono stati studiati in [13, 15, 22]. In tali lavori è stato mostrato che in presenza di soli vincoli di dipendenza funzionale o di vincoli di inclusione espresse da formule universalmente quantificate la risposta certa di alcune classi di interrogazioni puó essere ottenuta in tempo polinomiale. Approccio logico basato sulla riscrittura di vincoli. Uno schema generale per il calcolo di riparazioni e risposte consistenti basato sulla programmazione logica è stato presentato in [35, 104, 109, 113]. L’approccio consiste nella riscrittura dei vincoli di integrità, espressi mediante formule del calcolo dei predicati di tipo full tuple generating dependencies , in termini di regole Disjunctive Datalog (cioè, regole Datalog la cui testa può essere costituita da una disgiunzione di atomi). Il programma derivato può essere utilizzato per calcolare non solo le riparazioni della base di dati, ma anche le risposte certe, attraverso la determinanzione dei modelli stabili del programma. La nuova tecnica è più generale rispetto a quelle precedentemente proposte ed è completa e corretta, nel senso che ogni modello stabile definisce una riparazione ed ogni riparazione è derivato da un modello stabile. Lo schema è stato ulteriormente esteso attraverso l’introduzione di “vincoli speciali” detti vincoli di riparazione, una forma di vincoli che possono essere utilizzati per specificare l’insieme di riparazioni ammissibili. Infine, sono state introdotte alcune “regole di preferenza” che permettono di dare la preferenza ad alcune riparazioni della base di dati rispetto ad altre. 5 La complessità del calcolo delle risposte certe, nel caso generale e nel caso di specifiche classi di vincoli è stata altresı̀ studiata. In [91, 93] sono introdotti nuovi tipi di vincoli che definiscono condizioni di ammissibilità e criteri di preferenza che, associati a vincoli di integrità classici, permettono di limitare il numero di riparazioni e di aumentare il potere espressivo delle interrogazioni su basi di dati inconsistenti. La complessità del calcolo delle riparazioni e l’espressività dei linguaggi di interrogazione sono stati altresı̀ studiati. La riparazione di dati XML che sono incoerenti e incompleti rispetto ad un insieme di vincoli di integrità e di un DTD è studiata in [94]. Il problema dell’esistenza di riparazioni è studiato e dimostrato essere indecidibile sia nel caso generale, che nel caso ristretto dove i dati vengono interpretati come “corretti” e “incompleti” (cioè, possano essere riparati effettuando solo operazioni di inserimento). Tuttavia, diventa decidibile se si considerano ristrette classi di vincoli o nel caso in cui i dati incoerenti vengono interpretati come dati completi ed, eventualmente, non corretti (in modo che le riparazioni sono ottenute mediante operazioni di pulizia di dati consistenti sole di cancellazione di tuple). Per tali casi la complessità computazionale del problema è stata analizzata. Terminazione dell’algoritmo Chase. Il Chase è un algoritmo di punto fisso utilizzato in molti contesti delle basi di dati tra i quali, in presenza di dati che non soddisfino i vincoli di integrità (data dependencies), la modifica della base di dati per garantire, se possibile, il loro soddisfacimento. La sua esecuzione prevede l’inserimento di tuple con possibili valori nulli e il cambiamento di valori nulli che possono essere resi uguale a costanti o altri valori nulli. Dal momento che la valutazione del punto fisso del Chase potrebbe non terminare, negli ultimi anni è stato studiato il problema di stabilire se, dato un insieme di vincoli, l’algoritmo termini indipendentemente dal contenuto della base di dati. Tali criteri consistono nella rilevazione di condizioni sufficienti, derivati dall’analisi strutturale delle dipendenze, che garantiscano, qualunque sia il contenuto della base di dati, che il punto fisso possa essere raggiunto (in tempo polinomiale nella dimensione della base di dati). Diversi criteri sono stati recentemente proposti. In [14] è stata presentata una estensione del noto criterio stratification, chiamato local stratification (LS). Il nuovo criterio, generalizza sia super-weak acyclicity che i diversi criteri basati sulla straficazione proposti in letteratura. In [14,16] vengono presentati alcuni algoritmi di riscrittura che trasformano l’insieme iniziale di vincoli Σ in un insieme ‘equivalente’ Σα e permettono la verifica delle proprietà strutturali di Σα , invece che di Σ. La riscrittura dei vincoli permette di riconoscere classi di vincoli più estese per i quali è garantita la terminazione del Chase. In particolare, è stato mostrato che se Σ soddisfa le condizioni di terminazione definite da un criterio T , allora l’insieme riscritto Σα soddisfa T , ma il viceversa non è vero, cioè esistono classi significative di vincoli per cui Σα soddisfa T , mentre Σ non le soddisfa. I risultati sono stati ulteriormente estesi in [62] dove l’algoritmo di riscrittura verifica anche la presenza di ‘ciclicità’ tra gli argomenti. Il nuovo criterio chiamato acyclicity (AC), estende LS e al momento non è stato definito alcun criterio più generale. Un sistema per la verifica di diversi criteri proposti in letteratura è presentato in [71]. Il problema della presenza di dati inconsistenti o incompleti nelle basi di dati, e la riparazione di basi di dati attraverso il calcolo di soluzioni generali (ottenute mediante l’uso dell’algoritmo Chase) sono discussi in [2]. Vincoli attivi. Il problema principale nella riparazione di basi di dati inconsistenti è dato dal fatto che tutte le possibili riparazioni che rendono soddisfatti i vincoli sono ammissibili (il cui numero può essere esponenziale), mentre la strategia di riparazione dovrebbe essere definita dall’amministratore della base di dati. In [21, 81, 90] viene discusso un nuovo tipo di vincoli d’integrità chiamati Vincoli Attivi (Active Integrity Consraints - AIS), un’estensione dei vincoli di integrità classici orientata alla riparazione automatica delle basi di dati. Un vincolo di integrità attivo è un vincolo speciale il cui corpo contiene una congiunzione di letterali, mentre la testa contiene una disgiunzione di atomi di aggiornamento. Intuitivamente, il corpo della regola esprime un denial constraint, cioè una condizione che non deve essere soddisfatta dalla base di dati e che, se soddisfatta, innesca una delle azioni “riparatrici” (inserimento o eliminazione di una tupla) contenute nella testa della regola. In tale ambito vengono anche introdotte le riparazioni “fondate”, cioè 6 riparazioni le cui azioni sono ottenibili attraverso l’innesco (in cascata) di vincoli attivi. Nei suddetti lavori è stata anche studiata la complessità computazionale ed è stata definita una semantica dichiarativa ed una caratterizzazione di tale semantica ottenuta riscrivendo i vincoli di integrità attivi in termini di regole logiche disgiuntive, in modo che le riparazioni fondate possano essere derivate dai modelli stabili del corrispondente programma logico. In [78] è stata presentata una estensione dei vincoli attivi, dove viene definita una priorità tra le possibili azioni associate ad un vincolo attivo. 2.2 Datalog con Simboli di Funzione Negli ultimi anni, c’è stato un grande interesse nel migliorare i risolutori di programmi logici con semantica di tipo “bottom-up” (come, ad esempio, quelli basati sui modelli stabili), estendendo i programmi logici con i simboli di funzione. I simboli di funzione permettono una più facile modellazione dei problemi rendendo i programmi più concisi ed intuitivi. Il problema principale dell’introduzione dei simboli di funzione è che i programmi diventano indecidibili, cioè, il problema di stabilire se esiste un modello finito o un insieme finito di modelli finiti, conformi alla semantica scelta, è indecidibile. Per far fronte a questo problema, la ricerca si è concentrata sull’identificazione di condizioni sufficienti per un programma di avere un numero finito di modelli, ciascuno di dimensioni finite, portando a diversi criteri (che noi chiamiamo criteri di terminazione). In [64, 70] vengono definiti nuovi criteri per il controllo della terminazione dei programmi logici con simboli di funzione valutati con risolutori di tipo “bottom-up”. In particolare, è stata analizzata approfonditamente la struttura dei programmi e introdotto un nuovo criterio chiamato safety, che garantisce che i modelli stabili siano limitati e calcolabili, in quanto è possibile generare un programma finitely ground (cioè, un programma finito senza variabili), equivalente al programma di origine. Il nuovo criterio estende diversi criteri precedentemente introdotti nella letteratura. [10] presenta una nuova tecnica che, utilizzata in combinazione con criteri di terminazione attuali, ci permette di rilevare come terminanti un insieme significativo di programmi logici che non sono identificati come terminanti dalle tecniche correnti. Specificatamente, la tecnica proposta considera un programma logico P e la trasforma in un programma ‘adornato’ P α , con l’obiettivo di applicare criteri di terminazione a P α piuttosto che a P . La trasformazione è corretta nel senso che se P α verifica un dato criterio di terminazione, quindi il programma originario P è finitely-ground. È importante sottolineare che, applicando i criteri di terminazione ai programmi adornati piuttosto che a quelli originali, la classe di programmi riconosciuti come finitely-ground cresce significativamente. Una tecnica innovativa basata sulla definizione di un ‘mapping’ da argomenti a insiemi di stringhe di simboli di funzione, che rappresentano la struttura dei possibili valori che potrebbero essere adottati dagli argomenti durante la valutazione bottom-up, è stato proposto in [63, 69]. I programmi riconosciuti come finitely-ground da questa tecnica, detti mapping restricted, sono caratterizzati dal fatto che a tutti gli argomenti è possibile associare un insieme finito di stringhe. Tale insieme può essere determinato riscrivendo il programma sorgente in un programma unario e verificare la sua terminazione; se il programma unario termina, è possibile determinare un insieme finito di stringhe associabili a ciascun argomento del programma. Una ulteriore tecnica che permette di stabilire se un programma è finitely-ground e, quindi, terminante, indipendentemente dal contenuto della base di dati è stato presentato in [68]. Il nuovo criterio si basa su due potenti strumenti: il labeled argument graph, un grafo orientato i cui archi sono etichettati con informazioni utili su come i termini sono propagati dal corpo alla testa delle regole, e l’activation graph, un grafo orientato che indica se una regola può “attivare” un’altra regola. Il contributo principale di questa tecnica è che, mentre i criteri di terminazione attuali analizzano un gruppo di argomenti o di regole alla volta (considerando argomenti o regole appartenenti alla stessa componente nell’argument graph o nell’activation graph), senza guardare come i gruppi di argomenti sono correlati tra loro, il criterio proposto è in grado di effettuare anche un’analisi di come gruppi di argomenti si influenzano a vicenda. Una survey di tali tecniche è presentata anche in [2]. 7 2.3 Knowledge Discovery e Data Mining L’attività di ricerca in tale ambito è rivolta alla definizione di metodi per l’estrazione di conoscenza da dati di differente forma e complessità, in particolare dati semistrutturati, dati transazionali, dati spazio-temporali, e dati probabilistici (incerti). Clustering di dati semistrutturati/XML. Nell’ambito dell’estrazione di conoscenza da dati semistrutturati/XML, in [17, 72, 80, 92] viene afffrontato il problema del clustering semantico di documenti XML. L’approccio proposto è basato su analisi sia delle caratteristiche strutturali sia delle peculiarità di contenuto dei dati XML, con il supporto di una base di conoscenza ontologica. Si definisce un modello transazionale per la rappresentazione di dati XML basato sulla nozione di tree tuple. L’estrazione di tree tuple da documenti XML consente l’identificazione di strutture coesive dal punto di vista semantico che riflettono diversi modi di associare contenuto e struttura rispetto alle semantiche di struttura dei documenti originali. Sono stati sviluppati due algoritmi basati su strategie di clustering opposte, ovvero clustering partizionale basato su centroids e clustering gerarchico basato su frequent itemsets. Inoltre, nei lavori [12, 149], viene proposto un approccio collaborativo distribuito per il problema del clustering di documenti XML. La strategia di clustering è ancora di tipo partizionale centroid-based, ma ridefinita per una rete P2P. Ogni peer della rete è autorizzato a calcolare una soluzione di clustering locale sui propri dati, e di scambiare i propri centroidi di cluster con gli altri peer. I centroidi scambiati sono utilizzati per calcolare in modo collaborativo i centroidi di cluster per la soluzione di clustering globale. Clustering ensembles. Il principale obiettivo delle tecniche di clustering ensembles consiste nell’estrarre un’unica soluzione di clustering (consensus partition) dall’ensemble, in maniera tale che essa risulti maggiormente rappresentativa rispetto alle singole soluzioni presenti nell’ensemble. I metodi di clustering ensembles presenti in letteratura rientrano negli approcci cosiddetti instance-based, cluster-based, o hybrid; tuttavia, la maggior parte dei metodi proposti non è in grado di discriminare tra le diverse soluzioni di clustering nell’ensemble. In [73], viene affrontato il problema di ensemble clustering pesato attraverso la definizione di schemi di pesatura delle soluzioni che partecipano ad un ensemble. Tali schemi sono indipendenti dallo specifico algoritmo di clustering ensembles utilizzato e sono tali da considerare le correlazioni tra le singoli soluzioni in maniera differente. Inoltre, è mostrato come ciascuno degli schemi di pesatura introdotti può essere facilmente integrato in un qualsiasi metodo di clustering ensembles instance-based, cluster-based, o hybrid. In [67], è definito un modello tensoriale tensore del terzo ordine al fine di aver una rappresentazione multidimensionale di una collezione di documenti che tenga in considerazione sia informazioni di contenuto che informazioni fornite dalle aggregazioni frequenti dei documenti sui vari cluster di un ensemble. Il tensore viene infine decomposto al fine di estrarre un unico raggruppamento dei documenti che tenga conto delle informazioni fornite dall’ensemble in input. Time series similarity detection. Nei lavori [20, 166], viene proposto DSA (Derivative time series Segment Approximation), un nuovo modello di rappresentazione per serie temporali per task di identificazione di similarità e clustering. DSA combina i concetti di derivazione e segmentazione al fine di catturare in maniera sensibile le caratteristiche principali delle serie temporali provvedendo nel contempo ad una elevata compressione dei dati. Uncertain data mining. Un problema emergente nella gestione dei dati riguarda la modellazione e la classificazione di dati incerti (uncertain data). In [75] è proposto un metodo di clustering gerarchico agglomerativo basato su centroidi (U-AHC). Tale metodo è il primo in letteratura che impiega una strategia di clustering gerarchico per dati incerti, e si contrappone al resto dei metodi esistenti di tipo partizionale e density-based. Il metodo proposto si basa sulla definizione formale di un approccio information-theoretic per il calcolo della distanza tra dati incerti. I centroidi di cluster sono rappresentati come mixture di distribuzioni di probabilità che sintetizzano le distribuzioni delle istanze di ogni cluster. 8 Applicazioni a dati socio-economici. In [41, 31] è stato proposto l’uso di diverse tecniche induttive per derivare la partizione dei dati in clusters, e alberi di decisione per caratterizzare le varie classi mediante regole logiche. I risultati sperimentali hanno mostrato che l’uso combinato di tecniche di clustering e classificazione permette un notevole miglioramento nell’assegnazione delle classi rispetto al caso in cui ci si avvalga di un esperto del dominio considerato. L’applicazione di tali techniche e lo sviluppo di due prototipi per il supporto all’analisi dei bilanci delle società di capitale italiane e all’analisi di dati di natura socio-economica relativi alla regione Calabria, sono riportati, rispettivamente, in [114] e [111]. 2.4 Bioinformatica Le attività di ricerca hanno riguardato principalmente i Sistemi Informativi Clinici e i Sistemi Informativi Territoriali finalizzati al supporto del trattamento di dati clinici e biomedicali. L’attività ha portato alla realizzazione di prototipi per la validazione delle ipotesi e dei modelli con emphdataset clinici reali e con la collaborazione di partner esperti di dominio clinici. In [25] è stato progettato un sistema per aumentare sensibilmente l’identificazione dei peptidi (porzioni di proteine) presenti in un campione di siero analizzato tramite tecniche ICAT ed LC-MS/MS. I risultati ottenuti sono significativamente migliori di quelli restituiti dalla macchina per l’analisi clinica, grazie alla tecnica di cross validation che cerca le coppie chimiche HL (heavy/light) quantificate ma non identificate dallo spettrometro. Il prototipo è disponibile online insieme ad un dataset di test. In [76] è stato messo a punto un modello per l’analisi delle alterazioni vocali e per la classificazione delle patologie ad esse correlate, al fine di effettuare lo screening di un’ampia popolazione di pazienti. È stato messo a punto un modello matematico con tecniche di signal processing real-time ed il relativo sistema, implementato con una logica web-based, è stato adottato da partner clinici di otorinolaringoiatria per effettuare screening a livello regionale. In [19] sono state adottate e messe a punto tecniche e modelli propri della Epidemiologia Computazionale e dei Sistemi Informativi Territoriali (Geographical Information Systems - GIS ) per analizzare dati clinici di una popolazione in relazione al territorio di appartenenza. In particolare, il sistema implementato chiamato Geomedica, tramite la specifica di vincoli e interrogazioni SQL-like permette di definire aree del territorio che siano di interesse all’operatore per scoprire nuova conoscenza e analizzare il proprio dataset clinico su una mappa cartografica. La ricerca è stata ripresa in [148], dove le tecniche GIS e di querying su dataset spaziali sono state utilizzate per analizzare un dataset di grandi dimensioni relativi allo screening neonatale di valori di TSH, legati a gravi patologie della tiroide rilevabili in età neonatale. Il dataset copre 10 anni di screening neonatale su una media di 18.000 neonati per anno. Il sistema permette di correlare correttamente i dati con le caratteristiche del territorio (e.g. distanza dalle coste). 2.5 Estensioni di Datalog: semantica, espressività e complessità In questo ambito la ricerca è stata rivolta all’estensione del linguaggio Datalog con costrutti non-monotoni e non deterministici. Tali estensioni permettono di incrementare significativamente il potere espressivo del linguaggio in modo da poter esprimere (nel linguaggio esteso) classici algoritmi e problemi di efficace rappresentazione della conoscenza. La ricerca ha altresı́ studiato i relativi problemi di complessità computazionale. Linguaggi logici per problemi NP di ricerca e ottimizzazione. In questo ambito é stato definito un linguaggio logico per esprimere problemi NP di ricerca e ottimizzazione. In particolare, in [18,83,87] é stato introdotto un linguaggio ottenuto estendendo Datalog (positivo) con costrutti intuitivi ed efficienti (cioè negazione stratificata, vincoli e disgiunzione esclusiva). Successivamente, è stato definito un linguaggio ulteriormente limitato utilizzando solo una forma ristretta di disgiunzione per definire (nondeterministicamente) sottoinsiemi (o partizioni) delle relazioni. Il nuovo linguaggio, chiamato NP Datalog, ha lo stesso potere espressimo di Datalog con negazione generale (anche non stratificata) nell’esprimere problemi di ricerca e ottimizzazione. Un prototipo di sistema che implementa NP Datalog è stato altresı́ presentato. 9 Il sistema traduce interrogazioni NP Datalog in programmi OPL che vengono eseguiti mediante il sistema ILOG OPL Development Studio. I risultati sperimentali hanno mostrato che il prototipo permette una facile formulazione di problemi, espressa mediante un linguaggio logica dichiarativa, e una efficiente calcolo delle risposte. Vari esperimenti presentati in [18] mostrato l’efficacia di questo approccio. Linguaggi logici con preferenze. In questo ambito l’attività svolta ha riguardato lo studio di linguaggi logici con preferenze tra gli atomi (e.g. Prioritized Logic Programming, proposta da Sakama and Inoue e Answer Set Optimization, proposta da Brewka et. al.) . In [23, 82] è stato proposto un nuovo approccio, che riesce ad evitare alcuni problemi riscontrati nei linguaggi proposti precedentemente in letteratura. In particolare, la nuova semantica riesce a catturare l’informazione strutturale riguardante le regole di preferenza e fornisce quindi risultati piú intuitivi. Il confronto con altri approcci noti in letteratura e l’analisi di complessità mostrano che, rispetto ad altri approcci simili proposti in precedenza, la complessità di calcolo dei modelli stabili preferiti non aumenta. In [79] vengono studiate regole di preferenze che non confrontano singoli atomi ma modelli globali attraverso l’uso di aggregati. Tale estensione permette di esprimere in modo naturale classici problemi di ottimizzazione dove la funzione obiettivo è definita sul valore ottenuto da un insieme di elementi. Semantica di interrogazioni e programmi logici con negazione non-stratificata. La presenza della negazione all’interno dei programmi logici implica l’esistenza di più modelli minimali. Il significato della molteplicità di modelli minimali è quello della presenza di possibili soluzioni alternative al problema espresso. In genere, vengono considerate due differenti versioni della semantica dei programmi logici note come semantica della possibilità e semantica della certezza. La semantica della possibilità stabilisce che un fatto è vero se esiste un modello del programma che lo contiene, mentre la semantica della certezza stabilisce che un fatto è vero se è contenuto in tutti i modelli del programma. Tuttavia, entrambe le versioni permettono di dare significato ad un singolo fatto, ma non ad un insieme di fatti in quanto sia l’unione che l’intersezione di più modelli non è, in generale, un modello. In [54] è stato analizzato il potere espressivo e la complessità computazionale di programmi per i quali la semantica della possibilità e la semantica della certezza coincidono. Una semantica basata sull’esistenza di un unico modello stabile è stata proposta in [128]. In tale lavoro è stato mostrato che per definire linguaggi con potere espressivo superiore a quello dei programmi generali sotto la semantica well-founded, è necessario utilizzare la semantica dei modelli stabili “least-undefined”. Costrutti non-deterministici nelle interrogazioni e nei programmi logici. Sebbene nella programmazione logica il non-determinismo sia stato studiato solo recentemente e principalmente nell’ambito dei linguaggi logici concorrenti, è ormai riconosciuta la sua importanza anche nelle basi di dati. In [53] è stato analizzato l’uso del costrutto non-deterministico choice nei programmi Datalog “stratificati”. In tale lavoro è stata presentata una breve introduzione alla teoria ed all’uso del non-determinismo nell’ambito delle basi di dati deduttive [53]. Inoltre, sono stati analizzati diversi costrutti non-deterministici e introdotte alcune tecniche di valutazione di interrogazioni logiche non-deterministiche. Infine, è stato mostrato come sia possibile utilizzare i costrutti non-deterministici per emulare linguaggi con regole attive. Uno dei problemi di Datalog è dato dal suo limitato potere espressivo. Datalog non permette di esprimere tutti i problemi polinomiali ed alcune semplici interrogazioni non possono essere espresse. Ad esempio, in Datalog non è possibile conoscere se una data relazione ha un numero pari di tuple. Una semplice estensione di Datalog è costituita dall’uso della negazione stratificata; ma anche in questo caso, le limitazioni sopra citate rimangono. In [136] viene presentata una estensione di Datalog con negazione stratificata che consente di poter esprimere problemi sia di tipo polinomiale che di tipo N P , co-N P e DP . Tale soluzione prevede (i) l’uso di negazione stratificata, (ii) l’uso del costrutto choice, capace di sfruttare il non-determinismo della semantica dei modelli stabili, (iii) la possibilità di dedurre, dalla sintassi dell’interrogazione, un limite superiore alla complessità dell’interrogazione stessa, e (iv) la definizione di un algoritmo che assicura un’efficiente 10 esecuzione delle interrogazioni appartenenti alle diverse classi di complessità. Il linguaggio proposto risulta trattabile ed è completo per le suddette classi di complessità. I risultati di tale ricerca sono riportati in [46]. In tale lavoro viene altresı̀ mostrato che l’estensione introdotta permette di esprimere problemi appartenenti alla gerarchia booleana. In [131,51] è stata studiata l’espressività di linguaggi logici ottenuti mediante l’introduzione in Datalog della negazione stratificata, del costrutto non-deterministico choice e di una forma debole di vincoli di integrità. La caratteristica di questi ultimi è che, se non verificati, essi invalidano solo la parte del modello relativa al sottoprogramma sul quale agiscono e non l’intero modello. In [126,38] viene mostrato che tali vincoli permettono di definire linguaggi semplici ma molto espressivi. Complessità ed espressività dei linguaggi logici per basi di dati. In letteratura sono state definite diverse semantiche per programmi logici basate sui modelli stabili. Un problema di tali semantiche è dato dalla molteplicità di modelli, per cui le interrogazioni sono delle funzioni multivalore. In [134,54] è stato analizzato il potere espressivo delle interrogazioni funzionali, sotto le diverse semantiche basate sui modelli stabili. Un’interrogazione viene detta funzionale se la sua risposta sotto la semantica della possibilità (esiste un modello che soddisfa l’interrogazione) e della certezza (tutti i modelli soddisfano l’interrogazione) è la stessa. In [126,38] viene mostrato che i risultati ottenuti possono essere usati per la definizione di un linguaggio funzionale che consente di esprimere problemi appartenenti alla gerarchia booleana. Un’ulteriore estensione di tale linguaggio, che permette di esprimere anche problemi appartenenti al secondo livello della gerarchia polinomiale, è presentata in [54]. Ogni programma logico, oltre ad ammettere diversi modelli non-deterministici (modelli alternativi), ammette anche più modelli deterministici (modelli che non contraddicono gli altri modelli). I modelli deterministici costituiscono un reticolo completo, limitato in basso dal modello well-founded e in alto dal modello massimo deterministico. In [127,50] sono state studiate la complessità ed il potere espressivo di tale semantica. In [128] è stato analizzato il potere espressivo della versione funzionale della semantica dei modelli stabili. In particolare, è stato mostrato che il potere espressivo di tale versione della semantica, nel caso di modelli stabili totali, non va oltre N P ∩ coN P , mentre se si considera la semantica basata sull’esistenza di un unico modello stabile least undefined, è possibile esprimere tutti i problemi della classe unique witness. Infine, in [129] è stato mostrato che Datalog, esteso con il costrutto choice e una semplice forma di vincolo, permette sia di esprimere in modo semplice problemi di ottimizzazione nella classe N P , ma anche di catturate sottoclassi approssimabili. In [115,163] è stato mostrato che tale schema può essere esteso per esprimere sia problemi di ottimizzazione che di ricerca in modo dichiarativo. Costrutti non-monotoni. La programmazione logica permette di esprimere in modo semplice problemi complessi. Purtroppo l’esecuzione di interrogazioni logiche risulta, in genere, molto inefficiente. Inoltre, molti algoritmi su grafi non sono esprimibili in programmazione logica. Un tipico esempio è l’algoritmo di Dijkstra che risolve il problema dei cammini minimi in un grafo. Scopo della ricerca è stato quello di poter estendere la programmazione logica con costrutti, caratterizzati da chiara semantica ed efficiente implementazione, tramite cui poter esprimere in modo dichiarativo problemi e algoritmi classici. In [144] è stata presentata un’estensione della programmazione logica con i meta-predicati minimo e massimo. Tali meta-predicati possono essere espressi mediante una formula del calcolo dei predicati del primo ordine. Ad un programma contenente i meta-predicati minimo e massimo corrisponde un programma generale che può essere “non stratificato”. L’estensione proposta mostra che, sotto alcune condizioni di monotonicità, tali programmi hanno chiara semantica (unico modello minimo totale) e possono essere valutati efficientemente mediante l’operatore Greedy Fixpoint, che estende il classico operatore di conseguenze immediate con una tecnica di tipo goloso. I risultati completi sono riportati in un lavoro invitato per la pubblicazione su Journal of Computer and System Science [58]; in tale lavoro è stato anche mostrato che il problema del cammino minimo, espresso 11 mediante un programma logico esteso con meta-predicati, ha la stessa complessità del famoso algoritmo di Dijkstra. In [124] è stata definita una tecnica che permette di propagare all’interno delle regole i meta-predicati minimo e massimo in modo da ottimizzare il calcolo mentre in [39] è stata dimostrata la correttezza e l’efficienza di tale tecnica. In particolare è stato mostrato che tale ottimizzazione consente di limitare la dimensione della base di dati utilizzata ed il numero di “tuple” calcolate e che può essere combinata con le tecniche classiche le quali ottimizzano il calcolo mediante la propagazione di “bindings” all’interno dei programmi logici. Un secondo problema della programmazione logica deriva dalla mancanza di costrutti che permettano di esprimere obiettivi parziali e sub-ottimi richiesti in molti problemi pratici. Ad esempio per il noto problema del “commesso viaggiatore”, nei casi pratici si calcola una soluzione approssimata poiché il problema è “difficile”. In [141] è stata presentata un’estensione della programmazione logica che consente di esprimere in modo naturale molti problemi classici tramite l’uso di alcuni predicati aventi sintassi del secondo ordine e semantica del primo ordine. Tale estensione è stata ulteriormente sviluppata in [123,44], dove è stata definita una nuova classe di programmi logici, detti stage-stratified, che hanno chiara semantica e possono essere implementati efficientemente. È stato altresı̀ mostrato che i programmi logici stage-stratified permettono di esprimere molti algoritmi di tipo goloso con una complessità comparabile (molto spesso uguale) a quella degli algoritmi classici. In [139] vengono presentati un linguaggio logico che consente di esprimere aggregazioni ed una tecnica, basata sull’uso della programmazione dinamica, che ne consente l’efficiente valutazione. L’estensione proposta è stata ulteriormente sviluppata in [52] dove è stato mostrato che i predicati per esprimere aggregati, tipici di SQL, quali la somma di un insieme di valori (sum) ed il numero di elementi soddisfacenti una data proprietà (count) possono essere espressi mediante programmi Datalog estesi e possono essere efficientemente calcolati. In tale lavoro è stato altresı̀ mostrato che l’introduzione di tali costrutti all’interno di interrogazioni Datalog permette di esprimere in modo dichiarativo classici problemi di programmazione dinamica(knapsack, allocazione di risorse, ottima parentesizzazione del prodotto di matrici, ecc.). La tecnica di valutazione delle interrogazioni, basata sulla riscrittura del programma iniziale in un nuovo programma (ricorsivo) che non contiene aggregati, permette di ottenere, in diversi casi, una complessità pseudo-polinomiale, mentre la complessità del calcolo con le tecniche classiche (sia di tipo “bottom-up” che “top-down”) è esponenziale. Programmi Logici Negativi I programmi logici negativi estendono i programmi logici classici (detti anche generali) attraverso l’introduzione di clausole la cui testa può essere un letterale negato. Tale estensione permette di esprimere, in modo naturale, eccezioni all’interno dei programmi logici. I concetti di stratificazione, di modello stabile e di modello well-founded sono stati estesi a tale classe di programmi ed un algoritmo per la valutazione del punto fisso di programmi negativi stratificati è stato altresı̀ definito. Infine, è stato mostrato che per ogni programma negativo esiste un equivalente programma generale. Tuttavia, è possibile che il programma generale derivante da un programma negativo stratificato risulti “non stratificato”; pertanto, in tali casi, la valutazione del programma negativo è più efficiente. I risultati di tale ricerca sono presentati in [145]. In [164] sono presentati un algoritmo per la valutazione di programmi logici negativi ed un’estensione di alcune tecniche di ottimizzazione di interrogazioni logiche ricorsive. Un prototipo per la valutazione di programmi logici negativi è descritto in [165]. 2.6 Programmazione Logica e Basi di Dati Disgiuntive. In questo ambito sono stati affrontati lo studio dell’estensione di Datalog disgiuntivo, l’ottimizzazione di interrogazioni logiche disgiuntive e la definizione di una nuova semantica per programmi logici disgiuntivi. In [153] è stata proposta un’estensione di Datalog disgiuntivo che permette l’uso di regole all’interno della testa di una regola. L’uso di regole innestate consente di esprimere in modo naturale alcuni problemi non 12 facilmente esprimibili mediante l’uso di programmi standard. Per quanto riguarda la complessità di calcolo, è stato mostrato che i programmi cosı̀ estesi non sono più difficili da valutare dei programmi disgiuntivi standard. In [122,116] sono state presentate due tecniche per l’ottimizzazione di interrogazioni logiche disgiuntive. Entrambe le tecniche sono basate sulla riscrittura del programma disgiuntivo in forma non disgiuntiva, sull’ottimizzazione del programma non disgiuntivo e sulla riscrittura del programma sorgente “ristretto” tramite l’uso dei predicati del programma non disgiuntivo. La tecnica definita in [122] ottimizza il programma sorgente mediante la sua riscrittura in termini di programma disgiuntivo con regole innestate, mentre in [116] viene presentata una tecnica che permette di riscrivere il programma disgiuntivo in termini di un programma disgiuntivo standard. La descrizione di un prototipo che implementa un ottimizzatore di interrogazioni disgiuntive è presentata in [119]. In [36] sono riportati i risultati complessivi della ricerca. In tale lavoro vengono anche riportati i risultati di varie sperimentazioni effettuate per verificare l’efficacia delle tecniche. Il significato dei programmi logici disgiuntivi viene generalmente espresso mediante la semantica dei modelli stabili. Tuttavia, tale semantica non è sempre soddisfacente, poichè, spesso, interpreta la disgiunzione “inclusiva” come disgiunzione “esclusiva”. In [117,33] viene presentata una nuova semantica per programmi logici disgiuntivi che supera alcuni degli inconvenienti della semantica dei modelli stabili. La nuova semantica cerca di combinare la minimalità dei modelli con la presenza di disgiunzione inclusiva. È stato mostrato che tale semantica ha lo stesso potere espressivo e la stessa complessità della semantica dei modelli stabili disgiuntivi, ma è più intuitiva di quest’ultima. Infine, in [105] viene presentata una semantica deterministica per programmi logici disgiuntivi. 2.7 Ottimizzazione di interrogazioni logiche Ottimizzazione di interrogazioni mediante l’uso di viste materializzate. Nell’ambito dell’integrazione delle informazioni provenienti da piú sorgenti di dati, sono state sviluppate alcune tecniche per calcolare la risposta alle interrogazioni utilizzando i dati disponibili in viste materializzate. Il problema riveste particolare interesse nell’ambito dei sistemi di integrazione di basi di dati. Tale rappresentazione, infatti, è spesso realizzata costruendo uno schema astratto e definendo le sorgenti informative disponibili in termini di viste definite sugli oggetti dello schema globale. Le tecniche sviluppate estendono l’approccio proposto da Duschka e Genesereth, considerando la presenza della negazione sia all’interno della definizione delle viste, sia nel linguaggio di interrogazione reso disponibile dal sistema integrato. L’utilizzo della negazione “classica” e della negazione “per fallimento” consente di proporre delle tecniche efficienti per la traduzione delle interrogazioni formulate utilizzando lo schema globale. Le tecniche sviluppate ed il prototipo del sistema sono presentati in [43,120,184]. Grammatiche, Automi e Ottimizzazione di Interrogazioni Logiche. Il recente interesse per un’efficiente esecuzione di interrogazioni su programmi logici ha portato alla definizione di diverse tecniche basate sulla riscrittura dei programmi originali in nuovi programmi “equivalenti”, la cui valutazione risulta più efficiente. La tecnica più generale è quella conosciuta con il nome di magic-set. Per alcune classi di interrogazioni, è possibile applicare delle tecniche più efficienti. Questo è il caso dei programmi logici lineari, programmi le cui regole contengono nel corpo al massimo un solo atomo mutuamente ricorsivo con l’atomo che appare nella testa. La valutazione dei programmi logici lineari risulta efficiente anche per il fatto che nel calcolo semi-naive è possibile considerare solo la parte incrementale delle relazioni calcolate, al contrario dei programmi non-lineari, per i quali occorre considerare le intere relazioni. In [140] è illustrata una tecnica per la riscrittura di programmi concatenati (chain) in programmi lineari semplici (programmi contenenti una sola regola ricorsiva). Tale riscrittura è basata sull’analogia esistente tra programmi logici concatenati e grammatiche non-contestuali. Un programma concatenato viene riscritto in un programma lineare (ricorsivo a sinistra) che implementa un automa riconoscitore per la grammatica corrispondente al programma iniziale. Le regole del nuovo programma logico sono ottenute mediante una tecnica di fattorizzazione delle regole e dei predicati ricorsivi del programma sorgente. In [135] è stata 13 presentata un’estensione del metodo per trattare l’intera classe dei programmi concatenati. Verifiche sperimentali hanno confermato la validità del metodo proposto ed, in particolare, è stato rilevato che esso risulta molto più veloce del metodo magic-set [187,132]. I risultati completi sono presentati in [49]. Esecuzione Efficiente di Interrogazioni Logiche Ricorsive Lineari. Una nuova tecnica di ottimizzazione di interrogazioni logiche ricorsive basata sulla riscrittura della interrogazione originaria in una interrogazione ’equivalente’ è stata presentata in [155]. In particolare, è stata elaborata un’estensione del noto metodo counting, definito in letteratura per una ristretta classe di interrogazioni logiche lineari. Tale metodo è stato ulteriormente esteso all’intera classe dei interrogazioni logiche lineari in [143], dove è stato altresı̀ proposto uno schema generale per l’ottimizzazione di interrogazioni logiche lineari. Lo schema estende la gran parte delle ottimizzazioni definite in letteratura per particolari classi di interrogazioni lineari, quali il metodo counting ed i metodi per l’ottimizzazione di interrogazioni logiche contenenti regole lineari a destra o lineari a sinistra. Un confronto tra la tecnica proposta ed i metodi classici viene presentato in [138]. Una dettagliata analisi della complessità e delle prestazioni delle tecniche di riscrittura viene riportata in [48]. I risultati di tale analisi mostrano che il metodo proposto in [143] risulta essere molto più efficace dei metodi precedentemente definiti. 2.8 Integrazione di Basi di Dati Attive e Deduttive Ci si è occupati della definizione di semantiche dichiarative per basi di dati attive che permettano un’integrazione di regole attive e deduttive caratterizzata da una semantica unica e intuitiva. In particolare, è stata considerata l’applicabilità di semantiche già definite nell’ambito delle basi di dati deduttive (quali well-founded, max-deterministic e stabile) ad un contesto in cui siano presenti anche regole attive. Tale studio costituisce l’oggetto del lavoro [125], contenente l’analisi delle semantiche di tipo deterministico, e del lavoro [185], in cui è stato studiato l’impatto del non-determinismo. I risultati complessivi sono riportati in [45]. 2.9 Linguaggi di Interrogazione per dati a grafo, semistrutturati e XML L’attività svolta si è concentrata sullo studio di linguaggi che utilizzano espressioni regolari per definire lo spazio di ricerca delle interrogazioni. In particolare, è stata proposta un’estensione della teoria dei linguaggi regolari, basata sulla presenza di un ordinamento fra le stringhe dei linguaggi e finalizzata alla possibilità di esprimere preferenze fra i cammini identificati dalle stringhe. I risultati di questo lavoro sono stati presentati in [118,28]. È stato, inoltre, introdotto il concetto di non-determinismo all’interno di linguaggi di interrogazione che utilizzano espressioni regolari per la navigazione all’interno di un grafo [110]. È stata effettuata un’analisi dell’applicabilità pratica di tali estensioni alla specifica di interrogazioni su collezioni di documenti HTML, nonché a modelli di dati differenti da quello utilizzato per i dati semistrutturati, quali quello relazionale e quello orientato agli oggetti. Tale attività costituisce l’oggetto dei lavori [121,47]. In [151] sono state introdotte le “path queries pesate”, una estensione delle path queries dove le espressioni regolari sono pesate. Tale estensione permette di assegnare un peso ai diversi elementi contenuti nel risultato (ad esempio, pagine Web) nonché di ottimizzare il calcolo. L’utilizzo dei linguaggi pesati nella definizione delle path queries rende possibile esprimere numerosi tipi di interrogazioni non esprimibili con i classici linguaggi di interrogazione per basi di dati semistrutturati proposti in letteratura [183,112]. Si è infine investigato il problema dell’identificazione di porzioni di un grafo che soddisfano una data proprietà. L’approccio proposto utilizza un tipo semplice di graph grammar per definire le proprietà del sottografo desiderato. Tale lavoro costituisce l’oggetto di un articolo sottomesso per la presentazione ad un congresso internazionale [152]. In [167] viene presentato un linguaggio grafico che permette sia l’interrogazione che la ristrutturazione di dati XML. 14 2.10 Tecniche per la navigazione di siti e la classificazione di pagine web. Tale tema di ricerca è essenzialmente rivolto allo sviluppo di tecniche per la classifficazione di pagine web ed alla definizione di strumenti che rendano piú efficiente la navigazione di siti web per l’utente, migliorando le risposte ad interrogazioni fornite dai motori di ricerca. In particolare, è stata proposta una tecnica di Topic Distillation su web che esamina la struttura a grafo del web ed applica un approccio statistico alla matrice di co-occorrenza (associata con il base set ottenuto al primo passo dell’algoritmo di Kleinberg), in modo da trovare le pagine piú co-citate e, quindi, le diverse comunità. La tecnica sviluppata ha il vantaggio di identificare le pagine rilevanti senza l’ausilio di procedure iterative, ma semplicemente utilizzando una formula chiusa. Sulla base di questo lavoro di ricerca teorico, è stato sviluppato un prototipo di un sistema ed è stato successivamente studiato un algoritmo per approssimare la formula di ranking in modo da poter estendere l’approccio in contesti in cui l’attenzione deve essere rivolta alla velocità di risposta piuttosto che alla precisione dei risultati. Caso tipico è lo studio di filtri collaborativi utili nello sviluppo di portali Web personalizzabili o di supporto alla navigazione degli utenti. Il lavoro di ricerca è proseguito analizzando le comunità web sulla base dell’evoluzione di un insieme iniziale di pagine hubs e authorities. La legge di evoluzione proposta cattura il comportamento tipico degli autori di pagine web nei confronti di pagine popolari relative al topic di interesse. È stato successivamente studiato il problema della personalizzazione di siti Web, proponendo approcci non invasivi per lo sviluppo di sistemi di personalizzazione. L’approccio di web personalization proposto in [30, 89] si pone l’obiettivo di offrire, in maniera non invasiva, un supporto utile e non invasivo al visitatore durante la navigazione di un sito web. Tale supporto viene fornito attraverso il suggerimento di pagine potenzialmente interessanti e che sono sia pertinenti alle preferenze navigazionali dell’utente (estese con l’identificazione di utenti “simili”) sia correlate (dal punto di vista dell’uso e del contenuto) alla pagina correntemente visitata. In [108] è stata proposto un nuovo algoritmo per motori di ricerca. Tale algoritmo permette di identificare documenti rilevanti rispetto ad una particolare stringa utilizzando sia il contenuto testuale delle pagine che l’informazione definita dai collegamenti tra le pagine. Più in particolare, l’algoritmo applica tecniche di tipo statistico alla matrice delle co-citazioni contenente i collegamenti tra le diverse pagine Web e permette sia di identificare pagine rilevanti (authoritative pages) che le diverse comunità importanti per l’argomento definito dalla stringa (topic enumeration). 2.11 Integrazione di basi di dati ed interrogazione di basi di dati federate. Integrazione di basi di dati. La disponibilità di gran parte della basi di dati su rete ha portato a un rinnovato interesse per l’integrazione di basi di dati. Due diversi aspetti vengono di solito considerati: l’omogenizzazione degli schemi e l’omogenizzazione dei dati, cioè la (parziale) consistenza dei dati integrati. In tale contesto, ci siamo interessati al problema dell’integrazione di basi di dati i cui schemi sono stati omogenizzati. In particolare, abbiamo analizzato diversi operatori di fusione proposti in letteratura ed abbiamo proposto nuovi operatori di fusione di relazioni che permettono di risolvere (parzialmente) i conflitti all’interno dei dati [106, 107,181]. In [104] è stato mostrato che l’uso di regole logiche rende il processo di integrazione molto flessibile, mentre in [98] è stato definito un linguaggio logico per l’integrazione di basi di dati. Piú in particolare é stato presentato un linguaggio logico ottenuto estendendo Datalog con diversi costrutti che esprimono forme di non determinismo su valori singoli e aggregati. Il linguaggio cosı̀ ottenuto può essere usato per implementare la maggior parte delle tecniche di integrazione definite in letteratura, e consente, inoltre, di definire tecniche di integrazione piú generali. Successivamente é stato proposto un approccio per l’integrazione estensionale ed intenzionale di sorgenti informative eterogenee, da basi di dati a documenti XML e dati semistrutturati. Tale approccio consente di gestire valori nulli o sconosciuti, di rispondere in modo consistente ad interrogazioni poste su dati inconsistenti e, infine, di ricostruire, a livello intensionale, il contenuto di ciascuna sorgente informativa coinvolta nel processo di integrazione. Basi di dati P2P. Tale linea di ricerca studia l’integrazione e l’interrogazione di basi di dati in sistemi P2P. In un sistema P2P ogni nodo controlla una propria base di dati il cui schema è (parzialmente) noto agli 15 altri nodi (i quali dunque possono interrogarla). Le interrogazioni dell’utente sono sempre eseguite presso un nodo, che risponde integrando i dati estratti dalla propria base di dati, con quelli estratti dal resto del sistema, ottenuti interrogando i nodi ad esso adiacenti (o, comunque, “vicini”). Un nodo è considerato vicino di un altro nodo quando può fornire a quest’ultimo dei dati per mezzo di meccanismi chiamati regole di mapping o di coordinazione. Ogni vicino risponderà eseguendo un analogo processo. Al fine di rappresentare la conoscenza, una base di dati definisce un insieme di restrizioni (vincoli di integrità) che ciascuna istanza della base di dati deve soddisfare. La presenza di tali vincoli in fase di integrazione dati, se correttamente gestita, assicura che solo le informazioni che non violano tali restrizioni possano essere importate dai nodi vicini. Nel processo di integrazione ogni nodo deve mediare fra due diverse esigenze: importare quanta più informazione possibile ed evitare che essa corrompa la sua base di dati. La presenza dei vincoli di integrità rende il processo di integrazione e di interrogazione in ambiente P2P molto più complesso. In tale contesto, è stata proposta una nuova semantica per le regole di mapping che consente di importare solo il sottoinsieme massimale di atomi che non viola i vincoli di integrità. Infine, [161] presenta una rassegna delle diverse tecniche di integrazione, riparazione e calcolo di risposte consistenti definite nella letteratura. 2.12 Matching ed Unificazione di set-terms Il matching di termini di tipo set presenta una strana anomalia poiché tali termini godono delle proprietà di commutatività ed idempotenza. Ad esempio, dati i due set {X, Y, b} e {a, b} (X e Y denotano variabili mentre a e b denotano costanti), esistono tre diversi matcher che rendono i due set uguali (θ1 = {X/a, Y /a}, θ2 = {X/a, Y /b} e θ3 = {X/b, Y /a}). In [142] è stato presentato un accurato studio della complessità del problema e sono stati presentati due nuovi algoritmi per il caso di insiemi finiti con termini semplici. Il primo algoritmo, basato sulla generazione di multisets, è stato anche implementato nel sistema LDL sviluppato presso il centro di ricerca MCC (Texas), portando ad un notevole incremento delle prestazioni del sistema. Il secondo algoritmo ha una complessità ottima ed è stato implementato nel sistema LDL++. In [56] è descritta un’estensione dell’algoritmo per il caso di insiemi i cui termini possono essere altri insiemi o termini di tipo complesso. Il matching costituisce un caso particolare dell’unificazione. In essa, infatti, entrambi i set possono contenere variabili, per cui la determinazione dell’insieme di unificatori risulta molto più complessa. In [130] è stata presentata un’analisi dettagliata dell’esatta complessità del problema ed è stato anche descritto un algoritmo ottimo per l’unificazione di termini di tipo set. In [133,154] è stato analizzato il problema dell’unificazione debole di insiemi finiti con termini semplici. L’unificazione debole può essere utilizzata nell’ambito delle basi di dati deduttive, in cui le tuple possono contenere termini di tipo variabile, o nell’ambito delle basi di dati con vincoli (constraint databases) e che permette di calcolare il numero minimo di unificatori necessari per rispondere all’interrogazione. 2.13 Programmazione Logica con Array In [137] è stata definita un’estensione del linguaggio Datalog con strutture dati di tipo array. Il nuovo linguaggio, chiamato DatalogA aggiunge ai vantaggi di Datalog (dichiaratività, terminazione) la possibilità di poter utilizzare strutture dati complesse molto utili nell’ambito delle nuove applicazioni (CAD/CAM, applicazioni di tipo scientifico). Un’estensione che considera la presenza di domini infiniti (ad esempio, i numeri reali) è presentata in [57]. In [55] è illustrata una serie di tecniche di valutazione di programmi DatalogA sia di tipo “top-down” che di tipo “bottom-up”. In tale lavoro, vengono altresı̀ estesi i classici metodi per l’ottimizzazione di interrogazioni logiche. 16 2.14 Integrazione di Basi di Dati e Programmazione Logica In [146] è stato presentato un approccio alla valutazione di interrogazioni logiche (ricorsive) su una base di dati di tipo relazionale. Questo approccio è basato su un meccanismo di memoria virtuale che supporta l’esecuzione efficiente delle operazioni dell’algebra relazionale. La scelta della strategia di esecuzione e memorizzazione delle relazioni intermedie è basata su un modello di costo definito per la memoria virtuale. In [59] è stato presentato un linguaggio logico per l’interrogazione di basi di dati di tipo navigazionale. Il linguaggio, denominato Netlog, permette di specificare in forma dichiarativa navigazioni su una base di dati. Di tale linguaggio viene fornita la semantica dichiarativa, mentre la semantica operazionale viene data mediante la definizione di un “mapping” con i programmi logici generali. 2.15 Integrazione di Programmazione Logica e Programmazione Orientata agli Oggetti È stato definito il linguaggio Complex-Prolog, un linguaggio logico con caratteristiche orientate agli oggetti, quali i concetti di classe, identificatore di oggetto, ereditarietà e metodo. Tale linguaggio costituisce un’estensione di Datalog con i costrutti di (identificatore di) oggetto, classe ed ereditarietà. ComplexProlog combina lo stile dichiarativo della programmazione logica con quello tipicamente navigazionale dei linguaggi orientati agli oggetti. In [61] viene introdotto il linguaggio e definita la sua semantica dichiarativa; la semantica operazionale viene data mediante la definizione di un “mapping” con il linguaggio Datalog. In [66] viene anche presentata una semantica operazionale diretta di tipo “bottom-up”. Diverse altre proposte di integrazione della programmazione logica con costrutti della programmazione orientata agli oggetti sono trattate in [190,189,147]. In [60] è riportata una descrizione del prototipo del sistema denominato COMPLEX. Il linguaggio supportato, ridenominato Complex-Datalog, estende Complex-Prolog con il trattamento dell’ereditarietà multipla. COMPLEX esegue la valutazione dei programmi logici mediante l’algoritmo chiamato SNQS (Semi-Naive Query-Subquery), che combina il noto algoritmo Semi-Naive con quello Query-Subquery. Inoltre, i programmi logici da valutare vengono prima riscritti in equivalenti programmi, la cui esecuzione è più efficiente. Tale riscrittura è ottenuta applicando i metodi magic-set generalizzato e counting anche in presenza di negazione. 3 Altre attività scientifiche 3.1 Chair di conferenze • Program co-chair della European Conference on Logics in Artificial Intelligence (JELIA), September 2002, Rende (Italy). • Program co-chair dell’International Database Engineering and Applications Symposium (IDEAS), September 16-18, 2009, Cetraro (Italy). • Program co-chair dell’International Conference on Scalable Uncertainty Management (SUM), October 1-3, 2008, Naples (Italy). • General chair dell’International Conference on Model & Data Engineering (MEDI), September 25-27, 2013, Amantea (Italy). • Program chair della conferenza nazionale Sistemi evoluti per Basi di Dati (SEBD), 2003, Cetraro (Italy). • General chair della conferenza nazionale Sistemi evoluti per Basi di Dati (SEBD), 2014, Sorrento (Italy). • General chair della conferenza nazionale Sistemi evoluti per Basi di Dati (SEBD), 2011, Maratea (Italy). 17 3.2 Editorial Boards • Membro dell’Editorial Board della rivista IEEE Transaction on Data and Knowledge Engineering dal 2008 al 2012. 3.3 Partecipazione a comitati di programma È stato membro del comitato di programma di numerose conferenze a carattere internazionale; alcune recenti partecipazioni sono di seguito riportate: • International Conference on Very Large Databases (VLDB), Hangzhou (China), September 2014; • International Conference on Very Large Databases (ICDE), Chicago (IL), March 31- April 4, 2014; • International Conference on Very Large Databases (VLDB), Riva del Garda (Italy), August 26-30 2013; • International Conference on Very Large Data Bases (VLDB), Istanbul (Turkey), August 27-31, 2012; • ACM Conference on Information and Knowledge Management (CIKM), San Francisco (CA), October 27-November 1, 2013; • ACM Conference on Information and Knowledge Management (CIKM), Maui (Hawai), October 29November 2, 2012; • ACM Conference on Information and Knowledge Management (CIKM), Glasgow (UK), October 24-28, 2011; • ACM Conference on Information and Knowledge Management (CIKM), Toronto (Canada), October 26-30, 2010; • International Conference on Data Warehousing and Knowledge Discovery (DaWaK), September 1-5, 2014, Munich (Germany), • International Conference on Data Warehousing and Knowledge Discovery (DaWaK), August 26-29, 2013, Prague (Czech Republic); • International Conference on Data Warehousing and Knowledge Discovery (DaWaK), September 3-6, 2012, Vienna (Austria); • International Conference on Data Warehousing and Knowledge Discovery (DaWaK), August 29September 2, 2011, Toulouse (France); • ACM International Workshop On Data Warehousing and OLAP (DOLAP), San Francisco (CA), October 2013; • ACM International Workshop On Data Warehousing and OLAP (DOLAP), Maui (Hawai), October 2012; • ACM International Workshop On Data Warehousing and OLAP (DOLAP), Glasgow (UK), October 2011; • ACM International Workshop On Data Warehousing and OLAP (DOLAP), Hong Kong (China), November 2009; • ACM International Workshop On Data Warehousing and OLAP (DOLAP), Napa Valley (CA), October 2008; 18 • International Conference on Scalable Uncertainty Management (SUM), September 16-18, 2013, Washington (DC). • Fourth International Conference on Scalable Uncertainty Management (SUM), September 27-29, 2010, Toulouse (France). • 7th Alberto Mendelzon International Workshop on Fundations of Data Management (AMW), May 21-23, Puebla (Mexico). • 13th International Workshop on Termination (WST), August 29 to 31, 2013, Bertinoro (Italy). • International Workshop of Data Management in the Social Semantic Web (DMSSW), August 2012, Istambul (Turkey). 3.4 Revisioni per riviste e congressi Ha svolto attività di revisore per diversi congressi nazionali ed internazionali, tra cui le conferenze SIGMOD (ACM-SIGMOD Int. Conf. on Management of Data), VLDB (Very Large Data Bases), PODS (Principles of Database Systems), ICDT (Int. Conf. on Database Theory), EDBT (Int. Conf. on Extending Database Technology), ICDE (Int. Conf. on Data Engineering), CIKM (Int. Conf. on Information and Knowledge Management), IJCAI (Int. Joint Conf. on Artificial Intelligence), ICLP (Int. Conf. on Logic Programming), ILPS (Int Logic Programming Symposium), JICSLP (Joint Int. Conf. and Symp. on Logic Programming), LPNMR (Int. Conf. on Logic Programmin and Nonmonotonic Reasoning), e le riviste ACM Transaction on Database Systems (TODS), ACM Transaction on Information Systems (TOIS) IEEE-Transaction on Knowledge and Data Engineering, Journal of Computer and System Science, Theoretical Computer Science, Data and Knowledge Engineering, Acta Informatica, Journal of Logic Programming, Theory and Practice of Logic Programming, The Computer Journal. 4 Alumni 4.1 Dottori di ricerca • Sergio Flesca, prof. associato, abilitato nel ruolo di professore di prima fascia; • Ester Zumpano, prof. associato; • Filippo Furfaro, prof. associato; • Andrea Pugliese, ricercatore universitario, abilitato nel ruolo di professore di seconda fascia; • Andrea Tagarelli, ricercatore universitario, abilitato nel ruolo di professore di seconda fascia; • Cristian Molinaro, ricercatore universitario; • Francesco Parisi, assegnista di ricerca presso DIMES, Università della Calabria; • Irina Trubitsyna, tecnico laureato presso Università della Calabria; • Francesco Gullo, ricercatore presso Yahoo Research, Barcellona; • Giovanni Ponti, ricercatore presso ENEA, Napoli; • Francesca Spezzano, borsista presso University of Maryland, College Park. 19 4.2 Studenti di dottorato • Chiara Pulice • Marco Calautti. 5 5.1 Coordinamento di progetti Progetti di Ricerca CARDIO-TECH: TeCnologie Avanzate per l’innovazione e l’ottimizzazione dei pRocessi DIagnOstici, Terapeutici E di training dedicati alla gestione Clinica, interventistica e riabilitativa dei paziente affetti da sindromi coronaricHe acute. Finanziato dal Ministero dell’Istruzione, Università e Ricerca nell’ambito del Programma Operativo Nazionale ”Ricerca e Competitività 2007-2013”. Inizio: 01/07/2011, Fine: 30/06/2014. Budget: 297.710,00. Staywell: attività di ricerca su tematiche state of the art in ambito Smart Health, per il monitoraggio dello stile di vita a supporto del benessere e della prevenzione nonché per il miglioramento dell’interazione tra cittadino e strutture sanitarie e tra strutture sanitarie stesse, con sperimentazione prevista in Calabria. Finanziato dal Ministero dell’Istruzione, Università e Ricerca nell’ambito del Programma Operativo Nazionale ”Ricerca e Competitività 2007-2013”. Inizio: novembre 2012, Fine: giugno 2015. Budget: 61.912,11. Polinice+: una piattaforma ERP orientata al settore moda. Finanziato dal Ministero dello Sviluppo Economico nell’ambito del Fondo Innovazione Tecnologica Sportello PON. Inizio: 01/06/2010, Fine: 30/06/2014. Budget: 183.264,50. LOG.IN: LOGistica INtegrata. Progetto avente come obiettivo lo sviluppo di una piattaforma che supporti la cooperazione tra i processi industriali specifici di unità produttive che appartengono a diverse filiere di fornitura che costituiscono la filiera di fornitura estesa dall’acquisizione delle materie prime, alla movimentazione delle merci sino alla consegna al destinatario. Finanziato dal Ministero dello Sviluppo Economico nell’ambito del programma Industria 2015. Inizio: 01/07/2012, Fine: 31/12/2014 Budget: 300.069,00. EASE (Entity Aware Search Engines): motori di ricerca modellati con entità per un efficace accesso ai dati del Web. Finanziato dal Ministero dell’Istruzione, Università e Ricerca nell’ambito del Programma PRIN. Coordinatore del progetto specifico Interrogazione di dati probabilistici estratti dal Web sviluppato dall’unità dell’Università della Calabria. Inizio: 22/03/2010, Fine: 30/09/2012. Budget: 30.000,00. ENEL: Eureka! Un’idea per l’energia. Progetto avente come obiettivo l’analisi dei dati dei consumi elettrici degli utenti al fine di poter promuove nuove politiche di gestione dell’energia. Durata 1 anno. Budget: 47.000,00. Promis: Logistics Process Management and Intelligence Systems. Finanziato dal Ministero dell’Istruzione, Università e Ricerca nell’ambito delle Misure 3.16 e 3.7 POR Calabria 2000-2006. Inizio: 01/01/2006, Fine: 30/09/2009. Budget: 800.000,00. KinF: Servizi di Knowledge in Server Farm. Progetto avente come obiettivo l’implementazione di servizi e strumenti di analisi dei dati per il supporto al settore agroalimentare. Finanziato dal Ministero dell’Istruzione, Università e Ricerca. Inizio: giugno 2005, Fine: giugno 2007. 20 LOGICA: laboratorio tecnologico della LOGIstica in CAlabria. Finanziato dal Ministero dell’Istruzione, Università e Ricerca nell’ambito delle Misure 3.16 e 3.7 POR Calabria 2000-2006. Inizio: 01/01/2006, Fine: 30/06/2009. Budget: 1.970.000,00. Pilot: Pilot Software systems for the interoperability of logistics and transportation, avente come scopo lo studio di modelli organizzativi, ambienti software, dispositivi intelligenti di localizzazione e tecnologie di telecomunicazione pervasive, finalizzati alla realizzazione di un innovativo sistema d’integrazione di filiera e di distretto tra reti di PMI e sistema logistico. Finanziato dal Ministero dell’Istruzione, Università e Ricerca nell’ambito del Programma FAR. Inizio: 01/09/2004, Fine: 28/02/2008. Budget: 429.300,00. ICT-LAB: Sistema di Laboratori di Supporto al Trasferimento Tecnologico verso le Piccole e Medie Imprese del settore delle Tecnologie dell’Informazione e Comunicazione. Finanziato dalla Regione Calabria. Inizio: 21/10/2006, Fine: 20/06/2007. Budget: 500.000,00. TRAME: Trasferimento di Metodologie Didattiche Innovative per le Imprese. Finanziamento del Fondo Sociale Europeo nell’ambito del programma Operativo Nazionale “Assistenza tecnica e azioni di sistema”. Inizio: 01/09/2003, Fine: 31/07/2004. Budget: 120.000,00. Mente: Management of Integrated ENTerprisE. Obiettivo: studio, progettazione, sviluppo di un prototipo di ricerca e sperimentazione di un sistema pervasivo che permetta il controllo e la gestione, anche da remoto, dei processi produttivi, organizzativi e gestionali di aziende operanti nel settore agro-alimentare della Calabria. Finanziato dal Ministero dell’Università e della Ricerca Scientifica. Budget 360.000,00. D2I: Integrazione, Warehousing eMining di Sorgenti Eterogenee. Finanziato dal Ministero dell’Istruzione, Università e Ricerca nell’ambito del Programma PRIN. Responsabile dell’unità dell’Univ. della Calabria e coordinatore delle attività del Tema 2 (progettazione e interrogazione di data warehouse) Inizio: Novembre 2000, Fine: Novembre 2002. Budget: 194.000,00. Data-X: Gestione, Trasformazione e Scambio di Dati in Ambiente Web. Finanziato dal Ministero dell’Istruzione, Università e Ricerca nell’ambito del Programma PRIN. Inizio: Novembre 1999, Fine: Ottobre 2001. Responsabile dell’unità dell’Univ. della Calabria. Contact: Cooperative Network for Technology Transfer Actions and Training. Il progetto ha come scopo lo sviluppo di un network funzionale di integrazione fra la ricerca scientifica e tecnologica e le imprese. Finanziato dalla Comunità Europea nell’ambito del programma “Adapt-bis”. Inizio: Aprile 1998, Fine: Settembre 2000. Budget: 663.000,00. Progetto Analisi di bilanci aziendali. Nell’anno 1998 è stato coordinatore del progetto “Analisi dei bilanci delle società di capitale” dell’ISI-CNR, finanziato dalla società Pitagora. Scopo di tale progetto è stato la definizione di tecniche di data mining per l’analisi delle società di capitale e l’implementazione di un prototipo. Bench-marking nel settore agro-alimentare - Sistemi informatici integrati a supporto del benchmarking di progetti e interventi ad innovazione tecnologica nel settore agro-alimentare, avente come obiettivo la sperimentazione delle tecniche RIA per la valutazione dell’impatto scientifico ed economico della ricerca nel settore agro-alimentare. Inizio: Giugno 2001, Fine: Luglio 2003. Budget: euro 100.000,00. 21 Progetto Servir - Laboratorio Tematico per la gestione di data warehouse di interesse sociale e ambientale, nell’ambito del progetto “Sperimentazione di Servizi Innovativi alle imprese produttrici di software (SERVIR). Il progetto, finanziato dal MURST, ha avuto come scopo la realizzazione di un centro con elevate competenze per il supporto alla progettazione e realizzazione di servizi finalizzati a mantenere elevato il livello tecnologico delle società di informatica. Inizio: Giugno 2001, Fine: Giugno 2004. Progetto Integrazione Basi di dati deduttive e object-oriented. Nel periodo in cui ha operato come ricercatore presso il CRAI, è stato coordinatore di un progetto di ricerca, finanziato dall’Enidata, avente come scopo lo sviluppo di un sistema di basi di dati logico object-oriented. 5.2 Progetti di ricerca - azione di Formazione INMOTO - INformation and MObility for Tourism - Formazione, Smart Cities and Communities and Social Innovation. Progetto PON 2007-2013 (cod. PON04a2 D-F), Asse II - Azioni Integrate per lo Sviluppo Sostenibile, finanziato dal Ministero dell’Istruzione, dell’Università e della Ricerca (16 mesi). TETRis - Servizi innovativi Open Source su TETRA, finanziato dal Ministero dell’Istruzione, dell’Università e della Ricerca, Azione di Formazione. Esperto nella Progettazione e Sviluppo di Servizi e Software Open Source nel contesto delle Smart Cities. Progetto PON 2007-2013 (cod. PON01 00451) - cup B28J11000170005 (1 Gennaio 2011 - 31 Dicembre 2013), soggetto attuatore: Dipartimento DEIS, Università della Calabria. 6 Partecipazione a progetti di ricerca GenData 2020 - Data-Driven Genomic Computing. Progetto Finanziato dal MIUR nell’ambito del programma PRIN 2010. Inizio: Novembre 2012, Fine: Novembre 2014. DiCeT-INMOTO-ORCHESTRA: Tecnologie e metodi innovativi per la fruizione di beni e contenuti culturali e la promozione dei territori collegati per uno sviluppo del turismo sostenibile Finanziato dal Ministero dell’Istruzione, Universit´ e Ricerca nell’ambito del Programma Operativo Nazionale ”Ricerca e Ccmpetitività 2007-2013” (Smart Cities and Communities and Social Innovation). Inizio: 01/11/2012, Fine: 31/05/2015. Budget: 798.800,00. OpenKnowtech: Laboratorio di Tecnologie per la Integrazione, Gestione e Distribuzione di Dati, Processi e Conoscenze. Finanziato dal MIUR nell’ambito del Programma Operativo Nazionale Ricerca e Competitività 2007-2013. Reengineering del Back Office del Sistema Informatico Bancario in Office Multicanale, avente come scopo lo sviluppo di una piattaforma per l’erogazione personalizzata di contenuti informativi e servizi bancari, attraverso diversi canali. Finanziato dal MIUR. Inizio: Settembre 2003, Fine: Ottobre 2004. Front Office Multicanale per Banca on-line, avente come scopo lo sviluppo di una piattaforma di front office finalizzata alla realizzazione di un porting multicanale per preesistenti servizi bancari. finanziato dal MIUR. Inizio: Aprile 2002, Fine: Novembre 2003. LDL++. Dal Luglio 1990 a Luglio 1991 ha partecipato al progetto LDL presso il centro MCC di Austin (Texas). Scopo di tale progetto è stato la progettazione e l’implementazione di un sistema per la gestione di basi di dati deduttive. Il sistema LDL ha rappresentato uno dei sistemi più avanzati nel campo delle basi di dati deduttive. 22 Logidata+ Negli anni 1991-94 ha partecipato al progetto Logidata+. Durante tale periodo ha collaborato anche al progetto Kiwis, finanziato dalla CEE nell’ambito del programma ESPRIT ed ha anche fatto parte del gruppo di ricerca del progetto MURST 40% Sistemi formali e strumenti per basi di dati evolute. DEUS-EX-MACHINA. Negli anni 1994-96 ha partecipato al progetto di collaborazione EU-USA “DEUS EX MACHINA: Non-Determinism in Deductive Databases”, finanziato congiuntamente dalla Comunità Europea e dalla National Science Foundation degli Stati Uniti d’America, a cui hanno partecipato anche gruppi di ricerca dell’Università degli Studi di Pisa, dell’INRIA (Francia), dell’Università del Maryland di Washington (USA) e dell’Università della California di Los Angeles (USA). Majise. Nel 2000 ha partecipato progetto per la realizzazione di un motore intelligente per la ricerca di informazioni sul Web, finanziato dal Consorzio di Ingegneria Economica e Sociale nel quadro del programma Majise. Interdata+. Da Febbraio 1998 fino a Gennaio 2000 ha partecipato al progetto Interdata+, finanziato dal MURST nell’ambito del programma 40%. Scopo di tale progetto è la definizione e implementazione di strumenti per l’integrazione e l’utilizzo di informazioni in ambiente Web. Epsilon - Advanced KBMS based on the Integration of Logic Programming and Data Bases. Da Gennaio 1989 a Giugno 1989 ha partecipato al progetto di ricerca KIWIS - Advanced Knowledge-Base Environments for Large Database Systems. Finanziato dalla Comunità Europea nell’ambito del programma Esprit. Complex-Prolog. Nel periodo in cui ha operato come ricercatore presso il CRAI, ha partecipato ad un progetto di ricerca finanziato dalla SIP e svolto in collaborazione con il CSELT, avente come scopo la definizione di un linguaggio per la rappresentazione della conoscenza. NERECO. Progetto avente come scopo lo sviluppo di un prototipo di un ambiente per la programmazione parallela e distribuita. Maggio 1985 - Febbraio 1986. 7 Premi e Riconoscimenti • Il lavoro “Minimum and Maximum Predicates in Logic Programming” presentato alla Tenth ACM Symposium on Principles of Database Systems (PODS) [144] é stato selezionato tra i migliori articoli presentati alla conferenza ed invitato per il numero speciale della rivista Journal of Computer and System Scienze. • Il lavoro “A Stochastic Approach for Modeling and Computing Web Communities” [102] é stato premiato come miglio articolo presentato alla Web Information Systems Engineering Conference (WISE) del 2002. • Il lavoro “Declarative Semantics of Production Rules for Integrity Maintenance” [81] presentato alla International Conference on Logic Programming (ICLP) del 2006 é stato premiato come Best Student Paper. • Premio Anassilaos per la ricerca 2012, conferito dalla Associazione Culturale Anassilaos di Reggio Calabria. 23 8 Spin-off Fondatore degli spin-off Exeura, Ithea e Oktago, dell’Università della Calabria operanti nell’area della gestione della conoscenza. La società Exeura opera ormai da oltre 10 anni e al momento ha un organico di circa 30 dipendenti assunti a tempo indeterminato. 9 Attività didattiche 9.1 Corsi svolti presso l’Università della Calabria • negli anni accademici 1986-87, 1987-88, 1988-89 e 1989-90, ha svolto numerosi seminari ed esercitazioni nell’ambito dei corsi di Tecniche di Programmazione e di Calcolo Automatico della Facoltà di Ingegneria ed ha fatto parte delle commissioni d’esame dei suddetti corsi, in qualità di “cultore della materia”; • nell’a.a. 1991-92, ha tenuto diversi seminari e svolto esercitazioni nell’ambito dei corsi di Fondamenti di Informatica e Linguaggi e Traduttori, facendo parte delle relative commissioni d’esame; • nell’a.a. 1992-93, ha tenuto per supplenza il corso di Fondamenti di Informatica I ed ha presieduto le relative commissioni d’esame; ha svolto, inoltre, i seminari previsti nell’ambito del corso di Linguaggi e Metodi di Programmazione (Scuola Diretta a Fini Speciali in Informatica) e diversi seminari ed esercitazioni nell’ambito del corso di Linguaggi e Traduttori, facendo parte delle relative commissioni d’esame; • nell’a.a. 1992-93, ha tenuto per supplenza i corsi di Fondamenti di Informatica I e Linguaggi e Metodi di Programmazione (Scuola Diretta a Fini Speciali in Informatica) ed ha presieduto le relative commissioni d’esame; • nell’a.a. 1993-94, ha tenuto per supplenza i corsi di Fondamenti di Informatica I e Sistemi Operativi (per il Corso di Diploma in Informatica) ed ha presieduto le relative commissioni d’esame; • nell’a.a. 1994-95, ha tenuto per supplenza i corsi di Fondamenti di Informatica I, Sistemi di Elaborazione (per il Corso di Laurea in Ingegneria Informatica) e Basi di Dati (per il Corso di Diploma in Informatica) ed ha presieduto le relative commissioni d’esame; • nell’a.a. 1995-96, ha tenuto per supplenza i corsi di Fondamenti di Informatica I, Basi di Dati per il Corso di Laurea in Ingegneria Informatica e per il Corso di Diploma in Informatica; ha presieduto le relative commissioni d’esame; • nell’a.a. 1996-97, ha tenuto per supplenza i corsi di Fondamenti di Informatica I, Basi di Dati per il Corso di Laurea in Ingegneria Informatica e per il Corso di Diploma in Informatica; ha presieduto le relative commissioni d’esame; • nell’a.a. 1997-98, ha tenuto per supplenza i corsi di Fondamenti di Informatica I, Basi di Dati per il Corso di Laurea in Ingegneria Informatica e per il Corso di Diploma in Informatica; ha presieduto le relative commissioni d’esame; • nell’a.a. 1998-99, è stato nominato docente titolare del corso di Fondamenti di Informatica I e docente supplente dei corsi di Basi di Dati (per il Corso di Laurea in Ingegneria Informatica) e Fondamenti di Informatica I B (per il Corso di Diploma in Logistica - sede distaccata di Crotone) ed ha presieduto le relative commissioni d’esame; • nell l’a.a. 1999-2000, ha svolto per titolarietà il corso di Fondamenti di Informatica I e per supplenza i corsi Basi di Dati (per il Corso di Laurea in Ingegneria Informatica) e Fondamenti di Informatica I B (per il Corso di Diploma in Logistica - sede distaccata di Crotone); 24 • negli a.a. 2000-2001, 2001-2002, 2002-2003, 2003-2004, 2004-2005 ha svolto per titolarità il corso di Basi di Dati e per supplenza i corsi Fondamenti di Informatica I (per il Corso di Laurea in Ingegneria Informatica) e Fondamenti di Informatica I B (per il Corso di Diploma in Logistica - sede distaccata di Crotone); nello stesso anno ha svolto per supplenza per il corso di laurea in Scienze dei Servizi Sociali della facoltà di Scienze Politiche i seguenti corsi: Fondamenti di Informatica 1 (sede di Rende), Fondamenti di Informatica 1 (sede di Crotone) e Fondamenti di Informatica 2 (sede di Crotone) • nell a.a. 2005-2006 all’a.a. 2009-10 ha svolto per titolarità i corsi di Basi di Dati e Conoscenza e Algoritmi per Internet e Crittografia per il Corso di Laurea Magistrale in Ingegneria Informatica. • Dall’a.a. 2010-11 svolge per titolarità i corsi di Progetto e Analisi di Algoritmi e Fondamenti di Informatica, e dall’a.a. 2001-12 svolge per titolarità il corso di Basi di Dati e Scoperta di Conoscenza. 9.2 Docenza presso altre sedi universitarie Nell’anno 2013 stato docente del corso Managing ena Querying Inconsistent Databases presso la Escuela de Invierno dell’Universidad de la Ciencias Informaticas (UCI) dell’Avana (Cuba). Dall’a.a. 2012/13 svolge per supplenza i corsi di Sistemi di Elaborazione delle Informazioni (corso di laurea in Organizzazione dei Servizi della Pubblica Amministrazione) e Elementi di Informatica (corso di laurea in Economia Aziendale) dell’Università di Catanzaro. Dall’a.a. 2009/10 all’a.a. 2011/12 ha svolto per supplenza il corso di Basi di Dati del corso di laurea in Ingegneria Informatica e Biomedica dell’Università di Catanzaro. Dall’ a.a. 1996-97 fino all’a.a. 1999-2000 ha svolto per supplenza il corso di Sistemi di Elaborazione (per il Corso di Laurea in Ingegneria Elettronica) presso la Facoltà di Ingegneria dell’Università di Reggio Calabria. 9.3 Altre attività didattiche Durante la sua permanenza presso il Consorzio per la Ricerca e le Applicazioni di Informatica (dal 1984 al 1989), ha svolto attività di docenza ed esercitazioni in numerosi corsi per la formazione di Specialisti in Informatica e nel corso di Master in Ingegneria del software. È stato relatore di oltre 100 tesi di laurea e diploma in Ingegneria Informatica presso l’Università della Calabria. Negli a.a. 1992-93, 1993-94, 1995-96, 1996-97 e 1998-99, è stato membro aggregato nelle commissioni giudicatrici degli esami di Stato per l’abilitazione alla professione di Ingegnere svoltisi presso l’Università della Calabria. Ha tenuto numerosi seminari presso università italiane e straniere. Tra il 1995 ed il 1999, ha tenuto vari corsi di informatica per funzionari e dirigenti della pubblica amministrazione presso la Scuola Superiore di Pubblica Amministrazione, sede di Reggio Calabria. 10 Attività organizzative • Direttore del DIMES da Novembre 2012. • Direttore del DEIS da novembre 2002 a ottobre 2012. • Membro dell’Ufficio di Presidenza della Facoltà di Ingegneria da novembre 2002 a ottobre 2012; • Membro della Giunta di Dipartimento del DEIS in rappresentanza dei ricercatori dal 1993 al 2000. • Membro del Senato Accademico Integrato dell’Università della Calabria, eletto in rappresentanza dei ricercatori universitari dal 1993 al 1996. 25 • Membro del Consiglio di Aministrazione del Centro Residenziale dell’Università della Calabria da novembre 1998 a ottobre 2000, in rappresentanza dei prof. associati. • Membro di varie commissioni della Facoltà di Ingegneria dell’Università della Calabria, dal 1993 al 2012. • Ha partecipato a varie commissioni per l’assegnazione di appalti per forniture tecniche e per la ripartizione di fondi di ricerca. 26 11 11.1 Elenco delle Pubblicazioni Libri e monografie 1 Sergio Greco, Cristian Molinaro, Francesca Spezzano. Incomplete Data and Data Dependencies in Relational Databases. Morgan & Claypool Publishers, Synthesis Lectures on Data Management, 2012. 2 Sergio Greco, Cristian Molinaro. Datalog and Logic Databases. Morgan & Claypool Publishers, Synthesis Lectures on Data Management, 2014 (to appear). 11.2 Atti di conferenze e numeri speciali di riviste 3 Sergio Greco, Thomas Lukasiewicz. Special Issue: Scalable Uncertainty Management. Annals of Mathematics and Artificial Intelligence (AMAI), 64 (2-3), 2012. 4 Giansalvatore Mecca, Sergio Greco. roceedings of the Nineteenth Italian Symposium on Advanced Database Systems (SEBD). Maratea, Italy, June 26-29, 2011. 5 Bipin Desai, Domenico Saccá, Sergio Greco. International Database Engineering and Applications Symposium (IDEAS). New York, NY: ACM Press, 2009. 6 Sergio Greco, Thomas Lukasiewicz. Scalable Uncertainty Management, Second International Conference (SUM). LNCS, Springer, Vol. 5291, 2008 7 Sergio Flesca, Sergio Greco, Domenico Saccà, Ester Zumpano. Proceedings of the Eleventh Italian Symposium on Advanced Database Systems (SEBD). Cetraro (CS), Italy, June 24-27, 2003 Rubettino Editore 2003 8 Sergio Flesca, Sergio Greco, Nicola Leone, Giovanbattista Ianni. Logics in Artificial Intelligence, European Conference (JELIA). Cosenza, Italy, September, 23-26, Proceedings. Springer 2002 11.3 Riviste internazionali 9 Sergio Greco, Fabian Pijcke Jef Wijsen. Certain Query Answering in Partially Consistent Databases. PVLDB, 7(5), 2014, 353-364. 10 Sergio Greco, Cristian Molinaro, Irina Trubitsyna. Logic programming with function symbols: Checking termination of bottom-up evaluation through program adornments. TPLP, 13(4-5), 2013, 737-752. 11 Sergio Greco, Cristian Molinaro. Probabilistic query answering over inconsistent databases. Annals of Mathematics and Artifificial Intelligence (AMAI), 64(2-3), 2012, 185-207. 27 12 Sergio Greco, Francesco Gullo, Giovanni Ponti, Andrea Tagarelli. Collaborative clustering of XML documents. Journal of Compututer and System Sciences (JCSS), 77(6), 2011, 988-1008. 13 Sergio Greco, Cristian Molinaro. Consistent query answering over inconsistent databases. KES Journal, 15(3), 2011, 119-129. 14 Sergio Greco, Francesca Spezzano, Irina Trubitsyna. Stratification Criteria and Rewriting Techniques for Checking Chase Termination. PVLDB, 4(11), 2011, 1158-1168. 15 Cristian Molinaro, Sergio Greco. Polynomial time queries over inconsistent databases with functional dependencies and foreign keys. Data & Knowledge Engineering (DKE), 69(7), 2010, 709-722. 16 Sergio Greco, Francesca Spezzano. Chase Termination: A Constraints Rewriting Approach. PVLDB, 3(1), 2010, 93-104. 17 Andrea Tagarelli, Sergio Greco. Semantic Clustering of XML Documents. ACM Transactions on Information Systems (TOIS), Vol. 28, No. 1, 2010 18 Sergio Greco, Cristian Molinaro, Irina Trubitsyna, Ester Zumpano, NP Datalog: a Logic Language for Expressing NP Search and Optimization Problems, Theory and Practice of Logic programming (TPLP), 10(2), 125-166, 2010 19 Giuseppe Tradigo, Pierangelo Veltri, Sergio Greco, Geomedica: managing and querying clinical data distributions on geographical database systems, ICCS, 1, 2010, 979-986. 20 Francesco Gullo, Giovanni Ponti, Andrea Tagarelli, Sergio Greco, A Time Series Representation Model for Accurate and Fast Similarity Detection, Pattern Recognition (PR), Vol. 42, No. 11, 2009, 2998-3014. 21 Luciano Caroprese, Sergio Greco, Ester Zumpano, Active Integrity Constraints for Database Consistency Maintenance, IEEE Transactions on knowledge and data engineering, 2009, 1042-1058. 22 Sergio Greco, Cristian Molinaro. Towards Relational Inconsistent Databases with Functional Dependencies. KES (2) 2008: 695-702. 23 Sergio Greco, Irina Trubitsyna, Ester Zumpano, On the Semantics of Logic Programs with Preferences, Journal of Artificial Intelligence Research (JAIR), Vol. 30, pp. 501-523, 2007. 24 Filippo Furfaro, Sergio Greco, Cristian Molinaro. A three-valued semantics for querying and repairing inconsistent databases. Annals of Mathematics and Artificial Intelligence (AMAI), Vol. 51, No. 2-4, 2007. 28 25 Mario Cannataro, Giovanni Cuda, Marco Gaspari, Sergio Greco, Giuseppe Tradigo, Pierangelo Veltri. The EIPeptiDi tool: enhancing peptide discovery in ICAT-based LC MS/MS experiments. BMC BIOINFORMATICS, Vol. 8, No. 255, pp. 1-14, 2007. 26 Sergio Flesca, Filippo Furfaro, Sergio Greco Weighted path queries on semistructured databases, Information and Computation (IC), ed. Elsevier, Vol. 204, No. 3, pp. 679-696, 2006 27 Sergio Flesca, Filippo Furfaro, Sergio Greco A Graph Grammars based Framework for Querying Graph-like Data, Data & Knowledge Engineering (DKE), ed. Elsevier, Vol. 59, No. 3, pp. 652-680, 2006 28 Sergio Flesca, Sergio Greco. Partially Ordered Regular Languages for Graph Queries. Journal of Computer and System Science, Vol. 70, No. 1, 2005. 29 Gianluigi Greco, Sergio Greco, Irina Trubitsyna, Ester Zumpano Optimization of bound disjunctive queries with constraints, Theory and Practice of Logic Programming (TPLP), Vol. 5 (6), pp. 713-745, 2005. 30 Sergio Flesca, Sergio Greco, Andrea Tagarelli, Ester Zumpano Mining User Preferences, Page Content and Usage to Personalize Website Navigation. WWW Journal, Vol. 8, No. 3, pp. 317-345, 2005. 31 A. Tagarelli, I. Trubitsyna, Sergio Greco. Combining Linear Programming and Clustering Techniques for the Classification of Research Centers. AI Communications 17(3):111-122, 2004. 32 G. Greco, Sergio Greco, E. Zumpano, “Collaborative Filtering Supporting Web Site Navigation” AI Communications 17(3): 155-166, 2004. 33 F. Furfaro, G. Greco, Sergio Greco. Minimal Founded semantics for Disjunctive Logic Programs and Disjunctive Databases. Theory and Practice of Logic Programming, Vol. 4 (1-2), pp. 75-93, 2004. 34 G. Greco, Sergio Greco, E. Zumpano Web Communities: Models and Algorithms. WWW Journal, Vol. 7, No. 1, pp. 58-82, 2004. 35 G. Greco, Sergio Greco, E. Zumpano. A logical Framework for Querying and Repairing Inconsistent Databases. IEEE-Transaction on Knowledge and Data Engineering, Vol. 15, No. 6, 1389-1408, 2003. 36 Sergio Greco. Binding Propagation Techniques for the Optimization of Bound Disjunctive Queries IEEE Transaction on Knowledge and Data Engineering Vol. 16, No. 2, pp. 368-385, 2003. 37 Sergio Flesca, F. Furfaro, Sergio Greco, A Query Language for XML based on Graph Grammars. WWW Journal, Vol. 5, No. 2, pp. 125-158, 2002. 29 38 S. Basta, Sergio Flesca, Sergio Greco. Functional Queries in Datalog. New Generation Computing, Vol. 20, No. 4, pp. 339-372, 2002. 39 F. Furfaro, S. Ganguly, Sergio Greco, Carlo Zaniolo. Pushing Extrema Aggregates to Optimize Logic Queries. Information Systems, Vol. 27, pp. 321-343, 2002. 40 G. Greco, Sergio Greco, E. Zumpano. A Probabilistic Approach for Distillation and Ranking of Web Pages. WWW Journal, 4(3), 189-207 Kluwer, 2001. 41 Sergio Greco, E. Masciari, L. Pontieri. Combining Inductive and Deductive Tools for Data Analysis. AI Communication, Vol. 14, No. 2, pp. 69-82, 2001. 42 Sergio Flesca, Filippo Furfaro, Sergio Greco. Graph Grammars for Querying Graph-like Data. Electr. Notes Theor. Comput. Sci. (ENTCS), 50(3), 2001. 43 Sergio Flesca, Sergio Greco. Rewriting Queries Using Views. IEEE Transaction of Knowledge and Data Engineering, Vol 13, No. 6, 2001. 44 Sergio Greco, Carlo Zaniolo, Greedy Algorithms in Datalog. Theory and Practice of Logic Programming, Vol. 1, No. 4, 391-407, July 2001. 45 Sergio Flesca, Sergio Greco, Declarative Semantics for Active Rules. Theory and Practice of Logic Programming, Vol. 1, No. 1, pp. 43-69, January 2001. 46 Sergio Greco, D. Saccà, C. Zaniolo. Extending Stratified Datalog to Capture Complexity Classes Ranging from P to QH Acta Informatica Vol. 37, No. 10, pp. 699-725, 2001. 47 Sergio Flesca, Sergio Greco. Declarative Extended Path Queries for Object-Relational Databases And Web Data, Journal of Applied System Science (JASS) Special issue on “Applied Cooperative Systems”, Vol. 1, No. 3, 2000. 48 S. Basta, Sergio Flesca, Sergio Greco. Optimization of bounded linear recursive queries Networking and Information Systems Journal (NIS), Vol. 2, No. 4, pp. 387-412, 1999. 49 Sergio Greco, D. Saccà, C. Zaniolo. Grammars and Automata to Optimize Chain Logic Queries. Int. Journal on Foundation of Computer Science, Vol. 10, No. 3, pp. 349-372, 1999. 50 Sergio Greco, Domenico Saccà Complexity and Expressive Power of Deterministic Semantics for DATALOG¬ . Information and Computation, Vol. 153, No. 1, pp. 81-98, 1999. 30 51 Sergio Greco Non-determinism and weak constraints in Datalog. New Generation Computing, Vol. 16, No. 4, pp. 373-396, 1998. 52 Sergio Greco. Dynamic Programming in Datalog with Aggregates IEEE Transaction on Knowledge and Data Engineering, Vol. 11, No. 2, pp. 265-283, February 1999. 53 Fosca Giannotti, Sergio Greco, Domenico Saccà, Carlo Zaniolo Programming with Non-Determinism in Deductive Databases. Annals of Mathematics and Artificial Intelligence (AMAI), Vol. 10, No. 1-2, pp. 97-125, 1997. 54 Sergio Greco, Domenico Saccà. “Possible is Certain” is Desiderable and can be Expressive. Annals of Mathematics and Artificial Intelligence (AMAI), Vol. 10, No. 1-2, pp. 147-168, 1997. 55 Sergio Greco, L. Palopoli, E. Spadafora Querying Datalog with Arrays: Design and Implementation Issues. Journal of System Integration, Vol 7, No. 1, 1996 (lavoro invitato). 56 Natraj Arni, Sergio Greco, Domenico Saccà. Matching of Bounded Set Terms in the Logic Language LDL++. Journal of Logic Programming (JLP), Vol 27, No. 1, pp. 73-87, April 96. 57 Sergio Greco, Luigi Palopoli, Eugenio Spadafora Extending Datalog with Arrays. Data & Knowledge Engineering (DKE), Vol. 17, No. 1, pp. 31-57, 1995. 58 Sumit Ganguly, Sergio Greco, Carlo Zaniolo. Extrema Predicates in Deductive Databases. Journal of Computer and System Sciences (JCSS), Vol. 51, No. 2, pp. 244-259, 1995 (lavoro invitato). 59 Sergio Greco, Luigi Palopoli, Pasquale Rullo. Netlog, A Logic Query Language for Network Model Database. Data & Knowledge Engeneering (DKE), Vol. 3, No. 6, pp. 183-205, 1991. 60 S. Greco, Nicola Leone, Pasquale Rullo. COMPLEX: An Object-Oriented Logic Programming System. IEEE Transaction on Knowledge and Data Engineering (TKDE), Vol. 4, No. 4, August, pp. 344-359, 1992. 61 Sergio Greco, Pasquale Rullo. Complex-Prolog: A Logic Database Language for Handling Complex Objects. Information Systems, Vol. 14, No. 1, pp. 79-87, 1989. 11.4 Lavori sottomessi a riviste a carattere internazionale 62 Sergio Greco, Francesca Spezzano, Irina Trubitsyna, Checking Chase Termination: Cyclicity Analysis and Rewriting Techniques. Sottomesso a IEEE Transacion on Knowledge and Data Engineering (TKDE), 2014. 63 Mrco Calautti, Sergio Greco, Irina Trubitsyna, Detecting decidable classes of finitely ground logic programs with function symbols, Sottomesso a Journal of Artificial Intelligence Research (JAIR), 2014. 64 Sergio Greco, Francesca Spezzano, Irina Trubitsyna, Checking Termination of Bottom-Up Evaluation of Logic Programs with Function Symbols. Sottomesso a Theory and Practice of Logic Programming (TPLP), 2014. 31 11.5 Riviste a carattere nazionale 65 Sergio Greco, Nicola Leone, Luigi Palopoli, Pasquale Rullo, Domenico Saccà, A long tour from theory to practice, Intelligenza Artificiale, 5(1), 2011, 133-138. 66 S. Greco, N. Leone, P. Rullo. Un linguaggio Logico per Basi di Dati e Conoscenza. Rivista di Informatica, Vol. XXI, n. 4, 343-355, 1991. 11.6 Congressi internazionali 67 Salvatore Romeo, Andrea Tagarelli, Francesco Gullo, Sergio Greco. A Tensor-based Clustering Approach for Multiple Document Classifications. ICPRAM, 2013, 200-205. 68 Sergio Greco, Cristian Molinaro, Irina Trubitsyna. Bounded Programs: A New Decidable Class of Logic Programs with Function Symbols, IJCAI, 2013. 69 Marco Calautti, Sergio Greco, Irina Trubitsyna, Detecting decidable classes of finitely ground logic programs with function symbols, PPDP, 2013, 239-250. 70 Sergio Greco, Francesca Spezzano, Irina Trubitsyna, On the Termination of Logic Programs with Function Symbols, ICLP (Technical Communications), 2012, 323-333. 71 Andrea De Francesco, Sergio Greco, Francesca Spezzano, Irina Trubitsyna, ChaseT: A Tool for Checking Chase Termination, SUM, 2011, 520-524. 72 Andrea Tagarelli, Mario Longo, Sergio Greco. Word Sense Disambiguation for XML Structure Feature Generation. Proceedings 6th European Semantic Web Conference (ESWC ’09), Heraklion, Greece, pp. 143-157, 2009. 73 Francesco Gullo, Andrea Tagarelli, Sergio Greco. Diversity-based Weighting Schemes for Clustering Ensembles. Proceedings SIAM International Conference on Data Mining (SDM), Sparks, NV (USA), pp. 437-448, 2009. 74 Sergio Greco, Cristian Molinaro. Approximate Probabilistic Query Answering over Inconsistent Databases. ER Conf., pp. 311-325, 2008. 75 Francesco Gullo, Giovanni Ponti, Andrea Tagarelli, Sergio Greco. A Hierarchical Algorithm for Clustering Uncertain Data via an Information-Theoretic Approach. ICDM Conf., pp. 821-826, 2008. 76 Francesco Amato, Mario Cannataro, Carlo Cosentino, F. Montefusco, Giuseppe Tradigo, Pierangelo Veltri, A. Garozzo, N. Lombardo, Sergio Greco, C. Manfredi. A web-based system for the collection and analysis of spectra signals for early detection of voice alterations. SAC 2008: 1405-1409 32 77 Sergio Greco, Cristian Molinaro. Querying and Repairing Inconsistent Databases Under Three-Valued Semantics. ICLP 2007: 149-164 78 Luciano Caroprese, Sergio Greco, Cristian Molinaro. Prioritized Active Integrity Constraints for Database Maintenance. DASFAA 2007: 459-471 79 Sergio Greco, Cristian Molinaro, Francesco Parisi. Preference rules in database querying. ICEIS (1) 2007: 119-124 80 A. Tagarelli, S. Greco. Toward Semantic XML Clustering. 6th SIAM International Conference on Data Mining (SDM 06). Bethesda, Maryland, USA, April 20-22, 2006. 81 Luciano Caroprese, Sergio Greco, Cristina Sirangelo, Ester Zumpano. Declarative Semantics of Production Rules for Integrity Maintenance. International Conference on Logic Programming (ICLP), 2006: 26-40. 82 Sergio Greco, Irina Trubitsyna, Ester Zumpano. On the Semantics of Logic Programs with Preferences. European COnference on Artificial Intelligence (JELIA) 2006: 203-215 83 Sergio Greco, Cristian Molinaro, Irina Trubitsyna. Implementation and Experimentation of the Logic Language NP Datalog. DEXA 2006: 622-633 84 Luciano Caroprese, Sergio Greco, Ester Zumpano. A Logic Programming Approach to Querying and Integrating P2P Deductive Databases. FLAIRS Conference 2006: 31-36 85 Luciano Caroprese, Sergio Greco, Irina Trubitsyna, Ester Zumpano. Preferred Generalized Answers for Inconsistent Databases. ISMIS 2006: 344-349. 86 Sergio Greco, Irina Trubitsyna, Ester Zumpano. Aggregates and Preferences in Logic Programming. International Symposium on Methodologies for Intelligent Systems (ISMIS) Saratoga Springs, New York, USA, May 25-28, 2005. 87 Sergio Greco, Irina Trubitsyna, Ester Zumpano. NP datalog: a Logic Language for NP Search and Optimization Queries. International Database Engineering and Application Symposium (IDEAS) Montreal, CANADA, July 25 27, 2005. 88 Ester Zumpano, Sergio Greco, Irina Trubitsyna, Pierangelo Veltri. On the Semantics and Expressive Power of Datalog-like Languages for NP Search and Optimization Problems. ACM Symposium On Applied Computing (SAC), pp. 692-697, Nicosia, Cyprus, March 14-17, 2004. 33 89 Sergio Flesca, Sergio Greco, Andrea Tagarelli, Ester Zumpano. Non-Invasive Support for Personalized Navigation of Websites. In Proc. of Int. Database Engineering and Applications Symposium (IDEAS), pp. 183-192, Coimbra, Portugal, 7-9 July, 2004. 90 Sergio Flesca, Sergio Greco, Ester Zumpano. Active Integrity Constraints. Principles and Practice of Declarative Programming (PPDP), pp. 238-253, Verona, Italy, August 24 - 26, 2004 . 91 Sergio Greco, Cristina Sirangelo, Irina Trubitsyna, Ester Zumpano. Feasibility Conditions and Preference Criteria in Querying and Repairing Inconsistent Databases. Database and Expert Systems Applications (DEXA), pp. 44-55, Zaragoza, Spain, 30 August - 3 September, 2004. 92 Andrea Tagarelli, Sergio Greco, Clustering Transactional XML Data with Semantically-Enriched Content and Structural Features. WISE 04, LNCS 3306, pp. 266-278. Brisbane, Australia, November 22-24, 2004. 93 Sergio Greco, Cristina Sirangelo, Irina Trubitsyna and Ester Zumpano. Preferred Repairs for Inconsistent Databases. International Database Engineering and Applications Symposium (IDEAS), pp. 202-211, July 16-18, 2003, Hong Kong. 94 Sergio Flesca, Filippo Furfaro, Sergio Greco, Ester Zumpano. Repairs and Consistent Answers for XML Data with Functional Dependencies. International XML Database Symposium (XSym), pp. 238-253, Berlin, Germany, 2003. 95 Gianluigi Greco, Sergio Greco, Ester Zumpano. A lightweight tool for easy web sites navigation. Web Information Systems Engineering (WISE), pp. 134-146, Rome, Italy, 10-12 December, 2003. 96 Sergio Greco, Ester Zumpano. On the Rewriting and Efficient Computation of Bound Disjunctive Datalog Queries. Principles and Practice of Declarative Programming (PPDP), pp. 136-147, Uppsala, Sweden, 27-29 August, 2003. 97 Gianluigi Greco, Sergio Greco, Ester Zumpano. Sted: A System Prototype for Discovering Authoritative Web Pages. IEEE International Conference on Information Technology: Coding and Computing (ITCC), pp. 294-299, 2002. 98 Gianluigi Greco, Sergio Greco, Ester Zumpano. A logical Framework for the Integration of Databases. Proc. International Symposium on Methodologies for Intelligent Sistems (ISMIS), 2002. 99 Sergio Flesca, Filippo Furfaro, Sergio Greco, XGL: a graphical query language for XML International Database Engineering and Application Symposium (IDEAS), Edmonton, Alberta, Canada, 2002. 34 100 Gianluigi Greco, Sergio Greco, Irina Trubitsyna, Ester Zumpano, Query Optimization of Disjunctive Databases with Constraints through Binding Propagation. Int. Conf. on Logic for programming and Artificial Intelligence (LPAR), 2002. 101 Gianluigi Greco, Sergio Greco, Irina Trubtsyna, Ester Zumpano. Translating Datalog-like Optimization Queries into ILOG Programs. Logic Program Synthesis and Transformation (LOPSTR), pp. 48-49, Madrid, Spain, 18 - 20 September, 2002. 102 G. Greco, S. Greco, E. Zumpano. A Stochastic Approach for Modeling and Computing Web Communities. Web Information Systems Engineering (WISE), pp. 43-52, Singapore, 12-14th Dec, 2002. 103 G. Greco, S. Greco, E. Zumpano, A Logic Language for Database Integration. Joint Conference on Declarative Programming (APPIA-GULP-PRODE), Madrid, Spain, 16 - 18 September, 2002. 104 G. Greco, S. Greco, E. Zumpano. A logic Programming approach to the Integration, Repairing and Querying of Inconsistent Databases. Proc. Int. Conf. on Logic Programming (ICLP), Paphos, Cypress, Nov 26 - Dec 1, 2001 105 Gianluigi Greco, Sergio Greco, Ester Zumpano. Deterministic Semantics for Disjunctive Logic Programs. Proc. APPIA-GULP-PRODE Joint Conf. on Declarative Programming, Evora, Portugal, pp. 17-30, 2001. 106 Sergio Greco, Luigi Pontieri, Ester Zumpano. Integrating and Managing Conflicting Data. Fourth Int. Conf. on Perspectives of System Informatics (PSI), Novosibirsk, Akademgorodok, Russia, pp. 187-192, 2001. 107 S. Greco, L.Pontieri, E. Zumpano. A Technique for Information System Integration. First Int. Conf. on Information Systems Technology and its Applications (ISTA), National Technical University Kharkiv, Ukraine, 2001 108 G. Greco, S. Greco, E. Zumpano. A Probabilistic Approach for Discovering Authoritative Web Pages. Int. Conf. on Web and Information Systems (WISE), Kyoto, Japan, 2001. 109 S. Greco, E. Zumpano. Computing Repairs for Inconsistent Databases. Proc. of the Third Int. Symp. on Cooperative Database System for Advanced Applications (CODAS), Beijing, China, pp. 30-37, 2001. 110 Sergio Flesca, Sergio Greco. Querying Graph Databases. Proc. Int. Conf. on Extending Database Technology (EDBT), pp. 510-524, 2000. 111 S. Greco, E. Masciari, L. Pontieri. Combining Different Data Mining Techniques to Improve Data Analysis. Proc. Int. Conf. on Flexible Query Answering Systems (FQAS), pp. 455-464, 2000. 35 112 S. Flesca, S. Greco, E. Zumpano. Modeling and Querying XML-Data. Database Engineering and Applications Symposium (IDEAS), pp. 275-286, 2000. 113 S. Greco, E. Zumpano. Querying Inconsistent Databases. Logic for Programming and Automated Reasoning (LPAR), pp. 308-325, 2000. 114 S. Greco, E. Masciari, L. Pontieri. A Hybrid Technique for Data Mining on Balance-Sheet Data. Int. Conf. Data Warehousing and Knowledge Discovery (DaWaK), pp. 419-424, 2000. 115 S. Greco, D. Saccà. Search and Optimization Algorithm in Datalog. Proc. APPIA-GULP-PRODE Joint Conf. on Declarative Programming, (electronic proceedings), Habana, Cuba, 2000. 116 S. Greco. Optimization of Disjunctive Queries. Proc. Int. Conf. on Logic Programming (ICLP), pp. 441-455, 1999. 117 S. Greco. Minimal Founded Semantics for Disjunctive Logic Programming. Int. Conf. on Logic Programming and Non Monotonic Reasoning (LPNMR), pp. 221-235, 1999. 118 S. Flesca, S. Greco. Partially Ordered Languages for Graph Queries. Proc. Int. Colloquium on Automata, Languages and Programming (ICALP), pp. 321-330, 1999. 119 S. Flesca, S. Greco, P. Lambardi and D. Romeo. A System Prototype for the Optimization of Disjunctive Logic Programs. Proc. APPIA-GULP-PRODE Joint Conf. on Declarative Programming, L’Aquila, Italy, pp. 229-241, 1999. 120 S Flesca, S. Greco. Rewriting Queries Using Views. Proc. Int. Conference on Database and Expert System Applications (DEXA), Firenze, pp. 352-361, 1999. 121 S. Flesca, S. Greco. Declarative Extended Path Queries For Object-Relational Databases And Web Data. Proc. Int. Conf. on Databases, Web and Cooperative Systems (DWACOS), Vol. 1, pp. 35-40, 1999. 122 S. Greco. Binding Propagation in Disjunctive Databases. Proc. Int. Conf on Very Large Data Bases (VLDB), pp. 287-298, 1998. 123 S. Greco, C. Zaniolo. Greedy Algorithms in Datalog with Choice and Negation. Proc. Int Joint Conference and Symposium on Logic Programming (ICLP/ILPS), pp. 294-309, 1998. 124 S. Ganguly, S. Greco, and C. Zaniolo. Optimization of Logic Queries with MIN and MAX Predicates. Proc. Int. Work. on Flexible Query Answering (FQAS), pp. 188-202, 1998. 36 125 S Flesca, S. Greco. Declarative Semantics for Active Rules. Proc. Int. Conference on Database and Expert System Applications (DEXA), Vienna, pp. 871-880, 1998. 126 S. Basta, S. Flesca, S. Greco. Extending Datalog to Express Functional Queries: A Language and its Implementation. Proc. APPIA-GULP-PRODE Joint Conf. on Declarative Programming, La Coruna, Spain, pp. 165-173, 1998. 127 S. Greco, D. Saccà. Deterministic Semantics for Datalog¬ : Complexity and Expressive Power. Proc. Int. COnf. on Deductive and Object Oriented Databases (DOOD), pp. 337-350, 1997. 128 F. Buccafurri, S. Greco and D. Saccà. The Expressive Power of Unique Total Stable Model Semantics. Proc. Int. Colloquium on Automata, Languages and Programming (ICALP), pp. 849-859, 1997. 129 S. Greco, D. Saccà. NP Optimization Problems in Datalog. Proc. Int. Logic Programming Symposium (ILPS), pp. 181-195, 1997. 130 S. Greco. Optimal Unification of Bound Simple Set-Terms. Proc. ACM Int. Conf on Information and Knowledge Managment (CIKM), pp. 326-336, 1996. 131 S. Greco. Extending Datalog with Choice and Weak Constraints. Proc. APPIA-GULP-PRODE Joint Conf. on Declarative Programming, S. Sebastan, Spain, pp. 329-340, 1996. 132 S. Greco, E. Spadafora. Implementation of Chain Logic Queries. Proc. APPIA-GULP-PRODE Joint Conf. on Declarative Programming, S. Sebastan, Spain, pp. 340-352, 1996. 133 S. Greco, C. Mateis, E. Spadafora. The Complexity of Unification of Bounded Simple Set Terms. Proc. Int. Conference on Database and Expert System Applications (DEXA). Zurich, Switzerland, pp. 224-233, 1996. 134 S. Greco and D. Saccà. The Expressive Power of “Possible-is-Certain” Semantics. Proc. Int. Conf. ASIAN, 33-42, 1996. 135 S. Greco, D. Saccà, C. Zaniolo. The Pushdown Method for the Optimization of Chain Logic Programs, Proc. Int. Colloquium on Automata, Languages and Programming (ICALP), pp. 323-332, 1995. 136 S. Greco, D. Saccà, C. Zaniolo. DATALOG Queries with Stratified Negation and Choice from P to DP . Proc. Int. Conf. on Database Theory (ICDT), pp. 82-97, 1995. 37 137 S. Greco, L. Palopoli, E. Spadafora. DatalogA : Array Manipulations in a Deductive Database Language. Proc. Fourth Int. Symp. on Database Systems for Advanced Applications (DASFAA), pp. 180-188, Singapore, 1995. 138 S. Greco, C. Zaniolo. Efficient Execution of Recursive Queries Through Controlled Binding Propagation. Proc. International Symposium on Methodologies for Intelligent Sistems (ISMIS), pp. 193-202, Charlotte, 1994. 139 S. Greco, D. Saccà, C. Zaniolo. Dynamic Programming Optimization for Logic Programs with Aggregates. Proc. Int. Logic Programming Symposium (ILPS), pp. 575–589, 1993. 140 S. Greco. Optimization of Chain Queries. Proc. Third Int. Symp. on Database Systems for Advanced Applications (DASFAA), pp. 261-268, Taejon, Korea, 1993. 141 S. Greco, C. Zaniolo, and S. Ganguly. Greedy by Choice. Proc. of the Eleventh ACM Symposium on Principles of Database Systems (PODS), pp. 105–163, 1992. 142 N. Arni, S. Greco, and D. Saccà. Set-Term Matching in Logic Programming. Int. Conf. on Database Theory (ICDT), pp. 436-449, 1992. 143 S. Greco, C. Zaniolo. Optimization of Linear Logic programs Using Counting Methods. Proc. Int. Conf. on Extending Database Technology (EDBT), pp. 72-87, 1992. 144 S. Ganguly, S. Greco, and C. Zaniolo. Minimum and Maximum Predicates in Logic Programming. Proceedings of the Tenth ACM Symposium on Principles of Database Systems (PODS), pp. 154–113, 1991. 145 S. Greco, D. Saccà. Negative Logic Programs. North American Conference on Logic Programming (NACLP, former ILPS), pp. 480-497, Austin, 1990. 146 S. Greco, N. Leone, and W. Staniszkis. A Virtual Memory Support for Deductive Database Queries. Proc. Int. Conf. on Data and Knowledge Base Integration, pp. 133-152, Keele, England, 1989. 147 S. Greco, P. Rullo. L-Bis: A Logic Based Inheritance System. Proc. 11th Int. Conf. on Data Base Management System, pp. 195-215, Seregelies, Hungary, 1988. 11.7 Workshops internazionali 148 Giuseppe Tradigo, Pierangelo Veltri, Onorina Marasco, Giovanna Scozzafava, Giuseppe Parlato, Sergio Greco, Studying neonatal TSH distribution by using GIS, HealthGIS, 2012, 36-39. 38 149 Sergio Greco, Francesco Gullo, Giovanni Ponti, Andrea Tagarelli. Collaborative Clustering of XML Documents. Proceedings 1th International Workshop on Distributed XML Processing (ICPP), Vienna, Austria, pp.579586, 2009. 150 G. Greco, S. Greco, E. Zumpano. Recommendation Techniques for the Efficient Navigation of Web sites. Workshop on Document Compression and Synthesis in Adaptative Hypermedia Systems (DoCS), Malaga (Spain), 28 Maggio, 2002. 151 S. Flesca, F. Furfaro, S.Greco. Weighted path queries on Web Data. Fourth International Workshop on the Web and Databases (WebDB), S. Barbara, California, USA, pp. 7-12, 2001. 152 S. Flesca, F. Furfaro, S.Greco. Graph Grammars for Querying Graph-like Data. Int. Workshop on Graph Transformation and Visual Modeling Techniques (GT-VMT), Crete, Greece, pp. 249-258, 2001. 153 S. Greco, N. Leone and F. Scarcello. DATALOG with Nested Rules. Proc. Int. Workshop on Logic Programming and Knowledge Rapresentation (LPKR), pp. 52-65, 1997. 154 S. Greco, C. Mateis, E. Spadafora. Unification of Bounded Simple Set Terms in Deductive Databases. Proc. Int. Workshop on Logic in Databases (LID), S. Miniato, Italy, pp. 435-453, 1996. 155 S. Greco. Counting Method for Linear Programs. Proc. IJCAI-Workshop on Integrating Artificial Intelligence and Databases, Sidney, Australia, 1991. 11.8 Capitoli di Libri 156 Sergio Flesca, Sergio Greco, Ester Zumpano. Managing Inconsistent Databases Using Active Integrity Constraints. Encyclopedia of Database Technologies and Applications, pp. 345-350, 2005 157 Sergio Greco, Cristina Sirangelo, Irina Trubitsyna, Ester Zumpano. Preferred Repairs for Inconsistent Databases. Encyclopedia of Database Technologies and Applications, pp. 480-485, 2005. 158 Sergio Greco, Ester Zumpano. Consistent Queries Over Databases with Integrity Constraints. Encyclopedia of Database Technologies and Applications, pp. 529-534, 2005. 159 Sergio Greco, Ester Zumpano. Rewriting and Efficient Computation of Bound Disjunctive Datalog Queries. Encyclopedia of Database Technologies and Applications, pp. 536-541, 2005. 160 Sergio Flesca, Filippo Furfaro, Sergio Greco, Ester Zumpano. Repairing Inconsistent XML Data with Functional Dependencies. Encyclopedia of Database Technologies and Applications, pp. 542-547, 2005. 39 161 S. Greco, E. Zumpano. Consistent Queries over Databases with Integrity Constraints. Cap 6 in Database Integrity: Challenge And Solutions, 172-202, Idea Group Publishing - USA, 2001. 11.9 Raccolte Monografiche 162 Sergio Greco, Francesca A. Lisi, Logic Programming Languages for Databases and the Web, 25 Years GULP, 2010, 183-203. 163 S. Greco, D. Saccà. Search and Optimization Algorithm in Datalog. Computational Logic: From Logic Programming into the Future (in honour of Bob Kowalski), SpringerVerlag, pp. 61-82, 2001. 164 S. Greco, M. Romeo, and D. Saccà. Evaluation of Negative Logic Programs. LOGIDATA+: Deductive Databases with Complex Objects, (P. Atzeni ed.), LNCS n. 701, Springer-Verlag, pp.148-158, 1993. 165 S. Greco, G. Marrella, and D. Saccà. A System Prototype for the Evaluation of Negative Logic Programs. Rapp. Int. DEIS 1992, in LOGIDATA+: Deductive Databases with Complex Objects, (P. Atzeni ed.), LNCS n. 701, Springer-Verlag, pp. 259-262, 1993. 11.10 Poster e articoli brevi 166 Sergio Greco, Massimiliano Ruffolo, Andrea Tagarelli. Effective and efficient similarity search in time series. CIKM 2006: 808-809 167 S. Flesca, F. Furfaro, S. Greco, XGL: A Graphical Query Language for XML. International Conference on Data Engineering (ICDE), Poster Session, 2002. 168 G. Greco, S. Greco, I. Trubitsyna, E. Zumpano, Translating Datalog-like Optimization Queries into ILOG Programs. LOPSTR Works., 2002. 11.11 Congressi a carattere nazionale 169 Sergio Greco, Francesca Spezzano, Irina Trubitsyna, Stratification-based Criteria for Checking Chase Termination, SEBD, 2012, 85-192, 170 Sergio Greco, Francesco Gullo, Giovanni Ponti, Andrea Tagarelli, Giuseppe Agapito, Clustering XML Documents: a Distributed Collaborative Approach (Extended Abstract), SEBD, 2010, 406-413. 171 Sergio Greco, Cristian Molinaro, Francesca Spezzano, Irina Trubitsyna, Querying and Updating Inconsistent Databases (Extended Abstract), SEBD, 2010, 438-445. 40 172 Francesco Gullo, Giovanni Ponti, Andrea Tagarelli, Sergio Greco. Information-Theoretic Hierarchical Clustering of Uncertain Data. Proceedings ”17th Italian Symposium on Advanced Database Systems (SEBD), Camogli, pp. 273-280, 2009. 173 Cristian Molinaro, Francesca Spezzano, Sergio Greco. A System Prototype for Computing Probabilistic Query Answers over Inconsistent Databases. Proceedings ”17th Italian Symposium on Advanced Database Systems (SEBD), Camogli, pp. 9-20, 2009. 174 Andrea Tagarelli, Mario Longo, Sergio Greco. Extracting Structural Semantic Features for XML Data. Proceedings ”16th Italian Symposium on Advanced Database Systems (SEBD), pp. 144-155, 2008. 175 Francesco Gullo, Giovanni Ponti, Andrea Tagarelli, Sergio Greco. : Accurate and Fast Similarity Detection in Time Series. Proceedings ”15th Italian Symposium on Advanced Database Systems (SEBD), pp. 172-183, 2007. 176 Sergio Greco, Cristian Molinaro, Francesco Parisi. Exploiting Preference Rules for Querying Databases. Proceedings ”15th Italian Symposium on Advanced Database Systems (SEBD), pp. 405-413, 2007. 177 Cristian Molinaro, Sergio Greco, Luciano Caroprese. Prioritized Active Integrity Constraints for Database Maintenance. Proceedings ”14th Italian Symposium on Advanced Database Systems (SEBD), pp. 20-31, 2006. 178 Andrea Tagarelli, Sergio Greco. SemXClust: A System for Semantic XML Clustering. Proceedings ”14th Italian Symposium on Advanced Database Systems (SEBD), pp. 72-79, 2006 179 Luciano Caroprese, Sergio Greco, Cristina Sirangelo, Ester Zumpano. A logic based approach to P2P Databases. Proceedings ”13th Italian Symposium on Advanced Database Systems (SEBD), pp. 67-74, 2005 180 Sergio Greco, Andrea Tagarelli, Irina Trubitsyna, Ester Zumpano. “A System Supporting Website Navigation” Proceedings ”12th Italian Symposium on Advanced Database Systems (SEBD), S. Margherita di Pula, pp. 142-149, 2004. 181 S. Greco, L. Pontieri, E. Zumpano. Integrating Possibly Conflicting Data. Proceedings ”12th Italian Symposium on Advanced Database Systems (SEBD), pp. 241-248, 2001. 182 S. Basta, S. Greco, E. Zumpano. Integrazione di basi dati con vincoli. Atti conferenza su Sistemi Evoluti per Basi di Dati (SEBD), pp. 333-344, 2000. 183 S. Flesca, S. Greco, G. Strazzulla. Rappresentazione ed interrogazione di dati XML. Atti conferenza su Sistemi Evoluti per Basi di Dati (SEBD), pp. 95-108, 2000. 184 Stefano Basta, Sergio Flesca, Sergio Greco, Ester Zumpano. A System Prototype for the Evaluation of Queries on Materialized Views. Atti conferenza su Sistemi Evoluti per Basi di Dati (SEBD), pp. 291-306, 1999. 41 185 S Flesca, Sergio Greco, Deterministic and Non-Deterministic Declarative Semantics for Active Rules, Atti conferenza su Sistemi Evoluti per Basi di Dati (SEBD), pp. 203-217, 1998. 186 S. Basta, S. Greco. Un linguaggio per interrogazioni funzionali: Implementazione di un prototipo. Atti conferenza su Sistemi Evoluti per Basi di Dati (SEBD), pp. 305-324, 1997. 187 F. Buccafurri, S. Greco, E. Spadafora. Implementazione di Interrogazioni Semplici Concatenate. Atti conferenza su Sistemi Evoluti per Basi di Dati (SEBD), Rimini, pp. 187-205, 1994. 188 S. Greco, L. Palopoli, and P. Rullo. Updating Deductive Database: A Survey. Atti del Congresso AICA, pp. 211-226, Bari, 1990. 189 S. Greco, P. Rullo. Un linguaggio Orientato ad Oggetti basato sulla Programmazione Logica. Atti del Convegno Italiano su Programmazione Logica (Gulp), pp. 319-328, Roma 1988. 190 S. Greco, O. Piperno, P. Rullo. Un linguaggio per la Rappresentazione della Conoscenza basato sul Prolog. Atti del Convegno AICA, Vol.2, pp. 381-391, Trento 1987. Rende, 22 gennaio 2014 Sergio Greco 42