SPARQLExplorer e D2RServer
|
|
- Olivia Marchi
- 8 anni fa
- Visualizzazioni
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
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
DettagliVolumi 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
DettagliStrumenti 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
DettagliData 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
DettagliDatabase 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
DettagliCorso 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
Dettagliconnessioni 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
DettagliEsercizio 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
DettagliIl 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
DettagliCapitolo 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
DettagliLA 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
DettagliProgetto 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
DettagliHub-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
DettagliStrutturazione 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
DettagliSommario. 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
DettagliDispensa 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
DettagliEXPLOit 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
DettagliRegione 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
DettagliIntroduzione 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
DettagliI 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?
DettagliProgettazione 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
Dettagli1. 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
DettagliRicorsione 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
DettagliEsercizio 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,
DettagliIntroduzione 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
DettagliPortale 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...
DettagliDispensa 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
DettagliPer 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
DettagliDatabase. 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
DettagliProgetto: 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
DettagliLezione 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)
DettagliProgettaz. 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
DettagliInformatica 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
DettagliSviluppata 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
DettagliRegistratori 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...
DettagliOttimizzazione 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
DettagliSQL 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.
DettagliSISTEMI 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
DettagliCapitolo 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
DettagliEstrattore 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
DettagliGERARCHIE 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
DettagliPROCEDURE 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
DettagliDatabase 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
Dettagli4 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
DettagliAccess. 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
DettagliPresentazione 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
DettagliCORSO 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
DettagliGuida 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
DettagliIl 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
DettagliCorso 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
DettagliUna 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
DettagliMODULO 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
DettagliIntroduzione 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
DettagliDispensa 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.
DettagliSiamo 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
DettagliIntroduzione 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
DettagliInformatica 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à
DettagliI 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
DettagliGestione 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
DettagliBasi 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
DettagliModulo 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
DettagliStefania 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
DettagliConcetti 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
DettagliLezione 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
DettagliGuida 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
DettagliProgetto 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
DettagliSiti 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
DettagliUN 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
Dettaglirisulta (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
DettagliDatabase 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
Dettagli2 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
DettagliDati 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
DettagliControlloCosti. 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,
DettagliGestione 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
Dettagli2.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
DettagliRiccardo 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
DettagliMODELLO 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)
DettagliIntroduzione 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.
DettagliMODULO 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
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
DettagliINTRODUZIONE 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.
DettagliLe 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
DettagliFasi 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
DettagliExcel. 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
DettagliArchitettura 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
DettagliA 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
DettagliManuale 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
DettagliPubblicazione 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)
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
DettagliBanca 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/)
DettagliGuida 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
DettagliGestione 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...
DettagliIstruzioni 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.
Dettagli19. 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
DettagliUniversità 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
DettagliMANUALE 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
Dettagli5.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
DettagliSistema 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
DettagliLezioni 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
DettagliMODULO 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