Problemi Momis osservati per la costruzione della Mapping Table * Uso del costruttore UNION in ODLi3 Il costruttore union, cosi' come rappresentato nell'esempio di figura 4 (pag9) interface Address (source semistructured Eating_source) { attribute string city; attribute string street; attribute string zipcode; }; union { string; }; e' di difficile uso per un motivo sostanziale: Nel primo caso Address rappresenta un insieme di attributi, ognuno dei quali individuabile tramite un nome e avente un determinato tipo. Usando la dot notation possiamo individuare ad esempio l'attributo city: Eating_source.Address.city Come facciamo a rappresentare la seconda parte della union, cioe' i casi in cui l'interface assuma unicamente dei valori di tipo string? Attraverso la dot notation utilizzata questo diventa impossibile. Questo problema diventa particolarmente significativo nella realizzazione della mapping table: infatti nel primo caso address rappresenta una Local class, nel secondo caso un attributo. * Struttura della Mapping Table Ogni mapping element, cella che indica il mapping tra un global attribute e una local class puo' essere di 6 tipi: nullMapping se l'elemento e' null defaultMapping se si sta mappando un valore di default simpleMapping se simappa un attributo di una local class andMapping se si mappa la concatenazione di piu' attributi appartenenti alla stessa local class ("and correspondence") unionMapping per mappare le "or correspondence" complexMapping per mappare tipi non base Problema: come mappare attributi di tipo semistrutturato? In particolare, come mappare gli attributi di tipo opzionale? Come mappare gli attributi che possono avere strutture diverse (le union del linguaggio ODLi3)? * Problema dell'ereditarieta' multipla * Domanda: ha senso la composizione di tipi di Mapping Element? In particolare ha senso l'andMapping di unionMapping? * Attributi Globali Visto che per raggruppare gli attributi in attributi globali si utilizza un algoritmo di clustering, che non introduce una gerarchia degli elementi appartenenti allo stesso cluster, esiste il problema della determinazione in maniera automatica del nome da associare all'attributo globale.