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: < <file:///rosex/result/unidbsemanticontoowl#> < < 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

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

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

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

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

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

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio

Dettagli

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI Documenti su Internet LINGUAGGI DI MARKUP Internet permette (tra l altro) di accedere a documenti remoti In generale, i documenti acceduti via Internet sono multimediali, cioè che possono essere riprodotti

Dettagli

Esercizio data base "Biblioteca"

Esercizio data base Biblioteca Rocco Sergi Esercizio data base "Biblioteca" Database 2: Biblioteca Testo dell esercizio Si vuole realizzare una base dati per la gestione di una biblioteca. La base dati conterrà tutte le informazioni

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

Capitolo 13. Interrogare una base di dati

Capitolo 13. Interrogare una base di dati Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per

Dettagli

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

LA GESTIONE DELLE VISITE CLIENTI VIA WEB LA GESTIONE DELLE VISITE CLIENTI VIA WEB L applicazione realizzata ha lo scopo di consentire agli agenti l inserimento via web dei dati relativi alle visite effettuate alla clientela. I requisiti informatici

Dettagli

Progetto ittorario Anno scol. 2013-2014

Progetto ittorario Anno scol. 2013-2014 PROGETTO ittorario Scopo: Creazione di una pagina web che mostri l orario di un docente, della classe della materia o dell aula a discrezione dell utente. Sviluppatori: Progetto sviluppato dalla classe

Dettagli

Hub-PA Versione 1.0.6 Manuale utente

Hub-PA Versione 1.0.6 Manuale utente Hub-PA Versione 1.0.6 Manuale utente (Giugno 2014) Hub-PA è la porta d ingresso al servizio di fatturazione elettronica verso la Pubblica Amministrazione (PA) a disposizione di ogni fornitore. Questo manuale

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

Dispensa DB Mercato del Lavoro

Dispensa DB Mercato del Lavoro Dispensa DB Mercato del Lavoro Assumiamo come partenza che nella tabella Stato presente nel DB sono elencati tre codici, con i quali possiamo agevolmente sviluppare delle query che poi, a sua volta saranno

Dettagli

EXPLOit Content Management Data Base per documenti SGML/XML

EXPLOit Content Management Data Base per documenti SGML/XML EXPLOit Content Management Data Base per documenti SGML/XML Introduzione L applicazione EXPLOit gestisce i contenuti dei documenti strutturati in SGML o XML, utilizzando il prodotto Adobe FrameMaker per

Dettagli

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da ARPA Fonte Dati Regione Toscana Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.0 Data emissione 06/08/13 Stato DRAFT 1 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 2 Sommario

Dettagli

Introduzione al corso

Introduzione al corso Introduzione al corso Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: introduzione.pdf Sistemi Informativi L-B Docente Prof. Paolo Ciaccia

Dettagli

I TUTORI. I tutori vanno creati la prima volta seguendo esclusivamente le procedure sotto descritte.

I TUTORI. I tutori vanno creati la prima volta seguendo esclusivamente le procedure sotto descritte. I TUTORI Indice Del Manuale 1 - Introduzione al Manuale Operativo 2 - Area Tutore o Area Studente? 3 - Come creare tutti insieme i Tutori per ogni alunno? 3.1 - Come creare il secondo tutore per ogni alunno?

Dettagli

Progettazione della componente applicativa

Progettazione della componente applicativa 7 Progettazione della componente applicativa In questo capitolo illustreremo la progettazione della componente applicativa di un sistema informativo. La metodologia da noi utilizzata sarà basata sull utilizzo

Dettagli

1. BASI DI DATI: GENERALITÀ

1. BASI DI DATI: GENERALITÀ 1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente

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

Esercizio sui data base "Gestione conti correnti"

Esercizio sui data base Gestione conti correnti Database "Gestione conto correnti" Testo del quesito La banca XYZ vuole informatizzare le procedure di gestione dei conti correnti creando un archivio dei correntisti (Cognome, Nome, indirizzo, telefono,

Dettagli

Introduzione alla teoria dei database relazionali. Come progettare un database

Introduzione alla teoria dei database relazionali. Come progettare un database Introduzione alla teoria dei database relazionali Come progettare un database La struttura delle relazioni Dopo la prima fase di individuazione concettuale delle entità e degli attributi è necessario passare

Dettagli

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo GESTIONE PROGETTO FORMATIVO Pag. 1 di 38 Portale tirocini Manuale utente Per la gestione del Progetto Formativo GESTIONE PROGETTO FORMATIVO Pag. 2 di 38 INDICE 1. INTRODUZIONE... 3 2. ACCESSO AL SISTEMA...

Dettagli

Dispensa di database Access

Dispensa di database Access Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di

Dettagli

Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass

Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass 0_Iniziare con GRASS Avvio di Grass e creazione della cartella del Database di GRASS Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore ARPA Fonte Dati Regione Toscana 1 Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.1 Data emissione 09/10/13 Stato FINAL 2 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 1.1 09/10/2013

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

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo

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

Sviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL.

Sviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL. Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL. 2ELHWWLYL GD UDJJLXQJHUH SHU JOL VWXGHQWL alla fine dell esercitazione gli studenti dovranno essere in grado di: 1. utilizzare

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

Ottimizzazione delle interrogazioni (parte I)

Ottimizzazione delle interrogazioni (parte I) Ottimizzazione delle interrogazioni I Basi di Dati / Complementi di Basi di Dati 1 Ottimizzazione delle interrogazioni (parte I) Angelo Montanari Dipartimento di Matematica e Informatica Università di

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

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione SISTEMI INFORMATIVI AVANZATI -2010/2011 1 Introduzione In queste dispense, dopo aver riportato una sintesi del concetto di Dipendenza Funzionale e di Normalizzazione estratti dal libro Progetto di Basi

Dettagli

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

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

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

PROCEDURE DI FIRMA PER I PIP PRESENTATI NEI BANDI APPRENDISTATO

PROCEDURE DI FIRMA PER I PIP PRESENTATI NEI BANDI APPRENDISTATO PROCEDURE DI FIRMA PER I PIP PRESENTATI NEI BANDI APPRENDISTATO 1 - INTRODUZIONE Scopo del presente documento è descrivere le procedure attuabili per la firma dei PIP presentati nei bandi apprendistato

Dettagli

Database 1 biblioteca universitaria. Testo del quesito

Database 1 biblioteca universitaria. Testo del quesito Database 1 biblioteca universitaria Testo del quesito Una biblioteca universitaria acquista testi didattici su indicazione dei professori e cura il prestito dei testi agli studenti. La biblioteca vuole

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

Access. P a r t e p r i m a

Access. P a r t e p r i m a Access P a r t e p r i m a 1 Esempio di gestione di database con MS Access 2 Cosa è Access? Access e un DBMS che permette di progettare e utilizzare DB relazionali Un DB Access e basato sui concetti di

Dettagli

Presentazione della pratica online

Presentazione della pratica online Presentazione della pratica online Dalla prima pagina del sito del comune http://www.comune.ficulle.tr.it/, selezionate Sportello Unico Attività Produttive ed Edilizia Selezionate ora ACCEDI nella schermata

Dettagli

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni

Dettagli

Guida alla compilazione on-line delle domande di Dote Scuola A.S. 2014-2015 - per le Famiglie INDICE

Guida alla compilazione on-line delle domande di Dote Scuola A.S. 2014-2015 - per le Famiglie INDICE Guida alla compilazione on-line delle domande di Dote Scuola A.S. 2014-2015 - per le Famiglie INDICE Introduzione... 2 Riconoscimento del soggetto richiedente da parte del sistema... 2 Elenco dei servizi

Dettagli

Il database management system Access

Il database management system Access Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio

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

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

MODULO STAMPA BOLLETTINO PDF

MODULO STAMPA BOLLETTINO PDF MODULO STAMPA BOLLETTINO PDF MODULO STAMPA BOLLETTINO PDF pagina 2 di 7 INTRODUZIONE Il modulo STAMPA BOLLETTINO PDF è una applicazione stand-alone, sviluppata in linguaggio Java, che permette di produrre

Dettagli

Introduzione ai database relazionali

Introduzione ai database relazionali Introduzione ai database relazionali Tabelle Un database (DB) è costituito da un insieme di file che memorizzano dati opportunamente organizzati Nei database relazionale tale organizzazione è costituita

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni Introduzione Ai Data Bases Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni I Limiti Degli Archivi E Il Loro Superamento Le tecniche di gestione delle basi di dati nascono

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

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: Il modello relazionale I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: 1. forniscono sistemi semplici ed efficienti per rappresentare

Dettagli

Gestione Voti Scolastici

Gestione Voti Scolastici Gestione Voti Scolastici Progettare un modello di dati per la gestione delle informazioni riguardanti le prove, nelle diverse materie, sostenute dagli studenti di una scuola media superiore. Il sistema

Dettagli

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati Basi di dati Il Modello Relazionale dei Dati Proposto da E. Codd nel 1970 per favorire l indipendenza dei dati Disponibile come modello logico in DBMS reali nel 1981 (non è facile realizzare l indipendenza

Dettagli

Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress

Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress Copyright Andrea Giavara wppratico.com Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress 1. Il pannello amministrativo 2. I dati importanti 3. Creare il database - Cpanel - Plesk

Dettagli

Stefania Marrara - Esercitazioni di Tecnologie dei Sistemi Informativi. Integrazione di dati di sorgenti diverse

Stefania Marrara - Esercitazioni di Tecnologie dei Sistemi Informativi. Integrazione di dati di sorgenti diverse Politecnico di Milano View integration 1 Integrazione di dati di sorgenti diverse Al giorno d oggi d la mole di informazioni che viene gestita in molti contesti applicativi è enorme. In alcuni casi le

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

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

Guida alla compilazione on-line delle domande di Dote Scuola A.S. 2013-2014 - per le Famiglie INDICE

Guida alla compilazione on-line delle domande di Dote Scuola A.S. 2013-2014 - per le Famiglie INDICE Guida alla compilazione on-line delle domande di Dote Scuola A.S. 2013-2014 - per le Famiglie INDICE Introduzione... 2 Riconoscimento del soggetto richiedente da parte del sistema... 2 Elenco dei servizi

Dettagli

Progetto di Ingegneria del Software 2. SWIMv2

Progetto di Ingegneria del Software 2. SWIMv2 Progetto di Ingegneria del Software 2 2012/2013 SWIMv2 Guida di installazione Docente: Prof. Luca Mottola Davide Brambilla Antonio Caputo Paolo Caputo 1 Introduzione La piattaforma è stata sviluppata come

Dettagli

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

Siti web centrati sui dati Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

Dettagli

UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database

UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database Per comprendere al meglio cosa sia un database, dobbiamo prima introdurre il concetto di

Dettagli

risulta (x) = 1 se x < 0.

risulta (x) = 1 se x < 0. Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente

Dettagli

Database 3 affitto veicoli. Testo del quesito

Database 3 affitto veicoli. Testo del quesito Database 3 affitto veicoli Testo del quesito La società salento trasporti dispone di diversi tipi di veicoli (moto, auto, furgoni, camion, ) che affitta ai propri clienti. La società vuole informatizzare

Dettagli

2 Fortino Lugi. Figura Errore. Nel documento non esiste testo dello stile specificato.-3 -- Finestra attiva o nuovo documento

2 Fortino Lugi. Figura Errore. Nel documento non esiste testo dello stile specificato.-3 -- Finestra attiva o nuovo documento 1 Fortino Lugi STAMPA UNIONE OFFICE 2000 Vi sarà capitato sicuramente di ricevere lettere pubblicitarie indirizzate personalmente a voi; ovviamente quelle missive non sono state scritte a mano, ma utilizzando

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

ControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi

ControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi ControlloCosti Cubi OLAP I cubi OLAP Un Cubo (OLAP, acronimo di On-Line Analytical Processing) è una struttura per la memorizzazione e la gestione dei dati che permette di eseguire analisi in tempi rapidi,

Dettagli

Gestione ed analisi di base dati nell epidemiologia. delle malattie infettive

Gestione ed analisi di base dati nell epidemiologia. delle malattie infettive Università degli Studi di Torino - Facoltà di Medicina Veterinaria Laboratorio di epidemiologia delle malattie infettive Scuola Specializzazione in Sanità Animale, Allevamento e Produzioni Zootecniche

Dettagli

2.0 Gli archivi. 2.1 Inserire gli archivi. 2.2 Archivio Clienti, Fornitori, Materiali, Noleggi ed Altri Costi. Impresa Edile Guida all uso

2.0 Gli archivi. 2.1 Inserire gli archivi. 2.2 Archivio Clienti, Fornitori, Materiali, Noleggi ed Altri Costi. Impresa Edile Guida all uso 2.0 Gli archivi All interno della sezione archivi sono inserite le anagrafiche. In pratica si stratta di tutti quei dati che ricorreranno costantemente all interno dei documenti. 2.1 Inserire gli archivi

Dettagli

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino Integration Services Project SQL Server 2005 Integration Services Permette di gestire tutti i processi di ETL Basato sui progetti di Business Intelligence di tipo Integration services Project SQL Server

Dettagli

MODELLO RELAZIONALE. Introduzione

MODELLO RELAZIONALE. Introduzione MODELLO RELAZIONALE Introduzione E' stato proposto agli inizi degli anni 70 da Codd finalizzato alla realizzazione dell indipendenza dei dati, unisce concetti derivati dalla teoria degli insiemi (relazioni)

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

MODULO 5 Appunti ACCESS - Basi di dati

MODULO 5 Appunti ACCESS - Basi di dati MODULO 5 Appunti ACCESS - Basi di dati Lezione 1 www.mondopcnet.com Modulo 5 basi di dati Richiede che il candidato dimostri di possedere la conoscenza relativa ad alcuni concetti fondamentali sui database.

Dettagli

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi Capitolo Terzo Primi passi con Microsoft Access Sommario: 1. Aprire e chiudere Microsoft Access. - 2. Aprire un database esistente. - 3. La barra multifunzione di Microsoft Access 2007. - 4. Creare e salvare

Dettagli

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.

Dettagli

Le query. Lezione 6 a cura di Maria Novella Mosciatti

Le query. Lezione 6 a cura di Maria Novella Mosciatti Lezione 6 a cura di Maria Novella Mosciatti Le query Le query sono oggetti del DB che consentono di visualizzare, modificare e analizzare i dati in modi diversi. Si possono utilizzare query come origine

Dettagli

Fasi di creazione di un programma

Fasi di creazione di un programma Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

Architettura MVC-2: i JavaBeans

Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans Alberto Belussi anno accademico 2008/2009 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

Dettagli

A T I C _W E B G U I D A AL L A N A V I G A Z I O N E S U L S I T O D E L G R U P P O. Rev. 2.1

A T I C _W E B G U I D A AL L A N A V I G A Z I O N E S U L S I T O D E L G R U P P O. Rev. 2.1 G U I D A AL L A N A V I G A Z I O N E S U L S I T O D E L G R U P P O A T I C _W E B Rev. 2.1 1 1. ISCRIZIONE Le modalità di iscrizione sono due: Iscrizione volontaria Iscrizione su invito del Moderatore

Dettagli

Manuale Utente Albo Pretorio GA

Manuale Utente Albo Pretorio GA Manuale Utente Albo Pretorio GA IDENTIFICATIVO DOCUMENTO MU_ALBOPRETORIO-GA_1.4 Versione 1.4 Data edizione 04.04.2013 1 TABELLA DELLE VERSIONI Versione Data Paragrafo Descrizione delle modifiche apportate

Dettagli

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

(anno accademico 2008-09)

(anno accademico 2008-09) Calcolo relazionale Prof Alberto Belussi Prof. Alberto Belussi (anno accademico 2008-09) Calcolo relazionale E un linguaggio di interrogazione o e dichiarativo: at specifica le proprietà del risultato

Dettagli

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste versione 2.1 24/09/2015 aggiornamenti: 23-set-2015; 24-set-2015 Autore: Francesco Brunetta (http://www.francescobrunetta.it/)

Dettagli

Guida all uso di Java Diagrammi ER

Guida all uso di Java Diagrammi ER Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con

Dettagli

Gestione Iter Manuale Sistemista. Gestione Iter Manuale Sistemista

Gestione Iter Manuale Sistemista. Gestione Iter Manuale Sistemista Gestione Iter Manuale Sistemista Paragrafo-Pagina di Pagine 1-1 di 8 Versione 3 del 24/02/2010 SOMMARIO 1 A Chi è destinato... 1-3 2 Pre requisiti... 2-3 3 Obiettivi... 3-3 4 Durata della formazione...

Dettagli

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014)

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014) Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014) Il software per gli esami ICON può essere eseguito su qualunque computer dotato di Java Virtual Machine aggiornata.

Dettagli

19. LA PROGRAMMAZIONE LATO SERVER

19. LA PROGRAMMAZIONE LATO SERVER 19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici

Dettagli

Università degli Studi "Roma Tre" Dipartimento di Informatica ed automazione. Facoltà di Ingegneria

Università degli Studi Roma Tre Dipartimento di Informatica ed automazione. Facoltà di Ingegneria Università degli Studi "Roma Tre" Dipartimento di Informatica ed automazione Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Tesi di Laurea AUTENTICAZIONE PER APPLICAZIONI WEB Relatore

Dettagli

MANUALE PARCELLA FACILE PLUS INDICE

MANUALE PARCELLA FACILE PLUS INDICE MANUALE PARCELLA FACILE PLUS INDICE Gestione Archivi 2 Configurazioni iniziali 3 Anagrafiche 4 Creazione prestazioni e distinta base 7 Documenti 9 Agenda lavori 12 Statistiche 13 GESTIONE ARCHIVI Nella

Dettagli

5.2.1 RELAZIONI TRA TABELLE 1. 5.2.4.1 Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9

5.2.1 RELAZIONI TRA TABELLE 1. 5.2.4.1 Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9 5.2.1 RELAZIONI TRA TABELLE 1 5.2.4.1 Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9 Il grado di un verso di un associazione indica quanti record della tabella di partenza si associano ad un

Dettagli

Sistema operativo: Gestione della memoria

Sistema operativo: Gestione della memoria Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e

Dettagli

Lezioni di Laboratorio sui Data Base

Lezioni di Laboratorio sui Data Base Lezioni di Laboratorio sui Data Base Docente Tutor: Dott. Gianluigi Roveda Informatica per l'impresa Prima Parte: Open Office - Base PREMESSA Questo lavoro è stato realizzato a partire dalle slides del

Dettagli

MODULO 5 ACCESS Basi di dati. Lezione 4

MODULO 5 ACCESS Basi di dati. Lezione 4 MODULO 5 ACCESS Basi di dati Lezione 4 ARGOMENTI Lezione 4 Filtrare i dati Esempio 1 Query Cos è Creare Query in visualizza struttura Criteri di ricerca Esempio 2 Esempio 3 Esempio 4 Creare Query in creazione

Dettagli