SPARQLExplorer e D2RServer

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "SPARQLExplorer e D2RServer"

Transcript

1 SPARQLExplorer e D2RServer Andrea Paglialonga, Alessio Pierantozzi Abstract Nel seguente elaborato sono analizzati gli strumenti D2R-Server e SPARQLExplorer Il lavoro si colloca all'interno del progetto Context-ADDICT, in quanto tale analisi é volta ad ottenere un confronto dei due strumenti, che valuti le dierenze nell'estrazione delle informazioni da una base di dati relazionale e la loro rappresentazione semantica Keywords: XML, Relational, OWL, Ontology, XML Schema, Wrapping Released: June 19, 2007 Num Pages: 28 Internal No:

2 Context-ADDICT is a project on Context-Aware Data Design, Integration, Customization and Tailoring developed at Politecnico di Milano, Dipartimento di Elettronica e Informazione An electronic copy of this document is available for download at:

3 Contents 1 Introduzione 2 2 Obiettivi e Requisiti 2 3 Lavori correlati 3 31 D2R-Server Congurazione ed esecuzione D2R-Server 4 32 Rosex e SPARQLExplorer Rosex SPARQLExplorer 7 4 Risultati sperimentali 9 41 Database di riferimeto 9 42 Ontologie generate 9 43 Analisi delle query in SPARQL 10 5 Conclusioni e sviluppi futuri 22 A File RDF generato da D2R-Server 24 1

4 1 Introduzione Il seguente progetto si colloca nell'ambito di Context-ADDICT (mostrato in Figura 1) Nello scenario in cui lavora Context-Addict ( [4] acronimo di Context-Aware Data Design, Integration, Customization and Tailoring), le informazioni generate da sorgenti informative indipendenti, eterogenee, distribuite e mobili vengono integrate e ltrate sulla base degli interessi dell'utente e del contesto in cui si trova E' un progetto suddiviso in vari moduli, i quali focalizzano l'attenzione ognuno su di una particolare macro-funzionalità da sviluppare In particolare il modulo di estrazione semantica si occupa di concettualizzare la sorgente relazionale in modo da permettere l'integrazione all'interno del sistema Context-ADDICT, e più in generale per consentire alle applicazioni operanti nel Web Semantico di accedere ai dati contenuti con un approccio basato sulla semantica Un ulteriore modulo poi si occupa di realizzare tutte le funzionalità che, operando su di una rappresentazione semantica, consentono ad una applicazione utente di estrarre i dati e di contestualizzarli nell'ambiente di riferimento Questo è permesso creando delle query semantiche SPARQL Tale lavoro non si occupa di fornire ulteriori funzionalità a quelle già implementate nell'ambito del sistema Context-ADDICT, ma è un lavoro prettamente analitico di confronto tra lo strumento SPAR- QLExplorer e D2R-Server, che permettono di operare nel contesto appena descritto in modo sommario Figure 1: Context-ADDICT scenario Prima di entrare nel vivo dell'analisi ci soermiamo ad inquadrare il problema focalizzando l'ambito su cui ci si muove (sezione 2), in particolare verranno descritti nel dettaglio come sono stati sviluppati i due strumenti D2R-Server (sezione 31) e SPARQLExplorer (sezione 32); successivamente verrà arontato il discorso del confronto tra i due strumenti nella sezione 4 Inne nell'ultima sezione, la 5, verrano espresse le conclusioni a cui si é giunti dopo i vari risultati sperimentali ottenuti 2 Obiettivi e Requisiti L'obiettivo che ci si è posti è quello di analizzare e commentare in modo critico come due strumenti D2R-Server e SPARQLExplorer eettuano delle interrogazioni SPARQL su un modello ontologico dei dati Pur eettuando entrambi lo stesso compito, i due tool operano secondo procedure diverse e quindi è utile comprendere quali sono le principali dierenze e analogie SPARQL (SPARQL Protocol And Query Language) è un linguaggio di interrogazione usato per ottenere informazioni da un grafo RDF; in denitiva è un RDF query language Sorge l'interrogativo: 2

5 A cosa serve un linguaggio di interrogazione di dati RDF se esiste il linguaggio di interrogazione di dati espressi in forma relazionale come sql? O meglio: A cosa serve rappresentare i dati in formato RDF? RDF è un linguaggio (non è l'unico) che permette di rappresentare i dati sotto forma di ontologie La rappresentazione ontologica dei dati va a focalizzare l'attenzione sull'informazione contenuta nel dato da un punto di vista semantico che viene poi utilizzata da numerose applicazioni del Web Semantico La semantica del dato determina il signicato che possiede un valore (stringa, intero, ) attribuito ad una proprietà del soggetto La semantica è anche l'insieme delle proprietà logiche che sono deducibili dai valori forniti ai vari dati Un modo per descrivere l'ontologia è mediante il linguaggio RDF, che si basa sul modello a triple: una tripla è un'asserzione che consiste di un soggetto, predicato e oggetto Analogo al linguaggio a triple RDF è il linguaggio OWL, che permette la costruzione di una ontologia a partire dai concetti primitivi e dai ruoli che legano tali concetti I due strumenti, oggetto della nostra analisi, dieriscono principalmente sulla modalità di creazione dell'ontologia dei dati e quindi sulle procedure di interrogazione che si basano su tali modelli In particolare D2R-Server denisce un'ontologia con un modello a triple (N3), mentre SPARQLExplorer denisce l'ontologia con un procedimento basato sulla logica OWL E' però importante sottolineare che tale rappresentazione ontologica non va a sostituire il database: l'ontologià è importante nel momento in cui vengono eettuate delle query SPARQL che si basano sulla semantica; poi le varie istanze dei dati che costituiscono la soluzione dell'interrogazione vengono recuperate tramite il mapping generato tra la semantica del database e il relativo modello relazionale 3 Lavori correlati Come già detto, materia prima della nostra analisi sono gli strumenti SPARQLExplorer e D2R-Server Analizziamo nel dettaglio in questa sezione questi due software cui facciamo riferimento [3, 4] 31 D2R-Server Lo strumento D2R-Server viene utilizzato per la pubblicazione del contenuto dei database relazionali nel Web semantico D2R-Server dà la possibilità a browser HTML (Firefox) e browser RDF (Tabulator, Disco) di navigare i contenuti di database relazionali (intrinsecamente non-rdf) pubblicati nel web, e permette alle applicazioni di interrogare tali database usando query SPARQL (interrogazioni semantiche) attraverso lo stesso protocollo SPARQL Poiché le applicazioni del Web Semantico operano su ontologie, per permettere che database relazionali, non-rdf, possano essere acceduti da applicazioni del Semantic Web occorre che venga eettuato un mapping tra la sorgente relazionale e la rappresentazione ontologica del database D2RQ, utilizzato da D2R-Server, è un linguaggio di mapping adatto a questo scopo che permette di trattare database relazionali non-rdf come dei gra RDF virtuali Questi a loro volta sono espressi con un linguaggio N3 che caratterizza le asserzioni con il paradigma soggetto - predicato - oggetto Tali asserzioni specicano come le risorse sono identicate e come i valori delle proprietà delle risorse sono associati al contenuto di tali database L'elemento principale di D2RQ è il d2rq:classmap, il quale rappresenta il mapping da un insieme di entità descritte all'interno del database ad una classe o un gruppo di classi simili di risorse Ad una classe di istanze è associato poi un particolare insieme di proprietà Il documento RDF generato attraverso il linguaggio D2RQ (vedi le n3 in appendice A), che in denitiva descrive l'ontologia del database, viene creato utilizzando uno strumento integrato all'interno di D2R-Server che genera un mapping a partire dalla struttura delle tabelle del database In questo modo, le applicazioni client del Web Semantico possono recuperare le rappresentazioni RDF e HTML delle risorse e inoltre possono interrogare il database non-rdf attraverso query semantiche SPARQL Un quadro di funzionamento generale del software è espresso in Figura 2 Le rappresentazioni dai dati generate da D2R-Server sono fortemente interconnesse ai vari livelli RDF e HTML in modo tale da rendere semplice e intercambiabile la navigazione del contenuto del database 3

6 Figure 2: architettura D2R-Server Infatti lo strumento fornisce una vera e propria funzione di esplorazione dei dati; in questo modo l'utente non è più costretto a scrivere le query per ricercare le informazioni desiderate in quanto, man mano che si esplora il database utilizzando la funzione di browsing, viene costruita automaticamente le query SPARQL che genera l'uscita ricercata E' chiaro che oltre alla funzionalità di browsing per la ricerca dei dati è possibile procedere scrivendo nel modo tradizionale query SPARQL in un apposito riquadro riservato per tale scopo Il risultato di tali interrogazioni, ricavato dal contenuto del database relazionale, inoltre può essere rappresentato attraverso diversi formati tra cui quello graco/tabulare oltre che in formato XML e RDF 311 Congurazione ed esecuzione D2R-Server Prima di iniziare ad utilizzare l'applicazione web D2R-Server bisogna creare il le di mapping del database, ad esempio mappingn3 Per crearlo bisogna avviare il Command Line Tool compreso nel pacchetto D2R-Server semplicemente digitando la linea di comando: generate-mapping [-o mappingn3] [-d driverclassname] [-u db-user] [-p db-password] jdbc:mysql://servername/database Una volta creato il le, si avvia il D2R-Server in localhost attraverso la seguente linea di comando: d2r-server mappingn3 Per utilizzare il server bisogna connettersi alla pagina In gura 3 è rappresentata la schermata di avvio del server Per accedere alla pagina dove è possibile interrogare il database bisogna cliccare sul link alla ne della pagina this AJAX-based SPARQL Explorer, nel terzo riquadro Da qui in poi è possibile eettuare le interrogazioni utilizzando il riquadro apposito nel quale si deve inserire la query SPARQL oppure, attraverso la funzionalità di browsing, esplorare i dati contenuti nel database di cui si è fatto il mapping 4

7 32 Rosex e SPARQLExplorer Figure 3: Home Page D2R-Server Gli strumenti Rosex e SPARQLExplorer insieme permettono di eseguire le stesse funzionalità di D2R- Server Uno schema di funzionamento è rappresentato in Figura 4 Figure 4: architettura SPARQLExplorer In particolare Rosex genera tre le che costituiscono la rappresentazione di un'ontologia a partire da un database relazionale, RelationalONTOowl, MappingONTOowl e SemanticONTOowl che in un certo 5

8 senso sostituiscono il le mappingn3 generato da D2R-Server In seguito attraverso SPARQLExplorer è possibile eseguire le interrogazioni SPARQL sull'ontologia utilizzando i le owl creati da Rosex 321 Rosex Rosex é un'applicazione java che permette di rappresentare lo schema di un database in una rappresentazione ontologica Il sistema (RelationalOWL) che utilizza Rosex per generare l'ontologia del database è un sistema basato sul linguaggio per ontologie OWL (Web Ontology Language) Questo sistema estrae in modo completamente automatico lo schema del database e genera una rappresentazione in formato ontologico secondo lo schema riportato in gura 5 Figure 5: RelationalOWL Ontology L'ontologia rappresenta l'informazione contenuta nelle tabelle come oggetti di tipo table, e non come oggetti dotati di semantica, fornendogli aspetti strutturali Per ovviare a questo problema e rendere l'ontologia utilizzabile dal Web Semantico viene proposto un mapping tra l'ontologia generata e una di riferimento (target), che ne rappresenta la semantica L'operazione di mapping è in genere una operazione automatica, in questo caso condotta da Rosex In denitiva quindi, Rosex opera generando tre distinti le owl: RelationalONTOowl: la Relational Ontology è la rappresentazione della base di dati creata dallo strumento RelationalOWL; il database viene rappresentato creando un'istanza della classe table per ogni relazione presente nello schema, allo stesso modo le colonne vengono rappresentate da istanze della classe column Così come viene creata, questa ontologia rappresenta lo schema della base di dati, e può virtualmente sostituirsi ad esso SemanticONTOowl: la Semantic Ontology contiene tutti e soli i concetti e ruoli estraibili dallo schema relazionale della base di dati Questo le denisce cosa contiene la base di dati (concetti e ruoli) e non come questi sono rappresentati (tabelle e colonne) La Semantic Ontology permette di eettuare interrogazioni basate sulla semantica (SPARQL query) MappingONTOowl: la Mapping Ontology mantiene il riferimento tra la semantica e il formato dei dati; viene costruita importando la Relational Ontology e la Semantic Ontology e mettendo in relazione gli elementi di queste due categorie Vengono mappati tutti gli elementi costruiti durante la prima fase: concetti, ruoli e attributi, in modo da risalire alla tabella e colonna dello schema relazionale 6

9 Figure 6: DataSource Ontology Questi tre le ontologici insieme costituiscono la Datasource Ontology (Figura 6), che viene utilizzata dal strumento SPARQLExplorer per interrogare la base di dati a partire dalla rappresentazione semantica Congurazione ed esecuzione Rosex Rosex si presenta come un le jar (Rosexjar), e puó essere eseguito sia attraverso linea di comando che attraverso una IDE Java quale Eclipse In ogni modo per avviare lo strumento occorre impostare un le di congurazione (congxml) che viene fornito come parametro d'ingresso e in cui vengono espresse delle informazioni utili all'esecuzione, quali driver del database, DBUrl, username e password per l'accesso al DBMS Il le di congurazione si presenta come mostrato in gura 7 Figure 7: congrosexxml La linea di comando utilizzata per l'avvio di tale strumento è la seguente: java -jar ROSEXjar -c config/configxml 322 SPARQLExplorer Mentre Rosex si occupa di portare a termine la fase di estrazione semantica di un database nella relativa ontologia semantica, SPARQLExplorer è uno strumento che sviluppa la parte di interrogazione Esso costituisce la componente software che si occupa di: 1 tradurre le interrogazioni SPARQL nel linguaggio del mondo relazionale 2 wrappare i risultati per riportarli in un formato semantico 7

10 Quindi volendo riassumere in grandi linee il 'core' di SPARQLExplorer è utile servirsi di una sua rappresentazione visuale (Figura 8): Figure 8: SPARQLExplorer Innanzitutto SPARQLExplorer è un software sviluppato in java che utilizza delle librerie particolari quali arqjar e jenajar, che permettono di elaborare le funzionalità di traduzione delle query SPARQL Passo1 Passo2 Per tradurre le query semantiche in ingresso in linguaggio sql, è necessario che SPARQLExplorer tenga in considerazione il DataSource Ontology fornitogli da Rosex Ciò vuol dire che direttamente conosce il le SemanticONTOowl su cui si basa la query SPARQL, attraverso il MappingONTOowl ritrova quale deve essere la rispettiva sorgente (tabella e colonna) da cui estrarre le istanze dei dati descritti nel RelationalONTOowl, e quindi trasforma la query iniziale in un frammento sql che secondo le interrogazioni standard relazionali va a reperire direttamente i dati sul database Essendo una interrogazione sql eseguita in ambiente java viene utilizzato lo strumento jdbc per l'interfacciamento con la base di dati Il wrapping del 'JDBCResultSet' fornito da jdbc in formato semantico ('JENAResultSet') è eettuato grazie al metodo JenaResultSetAdapter implementato nella libreria jenajar Quest'ultimo passo è essenziale per mantenere una conformità tra un'interrogazione semantica che esige una risposta sempre basata sull'aspetto semantico Congurazione ed esecuzione SPARQLExplorer L'esecuzione di SPARQLExplorer è analoga all'esecuzione di Rosex, in quanto anche questo strumento è un'applicazione java per cui basta mandare in esecuzione il le SPARQLExplorejar da linea di comando oppure da Eclipse Anche in questo caso è necessario compilare un le di congurazione che imposta i paramentri necessari da inviare in ingresso allo scopo di poter eseguire correttamente le query SPARQL Il le di congurazione xml si presenta come mostrato in Figura 9: La linea di comando adatta all'esecuzione dello strumento è la seguente: java -jar SPARQLExplorerjar -c config/configxml "/querypath/querynametxt" 8

11 4 Risultati sperimentali Figure 9: congsparqlexplorerxml La valutazione dei due strumenti si basa su un procedimento di confronto diretto dei risultati prodotti dall'esecuzione di alcune query in SPARQL L'intento è di vericare se a fronte di una stessa interrogazione, D2R-Server e SPARQLExplorer producono gli stessi e corretti dati in uscita Un giudizio complessivo deve anche tener conto della semplicità di utlizzo e chiarezza dei risultati ad un utente esterno e quindi la capacità espressiva del linguaggio di estrarre in modo semplice i dati di interesse 41 Database di riferimeto Il confronto delle prestazioni dei due strumenti è stato eettuato utilizzando un database ragurante il mondo immobiliare, che abbiamo nominato unidb Lo schema logico di tale database è il seguente : OWNER(IdOwner, Name, Surname, Type, Address, City, PhoneNumber) ESTATE(IdEstate, IdOwner, Category, Area, City, Province, RoomsNumber, Bedrooms, Garage, SquareMeters, Sheet, CadastralMap) CUSTOMER(IdCustomer, Name, Surname, Type, Budget, Address, City, PhoneNum) AGENT(IdAgent, Name, Surname, Oce, Address, City, Phone) AGENDA(IdAgent, Data, Hour, IdEstate, ClientName) VISIT(IdEstate, IdAgent, IdCustomer, Date, ViewDuration) SALE(IdEstate, IdAgent, IdCustomer, Date, AgreePrice, Status) RENT(IdEstate, IdAgent, IdCustomer, Date, RatePrice, Status, Duration) PICTURE(IdPicture, IdEstate, Date, Description, FileName) 42 Ontologie generate I due strumenti hanno eettuato dei mapping del database dierenti D2R-server, come abbiamo visto in precedenza, attraverso un 'command line tool' interno al pacchetto D2R-Server ha creato il le mapping-unidbn3 (stralcio in appendice A) SPARQLExplorer utilizza invece i le owl creati preventivamente dallo strumento java ROSEX Da un punto di vista funzionale il le mapping-unidbn3, e la terna di le unidbsemanticontoowl, unidbrelationalontoowl e unidbmappingontoowl costituiscono la stessa informazione semantica 9

12 Essi hanno lo scopo di esprimere il database unidb di riferimento in un formato rispettivamente RDF e OWL, che permette di astrarre dai dettagli di implementazione e vedere lo stesso database da un punto di vista semantico di concetti e relazioni e non da una visione di tabelle e colonne e vincoli referenziali È chiaro che dalla rappresentazione semantica c'è un mapping verso la rappresentazione relazionale e viceversa, come già precedentemente è stato discusso L'unica dierenza che rende tali le (n3 e owl) così diversi sintatticamente l'uno dall'altro consiste nella diversa sintassi utilizzata per esprimere l'ontologia D2R-Server attraverso il linguaggio D2RQ genera una rappresentazione a grafo RDF che viene formalizzata in un linguaggio N3 (triple soggettopredicato-oggetto), mentre ROSEX (Semantic Extractor) genera la sua ontologia a partire da un linguaggio OWL-Full Nel paragrafo successivo verrano riportate tutte le query utilizzate per confrontare le potenzialità dei due strumenti con i relativi risultati 43 Analisi delle query in SPARQL Per valutare come gli strumenti descritti nella sezione precedente eseguono delle interrogazioni sull'ontologia ricavata dal database preso come riferimento, proviamo a dare in ingresso varie query espresse in SPARQL e vericare cosa viene fornito in uscita dai due software, mettendo in evidenza le dierenze e le analogie Le query che abbiamo costruito hanno l'obiettivo di testare la capacità degli strumenti di riconoscere costrutti base del linguaggio e di valutare la potenza espressiva dello strumento, intendendo con ciò la capacità di esprimere delle interrogazioni in modo semplice e facilmente comprensibili dall'utente È inoltre interessante notare se ciò che viene prodotto dalla query è eettivamente quello che l'utente si aspetta Piccola premessa: la sintassi delle query che vengono sviluppate per D2R_Server dierisce leggermente rispetto a quella utilizzata per SPARQLExplorer Ad esempio, ciò che con D2R-Server è espresso attraverso il presso vocab: si rappresenta in SPAR- QLExplorer con il presso uni: semplicemente perché abbiamo dato queste convenzioni per rappresentare la risorsa semantica dell'ontologia a cui accedere per reperire i dati (una sorta di vocabolario) In secondo luogo D2R-Server accetta una notazione del tipo nometabella_nomeattributo per reperire informazioni dal mapping dell'ontologia, a dierenza di SPARQExplorer che accetta solo notazione puntata del tipo nometabellanomeattributo Passiamo in rassegna alcune query: 1 Estraggo identicativo del cliente che acquista un edicio, con mappa catastale dell'immobile, e identicativo dell'agente immobiliare: Lo scopo della query è di valutare il comportamento del join esplicito e della proiezione su attributi, similmente a quanto avviene nel caso di una interrogazione sql SELECT?sale_date?est_cadMap?ag_surname?client_name?client_surname WHERE {?s rdf:type vocab:sale?s vocab:sale_date?sale_date?s vocab:sale_idestate?s_estate?s_estate vocab:estate_cadastralmap?est_cadmap?s vocab:sale_idagent?s_agent?s_agent vocab:agent_surname?ag_surname?s vocab:sale_idcustomer?s_customer?s_customer vocab:customer_name?client_name?s_customer vocab:customer_surname?client_surname 10

13 Figure 10: d2r-server output Figure 11: SPARQLExplorer output Sia D2R-Server che SPARQLExplorer producono in output lo stesso risultato alla query proposta 11

14 in ingresso Possiamo asserire che i due strumenti riescono ad estrarre in maniera corretta le informazioni richieste quindi le funzionalità base del join esplicito tra più tabelle della base di dati è eseguita in modo corretto I join sono resi in maniera esplicita attraverso i vincoli di chiave esterna che ad esempio legano saleidestate con la chiave primaria di estate(estateidestate) La proiezione sugli attributi di select è corretta Il risultato è ciò che l'utente si aspetta anche se c'è qualche dierenza sulla formattazione e soprattutto sull'ordine dei risultati, dovuto al fatto che i due strumenti operano delle sequenze di elaborazione diverse 2 Estraggo i locali venduti e attati: Lo scopo della query è quello di valutare il comportamento dell'operatore di UNION; operatore che permette di concatenare soluzioni e risultati da più insiemi La query che segue vuole mettere in evidenza la potenzialità della UNION di mettere insieme più elementi da relazioni dierenti, ma riuscendo a mantenere e distinguere l'appartenenza di ogni istanza alla propria relazione Ad esempio si estraggono tutti i locali venduti e attati, lasciando l'informazione di sale o rent per ogni estate Questo è possibile in D2R-Server, associando tramite UNION due query che operano su variabili dierenti (s-estate e r-estate) SELECT?sale_est_cat?sale_est_city?rent_est_cat?rent_est_city WHERE { {?s rdf:type vocab:sale?s vocab:sale_idestate?s_estate?s_estate vocab:estate_category?sale_est_cat?s_estate vocab:estate_city?sale_est_city UNION {?r rdf:type vocab:rent?r vocab:rent_idestate?r_estate?r_estate vocab:estate_category?rent_est_cat?r_estate vocab:estate_city?rent_est_city 12

15 Figure 12: d2r-server output SPARQLExplorer, per come è stato implementato non permette di usare questo costrutto in questo modo La semantica su cui è stato costruito si basa sull'utilizzo tradizionale di UNION come operatore insiemistico che non distingue l'appartenenza delle istanze ad una particolare relazione e quindi, di base, elimina anche i duplicati Nel contesto di questa query è una perdita di informazioni in quanto non c'è modo di sapere quando uno stesso locale prima è stato attato e poi venduto La query modicata risulta: SELECT?est_cat?est_city WHERE { {?s rdf:type uni:sale?s uni:saleidestate?estate?estate uni:estatecategory?est_cat?estate uni:estatecity?est_city UNION {?r rdf:type uni:rent?r uni:rentidestate?estate?estate uni:estatecategory?est_cat?estate uni:estatecity?est_city 13

16 Le variabili?est_cat e?est_city sono comuni per entrambe le parti della UNION Figure 13: SPARQLExplorer output Come si può notare dal confronto dei due output vengono eliminati i duplicati ( trilocale Spoleto) e non c'è più distinzione tra i locali venduti e attati Il problema si potrebbe risolvere estraendo delle istanze che presentano almeno una proprietà su cui dieriscono Una query SQL del genere: SELECT IdEstate, 'sale' as PType FROM sale UNION SELECT IdEstate, 'rent' as PType FROM rent permette di inserire nel campo PType il valore stringa 'sale' o 'rent' Una query così non è esprimibile con SPARQL poichè non si possono inserire a run-time dei valori stringa Infatti SPARQL si limita ad interrogare un'ontologia estraendo un valore associato ad una proprietà di una risorsa (un nodo dell'albero di un'ontologia) Ciò vuol dire che dovrebbe esistere un attributo ulteriore che presenti il valore stringa sell oppure rent nella tabella rispettivamente sell e rent,cosa assolutamente assurda Attraverso la proprietà rdf:type (proprietà di rdf:property espressa dallo standard W3C [7] ) è possibile per un utente conoscere la classe a cui fa riferimento una particolare istanza Nel nostro caso ciò vuol dire che ogni istanza di sell deve presentare un attributo?ptype estratto da rdf:type con valore sell Analogo discorso vale per rent La query che eettua questa operazione: SELECT?est_cat?est_city?ptype WHERE { {?s rdf:type vocab:sale?s vocab:sale_idestate?estate?estate vocab:estate_category?est_cat?estate vocab:estate_city?est_city?s rdf:type?ptype UNION {?r rdf:type vocab:rent?r vocab:rent_idestate?estate?estate vocab:estate_category?est_cat?estate vocab:estate_city?est_city?r rdf:type?ptype 14

17 Mostriamo i risultati ottenuti con D2R-Server: Figure 14: D2R-Server output Con SPARQLExplorer non si ottiene un risultato migliore del precedente riportato sopra 3 Estraggo i locali venduti e attati da un particolare agente immobiliare: Oltre all'operatore di UNION mettiamo in evidenza la relazione che lega un'istanza ad una proprietà nota (la rdf:type che lega l'edicio ad un agente noto) SELECT?ag?ag_surname?estate?est_type WHERE { {?ag vocab:agent_surname "Caio"?estate vocab:sale_idagent?ag?estate rdf:type?est_type?ag vocab:agent_surname?ag_surname UNION {?ag vocab:agent_surname "Caio"?estate vocab:rent_idagent?ag?estate rdf:type?est_type?ag vocab:agent_surname?ag_surname 15

18 Figure 15: d2r-server output Il problema che sorge in SPARQLExplorer in questo caso è legato al fatto che per poter selezionare il particolare operatore immobiliare Caio non posso utilizzare il costrutto abbreviato:?ag vocab:agent_surname "Caio" ma occorre utilizzare l'operatore FILTER che permette la selezione di istanze per un particolare valore letterale che si attribuisce ad una proprietà La query sopra diventa: SELECT?ag?ag_surname?estate?est_type WHERE { {?ag rdf:type uni:agent?estate uni:saleidagent?ag?estate rdf:type?est_type?ag uni:agentsurname?ag_surname FILTER (?ag_surname = "Caio") UNION {?ag rdf:type uni:agent?estate uni:rentidagent?ag?estate rdf:type?est_type 16

19 ?ag uni:agentsurname?ag_surname FILTER (?ag_surname = "Caio") Con il seguente output espresso da linea di comando: Figure 16: SPARQLExplorer output In realtà dierisce dal precedente in quanto non viene fornito il valore della variabile est_type che denisce il tipo di appartamento (venduto/attato) Tale informazione comunque è deducibile dalla chiave dell'estate 4 Estraggo la descrizione e i le contenenti l'immagine dei loft milanesi: Lo scopo della query è quello di valutare il comportamento dell'operatore FILTER, che consente di eettuare una selezione delle istanze di una certa classe di risorse, basandosi sul valore di particolari proprietà delle istanze SELECT?e?est_cat?est_city?descr?fig WHERE {?e rdf:type vocab:estate?e vocab:estate_category?est_cat?e vocab:estate_city?est_city FILTER (?est_cat="loft" &&?est_city="milano")?p vocab:picture_idestate?e?p vocab:picture_description?descr?p vocab:picture_filename?fig 17

20 Figure 17: d2r-server output Figure 18: SPARQLExplorer output Come si può notare, l'operatore FILTER non genera particolari problemi in quanto è un costrutto che permette delle interrogazioni SQL Like anche se può risultare leggermente diversa la sintassi dell'espressione regolare che c'è alla base della query SPARQL rispetto ad una generica query sql 5 Per tutti i locali estraggo (se sono disponibili), le descrizioni e i le immagine: 18

21 Lo scopo è quello di valutare il comportamento dell'operatore OPTIONAL, che permette alla query di riportare anche una parte opzionale di informazioni se sono disponibili; in ogni modo vengono riportate le informazioni non opzionali SELECT?e?est_cat?est_city?descr?fig WHERE {?e rdf:type vocab:estate?e vocab:estate_category?est_cat?e vocab:estate_city?est_city OPTIONAL {?p vocab:picture_idestate?e?p vocab:picture_description?descr?p vocab:picture_filename?fig Figure 19: d2r-servrer output SPARQLExplorer non fornisce un output signicativo a questa query ma lancia una exception Ciò è dovuto al fatto che la funzione dell'operatore OPTIONAL non è ancora stata implementata 19

22 Figure 20: SPARQLExplorer output exception 6 Estraggo l'identicativo e il cognome dell'agente, la data e l'ora in cui l'agente ha mostrato il locale al cliente, inoltre viene estratto l'identicativoe la zona del locale, ed il nome, cognome e il budget del cliente: È una query costruita dopo aver popolato consistentemente il database con lo scopo di eettuare parecchie proiezioni che coinvolgono più tabelle coinvolgendo vari tipi di join SELECT?id_agent?ag_surname?date?hour?estate?zona?client?client_name?client_bud WHERE{?s rdf:type vocab:agenda?s vocab:agenda_idagent?id_agent?id_agent vocab:agent_surname?ag_surname?s vocab:agenda_data?date?s vocab:agenda_hour?hour?s vocab:agenda_idestate?estate?estate vocab:estate_area?zona?s vocab:agenda_clientname?client?c vocab:customer_surname?client?c vocab:customer_budget?client_bud?c vocab:customer_name?client_name Attraverso il seguente costrutto?s vocab:agenda_clientname?client?c vocab:customer_surname?client?c vocab:customer_budget?client_bud Figure 21: d2r-server output 20

23 si è cercato di estrarre il budget del cliente presente nell'agenda utilizzando il suo cognome come campo su cui fare il join In questo caso agenda_clientname non è chiave esterna Questa costruzione ha fatto emergere alcuni aspetti signicativi Con D2R-Server la query è stata eseguita ecientemente, ovvero ad ogni cliente è stato associato il relativo budget, invece per quanto riguarda SPARQLExplorer tale operazione è stata interpretata come l'operazione di prodotto cartesiano, che è totalmente errato, quindi è stato generato un risultato con un numero di tuple spropositato tale per cui è impossibile visualizzare il risultato nale Volendo giusticare quanto appena detto si può mostrare l'uscita di una query analoga che proietta su un numero più limitato di attributi: *** SPARQL query: PREFIX rdf: PREFIX uni: PREFIX rdfs: PREFIX xsd: <http://wwww3org/1999/02/22-rdf-syntax-ns#> <file:///rosex/result/unidbsemanticontoowl#> <http://wwww3org/2000/01/rdf-schema#> <http://wwww3org/2001/xmlschema#> SELECT?owner_sur?client_bud WHERE{?o rdf:type uni:owner?o uni:ownersurname?owner_sur?c uni:customersurname?owner_sur?c uni:customerbudget?client_bud La query sopra eettua un join implicito sull'attributoche non è chiave esternadalla traduzione in codice sql si comprende che non viene eettuato comunque un'operazione di join implicito, ma al contrario un prodotto cartesiano tra 'ownwer' e 'customer' *** SQL query: SELECT ownersurname as owner_sur, customerbudget as client_bud FROM owner, customer Il risultato è palesemente il prodotto cartesiano *** SQL results: Figure 22: SPARQLExplorer output 21

Pubblicazione di Linked Data in e-commerce: Progettazione e Sperimentazione (Riassunto)

Pubblicazione di Linked Data in e-commerce: Progettazione e Sperimentazione (Riassunto) Universitá degli Studi di Milano Bicocca Dipartimento di Informatica, Sistemistica e Comunicazione Corso di Laurea in Informatica Pubblicazione di Linked Data in e-commerce: Progettazione e Sperimentazione

Dettagli

Enrico Fagnoni BOTK IN A NUTSHELL

Enrico Fagnoni <e.fagnoni@e-artspace.com> BOTK IN A NUTSHELL Enrico Fagnoni BOTK IN A NUTSHELL 20/01/2011 1 Business Ontology ToolKit Business Ontology Toolkit (BOTK) è un insieme estensibile di strumenti per realizzare applicazioni basate

Dettagli

Informatica Applicata 3.3 OWL. Antonella Poggi. Anno Accademico 2012-2013 DIPARTIMENTO DI SCIENZE DOCUMENTARIE LINGUISTICO FILOLOGICHE E GEOGRAFICHE

Informatica Applicata 3.3 OWL. Antonella Poggi. Anno Accademico 2012-2013 DIPARTIMENTO DI SCIENZE DOCUMENTARIE LINGUISTICO FILOLOGICHE E GEOGRAFICHE Informatica Applicata 3.3 OWL Antonella Poggi Anno Accademico 2012-2013 DIPARTIMENTO DI SCIENZE DOCUMENTARIE LINGUISTICO FILOLOGICHE E GEOGRAFICHE The Semantic Web Tower Antonella Poggi Pagina 2 Le ontologie

Dettagli

Estrattore Semantico di Ontologie da DB Relazionali. Luca Macagnino

Estrattore Semantico di Ontologie da DB Relazionali. Luca Macagnino Estrattore Semantico di Ontologie da DB Relazionali Luca Macagnino 1 Obiettivi Estrarre un ontologia da una sorgente di dati relazionale, al fine di rendere disponibili e dotate di semantica le informazioni

Dettagli

Strumenti di modellazione. Gabriella Trucco

Strumenti di modellazione. Gabriella Trucco Strumenti di modellazione Gabriella Trucco Linguaggio di modellazione Linguaggio formale che può essere utilizzato per descrivere (modellare) un sistema Il concetto trova applicazione soprattutto nell

Dettagli

Automatic Ontology-Based Knowledge Extraction from Web Documents

Automatic Ontology-Based Knowledge Extraction from Web Documents Automatic Ontology-Based Knowledge Extraction from Web Documents 5 gennaio 2009 1 Introduzione Al ne di ottenere un eettivo WEB semantico bisogna essere in grado di costruire servizi che consentano l'estrazione

Dettagli

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono

Dettagli

L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE

L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE Roccatello Ing. Eduard L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE Agenda Presentazione docente Definizione calendario Questionario pre corso

Dettagli

Relazione Pinakes3 Analisi modello di business (BOZZA) di Valeriano Sandrucci 08/09/07

Relazione Pinakes3 Analisi modello di business (BOZZA) di Valeriano Sandrucci 08/09/07 Relazione Pinakes3 Analisi modello di business (BOZZA) di Valeriano Sandrucci 08/09/07 1. Introduzione...3 1.2. Application vs Tool... 3 2. Componenti logiche di un modello... 6 3. Ontologie e Semantic

Dettagli

Web Semantico e Linked (Open) Data: dal Web dei documenti al Web dei dati. Tommaso Di Noia

Web Semantico e Linked (Open) Data: dal Web dei documenti al Web dei dati. Tommaso Di Noia Web Semantico e Linked (Open) Data: dal Web dei documenti al Web dei dati Tommaso Di Noia Politecnico di Bari http://sisinflab.poliba.it/dinoia/ t.dinoia@poliba.it Il Web dei documenti Il Web dei documenti:

Dettagli

Cultura Tecnologica di Progetto

Cultura Tecnologica di Progetto Cultura Tecnologica di Progetto Politecnico di Milano Facoltà di Disegno Industriale - DATABASE - A.A. 2003-2004 2004 DataBase DB e DataBase Management System DBMS - I database sono archivi che costituiscono

Dettagli

XML e Sistemi per la Gestione di Basi di Dati Relazionali

XML e Sistemi per la Gestione di Basi di Dati Relazionali Basi di Dati Distribuite a.a. 2004/2005 XML e Sistemi per la Gestione di Basi di Dati Relazionali Luca Noce - luxnox2000@yahoo.it Elisa Marino - marino_elisa@hotmail.com Obiettivi Necessità di conciliare

Dettagli

Il linguaggio SQL: le basi

Il linguaggio SQL: le basi Il linguaggio SQL: le basi Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLa-basi.pdf Sistemi Informativi L-A SQL: caratteristiche generali

Dettagli

Archivi e Basi di Dati

Archivi e Basi di Dati Archivi e Basi di Dati A B C File Programma 1 Programma 2 A B C File modificati Programma 1 DBMS DB Programma 2 Informatica Generale (CdL in E&C), A.A. 2000-2001 55 Problemi nella gestione di archivi separati

Dettagli

JDBC versione base. Le classi/interfacce principali di JDBC

JDBC versione base. Le classi/interfacce principali di JDBC JDBC versione base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte uno dei pregi è la completa indipendenza del codice

Dettagli

Basi di dati Il linguaggio SQL

Basi di dati Il linguaggio SQL Basi di dati Il linguaggio SQL teoria e pratica con Microsoft Access Riepilogando Nelle basi di dati esiste 1. una parte invariante nel tempo, lo schema, costituita dalle caratteristiche dei dati (nomi

Dettagli

Basi di dati Il linguaggio SQL

Basi di dati Il linguaggio SQL Riepilogando Basi di dati Il linguaggio SQL Nelle basi di dati esiste 1. una parte invariante nel tempo, lo schema, costituita dalle caratteristiche dei dati (nomi degli attributi, domini, 2. una parte

Dettagli

TEORIA sulle BASI DI DATI

TEORIA sulle BASI DI DATI TEORIA sulle BASI DI DATI A cura del Prof. Enea Ferri Cos è un DATA BASE E un insieme di archivi legati tra loro da relazioni. Vengono memorizzati su memorie di massa come un unico insieme, e possono essere

Dettagli

Volumi di riferimento

Volumi di riferimento Simulazione seconda prova Esame di Stato Gestione di un centro agroalimentare all ingrosso Parte prima) Un nuovo centro agroalimentare all'ingrosso intende realizzare una base di dati per l'attività di

Dettagli

Lezione V. Aula Multimediale - sabato 29/03/2008

Lezione V. Aula Multimediale - sabato 29/03/2008 Lezione V Aula Multimediale - sabato 29/03/2008 LAB utilizzo di MS Access Definire gli archivi utilizzando le regole di derivazione e descrivere le caratteristiche di ciascun archivio ASSOCIAZIONE (1:1)

Dettagli

Istituto Angioy Informatica BASI DI DATI. Prof. Ciaschetti

Istituto Angioy Informatica BASI DI DATI. Prof. Ciaschetti Istituto Angioy Informatica BASI DI DATI Prof. Ciaschetti Introduzione e prime definizioni Una Base di dati o Database è un archivio elettronico opportunamente organizzato per reperire in modo efficiente

Dettagli

Ministero dell Istruzione dell Università e della Ricerca M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE

Ministero dell Istruzione dell Università e della Ricerca M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE Pag. 1/1 Sessione ordinaria 2010 Seconda prova scritta Ministero dell Istruzione dell Università e della Ricerca M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE CORSO DI ORDINAMENTO Indirizzo: INFORMATICA

Dettagli

SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2011/12

SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2011/12 SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I Anno accademico 2011/12 DEFINIZIONE Il concetto di vista 2 È una relazione derivata. Si specifica l espressione che genera il suo contenuto.

Dettagli

SVILUPPO ONTOLOGIE PER LA GESTIONE DOCUMENTALE E LORO INTEGRAZIONE ALL INTERNO DI UNA PIATTAFORMA WEB

SVILUPPO ONTOLOGIE PER LA GESTIONE DOCUMENTALE E LORO INTEGRAZIONE ALL INTERNO DI UNA PIATTAFORMA WEB Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica SVILUPPO ONTOLOGIE PER LA GESTIONE DOCUMENTALE E LORO INTEGRAZIONE ALL INTERNO DI UNA PIATTAFORMA WEB Relatore Chiarissimo

Dettagli

Modelli relazionali. Esistono diversi modi di modellare un database. Il modello piu' usato al momento e' il modello relazionale

Modelli relazionali. Esistono diversi modi di modellare un database. Il modello piu' usato al momento e' il modello relazionale Cenni sui DATABASE Cos'e' un database Un database puo' essere definito come una collezione strutturata di record (dati) I dati sono memorizzati su un computer in modo opportuno e possono essere recuperati

Dettagli

Il Modello Relazionale

Il Modello Relazionale Il Modello Relazionale Il modello relazionale 1 Il modello relazionale Proposto da E. F. Codd nel 1970 per favorire l indipendenza dei dati e reso disponibile come modello logico in DBMS reali nel 1981

Dettagli

JDBC di base. Le classi/interfacce principali di JDBC

JDBC di base. Le classi/interfacce principali di JDBC JDBC di base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte completa indipendenza del codice dal tipo di database o di

Dettagli

M070 - ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE

M070 - ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE A.S. 2002/2003 - SECONDA PROVA - ISTRUZIONE TECNICA M070 - ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE Indirizzo: INFORMATICA progetto "Abacus" Tema di: INFORMATICA GENERALE E APPLICAZIONI TECNICO-SCIENTIFICHE

Dettagli

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

Dettagli

JDBC: Introduzione. Java Database Connectivity (JDBC): parte 1. Schema dei legami tra le classi principali. Principali classi/interfacce di JDBC

JDBC: Introduzione. Java Database Connectivity (JDBC): parte 1. Schema dei legami tra le classi principali. Principali classi/interfacce di JDBC JDBC: Introduzione Java Database Connectivity (JDBC): parte 1 Gianluca Moro DEIS - Università di Bologna gmoro@deis.unibo.it Java Database Connectivity è il package Java per l accesso a database relazionali

Dettagli

Concetti fondamentali dei database database Cos'è un database Principali database

Concetti fondamentali dei database database Cos'è un database Principali database Concetti fondamentali dei database Nella vita di tutti i giorni si ha la necessità di gestire e manipolare dati. Le operazioni possono essere molteplici: ricerca, aggregazione con altri e riorganizzazione

Dettagli

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

Data Base. Master Bio Info Reti e Basi di Dati Lezione 6 Data Base 1 Sommario I concetti fondamentali. Database Relazionale.. Query e SQL MySql, Creazione di un db in MySQL con PHPmyAdmin Creazione database e delle Tabelle Query Inserimento Ricerca Modifica

Dettagli

Esercitazione 8. Basi di dati e web

Esercitazione 8. Basi di dati e web Esercitazione 8 Basi di dati e web Rev. 1 Basi di dati - prof. Silvio Salza - a.a. 2014-2015 E8-1 Basi di dati e web Una modalità tipica di accesso alle basi di dati è tramite interfacce web Esiste una

Dettagli

Database e reti. Piero Gallo Pasquale Sirsi

Database e reti. Piero Gallo Pasquale Sirsi Database e reti Piero Gallo Pasquale Sirsi Approcci per l interfacciamento Il nostro obiettivo è, ora, quello di individuare i possibili approcci per integrare una base di dati gestita da un in un ambiente

Dettagli

L interfaccia a riga di comando di MySql

L interfaccia a riga di comando di MySql L interfaccia a riga di comando di MySql Una volta completata la procedura di installazione possiamo finalmente testare le funzionalità di MySQL. Sia che ci si trovi in ambiente Linux che Windows, l'interfaccia

Dettagli

DATABASE RELAZIONALI

DATABASE RELAZIONALI 1 di 54 UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II DIPARTIMENTO DI DISCIPLINE STORICHE ETTORE LEPORE DATABASE RELAZIONALI Dott. Simone Sammartino Istituto per l Ambiente l Marino Costiero I.A.M.C. C.N.R.

Dettagli

Università degli studi Roma Tre Dipartimento di informatica ed automazione. Tesi di laurea

Università degli studi Roma Tre Dipartimento di informatica ed automazione. Tesi di laurea Università degli studi Roma Tre Dipartimento di informatica ed automazione Tesi di laurea Reingegnerizzazione ed estensione di uno strumento per la generazione di siti Web Relatore Prof. P.Atzeni Università

Dettagli

MODULO 5 DATA BASE PROGRAMMA. Progettazione rapida introduzione alla progettazione di DB

MODULO 5 DATA BASE PROGRAMMA. Progettazione rapida introduzione alla progettazione di DB MODULO 5 DATA BASE MODULO 5 - DATA BASE 1 PROGRAMMA Introduzione: concetti generali di teoria Progettazione rapida introduzione alla progettazione di DB Utilizzo di Access pratica sulla creazione e l utilizzo

Dettagli

Introduzione alla Business Intelligence

Introduzione alla Business Intelligence SOMMARIO 1. DEFINIZIONE DI BUSINESS INTELLIGENCE...3 2. FINALITA DELLA BUSINESS INTELLIGENCE...4 3. DESTINATARI DELLA BUSINESS INTELLIGENCE...5 4. GLOSSARIO...7 BIM 3.1 Introduzione alla Pag. 2/ 9 1.DEFINIZIONE

Dettagli

Prototipo di analisi di dati per il monitoraggio di un indagine scelta dalla cooperativa

Prototipo di analisi di dati per il monitoraggio di un indagine scelta dalla cooperativa Progetto Casa intelligente per una longevità attiva ed indipendente dell'anziano DGR 1464, 7/11/2011 Ambient-Aware LIfeStyle tutor, Aiming at a BETter Health (Tutoraggio dello stile di vita basato sulla

Dettagli

INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO

INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO Basi di dati: Microsoft Access INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO Database e DBMS Il termine database (banca dati, base di dati) indica un archivio, strutturato in modo tale

Dettagli

Informatica Documentale

Informatica Documentale Informatica Documentale Ivan Scagnetto (scagnett@dimi.uniud.it) Stanza 3, Nodo Sud Dipartimento di Matematica e Informatica Via delle Scienze, n. 206 33100 Udine Tel. 0432 558451 Ricevimento: giovedì,

Dettagli

INFORMATICA PER L IMPRESA (Docente Prof. Alfredo Garro) ESERCIZIO 3

INFORMATICA PER L IMPRESA (Docente Prof. Alfredo Garro) ESERCIZIO 3 INFORMATICA PER L IMPRESA (Docente Prof. Alfredo Garro) ESERCIZIO 3 L azienda Plastic S.p.A, operante nel settore materie plastiche, ha deciso di dotarsi di un Sistema Informativo per la gestione del suo

Dettagli

Quesiti 6 e 7) - 9 - Creiamo il file query4.php su una piattaforma OPEN SOURCE usando in linguaggio PHP ospitato su un webserver APACHE per interrogare un database MYSQL. Tale file verrà attivato cliccando

Dettagli

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Dettagli

TRADUZIONE. Tiziana Possemato. Il progetto ITACH@

TRADUZIONE. Tiziana Possemato. Il progetto ITACH@ OpLiDaF Open Linked Data Framework: una piattaforma per la creazione e la pubblicazione di linked data Tiziana Possemato Il progetto ITACH@ Il progetto ITACH@, Innovative Technologies And Cultural Heritage

Dettagli

Università degli Studi di Bologna Facoltà di Ingegneria. Tecnologie Web L-A A.A. 2014 2015. Esercitazione 08 DAO e Hibernate

Università degli Studi di Bologna Facoltà di Ingegneria. Tecnologie Web L-A A.A. 2014 2015. Esercitazione 08 DAO e Hibernate Università degli Studi di Bologna Facoltà di Ingegneria Tecnologie Web L-A A.A. 2014 2015 Esercitazione 08 DAO e Hibernate Agenda Pattern DAO e framework Hibernate progetto d'esempio relativo alla gestione

Dettagli

INTRODUZIONE. Data Base Management Systems evoluzione tecniche gestione dati

INTRODUZIONE. Data Base Management Systems evoluzione tecniche gestione dati INTRODUZIONE Accesso ai dati tramite DBMS Livelli di astrazione Modello dei dati: schema / istanza / metadati Alcuni modelli dei dati Linguaggi per DBMS Architettura di base di un DBMS cesarini - BDSI

Dettagli

Metodi per la Gestione dei Dati (lezioni di laboratorio)

Metodi per la Gestione dei Dati (lezioni di laboratorio) Università degli Studi di Modena e Reggio Emilia Facoltà di Scienze della Comunicazione e dell Economia Corso di Laurea in Comunicazione e Marketing Titolare del corso: ing. Stefano SETTI Lezioni di laboratorio

Dettagli

Basi Di Dati, 09/12/2003

Basi Di Dati, 09/12/2003 Basi Di Dati, 09/12/2003 Una concessionaria di auto nuove ed usate vuole automatizzare alcune delle sue attività. L attività che la concessionaria vuole automatizzare riguarda la gestione delle auto nuove,

Dettagli

2104 volume III Programmazione

2104 volume III Programmazione 2103 SQLite Capitolo 77 77.1 Utilizzo generale................................. 2104 77.1.1 Utilizzo di sqlite3».......................... 2104 77.1.2 Copie di sicurezza............................ 2106

Dettagli

Introduzione alle Basi di Dati

Introduzione alle Basi di Dati 1 Introduzione alle Basi di Dati Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova Sistema Azienda 2 Sistema organizzativo è costituito da una serie di risorse e di regole necessarie

Dettagli

SCHEDA DI PROGRAMMAZIONE DISCIPLINARE DA RIPORTARE SUL P.O.F. A.S. 2014-2015. Ripasso programmazione ad oggetti. Basi di dati: premesse introduttive

SCHEDA DI PROGRAMMAZIONE DISCIPLINARE DA RIPORTARE SUL P.O.F. A.S. 2014-2015. Ripasso programmazione ad oggetti. Basi di dati: premesse introduttive SCHEDA DI PROGRAMMAZIONE DISCIPLINARE DA RIPORTARE SUL P.O.F. A.S. 2014-2015 ASSE DISCIPLINA DOCENTE MATEMATICO INFORMATICA Cattani Barbara monoennio CLASSE: quinta CORSO D SEZIONE LICEO SCIENZE APPLICATE

Dettagli

Vincoli di Integrità Approccio dichiarativo alla loro implementazione

Vincoli di Integrità Approccio dichiarativo alla loro implementazione Vincoli di Integrità Approccio dichiarativo alla loro implementazione Antonella Poggi Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Progetto di Applicazioni Software Anno accademico

Dettagli

MICROSOFT ACCESS. Fabrizio Barani 1

MICROSOFT ACCESS. Fabrizio Barani 1 MICROSOFT ACCESS Premessa ACCESS è un programma di gestione di banche dati, consente la creazione e modifica dei contenitori di informazioni di un database (tabelle), l inserimento di dati anche mediante

Dettagli

Uso delle variabili di alias. SQL slide aggiuntive. Interrogazione 25. Interrogazione 26

Uso delle variabili di alias. SQL slide aggiuntive. Interrogazione 25. Interrogazione 26 Uso delle variabili di alias SQL slide aggiuntive Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione educazione Non solo per disambiguare la notazione

Dettagli

Al giorno d oggi, i sistemi per la gestione di database

Al giorno d oggi, i sistemi per la gestione di database Introduzione Al giorno d oggi, i sistemi per la gestione di database implementano un linguaggio standard chiamato SQL (Structured Query Language). Fra le altre cose, il linguaggio SQL consente di prelevare,

Dettagli

Introduzione ai Sistemi di Gestione di Basi di Dati XML

Introduzione ai Sistemi di Gestione di Basi di Dati XML Introduzione ai Sistemi di Gestione di Basi di Dati Introduzione ai Sistemi di Gestione di Basi di Dati Obiettivi Memorizzare ed estrarre documenti da RDBMS. Trasformare dati tabellari in dati e viceversa.

Dettagli

Master in Evidence-Based Practice e Metodologia della Ricerca Clinico Assistenziale Mita Parenti. Introduzione ai Database Relazionali

Master in Evidence-Based Practice e Metodologia della Ricerca Clinico Assistenziale Mita Parenti. Introduzione ai Database Relazionali Master in Evidence-Based Practice e Metodologia della Ricerca Clinico Assistenziale Mita Parenti Introduzione ai Database Relazionali Obiettivo e Struttura del corso Comprendere i concetti e gli aspetti

Dettagli

Dati relazionali e XML

Dati relazionali e XML Dati relazionali e Introduzione (1) Memorizzazione dei dati Utilizzo dei dati Applicazione DBMS relazionale Applicazione Applicazione 2 Introduzione (2) Memorizzazione dei dati Utilizzo dei dati Applicazione

Dettagli

Una metodologia di progettazione di applicazioni web centrate sui dati

Una metodologia di progettazione di applicazioni web centrate sui dati Una metodologia di progettazione di applicazioni web centrate sui dati A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 1 / 2 0 1 2 Progettazione logica di un sito web centrato sui dati Si

Dettagli

A. Bardine - Introduzione a PostgreSQL. PostgreSQL è un software relazionale e ad oggetti per la gestione di basi di dati

A. Bardine - Introduzione a PostgreSQL. PostgreSQL è un software relazionale e ad oggetti per la gestione di basi di dati Basi di dati PostgreSQL è un software relazionale e ad oggetti per la gestione di basi di dati PostgreSQL è Open-Source ed il suo sviluppo procede da 15 anni il suo codice sorgente è quindi disponibile

Dettagli

Basi di Dati. Programmazione e gestione di sistemi telematici

Basi di Dati. Programmazione e gestione di sistemi telematici Basi di Dati. Programmazione e gestione di sistemi telematici Coordinatore: Prof. Paolo Nesi Docenti: Prof. Paolo Nesi Dr.sa Michela Paolucci Dr. Emanuele Bellini SQL SQL = Structured Query Language Linguaggio

Dettagli

Istituto Tecnico Industriale Statale Dionigi Scano Cagliari. Candidato: Medda Daniele Classe 5ª C Informatica Anno scolastico 2013/2014.

Istituto Tecnico Industriale Statale Dionigi Scano Cagliari. Candidato: Medda Daniele Classe 5ª C Informatica Anno scolastico 2013/2014. Istituto Tecnico Industriale Statale Dionigi Scano Cagliari Candidato: Medda Daniele Classe 5ª C Informatica Anno scolastico 2013/2014 relate Un esperimento di social networking open source 1 Introduzione

Dettagli

Sistemi di Elaborazione delle Informazioni (C.I. 15) Access

Sistemi di Elaborazione delle Informazioni (C.I. 15) Access Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Sistemi di Elaborazione delle Informazioni (C.I. 15) Anno Accademico 2009/2010 Docente: ing. Salvatore Sorce Access C.d.L. in Igiene

Dettagli

3.1 Introduzione al Web Semantico

3.1 Introduzione al Web Semantico Informatica Applicata 3.1 Introduzione al Web Semantico Antonella Poggi Anno Accademico 2012-2013 DIPARTIMENTO DI SCIENZE DOCUMENTARIE LINGUISTICO FILOLOGICHE E GEOGRAFICHE 3.1 Introduzione al Web Semantico*

Dettagli

M070 - ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE CORSO DI ORDINAMENTO Indirizzo: INFORMATICA

M070 - ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE CORSO DI ORDINAMENTO Indirizzo: INFORMATICA M070 - ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE CORSO DI ORDINAMENTO Indirizzo: INFORMATICA Tema di: INFORMATICA GENERALE E APPLICAZIONI TECNICO SCIENTIFICHE Un negozio on line chiede che sia progettato

Dettagli

Introduzione alla Business Intelligence. E-mail: infobusiness@zucchetti.it

Introduzione alla Business Intelligence. E-mail: infobusiness@zucchetti.it Introduzione alla Business Intelligence E-mail: infobusiness@zucchetti.it Introduzione alla Business Intelligence Introduzione Definizione di Business Intelligence: insieme di processi per raccogliere

Dettagli

RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE TABELLA ATTORI

RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE TABELLA ATTORI Nicoletta Barbaro 4C Mercurio TRACCIA DEL PROBLEMA: RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE TABELLA ATTORI Un'azienda che distribuisce film in formato dvd chiede ad una software house(4c mercurio)

Dettagli

Simonotti Graziano DATABASE

Simonotti Graziano DATABASE DATABASE 1 - Che cos'è un database? Il database è un archivio di dati, che può essere gestito con sistemi informatici oppure in modo manuale. 2 - Come si chiamano i programmi che gestiscono gli archivi?

Dettagli

Informatica Generale Andrea Corradini. 19 - Sistemi di Gestione delle Basi di Dati

Informatica Generale Andrea Corradini. 19 - Sistemi di Gestione delle Basi di Dati Informatica Generale Andrea Corradini 19 - Sistemi di Gestione delle Basi di Dati Sommario Concetti base di Basi di Dati Il modello relazionale Relazioni e operazioni su relazioni Il linguaggio SQL Integrità

Dettagli

Basi di dati. Basi di dati = database. Basi di dati

Basi di dati. Basi di dati = database. Basi di dati Basi di dati Da leggere: Cap. 6 Sawyer, Williams (testo A) Basi di dati = database Sono una delle applicazioni informatiche che hanno avuto il maggiore utilizzo in uffici, aziende, servizi -> oggi anche

Dettagli

Semantica: un sistema per l indicizzazione, il retrieval semantico di learning objects e la generazione automatica di corsi didattici

Semantica: un sistema per l indicizzazione, il retrieval semantico di learning objects e la generazione automatica di corsi didattici Tesi di laurea Semantica: un sistema per l indicizzazione, il retrieval semantico di learning objects e la generazione automatica di corsi didattici Anno Accademico 2007/2008 Relatori Ch.mo prof. Angelo

Dettagli

ESTEEM meeting Sirmione, 16 17 Novembre 2006 Hotel Terme di Sirmione

ESTEEM meeting Sirmione, 16 17 Novembre 2006 Hotel Terme di Sirmione ESTEEM meeting Sirmione, 16 17 Novembre 2006 Hotel Terme di Sirmione NAME ORGANIZATION Tiziana Catarci, Diego Milano, Carola Aiello, Sara Tucci Piergiovanni, Silvia Bonomi Silvana Castano, Stefano Montanelli

Dettagli

MySQL Command Line Client: operazioni fondamentali

MySQL Command Line Client: operazioni fondamentali MySQL Command Line Client: operazioni fondamentali INTRODUZIONE Il RDBMS MySQL, oltre a fornire un applicazione che abbia un interfaccia user-friendly, ha a disposizione anche un altro client, che svolge

Dettagli

GERARCHIE RICORSIVE - SQL SERVER 2008

GERARCHIE RICORSIVE - SQL SERVER 2008 GERARCHIE RICORSIVE - SQL SERVER 2008 DISPENSE http://dbgroup.unimo.it/sia/gerarchiericorsive/ L obiettivo è quello di realizzare la tabella di navigazione tramite una query ricorsiva utilizzando SQL SERVER

Dettagli

Vincoli di Integrità

Vincoli di Integrità Vincoli di Integrità Antonella Poggi Dipartimento di informatica e Sistemistica Sapienza Università di Roma Progetto di Applicazioni Software Anno accademico 2010-2011 Questi lucidi sono stati prodotti

Dettagli

2.1 Introduzione ai linguaggi di marcatura

2.1 Introduzione ai linguaggi di marcatura Fondamenti di Informatica Sistemi di Elaborazione delle Informazioni Informatica Applicata 2.1 Introduzione ai linguaggi di marcatura Antonella Poggi Anno Accademico 2012-2013 DIPARTIMENTO DI SCIENZE DOCUMENTARIE

Dettagli

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database Corso di Informatica Modulo T3 B3 Programmazione lato server 1 Prerequisiti Architettura client/server Conoscenze generali sui database 2 1 Introduzione Lo scopo di questa Unità è descrivere gli strumenti

Dettagli

Appunti lezione Database del 07/10/2015

Appunti lezione Database del 07/10/2015 Appunti lezione Database del 07/10/2015 Nelle lezioni precedenti si è visto come qualunque applicazione informativa è almeno formata da tre livelli o layers che ogni progettista conosce e sa gestire: Livello

Dettagli

Uso dei data bases con PHP. Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni

Uso dei data bases con PHP. Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni Uso dei data bases con PHP Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni MDAC MDAC è l acronimo di Microsoft Data Access Component e fa parte della tecnologia Microsoft denominata Universal

Dettagli

Basi di dati. Introduzione a PostgreSQL. K.Donno - Introduzione a PostgreSQL

Basi di dati. Introduzione a PostgreSQL. K.Donno - Introduzione a PostgreSQL Basi di dati Introduzione a PostgreSQL Introduzione a PostgreSQL PostgreSQL è un software relazionale e ad oggetti per la gestione di basi di dati PostgreSQL è Open-Source ed il suo sviluppo procede da

Dettagli

Evoluzioni di Ontologie in Frame Logic

Evoluzioni di Ontologie in Frame Logic Evoluzioni di Ontologie in Frame Logic Francesco Mele 1, Antonio Sorgente 1, Giuseppe Vettigli 1 1 C.N.R. Istituto di Cibernetica E. Caianiello, Via Campi Flegrei, 34 Pozzuoli, Naples, Italy. {f.mele,

Dettagli

Introduzione. Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei

Introduzione. Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei Introduzione Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei. ESEMPI DI INSIEMI DI DATI DA ORGANIZZARE ED USARE IN MANIERA EFFICIENTE Introduzione Più utenti con

Dettagli

Introduzione ai database I concetti fondamentali Database e DBMS Per comprendere appieno cos'è un Database e quali sono i vantaggi legati al suo impiego, soprattutto nel settore gestionale, è necessario

Dettagli

Un esempio di applicazione client / server:

Un esempio di applicazione client / server: LEZIONE DEL 04/11/2008 RIEPILOGO Il nostro obiettivo è imparare a progettare DataBase e applicazioni di DataBase e per fare questo, adottiamo il cosiddetto approccio a 3 livelli: MODELLO CONCETTUALE DIAGRAMMA

Dettagli

Programmazione Java Avanzata

Programmazione Java Avanzata Programmazione Java Avanzata Accesso ai Dati Ing. Giuseppe D'Aquì Testi Consigliati Eclipse In Action Core J2EE Patterns - DAO [http://java.sun.com/blueprints/corej2eepatterns/patterns/dataaccessobject.html]

Dettagli

Laboratorio Matematico Informatico 2

Laboratorio Matematico Informatico 2 Laboratorio Matematico Informatico 2 (Matematica specialistica) A.A. 2006/07 Pierluigi Amodio Dipartimento di Matematica Università di Bari Laboratorio Matematico Informatico 2 p. 1/1 Informazioni Orario

Dettagli

Configurazione Stampe

Configurazione Stampe Configurazione Stampe Validità: Febbraio 2013 Questa pubblicazione è puramente informativa. SISECO non offre alcuna garanzia, esplicita od implicita, sul contenuto. I marchi e le denominazioni sono di

Dettagli

CdL MAGISTRALE in INFORMATICA

CdL MAGISTRALE in INFORMATICA 05/11/14 CdL MAGISTRALE in INFORMATICA A.A. 2014-2015 corso di SISTEMI DISTRIBUITI 7. I processi : il naming Prof. S.Pizzutilo Il naming dei processi Nome = stringa di bit o di caratteri utilizzata per

Dettagli

NoSQL http://nosql. nosql-database.org/ Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Linguaggi e Tecnologie Web A. A.

NoSQL http://nosql. nosql-database.org/ Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Linguaggi e Tecnologie Web A. A. Corso di Laurea Specialistica in Ingegneria Informatica Corso di Linguaggi e Tecnologie Web A. A. 2011-2012 NoSQL http://nosql nosql-database.org/ Eufemia TINELLI Cosa è NoSQL? 1998 il termine NoSQL è

Dettagli

Introduzione ai database relazionali. www.mariogentili.it mario.gentili@mariogentili.it

Introduzione ai database relazionali. www.mariogentili.it mario.gentili@mariogentili.it Introduzione ai database relazionali 1 Introduzione ai database relazionali 2 Elementi di progetto di un DB relazionale 3 Costruzione e visita di una base di dati 4 Access ed i suoi oggetti 5 Operare sui

Dettagli

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati Corso di Access Modulo L2A (Access) 1.1 Concetti di base 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione Un ambiente DBMS è un applicazione che consente

Dettagli

Structured Query Language parte 1

Structured Query Language parte 1 Consorzio per la formazione e la ricerca in Ingegneria dell'informazione Structured Query Language parte 1 Come interrogare una base di dati relazionale ed avere la risposta esatta Docente: Gennaro Pepe

Dettagli

RenderCAD S.r.l. Formazione

RenderCAD S.r.l. Formazione Corso Descrizione La durata di questo corso è complessivamente di ore 150 di cui 85 ore di teoria, 35 ore di pratica e 30 ore di stage in azienda. Nel nostro territorio esiste una richiesta di tale figura,

Dettagli

Introduzione a Oracle 9i

Introduzione a Oracle 9i Introduzione a Oracle 9i Ing. Vincenzo Moscato - Overview sull architettura del DBMS Oracle 9i L architettura di Oracle 9i si basa sul classico paradigma di comunicazione client-server, in cui sono presenti

Dettagli

Il linguaggio SQL: le basi. Versione elettronica: SQLa-basi.pdf

Il linguaggio SQL: le basi. Versione elettronica: SQLa-basi.pdf Il linguaggio SQL: le basi Versione elettronica: SQLa-basi.pdf SQL: caratteristiche generali SQL (Structured Query Language) è il linguaggio standard de facto per DBMS relazionali, che riunisce in sé funzionalità

Dettagli

Ricorsione in SQL-99. Introduzione. Idea di base

Ricorsione in SQL-99. Introduzione. Idea di base Ricorsione in SQL-99 Introduzione In SQL2 non è possibile definire interrogazioni che facciano uso della ricorsione Esempio Voli(lineaAerea, da, a, parte, arriva) non è possibile esprimere l interrogazione

Dettagli

Istruzioni per il server

Istruzioni per il server Istruzioni per il server Alessandro Bugatti (alessandro.bugatti@istruzione.it) 9 dicembre 2007 Introduzione Questa breve dispensa riassume brevemente le procedure per connettersi al server che ci permetterà

Dettagli

Le Basi di Dati. Le Basi di Dati

Le Basi di Dati. Le Basi di Dati Le Basi di Dati 20/05/02 Prof. Carlo Blundo 1 Le Basi di Dati Le Base di Dati (database) sono un insieme di tabelle di dati strutturate in maniera da favorire la ricerca di informazioni specializzate per

Dettagli