RDF (Triplestore) Database

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "RDF (Triplestore) Database"

Transcript

1 Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Elaborato finale in Basi Di Dati RDF (Triplestore) Database Anno Accademico Candidato: Davide Basciano matr. N46/658

2

3 Indice Introduzione 4 Capitolo 1. Web Semantico L architettura del Web Semantico XML RDF RDF/Schema OWL 15 Capitolo 2. Database Triplestore Scalabilità e performance di un triplestore RDF Middleware Interrogazione dei dati Aggiunta, cancellazione ed esportazione dei dati Linguaggi di Query RDF Perché non SQL? Livelli di interrogazione SPARQL 29 Conclusioni 31 Indice delle figure 33 Bibliografia 34 III

4 Introduzione Il Web è frequentemente utilizzato da una larga varietà di persone per usi e finalità diverse e rappresenta attualmente il maggior contenitore di conoscenza. Molteplici sono le tipiche interazioni Utente-Macchina: dalla classica ricerca ipertestuale alla prenotazione di un volo aereo, dalla messaggistica tramite posta elettronica alla comunicazione on-line, per finire con l uso sempre più massiccio dei vari Social Network. Dagli inizi degli anni 90 ad oggi, il crescente utilizzo del Web nel tessuto culturale e sociale ha comportato un aumento esponenziale nel numero e nell eterogeneità dei contenuti in rete, passando dai semplici file in formato testuale a documenti multimediali. Di fronte a questa moltitudine di informazioni, l importanza dei motori di ricerca assume un ruolo significativo. Per qualsiasi utente di Internet, utilizzare un motore di ricerca e non trovare ciò che si sta cercando, può essere frustrante. È interessante, infatti, notare come, di fronte alla notevole quantità di risultati pervenuti, un altissima percentuale di utenti (il 30%) non superi mai la seconda/terza pagina di risultati. Questa schematizzazione dei risultati è dovuta agli attuali algoritmi di ricerca basati sull aspetto sintattico dell informazione, essi restituiscono le pagine contenenti le keywords presenti nelle query degli utenti, indipendentemente dal contesto in cui esse sono utilizzate oppure restituiscono pagine secondo algoritmi differenti, ad esempio basati sulla popolarità. La fiducia del utente verso la qualità di ricerca del motore è, e deve essere dunque, totale, e affinchè esso soddisfi le sue aspettative è fondamentale assicurare la bontà degli algoritmi di analisi. 4

5 Negli ultimi anni le aziende proprietarie dei motori di ricerca stanno investendo nello sviluppo di nuove tecnologie che permettano alle macchine di interpretare il senso delle parole similmente agli esseri umani. La loro aspirazione è quella di creare sistemi di information retrieval capaci di estrarre ed indicizzare semanticamente i concetti più significativi dei testi affinché le ricerche effettuate attraverso i loro portali risultino sempre più precise. Nella prima parte di questo lavoro di tesi focalizzeremo l attenzione sullo studio degli elementi chiave del Semantic Web, estensione del Web attuale che punta, attraverso la creazione di dati elaborabili e comprensibili direttamente dalle macchine e attraverso l uso della logica e dei linguaggi di rappresentazione della conoscenza,a massimizzare l efficienza degli algoritmi di ricerca. Grazie al Semantic Web, infatti, la ricerca di documenti non sarà più incentrata sul significato lessicale della singola parola chiave come avveniva nella ricerca sintattica ma sul significato che assumono più concetti legati tra loro (ricerca semantica). A tal proposito verrà quindi introdotto un linguaggio di marcatura XML, extensible Markup Language, per conferire un interoperabilità sintattica relativa all interpretazione dei documenti scambiati e un linguaggio di codifica RDF, Resource Description Framework, per raggiungere la cosiddetta interoperabilità semantica. Al di sopra di questo strato si pone il livello ontologico. Recentemente il termine "ontologia" (formale) è entrato in uso nel campo dell'intelligenza artificiale e della rappresentazione della conoscenza, per descrivere il modo in cui diversi schemi vengono combinati in una struttura dati gerarchica che contiene tutte le entità rilevanti, le relazioni esistenti fra di esse, le regole, gli assiomi ed i vincoli specifici del dominio[8]. Nel proseguio del lavoro effettueremo una panoramica sulle principali applicazioni sviluppate in grado di memorizzare triple RDF, i cosiddetti triplestore e, tramite la scelta di opportuni parametri prestazionali,verrà fornita poi una classificazione degli stessi. A seguire una descrizione dello strato RDF Middleware con una breve trattazione delle principali funzionalità offerte come supporto al database e una discussione sul noto linguaggio di interrogazione SPARQL. 5

6 Capitolo 1 Web Semantico Già nel 1998 Tim Berners-Lee, professore di Computer Science alla Southampton University e direttore del World Wide Web Consortium (il celebre W3C), si era reso conto dei problemi che l attuale struttura di Internet pone al reperimento dell informazione desiderata, scrivendo la sua Semantic Web Road Map. Il termine Web Semantico è stato proposto per la prima volta nel 2001 da Berners-Lee. Da allora il termine è stato associato all idea di un Web nel quale agiscano agenti intelligenti (creati senza ricorrere all intelligenza artificiale ad alti livelli), cioè applicazioni in grado di comprendere il significato dei testi presenti sulla rete e perciò in grado di guidare l utente direttamente verso l informazione ricercata, oppure di sostituirsi a lui nello svolgimento di alcune operazioni [10]. Nella prima decade della sua vita il Web è stato un medium di sola lettura: un grande repository dal quale ricevere informazioni. La seconda decade ha visto invece la diffusione di servizi che lo hanno trasformato in un medium di scrittura. Attraverso blog e social network i navigatori si sono convertiti da spettatori in attori, iniziando a pubblicare informazioni e opinioni: è il cosiddetto Web 2.0, il Web della partecipazione. Nella terza decade, iniziata da poco, le informazioni disponibili on-line stanno diventando comprensibili anche ai calcolatori, le cosiddette risorse machine-understandable, in modo da poter essere collegate tra loro e riutilizzate sotto altre forme (dando vita a nuove informazioni) tramite strumenti automatici. 6

7 Con passaggio al Web Semantico Berners-Lee vuole intendere la trasformazione della rete in un ambiente dove è possibile pubblicare non più solo documenti e dati ( pagine HTML, immagini, file multimediali,documenti office, ecc ) ma anche quelle informazioni che descrivono i dati stessi (metadati) fondamentali per determinarne il risultato e racchiuderli in una rete semantica che li metta in relazione. Il tutto in un formato standard adatto all interrogazione, interpretazione e,più in generale, all elaborazione elettronica. Lo scopo è, in pratica, creare un grande reticolato di dati, in fondo non molto dissimile dalle reti neurali del cervello, dal quale è possibile desumere il legame semantico tra una parola ed un altra, e reperire risorse e più in generale informazioni. 1.1 L architettura del Web Semantico Il Web Semantico, vista la necessità di garantire una visione sintetica ma allo stesso tempo modulare del problema, può essere strutturato come un diagramma piramidale, dove ciascun livello racchiude in sè le metodologie e i linguaggi che caratterizzano quel particolare standard. Analizzando il diagramma nel dettaglio, con una prospettiva dal basso, possiamo notare l esigenza di assicurare un meccanismo di identificazione e acceso univoco alle risorse tramite una stringa compatta di caratteri, protocollo Internet chiamato URI (Uniform Resource Identifier) [9] e l impiego di un sistema di codifica,detto UNICODE, che assegna un numero unico ad ogni carattere usato per la scrittura di testi indipendentemente dalla lingua e dalla piattaforma informatica utilizzata [10]. Il passo successivo all identificazione tramite URI è l XML (extensible Markup Language), un linguaggio di marcatura che permette di esplicitare la struttura, quindi la sintassi, di un documento in modo formale mediante marcatori (mark-up) che vanno inclusi all interno del testo, conferendo, quindi, quella proprietà di interoperabilità sintattica che è alla base dello scambio dei dati tra diverse applicazioni [5]. Per definire la struttura di un documento XML, o più precisamente la grammatica che tale 7

8 documento deve rispettare, esistono linguaggi come XML-Schema, i quali esprimono vocabolari condivisi e strumenti per eseguire la validazione del documento XML limitandosi a descrivere i dati, senza entrare nel merito della semantica contenuta. Figura 1.1 : Architettura del Semantic Web Per colmare le lacune che impediscono alla macchina di interpretare l informazione semantica, occorre risalire al livello successivo: RDF (Resource Description Framework). RDF è lo strumento base per la codifica, lo scambio e il riutilizzo di metadati strutturati, e consente l interoperabilità tra applicazioni che si scambiano sul Web informazioni machine-understandable [13]. L'unità base per rappresentare un'informazione secondo il modello RDF è lo statement. Uno statement è una tripla del tipo Soggetto Predicato Oggetto, dove il soggetto è una risorsa, il predicato è una proprietà e l'oggetto è un valore (e quindi anche un URI che punta ad un'altra risorsa). Poichè RDF manca di una semantica formale e risulta troppo debole per descrivere in sufficiente dettaglio le risorse, allo scopo di potenziarne l espressività si utilizzano le cosiddette ontologie. 8

9 Le ontologie sono utilizzate nel Web Semantico per dare una formalizzazione ai dati presenti su Internet in modo da garantirne l interoperabilità e la comprensione da parte di applicazioni diverse. Essa è una sorta di stadio preliminare di una base di conoscenza, il cui obiettivo è la descrizione dei concetti necessari a parlare di un certo dominio. Nello specifico, in questo lavoro di tesi, approfondiremo l' OWL, un vocabolario XML che consente di definire classi, proprietà e relazioni. A differenza dell RDF Schema, che estende, OWL aumenta le inferenze che un software è in grado di compiere. Utilizzando OWL è possibile riconoscere che due parti di un documento stanno descrivendo la stessa realtà, utilizzando però una terminologia diversa. Infine un accenno alle componenti del Web Semantico ancora in fase di sviluppo e progettazione che nei prossimi anni potrebbero illustrare la via da seguire per la rappresentazione della conoscenza on-line, in modo ordinato ed efficiente, attraverso: - Linguaggi logici universali, linguaggi universali fatti di euristiche - vale a dire di procedimenti che consentono di prevedere dei risultati mediante i quali le asserzioni esistenti sul Web potranno essere utilizzate per derivare nuova conoscenza. Persone in tutto il mondo possono scrivere istruzioni logiche, quindi la macchina può seguire questi link "semantici" per costruire dimostrazioni. Tuttavia, si tratta di un fattore ancora in fase embrionale, dal momento che tale linguaggio universale ancora non esiste. - Firma Digitale, basata su lavori in matematica e in crittografia,rappresenta il meccanismo alla base dell autenticazione dei documenti digitali, componente di rilievo che interessa diversi strati dell architettura del Web Semantico. La Firma Digitale consentirebbe di accertare la provenienza delle ontologie e delle deduzioni, oltre che dei dati RDF presenti sul Web garantendo, ad esempio, che una determinata persona ha scritto un determinato documento o un istruzione; in questo modo, gli utenti che reperiranno tali documenti o istruzioni potranno essere sicuri della loro autenticità. 9

10 - Trust (Fiducia) e Proof (Dimostrazioni), vista l enorme mole di informazioni presente sul Web, risulta fondamentale che l utente stesso possieda i meccanismi necessari per distinguere i dati affidabili da quelli inattendibili stabilendo il suo personale livello di fiducia. L informazione sul livello di fiducia o Trust dei dati può assumere una forma esplicita (questo dato viene dalla fonte x e x fa parte dell elenco delle fonti che io considero attendibili), oppure può essere ricavata in modo automatico attraverso Smarts Agents basati sulle tecnologie del Semantic Web (questo dato viene dalla fonte x,x non fa parte dell elenco delle fonti che io ritengo attendibili, però si trova nell elenco delle fonti attendibili dalla persona y, che io considero fidata). Questa deduzione o inferenza può essere più o meno complessa e non facilmente prevedibile a priori. Tale risultato potrà essere raggiunto soltanto attraverso il livello Proof, ovvero la dimostrazione della logica inferenziale che sottende al ragionamento dell agente. 1.2 XML Attualmente il Web è un enorme contenitore di informazioni e l utilizzo del linguaggio HTML ne ha facilitato sicuramente lo sviluppo. Si tratta tuttavia di un linguaggio che ha come unico obiettivo quello di curare la formattazione grafica dei documenti del Web e non fornisce nessun supporto per strutturare e descrivere le informazioni in esse contenute, dal punto di vista semantico. Insieme al protocollo HTTP (HyperText Transport Protocol), HTML ha rivoluzionato il modo in cui le persone inviano e ricevono informazioni, ma lo scopo principale per cui è stato realizzato è la visualizzazione dei dati. Negli ultimi anni, tuttavia, il notevole sviluppo del Web ha portato la necessità di avere dei linguaggi e degli strumenti che permettano il recupero intelligente dei dati e di organizzarli efficientemente,dal punto di vista logico e semantico. In questa prospettiva si inserisce XML - Extensible Markup Language metalinguaggio che permette di creare e di definire sintatticamente dei linguaggi 10

11 personalizzati di markup. Si tratta di un linguaggio aperto e basato su testo, che in termini pratici consente di esplicitare la struttura di un documento dal punto di vista sintattico attraverso marcatori all interno del testo, rendendolo,quindi, comprensibile alle macchine oltre che all uomo. Un documento XML è organizzato secondo una struttura logica ad albero e non presenta un insieme predefinito di elementi, ma permette di crearne dei nuovi a seconda delle esigenze. Esiste un elemento radice che deve essere necessariamente presente, ogni elemento può avere dei figli, è composto da un tag di apertura e da un tag di chiusura, gli attributi vengono elencati all interno del tag di apertura,sono opzionali e non si ha un limite massimo nella loro quantità. La definizione della sintassi di un documento XML passa anche dalla definizione dei suoi due componenti principali: - XML Schema: permette di definire la struttura, il contenuto e la semantica di documenti XML. Consente una tipizzazione dei dati sistematica,ovvero permette di definire un vocabolario XML che può essere utilizzato per descrivere documenti XML facendo ricorso sempre alla stessa sintassi. Documenti conformi allo standard possono essere covalidati come schemi validi - Namespace XML: è una raccolta di nomi identificati da un URI, utilizzata nel documento XML, nel momento in cui ci si riferisce ad un certo elemento,eliminando il rischio di ambiguità. Il linguaggio XML può anche essere utilizzato come mezzo di trasmissione dei dati tra differenti applicazioni che supportano l accesso ad un database. Attualmente XML si configura come il linguaggio padre di molti linguaggi di Markup, come ad esempio RDF e OWL, le due componenti centrali dell architettura del Web Semantico che illustreremo in seguito. 11

12 1.3 RDF RDF Resource Description Framework è un formalismo figlio di XML progettato con l obiettivo di aggiungere meta-informazioni ai documenti Web e in generale alle risorse on line. In questa direzione, RDF permette l aggiunta di semantica ai contenuti e ai documenti del Web, senza fare alcuna assunzione sulla sua struttura. RDF contribuisce alla costruzione della struttura semantica all interno dei documenti, superando il limite maggiore di XML che, pur essendo un linguaggio potentissimo per la strutturazione dei documenti e per la creazione di applicazioni, permette soltanto l organizzazione delle informazioni all interno di un documento e non dice nulla sul significato del relativo contenuto. In linea generale, Resource Description Framework è una cornice, un framework che stabilisce in che modo l informazione possa essere rappresentata sul Web : RDF is a foundation for processing metadata; it provides interoperability between applications that exchange machine-processable information on the web. Basically RDF defines a data model for describing machine-processable semantics in data [14]. RDF fornisce un modello molto semplice, detto RDF Data Model and Sintax, basato su tre tipi di oggetti o elementi costitutivi: - Risorsa (Resource): ogni oggetto è sempre identificato attraverso un URI, eventualmente con un anchor ID. Questo include pagine o siti web, elementi XML all interno del documento sorgente, potrebbe anche essere un oggetto non direttamente accessibile via Web (per es. un libro, un dipinto, etc.). - Proprietà (Property): descrive un aspetto specifico, caratteristica, attributo o relazione utilizzata per descrivere una risorsa. Ogni proprietà possiede un proprio significato, definisce i valori ammissibili, il tipo di risorse che può descrivere e le relazioni che possono instaurarsi con altre proprietà. - Asserzioni (Statement): ogni risorsa specifica con una proprietà ed il valore che atale proprietà assume, costituisce un asserzione RDF. Un asserzione è basata su triple: soggetto (risorsa da descrivere), predicato (proprietà), 12

13 oggetto (affermazione). In altre parole un oggetto O ha proprietà P con valore V e tale situazione può essere sintetizzata nella relazione P(O)=V oppure P(O,V). Graficamente, ognuna delle triple costituenti la struttura di base di ogni espressione RDF viene rappresentata mediante grafo etichettato e orientato, in cui le risorse vengono identificate come nodi (graficamente delle ellissi), le proprietà come archi orientati etichettati, e i valori corrispondenti a sequenze di caratteri come rettangoli. Ogni tripla rappresenta una dichiarazione di relazione tra gli elementi denotati tra i nodi che sono collegati nella tripla. Figura 1.2 : Rappresentazione grafica triple RDF Un grafo RDF è comprensibile all uomo, ma non alle macchine. Per questo ogni grafo necessita di un processo di serializzazione. La serializzazione è il processo di conversione di un oggetto in un form che può essere immediatamente trasportato. È possibile, ad esempio, serializzare un oggetto e trasportarlo in Internet mediante HTTP tra un client e un server. Il processo inverso, la deserializzazione, invece, ricostruisce l'oggetto dal flusso. Le principali serializzazioni adottabili per un grafo RDF sono: - XML: il grafo RDF è serializzato con sintassi XML 13

14 - N-TRIPLE: si serializza il grafo come un insieme di triple soggetto - predicato - oggetto - N3: si serializza il grafo descrivendo, una per volta, una risorsa e tutte le sue proprietà 1.4 RDF Schema Il data model RDF permette di definire un modello semplice per descrivere le relazioni tra le risorse, in termini di proprietà identificate da un nome e relativi valori. Tuttavia, RDF data model non fornisce nessun meccanismo per dichiarare queste proprietà, né per definire le relazioni tra queste proprietà ed altre risorse. RDF Schema permette di definire dei vocabolari, quindi significato, caratteristiche e relazioni di un insieme di proprietà, compresi eventuali vincoli sul dominio e sui valori delle singole proprietà. Inoltre, implementando il concetto (transitivo) di classe e sottoclasse,consente di definire gerarchie di classi, con il conseguente vantaggio che agenti software intelligenti possono utilizzare queste relazioni per svolgere i loro compiti. In RDFS il sistema delle classi e delle proprietà è simile a quello dei linguaggi di programmazione orientati agli oggetti, come Java o C++, dai quali differisce nel fatto che invece di definire le classi in termini delle proprietà che le istanze possono avere, descrive le proprietà in termini delle classi delle risorse a cui si applicano. Le classi e le proprietà definite sono le seguenti: - rdf:resource: rappresenta una risorsa generale, cioè tutto ciò che può essere referenziato univocamente (tramite una URI). - rdf:property: sono risorse usate come predicati in una tripla. RDF considera una proprietà come una classe, e non come un semplice attributo ad essa. - rdf:statement: uno statement rappresenta la concretizzazione di una tripla. È necessario che una risorsa abbia le proprietà rdf:subject, rdf:object e rdf:predicate istanziate con le corrispondenti risorse, e la proprietà rdf:type istanziata con il filler rdf:statement. - rdfs:subpropertyof: serve ad indicare che una proprietà è sottoproprietà di un altra, 14

15 vale a dire che se la risorsa X è legata alla risorsa Y attraverso una proprietà P che è una subpropertyof di una proprietà Q, allora vale la tripla T(X, Q, Y). - rdfs:class, rdf:type, rdfs:subclassof: le classi sono risorse che individuano insiemi di risorse per mezzo del costrutto rdf:type (con filler corrispondente ad una classe). Tutte le proprietà, al contrario, utilizzano il costrutto rdf:type con filler rdf:property. Il costrutto rdfs:subclassof esprime la possibilità di definire delle gerarchie di proprietà o di classi. - rdfs:domain, rdfs:range: tali proprietà sono utilizzate per restringere l insieme delle risorse che possono avere una certa proprietà (dominio delle proprietà) e l insieme dei valori ammissibili (codominio della proprietà). - rdfs:literal: indica un insieme di literal, ossia di valori (stringhe, interi, ecc) che possono essere assegnati ad una risorsa tramite una proprietà. - rdfs:container: serve per definire un contenitore di risorse, e prevede l utilizzo di una delle tre diverse sottoclassi, rdfs:bag, rdfs:seq e rdf:alt. - rdfs:constraintresource, rdfs:contraintproperty: rappresentano i vincoli connessi alle risorse e le proprietà. - rdfs:seealso, rdfs:isdefinedby: indicano rispettivamente il riferimento ad un ulteriore luogo in cui la risorsa è descritta e i riferimenti alle informazioni di authoring della risorsa. - rdfs:label, rdfs:comment: questi costruttori servono a descrivere una risorsa in un formato di facile comprensione per gli esseri umani. 1.5 OWL Mentre il linguaggio XML ha rappresentato un passaggio fondamentale in direzione della interoperabilità sintattica, assicurando una sintassi di superfice per la rappresentazione di dati anche molto diversi tra loro, RDF ha assicurato una maggiore interoperabilità semantica,tale da permettere che il significato di un documento RDF, processabile dalla macchina, sia indipendente dal software. 15

16 Tra i vantaggi di RDF, quello più rilevante consiste nella possibilità di consentire la costruzione e l impiego delle ontologie,quindi di vocabolari in grado di descrivere formalmente il significato della terminologia utilizzata nei documenti web,necessari alle macchine per l eleaborazione delle informazioni. Se si prevedono macchine per eseguire compiti di ragionamento utili su questi documenti, il linguaggio deve andare oltre la semantica di base di RDF Schema. L ontologia in ambito informatico è stata definita ufficialmente da Gruber nel 1993 in questo modo : an explicit specification of a conceptualization [7]. una specializzazione esplicita di una concettualizzazione L ontologia, quindi, descrive il modo in cui diversi concetti vengono combinati in una struttura dati contenente tutte le entità rilevanti e le loro relazioni all interno di un dominio. Il ruolo svolto dal linguaggio ontologico OWL (Web Ontology Language) è quello di arricchire ulteriormente il vocabolario per descrivere proprietà e classi, relazioni tra classi (ad es. disgiunzione), cardinalità (ad es. esattamente uno ), uguaglianza, tipi più ricchi delle proprietà, caratteristiche di proprietà (ad es. simmetria) e classi enumerate[7]. OWL fornisce tre sottolinguaggi sempre più espressivi progettati per l'utilizzo da parte di determinate comunità di sviluppatori e utenti. - OWL Lite: supporta quegli utenti che necessitano in primo luogo di una gerarchia di classificazione e di vincoli semplici,ad esempio esso consente solo valori di cardinalità 0 o 1 e non permette di utilizzare contemporaneamente la sintassi OWL e la sintassi RDF. Una nuova classe può essere definita da zero oppure partendo da altre due classi, ma solamente con il costrutto IntersectionOf. - OWL DL: supporta quegli utenti che vogliono la massima espressività, pur mantenendo la completezza e la decidibilità. OWL DL comprende tutti i costrutti del linguaggio OWL, ma può essere utilizzato solo in determinate restrizioni (per esempio, mentre una classe può essere una sottoclasse di molte classi, una classe non può essere un'istanza di un'altra classe). OWL DL permette di definire le classi in maniera più 16

17 complessa utilizzando i costrutti quali UnionOf, ComplementOf, IntersectionOf e inoltre non esistono limiti sulla cardinalità delle proprietà. - OWL Full : è pensato per gli utenti che vogliono la massima espressività e la libertà sintattica di RDF senza le garanzie computazionali. Per esempio, in OWL Full una classe può essere trattata contemporaneamente come un insieme di individui e come un individuo a sé stante. OWL Full permette un'ontologia di aumentare il significato del vocabolario predefinito (RDF o OWL). E 'improbabile che qualsiasi software di ragionamento sarà in grado di sostenere un ragionamento completo per ogni caratteristica di OWL Full Figura 1.3: Vista insiemistica OWL 17

18 Capitolo 2 Database Triplestore Un Triplestore è un database impiegato per la memorizzazione e il recupero di dati RDF. A differenza di un database relazionale, esso fornisce un meccanismo per uno stoccaggio persistente dei dati rappresentati mediante triple RDF, quindi nella forma soggettopredicato-oggetto, e metodi di accesso e recupero basati su dei linguaggi di interrogazione, nel nostro caso SPARQL. Dal punto di vista architetturale, i triplestore possono essere divisi in 3 categorie: - In-memory: memorizzano il grafo RDF nella memoria principale. Memorizzare tutto in memoria centrale non può essere un metodo serio per memorizzare volumi di dati estremamente elevati.tuttavia, essi possono agire come un utile punto di riferimento e possono essere utilizzati per eseguire alcune operazioni come il caching data da siti remoti o per eseguire inferenze. La maggior parte dei triplestore in-memory sono ragionatori efficienti, di grande aiuto nel risolvere il problema di come eseguire inferenze nei database RDF persistenti, che altrimenti può risultare molto difficile da eseguire. - Native: una seconda categoria ora dominante è quella dei triplestore nativi. Essi implementano un database engine completo partendo da zero, ottimizzato per l elaborazione di dati RDF ed opera indipendentemente da ogni altro Database Management System (DBMS). I dati sono memorizzati direttamente sul file system. Recentemente, i triplestore nativi, grazie ai lori tempi di caricamento e ad un ottimizzazione sempre più efficiente dei dati RDF stanno vedendo incrementata la loro 18

19 popolarità. - Non-native, non-memory: triplestore impostati per essere eseguiti su database di terze parti (Jena SDB), usufruiscono delle funzionalità di archiviazione e recupero dei DBMS esistenti. In questo modello, infatti, la memorizzazione di dati RDF in un database relazionale richiede un appropriata tabella di design, che può avere due forme: - Generic Schemas : triplestore con una sola tabella richiesta nel database contenente tre colonne denominate soggetto, predicato e oggetto, riflettendo in questo modo la triplice natura degli statement RDF e mettendo quindi in risalto una rappresentazione verticale per la memorizzazione di oggetti in una tabella. Il più grande vantaggio di questo schema è che non è richiesta alcuna ristrutturazione se cambia l ontologia. L'aggiunta di nuove classi e proprietà per l'ontologia può essere realizzato tramite un semplice comando INSERT nella tabella. D'altro canto, l'esecuzione di una query non banale comporta una ricerca nell intero database e quindi un numero elevato di self-joins necessarie per soddisfare la richiesta. Un ulteriore aspetto negativo risiede nel fatto che la strutturazione gerarchica delle classi non può essere modellata, di conseguenza il lavoro di interrogazione interesserà tutte le istanze di una classe diventando piuttosto oneroso. - Ontology-specific Schemas : uno schema che riflette le proprietà strutturali delle ontologie in atto e i loro cambiamenti. Seguendo una prospettiva orizzontale, anche detta one-table-for-class schema, lo schema di base consiste di una tabella con una colonna per l identificativo dell istanza, una colonna per il nome della classe corrispondente e una per ciascuna proprietà dell ontologia. In questo modo ogni riga della tabella corrisponde ad un istanza.lo svantaggio principale di tale approccio è quello di ristrutturare le tabelle del database ogni volta che cambia l ontologia e, inoltre, manca il sostegno per valori multipli della proprietà. Un altro approccio consiste in una visione verticale dello schema, che si traduce nel modello one-table-for-property schema, detto anche Decomposition storage model. In questo schema per ogni proprietà viene creata una tabella con due colonne (soggetto e oggetto). Anche altre proprietà di RDF sono memorizzate in queste tabelle, ad esempio, la 19

20 tabella per rdf: type contiene le relazioni tra le istanze e le loro classi. Lo svantaggio di questo modello è l inefficienza delle query quando si tratta di query complesse perché richiede molti join tra le tabelle proprietà. - Hybrid Schemas : sono più comuni e combinano i vantaggi di entrambi i modelli. Name Developed Homepage Licence in language 4store C GPLv3 AllegroGraph Common Commercial Lisp Free BigData Java GPLv2 Commercial BigOwlim Java Commercial GNU LGPL Apache Jena Java jena.apache.org Apache2 Mulgara Java Open Software OpenLink Virtuoso C virtuoso.openlinksw.com GPLv2 Commercial Oracle Java Commercial PL/SQL options/spatialandgraph/overview/rdfsemant Free ic-graph htm Parliament Java,C++ parliament.semwebcentral.org BSD license Redland C librdf.org Apache LGPL Sesame Java BSD-style license Figura 2.1: Principali Triplestore esistenti 20

21 Nella figura 2.2 vengono invece evidenziate le specifiche tecniche dei triplestore, il supporto a SPARQL e le application programming interface (API) disponibili. Native Native Native Nome Native SPARQL SPARQL/Update SPARQL Native Storage support support Protocol API s Endpoint 4store Triplestore Command line only AllegroGraph Graph For most modern programming languages BigData Triplestore Java Jena Tuplestore Java Mulgara 3rd party Java or Rest API Ontotext 3rd party Java OWLIM Open Virtuoso Link Relational For most modern programming languages Oracle DB Enterprise Ed Object- Relational For most modern programming languages Parliament 3rd party Java or C++ Sesame 3rd party Java Figura 2.2: Specifiche Tecniche dei Triplestore 21

22 2.1 Scalabilità e performance di un triplestore La commercializzazione di ogni sistema, in termini di archiviazione e recupero dei dati, si focalizza maggiormente sulla scalabilità del database, come metrica principale di valutazione e sui tempi di caricamento. Le prestazioni di un triplestore RDF dipendono da diversi fattori: l architettura di database sottostante essendo spesso costruiti su architetture distribuite o cluster, la rappresentazione nel database di uno schema RDF con le sue istanze, l'efficienza del motore di ricerca e le prestazioni del motore di inferenza. Effettuando una panoramica dettagliata dei vari triplestore in commercio possiamo notare alcuni spunti interessanti. L enfasi attuale sullo sviluppo dei triplestore nativi può essere giustificata dalle performance superiori in termini di scalabilità che contraddistinguono triplestore come Mulgara,Virtuoso e Sesame. La mancanza di una API appropriata mette in risalto l incapacità di Mulgara e Virtuoso di caricare grandi dataset (>1Milione di triple), il problema non è tanto nell assenza di scalabilità, ma nell impossibilità per le API di maneggiare grandi set di dati. Queste API lavorano in maniera efficace quando usate per funzioni di accesso ed interrogazione di database già esistenti ma conducono ad errori di memoria quando utilizzate per caricare dati. La documentazione relativa a Mulgara e Virtuoso evidenzia come la modalità preferita per caricare grandi dataset sia quella di utilizzare appositi caricatori, attraverso i quali, secondo ricerche effettuate, Mulgara può arrivare a memorizzare circa 500 milioni di triple mentre Virtuoso all incirca 15 miliardi di triple. Il database nativo Sesame garantisce prestazioni migliori, grazie alla disponibilità di un API insita nel pacchetto e, utilizzando il Lehigh University Benchmark (LUBM), si è riusciti ad aggiungere un dataset costituito da circa 70 milioni di triple RDF. L ultimo caso che trattiamo è quello di Jena SDB, componente di Jena che permette lo storage e il recupero di triple RDF su database convenzionale SQL o altri database supportati, sia open source che privati. Jena SDB è in grado di caricare grosse mole di dati, dell ordine dei 650 milioni di triple, ma è molto più lento. Può essere acceduto e gestito 22

23 con uno script a linea di comando e può essere visto come un semplice caricatore che realizza,per terze parti, funzioni di caricamento. Per quanto riguarda il tempo di caricamento,in linea generale, ci accorgiamo che uno specifico schema onotologico nella sua forma ibrida si comporta meglio per quanto riguarda i tempi di esecuzione delle query rispetto a delle query tassonomiche con uno schema generico, dimostrando tutta la debolezza degli schemi generici. Tuttavia, vi è sempre un trade-off tra i tempi di esecuzione delle query e le spese generali dovute all'evoluzione dell ontologia e alla gestione delle tabelle: schemi ontologici specifici soffrono di un numero potenzialmente elevato di tabelle, e della necessità di modificare lo schema del database ogniqualvolta aggiungiamo o eliminiamo una classe o una proprietà in un ontologia. Un metodologia appropriata e un set di strumenti efficaci per la valutazione del Semantic repository Web nel suo complesso, è il Lehigh University Benchmark (LUBM). Sebbene stia focalizzando l attenzione maggiormente sulle applicazioni OWL, il LUBM può essere applicato alla maggior parte dei triplestore. LUBM fornisce i mezzi per generare un insieme di dati di test di grandi dimensioni, 14 query scritte in SPARQL, un supporto per i diversi gradi di ragionamento, nonché molteplici metriche di performance per i tempi di caricamento, dimensione del repository, tempo di risposta alle query,completezza e solidità della query. 2.2 RDF Middleware Ciò che chiamiamo RDF middleware è lo strato d implementazione relativo all'accesso all archivio fisico dei dati RDF. Oltre ad un meccanismo di inferenza, il livello di accesso dovrebbe fornire funzioni per la creazione, l'esecuzione di query, l esportazione di dati in un file di scambio e la cancellazione dei dati in archivio. Mentre l'aggiunta di dati richiede l'analisi e, idealmente, una convalida degli statement RDF in arrivo, l interrogazione del triplesore necessita dell implementazione di qualche tipo di linguaggio di interrogazione, nonché di una interpretazione e una traduzione di questo linguaggio di query in chiamate al database RDF fisico. 23

24 2.2.1 Interrogazione dei dati Per formulare una query ad un triplestore ci sono diversi approcci: - Implementazione di una API di interrogazione proprietaria - Implementazione di un linguaggio di query Le API proprietarie di query stanno definendo un formato proprio per le query dove la costruzione di una query SQL viene fatta attraverso algoritmi di traduzione dei vari campi di una tabella. Un'altra possibilità è quella di creare un proprio linguaggio di query, ad esempio, RQL, RDQL o SPARQL adoperati dalla maggior parte dei database RDF. Questo comporta quindi l'implementazione di un dispositivo detto Parser che analizza la sintassi di questo linguaggio di interrogazione, attua una separazione della query nelle sue componenti, verificandone la correttezza, e ogni singolo pezzo della query viene identificato e memorizzato in una strttura interna. Quindi tramite un passaggio intermedio viene tradotta la query analizzata in un calcolo relazionale, un grafico o in un modello a oggetti per catturare la semantica della query. Dopo di che, la query SQL è formalizzata e inviata al database. La sintassi della query SQL creata di solito dipende fortemente dall architettura DBMS sottostante. Questo è il motivo per cui è opportuna la realizzazione di uno strato intermedio aggiuntivo che vada a risolvere l eterogeneità implementando il meccanismo della memorizzazione effettiva e le relative funzioni di recupero e di stoccaggio. Un aspetto importante per l'accesso ai dati è l'ottimizzazione delle query. Lo scopo del processo di ottimizzazione della query e' produrre un "piano di esecuzione" il piu' possibile efficiente, basandosi su quanto e' specificato nella struttura interna al motore di database contenente le varie componenti della query in esame. Può essere lasciata al sistema di database, considerata la sofisticata valutazione e i meccanismi di ottimizzazione dei moderni RDBMS, e risulta una caratteristica particolarmente interessante nel caso in cui il motore di query deve essere indipendente dall architettura di archiviazione sottostante come nel caso di Sesame. 24

25 2.2.2 Aggiunta, cancellazione ed esportazione dei dati Aggiungere dati in un triplestore può essere realizzato grazie alla creazione di nuovi concetti, proprietà o istanze in memoria principale utilizzando le cosiddette API e chiamando quindi una funzione per memorizzarli nella base di conoscenza. Un'altra possibilità è la lettura di dati RDF da un file o da una fonte on line, peculiarità utilizzata da tutti i triplestore in quanto è una caratteristica fondamentale per il caricamento di un'ontologia. La lettura di dati RDF richiede un dispositivo RDF per la lettura degli statement e per la loro mappatura su un modello a oggetti o direttamente in uno schema del database. La maggior parte dei sistemi utilizza un analizzatore sintattico che legge la notazione RDF/XML, ad esempio, ARP (Another Parser RDF), che è parte del toolkit Jena, o Raptor RDF. Facoltativamente, un validatore RDF può essere utilizzato per controllare i dati in entrata ai fini di una correttezza e di una corrispondenza con gli schemi già caricati. In questo caso, gli schemi dovrebbero essere caricati prima delle istanze. Le operazioni di eliminazione nei triplestore devono essere maneggiate con molta attenzione. Mentre la pulizia completa del negozio è una pratica abbastanza semplice, eliminare dichiarazioni singole può comportare la cancellazione di altri prospetti correlati. Ciò richiede, quindi, non solo un ricalcolo e una chiusura deduttiva per il triplestore, ma anche un meccanismo per la manutenzione della correttezza. Per scambiare dati con altri sistemi è necessario un meccanismo di esportazione. La maggior parte degli RDF store implementa tale funzione di esportazione la quale permette di serializzare l'ontologia e l'istanza di dati dall'archivio RDF in un file. I formati comuni per la serializzazione di RDF sono N-Triple, N3 e la notazione RDF/XML. 25

26 2.3 Linguaggi di Query RDF Come accennato nel paragrafo precedente, l'uso di linguaggi di query è il modo più comune di interagire con un triplestore. In questa sezione, analizzeremo quali sono le proprietà che un linguaggio di query dovrebbe avere per interrogare dati semistrutturati, e in particolare per RDF, e ciò che lo differenzia dai metodi esistenti, come SQL. Tra le varie proposte di linguaggi di interrogazione, in particolare, descriveremo il linguaggio di query SPARQL più nel dettaglio. Siamo in grado di identificare diverse proprietà generali con cui si possono caratterizzare i linguaggi di interrogazione. Qui, esaminiamo sei di queste proprietà. - Espressività: l espressività quantifica come delle query complesse possono essere formulate in una specifico linguaggio. Idealmente, un linguaggio di query dovrebbe essere espressivo a sufficienza da consentire il recupero di qualsiasi combinazione arbitraria di valori dal modello interrogato risultando quindi conforme al suo modello dei dati. Solitamente, l espressività si limita a controllare altre proprietà, come la sicurezza, e a consentire una efficiente (e ottimizzabile) esecuzione di query. - Chiusura: la proprietà di chiusura richiede che i risultati di un'operazione di query siano ancora elementi in linea con il modello dei dati. Ciò significa che se un linguaggio di query opera su un modello di dati grafico, i risultati della query dovrebbero ancora una volta essere dei grafici. - Adeguatezza: un linguaggio di query è detto adeguato se usa tutti i concetti del modello dei dati sottostante. Questa proprietà va a completare pertanto la proprietà di chiusura: per chiusura, intendiamo che un risultato della query non deve essere al di fuori di un determinato modello dei dati, per adeguatezza,invece, la necessita di utilizzare l'intero modello di dati. - Ortogonalità: l'ortogonalità di un linguaggio di query richiede che tutte le operazioni possono essere utilizzate indipendentemente dal contesto d'uso. - Sicurezza: un linguaggio di query è considerato sicuro, se ogni query,sintatticamente corretta, ritorna un insieme finito di risultati. Classici concetti che denotano dei rischi nell uso dei linguaggi di interrogazione sono la ricorsione e la negazione. 26

27 2.3.1 Perché non SQL? Per dati strettamente relazionali (al contrario dei dati semistrutturati), SQL è di gran lunga il linguaggio di query maggiormente utilizzato, caratterizzato da un supporto per la memorizzazione dei dati di grandi dimensioni, schemi di indicizzazione efficienti, ottimizzazione delle query,etc. Sarebbe quindi interessante l ipotesi di poter impiegare questa tecnologia robusta e ampiamente disponibile per i nostri scopi di interrogazione di dati semistrutturati. Sfortunatamente, questo può essere fatto solo a costo di un grande divario tra il modello di dati nel repository (es. RDF) e il modello di dati sul quale si basa il linguaggio di interrogazione (modello relazionale). Questo perchè, come primo passo, dovremmo codificare il modello dei dati XML nel modello relazionale assegnando ad ogni nodo dell albero XML un identificatore univoco nel database relazionale che va a collegare tale nodo con tutti i suoi discendenti e attributi. Successivamente, le maggiori difficoltà le troviamo quando interroghiamo la struttura XML: ogni query XML deve essere compilata in una query SQL sulle tabelle relazionali sottostanti. In genere, una singola query XML (ad esempio: 'restituire tutti i discendenti di un dato nodo') viene tradotta in un insieme complesso di più query SQL dove non è nemmeno chiaro se questo insieme sia finito o meno. Anche se, forse, attraente come soluzione a breve termine, riteniamo che la soluzione più adeguata sia fornire quelle determinate funzionalità per il modello di dati nativo (sia esso XML o RDF), invece di basarsi su tecniche relative ad un modello di dati completamente diverso Livelli di Interrogazione I documenti RDF e lo schema RDF possono essere considerati a tre livelli diversi di astrazione: 1. A livello sintattico essi sono documenti XML 2. A livello strutturale si presentano come un insieme di triple RDF 3. A livello semantico sono costituiti da uno più grafi con una semantica parzialmente predefinita. 27

28 Nelle prossime sezioni analizzeremo brevemente pro e contro delle procedure di interrogazione ad ogni livello. Interrogazione al livello sintattico. Come abbiamo visto in precedenza, i modelli RDF possono essere scritti su una notazione XML. Sembra quindi ragionevole pensare di poter interrogare RDF utilizzando un linguaggio di query XML (ad esempio XQuery5). Tuttavia, questo approccio non tiene conto del fatto che RDF non ha solo una notazione XML, ma ha una propria struttura dati che è diversa dalla struttura ad albero XML: mentre XML è una struttura ad albero ordinata con etichettatura dei nodi, RDF è una struttura grafica non ordinata e non etichettata. Le tecniche di interrogazione XML non supportano funzionalità per trattare con una differenziazione tra nodi ed etichette o con un assenza di ordine. Interrogazione a livello strutturale. Estrando dalla sintassi, qualsiasi documento RDF si presenta come un insieme di Triple dove ciascuna tripla rappresenta una dichiarazione nella forma soggetto-predicatooggetto. Sono stati proposti e implementati diversi linguaggi di query per l interrogazione di documenti RDF come insiemi di tali triple, che consentono di interagire con una deternimata tripla ignorando le sue caretteristiche formali (ad esempio la relazione transitiva rdfs:subclassof). Interrogazione a livello semantico. Quando consideriamo i modelli RDF al livello semantico interroghiamo la piena conoscenza di tutto ciò che il modello RDF comporta, e non solo quei fatti specifici rappresentati in maniera esplicita. Ci sono almeno due possibilità per raggiungere questo obiettivo: 1. Calcolare e memorizzare la chiusura deduttiva di un grafico come base per l'interrogazione. 2. Lasciare che un processore di query deduca nuovi statement. Resta il fatto che la maggior parte dei linguaggi di query RDF non hanno alcuna funzionalità o semantica specifica per estrarre informazioni tra i dati e dallo schema. 28

29 2.3.3 SPARQL SPARQL (Simple Protocol And RDF Query Language) è un linguaggio per l'interrogazione e il recupero dei dati espressi in RDF nonché un protocollo di accesso ai dati per il Web Semantico, e il 15 gennaio 2008 è stato standardizzato dallo SPARQL Working Group del W3C. SPARQL consiste di tre specifiche: - SPARQL Query Language specification che costituisce il nucleo. - SPARQL Query Results Format specification che descrive un formato XML per serializzare il risultato di una query. -SPARQL Protocol for RDF specification che definisce protocolli semplici HTTP e SOAP per fare le query in remoto su basi di dati RDF: permette a un generico cliente di interrogare uno o più endpoint SPARQL (interfaccia per gli utenti nella forma di un applicazione stand-alone oppure web-based) inviando una richiesta espresa nel linguaggio di interrogazione e ricevendo come risposta il risultato in un formato XML. Di fronte ad una grande quantità di documenti RDF pubblicata in rete, inizia a prendere forma un Web leggibile per le macchine. In questo contesto è necessario disporre di un meccanismo per individuare informazioni specifiche nel Web di Dati. È in questo contesto che si colloca SPARQL. I vantaggi principali di avere un linguaggio come SPARQL sono: - fare le query a dei grafici RDF per ricevere informazioni specifiche. - fare le query ad un server remoto RDF e ricevere indietro i risultati in streaming. - eseguire delle query in automatico verso insiemi di dati RDF per generare resoconti. Entrando più nell aspetto sintattico,consideriamo a titolo di esempio, una semplice query SPARQL: PREFIX rdf: < PREFIX rdfs: < SELECT?c WHERE {?c rdf:type rdfs:class. } 29

30 Questa query recupera tutti i modelli di triple in cui la proprietà è rdf: type e l'oggetto è rdfs: Class. In altre parole, questa query, una volta eseguita, recupera tutte le classi. Si noti che, come abbiamo visto in precedenza il meccanismo dei namespace per scrivere RDF in XML, SPARQL ci permette di definire dei prefissi per i namespace e utilizzare questi nel modello di query, per rendere le query più breve e più leggibile. SPARQL non assume alcun impegno esplicito per supportare la semantica RDFS. Pertanto, il risultato di una query dipende dall opportunità o meno che il sistema che sta rispondendo alla query supporti la semantica RDFS. Le query SPARQL hanno una struttura del tipo SELECT-FROM-WHERE: - SELECT specifica la proiezione: il numero e l'ordine dei dati recuperati. - FROM viene utilizzata per specificare la risorsa interrogata, questa clausola è facoltativa, quando non specificata possiamo semplicemente assumere che stiamo interrogando la base di conoscenza di un particolare sistema. - WHERE impone limitazioni sulle possibili soluzioni nella forma di template grafici e vincoli booleani (in SPARQL usando una condizione di filtro). Oltre a prevedere la clausola SELECT come in SQL, offre anche altri costrutti. E possibile infatti prevedere che: - non si conosce a priori lo schema dei dati. Per risolvere questo problema SPARQL ha la clausola DESCRIBE, che permette di ottenere una descrizione della risorsa cercata. - si presenti la necessità di sapere se un certo enunciato o un certo pattern di dati sia presente nella sorgente dati. Per questo motivo SPARQL propone la clausola ASK. 30

31 Conclusioni Il nostro lavoro è iniziato con l'idea di un Web come piattaforma in continuo miglioramento,espressione della comunità di utenti che contribuisce a svilupparla e a migliorarla. La partecipazione libera e attiva degli utenti ha portato a un ingrossamento spropositato dei dati presenti in Rete che si è ben presto tradotto in un problema di reperimento dei dati stessi. Le difficoltà nell'estrarre informazioni in maniera efficace e agevole hanno portato il WC3 a concepire il progetto di Web Semantico. L'idea consisterebbe nel definire un sistema di (ri)organizzazione semantica della Rete, dotato di agenti Web intelligenti in grado di interpretare i dati, i qualisi sobbarcherebbero per noi utenti il gravoso compito del reperimento. Nel corso della nostra analisi abbiamo rilevato come il sogno di un Web machine under-standable venga incontro a due problemi tecnici fondamentali e tra loro interconnessi: la formalizzazione e la semidecidibilità. Abbiamo ritenuto opportuno procedere con un'analisi delle varie tecnologie del W3C (XML,RDF,RDFS,OWL,SPARQL), considerandoli come lo snodo indispensabile per comprendere se e come l'idea di Web Semantico possa effettivamente rispecchiare e rispettare la realtà delle cose. In definitiva si può dire che, finora, si è riusciti a rappresentare ambiti ben definiti di conoscenza, ma non ad elaborarli in maniera automatica. Per i prossimi anni, ci si aspetta un ulteriore raffinamento ed incremento dei metadati, utilizzati per esprimere quantità di dati sempre più vaste, delle ontologie che illustrano le relazioni tra questi ed altri dati e delle regole che permettono di aumentare il grado di inferenza possibili. 31

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

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)

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

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

PROCESSO DI INDICIZZAZIONE SEMANTICA

PROCESSO DI INDICIZZAZIONE SEMANTICA PROCESSO DI INDICIZZAZIONE SEMANTICA INDIVIDUAZIONE DEI TEMI/CONCETTI SELEZIONE DEI TEMI/CONCETTI ESPRESSIONE DEI CONCETTI NEL LINGUAGGIO DI INDICIZZAZIONE TIPI DI INDICIZZAZIONE SOMMARIZZAZIONE INDICIZZAZIONE

Dettagli

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

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

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

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

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

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello del sistema 4 2.1 Requisiti hardware........................ 4 2.2 Requisiti software.........................

Dettagli

Introduzione al Semantic Web

Introduzione al Semantic Web Corso di Laurea Specialistica in Ingegneria Gestionale Corso di Sistemi Informativi Modulo II A. A. 2013-2014 Giuseppe Loseto Dal Web al Semantic Web 2 Dal Web al Semantic Web: Motivazioni Il Web dovrebbe

Dettagli

La Metodologia adottata nel Corso

La Metodologia adottata nel Corso La Metodologia adottata nel Corso 1 Mission Statement + Glossario + Lista Funzionalià 3 Descrizione 6 Funzionalità 2 Schema 4 Schema 5 concettuale Logico EA Relazionale Codice Transazioni In PL/SQL Schema

Dettagli

Architetture Applicative

Architetture Applicative Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture

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

Rappresentazione della Conoscenza. Lezione 10. Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 10 0

Rappresentazione della Conoscenza. Lezione 10. Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 10 0 Rappresentazione della Conoscenza Lezione 10 Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 10 0 Sistemi ed applicazioni Sistemi di rappresentazione della conoscenza basati su logiche descrittive.

Dettagli

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle

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

Introduzione all Information Retrieval

Introduzione all Information Retrieval Introduzione all Information Retrieval Argomenti della lezione Definizione di Information Retrieval. Information Retrieval vs Data Retrieval. Indicizzazione di collezioni e ricerca. Modelli per Information

Dettagli

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Accademia Futuro info@accademiafuturo.it Programma Generale del Corso Analista Programmatore Web PHP Tematiche Trattate

Dettagli

Capitolo 4 Pianificazione e Sviluppo di Web Part

Capitolo 4 Pianificazione e Sviluppo di Web Part Capitolo 4 Pianificazione e Sviluppo di Web Part Questo capitolo mostra come usare Microsoft Office XP Developer per personalizzare Microsoft SharePoint Portal Server 2001. Spiega come creare, aggiungere,

Dettagli

Organizzazione degli archivi

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

Dettagli

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione

Dettagli

Esercitazione di Basi di Dati

Esercitazione di Basi di Dati Esercitazione di Basi di Dati Corso di Fondamenti di Informatica 6 Maggio 2004 Come costruire una ontologia Marco Pennacchiotti pennacchiotti@info.uniroma2.it Tel. 0672597334 Ing.dell Informazione, stanza

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

Generazione Automatica di Asserzioni da Modelli di Specifica

Generazione Automatica di Asserzioni da Modelli di Specifica UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Magistrale in Informatica Generazione Automatica di Asserzioni da Modelli di Specifica Relatore:

Dettagli

Enrico Fagnoni <e.fagnoni@e-artspace.com> BOTK IN A NUTSHELL

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

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Introduzione ai Database! Tipologie di DB (gerarchici, reticolari, relazionali, oodb) Introduzione ai database Cos è un Database Cos e un Data Base Management System (DBMS)

Dettagli

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2014-2015 Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Strutture di dati: DB e DBMS DATO E INFORMAZIONE Dato: insieme

Dettagli

Progettazione di Basi di Dati

Progettazione di Basi di Dati Progettazione di Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione Progettazione Logica 2 E il modo attraverso il quale i dati sono rappresentati : fa riferimento al modello

Dettagli

SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO

SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO Descrizione Nell ambito della rilevazione dei costi, Solari con l ambiente Start propone Time&Cost, una applicazione che contribuisce a fornire

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

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

Reti di Telecomunicazione Lezione 6

Reti di Telecomunicazione Lezione 6 Reti di Telecomunicazione Lezione 6 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Lo strato di applicazione protocolli Programma della lezione Applicazioni di rete client - server

Dettagli

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015 BASE DI DATI: introduzione Informatica 5BSA Febbraio 2015 Di cosa parleremo? Base di dati relazionali, modelli e linguaggi: verranno presentate le caratteristiche fondamentali della basi di dati. In particolare

Dettagli

Reti di Telecomunicazione Lezione 8

Reti di Telecomunicazione Lezione 8 Reti di Telecomunicazione Lezione 8 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Livello di trasporto Programma della lezione relazione tra lo strato di trasporto e lo strato

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

Come leggere ed interpretare la letteratura scientifica e fornire al pubblico informazioni appropriate sui farmaci

Come leggere ed interpretare la letteratura scientifica e fornire al pubblico informazioni appropriate sui farmaci Come leggere ed interpretare la letteratura scientifica e fornire al pubblico informazioni appropriate sui farmaci I motori di ricerca in internet: cosa sono e come funzionano Roberto Ricci, Servizio Sistema

Dettagli

RICERCA DELL INFORMAZIONE

RICERCA DELL INFORMAZIONE RICERCA DELL INFORMAZIONE DOCUMENTO documento (risorsa informativa) = supporto + contenuto analogico o digitale locale o remoto (accessibile in rete) testuale, grafico, multimediale DOCUMENTO risorsa continuativa

Dettagli

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione Programma del Corso Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Normalizzazione (I prova scritta) (II prova scritta) Interazione fra linguaggi di programmazione e basi di dati Cenni

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

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

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4) Architettura del WWW World Wide Web Sintesi dei livelli di rete Livelli di trasporto e inferiori (Livelli 1-4) - Connessione fisica - Trasmissione dei pacchetti ( IP ) - Affidabilità della comunicazione

Dettagli

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone BASI DI DATI per la gestione dell informazione Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone Libro di Testo 22 Chianese, Moscato, Picariello e Sansone BASI DI DATI per la Gestione dell

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

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report Facoltà di Lingue e Letterature Straniere Le QUERY 2 Che cos è una Query? Una Query rappresenta uno strumento per interrogare un database.

Dettagli

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

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

Dettagli

Lezione 8. Motori di Ricerca

Lezione 8. Motori di Ricerca Lezione 8 Motori di Ricerca Basi di dati Un campo prevalente dell applicazione informatica è quello costituito dall archiviazione e dalla gestione dei dati (basi di dati). Sistema Informativo. Un sistema

Dettagli

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle

Dettagli

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database Uso delle basi di dati Uso delle Basi di Dati Il modulo richiede che il candidato comprenda il concetto di base dati (database) e dimostri di possedere competenza nel suo utilizzo. Cosa è un database,

Dettagli

Lezione 1. Introduzione e Modellazione Concettuale

Lezione 1. Introduzione e Modellazione Concettuale Lezione 1 Introduzione e Modellazione Concettuale 1 Tipi di Database ed Applicazioni Database Numerici e Testuali Database Multimediali Geographic Information Systems (GIS) Data Warehouses Real-time and

Dettagli

Reti di Calcolatori. Il Livello delle Applicazioni

Reti di Calcolatori. Il Livello delle Applicazioni Reti di Calcolatori Il Livello delle Applicazioni Il DNS Gli indirizzi IP sono in formato numerico: sono difficili da ricordare; Ricordare delle stringhe di testo è sicuramente molto più semplice; Il Domain

Dettagli

Università Politecnica delle Marche. Progetto Didattico

Università Politecnica delle Marche. Progetto Didattico Università Politecnica delle Marche Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica e dell Automazione Sede di Ancona Anno Accademico 2011-2012 Corso di Tecnologie WEB Docente prof. Alessandro

Dettagli

ESERCITAZIONE Semplice creazione di un sito Internet

ESERCITAZIONE Semplice creazione di un sito Internet ESERCITAZIONE Semplice creazione di un sito Internet Sistemi e Tecnologie Informatiche - Prof. Gregorio Cosentino 1 Internet Una rete globale che connette milioni di computer in tutto il mondo, anarchica

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

Concetti di base di ingegneria del software

Concetti di base di ingegneria del software Concetti di base di ingegneria del software [Dalle dispense del corso «Ingegneria del software» del prof. A. Furfaro (UNICAL)] Principali qualità del software Correttezza Affidabilità Robustezza Efficienza

Dettagli

Basi di dati. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti

Basi di dati. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti Basi di dati Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti Anno Accademico 2008/2009 Introduzione alle basi di dati Docente Pierangelo

Dettagli

I WEBQUEST SCIENZE DELLA FORMAZIONE PRIMARIA UNIVERSITÀ DEGLI STUDI DI PALERMO. Palermo 9 novembre 2011

I WEBQUEST SCIENZE DELLA FORMAZIONE PRIMARIA UNIVERSITÀ DEGLI STUDI DI PALERMO. Palermo 9 novembre 2011 I WEBQUEST SCIENZE DELLA FORMAZIONE PRIMARIA Palermo 9 novembre 2011 UNIVERSITÀ DEGLI STUDI DI PALERMO Webquest Attività di indagine guidata sul Web, che richiede la partecipazione attiva degli studenti,

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

BANCHE DATI. Informatica e tutela giuridica

BANCHE DATI. Informatica e tutela giuridica BANCHE DATI Informatica e tutela giuridica Definizione La banca dati può essere definita come un archivio di informazioni omogenee e relative ad un campo concettuale ben identificato, le quali sono organizzate,

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

Creare ontologie ONTOLOGIE, DESCRIPTION LOGIC, PROTÉGÉ STEFANO DE LUCA

Creare ontologie ONTOLOGIE, DESCRIPTION LOGIC, PROTÉGÉ STEFANO DE LUCA Creare ontologie ONTOLOGIE, DESCRIPTION LOGIC, PROTÉGÉ STEFANO DE LUCA Punto di partenza: materia per ragionare Gli agenti intelligenti possono usare tecniche deduttive per raggiungere il goal Per fare

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

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

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro Database relazionali: un'introduzione Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro Rappresentazione astratta di aspetti del mondo reale (Universe

Dettagli

Ipertesti e Internet. Ipertesto. Ipertesto. Prof.ssa E. Gentile. a.a. 2011-2012

Ipertesti e Internet. Ipertesto. Ipertesto. Prof.ssa E. Gentile. a.a. 2011-2012 Corso di Laurea Magistrale in Scienze dell Informazione Editoriale, Pubblica e Sociale Ipertesti e Internet Prof.ssa E. Gentile a.a. 2011-2012 Ipertesto Qualsiasi forma di testualità parole, immagini,

Dettagli

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014 Database Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014 Cos'è un database? È una struttura di dati composta da tabelle a loro volta composte da campi. Caratteristiche

Dettagli

WorkFLow (Gestione del flusso pratiche)

WorkFLow (Gestione del flusso pratiche) WorkFLow (Gestione del flusso pratiche) Il workflow è l'automazione di una parte o dell'intero processo aziendale dove documenti, informazioni e compiti vengono passati da un partecipante ad un altro al

Dettagli

EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO

EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO Linguaggi di programmazione classificati in base alle loro caratteristiche fondamentali. Linguaggio macchina, binario e fortemente legato all architettura. Linguaggi

Dettagli

Le Basi di Dati. Le Basi di Dati

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

Dettagli

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

Riepilogo delle modifiche di PA-DSS dalla versione 2.0 alla 3.0

Riepilogo delle modifiche di PA-DSS dalla versione 2.0 alla 3.0 Settore delle carte di pagamento (PCI) Standard di protezione dei dati per le applicazioni di pagamento () Riepilogo delle modifiche di dalla versione 2.0 alla 3.0 Novembre 2013 Introduzione Il presente

Dettagli

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo Come funziona il WWW Il funzionamento del World Wide Web non differisce molto da quello delle altre applicazioni Internet Anche in questo caso il sistema si basa su una interazione tra un computer client

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

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico MANUALE MOODLE STUDENTI Accesso al Materiale Didattico 1 INDICE 1. INTRODUZIONE ALLA PIATTAFORMA MOODLE... 3 1.1. Corso Moodle... 4 2. ACCESSO ALLA PIATTAFORMA... 7 2.1. Accesso diretto alla piattaforma...

Dettagli

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

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

Gestione del workflow

Gestione del workflow Gestione del workflow Stefania Marrara Corso di Tecnologie dei Sistemi Informativi 2004/2005 Progettazione di un Sistema Informativo Analisi dei processi Per progettare un sistema informativo è necessario

Dettagli

database: modello entityrelationship

database: modello entityrelationship Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2007/8 database: modello entityrelationship Prof.Valle D.ssaFolgieri Lez7 25.10.07 Trattamento dati. Database: modello entity-relationship 1 Fasi

Dettagli

Modellazione di sistema

Modellazione di sistema Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Modellazione di sistema E. TINELLI Contenuti Approcci di analisi Linguaggi di specifica Modelli di

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

MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA

MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA Fornitore: Publisys Prodotto: Intranet Provincia di Potenza http://www.provincia.potenza.it/intranet Indice 1. Introduzione... 3 2. I servizi dell Intranet...

Dettagli

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi

Dettagli

Guida all uso del web service SDMX

Guida all uso del web service SDMX Guida all uso del web service SDMX Introduzione L obiettivo di questo documento è l illustrazione sintetica degli step che tecnicamente bisogna compiere affinché un generico client sia in grado di interagire

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

Sistemi Informativi e Basi di Dati

Sistemi Informativi e Basi di Dati Sistemi Informativi e Basi di Dati Laurea Specialistica in Tecnologie di Analisi degli Impatti Ecotossicologici Docente: Francesco Geri Dipartimento di Scienze Ambientali G. Sarfatti Via P.A. Mattioli

Dettagli

Alessandra Raffaetà. Basi di Dati

Alessandra Raffaetà. Basi di Dati Lezione 2 S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali Alessandra Raffaetà Dipartimento di Informatica Università Ca Foscari Venezia Basi di Dati

Dettagli

Informatica I per la. Fisica

Informatica I per la. Fisica Corso di Laurea in Fisica Informatica I per la Fisica Lezione: Software applicativo II Fogli elettronici e Data Base Software: software di sistema (BIOS) sistema operativo software applicativo ROM Dischi

Dettagli

I Sistemi Informativi

I Sistemi Informativi I Sistemi Informativi Definizione Un Sistema Informativo è un mezzo per acquisire, organizzare, correlare, elaborare e distribuire le informazioni che riguardano una realtà che si desidera descrivere e

Dettagli

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014 Archivi e database Prof. Michele Batocchi A.S. 2013/2014 Introduzione L esigenza di archiviare (conservare documenti, immagini, ricordi, ecc.) è un attività senza tempo che è insita nell animo umano Primi

Dettagli

Raccolta dei Requisiti con i Casi D'uso. Corso di Ingegneria del Software Anno Accademico 2012/13

Raccolta dei Requisiti con i Casi D'uso. Corso di Ingegneria del Software Anno Accademico 2012/13 Raccolta dei Requisiti con i Casi D'uso Corso di Ingegneria del Software Anno Accademico 2012/13 I casi d uso I casi d'uso (use case) sono una tecnica utilizzata per identificare i requisiti funzionali

Dettagli

Sistemi centralizzati e distribuiti

Sistemi centralizzati e distribuiti Sistemi centralizzati e distribuiti In relazione al luogo dove è posta fisicamente la base di dati I sistemi informativi, sulla base del luogo dove il DB è realmente dislocato, si possono suddividere in:

Dettagli

Nuova funzione di ricerca del sito WIKA.

Nuova funzione di ricerca del sito WIKA. Nuova funzione di ricerca del sito WIKA. Il sito WIKA dispone ora di una funzione di ricerca completamente riprogettata. Essa è uno strumento particolarmente importante in quanto deve fornire al navigatore

Dettagli

Protocollo di metadata harvesting OAI-PMH Lavoro pratico 2

Protocollo di metadata harvesting OAI-PMH Lavoro pratico 2 Docente: prof.silvio Salza Candidato: Protocollo di metadata harvesting OAI-PMH Open Archive Initiative OAI (Open Archive Initiative) rendere facilmente fruibili gli archivi che contengono documenti prodotti

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

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

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione

Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione Marco Liverani (liverani@mat.uniroma3.it)

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

SCENARIO. Personas. 2010 ALICE Lucchin / BENITO Condemi de Felice. All rights reserved.

SCENARIO. Personas. 2010 ALICE Lucchin / BENITO Condemi de Felice. All rights reserved. SCENARIO Personas SCENARIO È una delle tecniche che aiuta il designer a far emergere le esigente dell utente e il contesto d uso. Gli scenari hanno un ambientazione, attori (personas) con degli obiettivi,

Dettagli