IMPLEMENTAZIONE DI UN MOTORE INFERENZIALE PER LA LOGICA ETICHETTATA SU UN REPOSITORY RDF

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "IMPLEMENTAZIONE DI UN MOTORE INFERENZIALE PER LA LOGICA ETICHETTATA SU UN REPOSITORY RDF"

Transcript

1 UNIVERSITA' POLITECNICA DELLE MARCHE FACOLTA' DI INGEGNERIA Dipartimento di Ingegneria Informatica, Gestionale e dell'automazione Corso di Laurea in Ingegneria Informatica e dell'automazione IMPLEMENTAZIONE DI UN MOTORE INFERENZIALE PER LA LOGICA ETICHETTATA SU UN REPOSITORY RDF Tesi di Laurea di: Matteo Rossi Relatore: Prof. Aldo Franco Dragoni Correlatore: Ing. Mauro Mazzieri Sessione DICEMBRE 2010 Anno Accademico

2 INDICE Introduzione Il Semantic Web La nascita del Web Dal Web attuale al Semantic Web L'architettura del Semantic Web I principi del Semantic Web RDF Introduzione a RDF Il modello e la sintassi RDF Altre proprietà RDF Semantica RDF RDF Schema Semantica RDF Schema RDF etichettata La logica Fuzzy e la logica etichettata Sintassi RDF etichettata Semantica RDF etichettata Sesame Architettura di Sesame RDF Model Sail API Repository API Motore inferenziale di Sesame Labeled Sesame Strategia e tecnologie utilizzate Estensione del motore inferenziale Realizzazione del comparatore di contesti Valutazione delle prestazioni...73 Riferimenti

3 INTRODUZIONE Il Web è uno dei più potenti mezzi di comunicazione. Nato al CERN fu prima adottato solo dai fisici del centro di ricerca per la condivisione di documenti in forma elettronica, poi dal resto dell'ambito accademico, poi dalle piccole fino alle grandi aziende, per diffondersi infine in tutto il resto del Mondo. Con l'avvento del Web è stato quindi possibile realizzare il principio di accesso universale all'informazione che permette di accedere al documento da ogni computer localizzato ovunque, da parte di qualsiasi utente autorizzato. Il Web ormai non è più uno strumento per appassionati, ma è diventato parte integrante della vita comune dell'essere umano: tutti ne fanno uso con scopi più svariati ma il principale è quello della trasmissione, del recupero e l'elaborazione dell'informazione e della conoscenza. Nonostante questo il web rimane, ancora e soprattutto, una gigantesca biblioteca di pagine HTML (statiche e dinamiche) online. La maggior parte dei contenuti del Web infatti sono attualmente rappresentati affinché possano essere letti ed elaborati da utenti umani e non sono progettati per essere compresi da agenti software. Il Semantic Web o Web Semantico nasce proprio in questo contesto e permette di introdurre una struttura semantica nei contenuti del Web. Non separato dal Web tradizionale, ma introducendo il significato dei dati, ne è un estensione che aggiunge una nuova funzionalità alle macchine, le quali diventano in grado di comprendere i dati, che fino ad ora semplicemente visualizzavano. Aggiungere la semantica ai contenuti del Web richiede però la creazione di linguaggi e tecnologie in grado di estrarre significati da informazioni. In particolare, per lo sviluppo di un Web in versione semantica risulta necessario un linguaggio che permetta di esprimere dati e regole per i ragionamenti. Questo linguaggio deve ovviamente poter coesistere con i diversi sistemi di rappresentazione della conoscenza esistenti e deve essere sufficientemente espressivo da abilitare il ragionamento su scala Web. Uno dei linguaggi per la rappresentazione delle informazioni riguardo le risorse del Web è RDF (Resource Description Framework). È particolarmente utile per rappresentare i meta dati riguardanti risorse Web, come il titolo, l'autore, la data di modifica di una pagina Web, il copyright di un documento Web o altre informazioni condivisibili. Comunque, generalizzando il concetto di risorsa Web, il linguaggio RDF può essere usato per rappresentare informazioni su oggetti che 3

4 possono essere identificati sul Web, anche quando essi non possono essere direttamente reperiti sul Web stesso. Ogni risorsa è identificata da un URI, un identificatore univoco di risorse. Questo permette a RDF di rappresentare semplici affermazioni sulle risorse. Tali affermazioni sono costituite da un soggetto, cioè la parte che identifica ciò che l'affermazione descrive, da un predicato che identifica la proprietà o delle caratteristiche del soggetto, e da un oggetto che identifica il valore della proprietà. Utilizzando la logica fuzzy per estendere RDF è possibile aggiungere un grado di verità ad ogni affermazione RDF. Il grado di verità viene espresso, secondo la logica fuzzy, da un numero appartenente all'intervallo [0,1] il quale rappresenta il grado di appartenenza di un elemento ad un insieme. Applicando questo concetto a RDF e definendone una nuova semantica è possibile trattare il tipo di incertezza causata dalla vaghezza delle informazioni. Purtroppo però quando un valore logico aggiuntivo viene applicato ad un affermazione per esprimere la provenienza, un valore numerico risulta difficile da interpretare. A questo punto risulta utile introdurre la logica etichettata; l'idea di base è che la logica fuzzy può essere vista come una forma di logica etichettata in cui l'appartenenza di un elemento ad un insieme viene indicata da un'etichetta, la quale può assumere i valori nell'intervallo [0, 1], il quale viene definito dominio delle etichette. Ora, se un valore logico fuzzy viene visto come un'etichetta in un'affermazione logica, possiamo generalizzare ed estendere il dominio delle etichette dall'intervallo [0, 1] ad ogni altro insieme. Alcuni domini potrebbero essere l'insieme delle etichette di contesto, l'insieme delle etichette che esprimono rilevanza o l'insieme delle etichette che esprimono intervalli di tempo. Utilizzando la logica etichettata è possibile estendere ulteriormente RDF fornendo delle etichette alle affermazioni RDF, che esprimono esplicitamente la provenienza di un'affermazione, ossia il suo contesto. Scopo della tesi è l'implementazione di un'estensione in un sistema inferenziale che consente di effettuare inferenze logiche sulla base della provenienza delle affermazioni memorizzate. Il sistema inferenziale scelto per realizzare l'estensione è Sesame. Sesame è un framework open source per la memorizzazione, e interrogazione di dati RDF. In origine, è stato sviluppato da Aduna (allora conosciuta come Aidministrator) come prototipo per un progetto di ricerca dell'ue On To Knowledge. Successivamente è stato ulteriormente sviluppato e mantenuto da Aduna in collaborazione con Fondazione NLnet, gli sviluppatori di Ontotext, e un 4

5 certo numero di sviluppatori volontari che contribuiscono con idee, segnalazioni di bug e correzioni. Sesame è stato progettato per garantire flessibilità. Può essere schierato sulla cima di una varietà di sistemi di storage (database relazionali, in memoria, file system, ecc), e offre un gran numero di strumenti che permettono accessi sia locali che remoti e diversi linguaggi di interrogazione. Le motivazioni che ci hanno portato a scegliere questo framework per realizzare il motore inferenziale sono: data l'architettura di Sesame 2, è particolarmente adatto per sviluppare delle estensioni e supporta Java 6; inoltre in questa versione è stata introdotta la gestione dei contesti che permettono di tener traccia della provenienza di alcune unità RDF. Per realizzare questa estensione sono stati seguiti due fasi fondamentali: implementazione di un motore inferenziale che tenga conto anche dei contesti delle affermazioni secondo un approccio minimalistico; ciò significa che si è utilizzato, ove possibile, il codice sorgente di Sesame 2 modificando solo le classi relative al motore inferenziale realizzazione di un comparatore di contesti utile per gestire un ordinamento parziale tra di essi e una funzione in grado di fornire il minimo tra due contesti dati che sia indipendente dal motore inferenziale. Grazie a questa scelta è stato possibile sviluppare la classe del comparatore di contesti al di fuori di Sesame ed eseguire dei test per verificare il corretto funzionamento dell'algoritmo di ordinamento parziale tra contesti. Questa scelta permetterà inoltre di migliorare, in futuro, il comparatore di contesti il quale potrebbe anche essere utilizzato da applicazioni differenti da Sesame. 5

6 1 IL SEMANTIC WEB 1.1 LA NASCITA DEL WEB Il World Wide Web (nome di origine inglese), in sigla WWW o W3, più spesso abbreviato in Web, è stato inizialmente implementato da Tim Berners Lee, mentre era ricercatore al CERN (Conseil Européen pour la Recherche Nucléaire) di Ginevra. L'idea di Berners Lee era quella di fornire uno strumento per la condivisione, tra i ricercatori, di documenti in forma elettronica. Il 13 Marzo 1989 Tim Berners Lee presentò infatti al proprio supervisore il documento Information Management: A Proposal [1] (Fig. 1.1). Fig. 2 Frontespizio della proposta. 6

7 Vague but exciting... ( vago ma interessante), con questo scarno commento, annotato manualmente su una copia del documento, Mike Sendall, che era il diretto superiore di Berners Lee, ha fatto storia, permettendo al progetto di continuare e, in retrospettiva, di cambiare il mondo. Nel documento discusse dei problemi di perdita di informazioni sui sistemi complessi in evoluzione (in particolare al CERN) e propose una possibile soluzione basata su un sistema ipertestuale distribuito. Le esigenze pratiche del CERN erano quelle di creare un sistema distribuito che permettesse l'accesso da macchine remote, l'eterogeneità, cioè la possibilità di accesso ai dati da sistemi differenti (VM / CMS, Macintosh, VAX / VMS, Unix), la non centralizzazione, l'accesso ai dati esistenti, come ad esempio la ricerca, e la possibilità di aggiungere collegamenti privati per arricchire l'informazione pubblica. Da queste esigenze nacque l'idea di elaborare un software per la condivisione di documentazione scientifica in formato elettronico indipendentemente dalla piattaforma informatica utilizzata, con il fine di migliorare la comunicazione, e quindi la cooperazione, tra i ricercatori dell'istituto. A lato della creazione del software, iniziò anche la definizione di standard e protocolli per scambiare documenti su reti di calcolatori: il linguaggio HTML e il protocollo di rete HTTP. La nascita effettiva del Web viene comunemente indicata nel 6 agosto 1991, giorno in cui Berners Lee mise on line il primo sito Web. Inizialmente utilizzato solo dalla comunità scientifica, il 30 aprile 1993 il CERN decide di rendere pubblica la tecnologia alla base del Web. A tale decisione fa seguito un immediato e ampio successo del Web in virtù della possibilità offerta a chiunque di diventare editore della propria conoscenza. La semplicità della tecnologia decretò un immediato successo: in pochi anni il WWW divenne la modalità più diffusa al mondo per inviare e ricevere dati su Internet, facendo nascere quella che oggi è nota come "era del web". 1.2 DAL WEB ATTUALE... Per definire il WWW è utile far riferimento a [2] in cui il WWW viene descritto come un sistema informativo multimediale, distribuito, eterogeneo e collaborativo. Con l'avvento del Web è stato possibile realizzare il principio di accesso universale all'informazione che permette di accedere al documento, se esso disponibile, da ogni computer localizzato ovunque, 7

8 da parte di qualsiasi utente autorizzato attraverso l'utilizzo di un unico software chiamato Browser. La realizzazione di tale principio si basa sulla rappresentazione ipertestuale dei documenti (evoluti verso gli ipermedia), sulla disponibilità di efficaci meccanismi di ricerca, sul modello Client Server e sulla negoziazione del formato dei documenti. Il Web è inoltre un insieme di protocolli (URL, HTTP, HTML), un insieme di applicazioni (Web Servers,Web Browsers) ed insieme di informazioni di vario tipo. Oggi l'ente che si occupa di migliorare gli esistenti protocolli e linguaggi per il WWW e di aiutare il web a sviluppare tutte le sue potenzialità è il World Wide Web Consortium (W3C) [3]. Il W3C comprende circa 350 membri, tra i quali: aziende informatiche di primaria importanza: Adobe, Apple, Cisco System, Google, IBM, Intel, Microsoft, Sun Microsystem ed altri ancora; compagnie telefoniche Nokia; società di grandi dimensioni appartenenti ai più svariati settori, ma strategicamente interessate alla crescita del Web: American Express; organizzazioni non profit come la Mozilla Foundation; università e istituzioni per la ricerca. L'importanza dei suoi membri fa del W3C un organismo di grande autorevolezza e molti sono portati a chiamarlo il Consorzio, per antonomasia. Nonostante questo il web sia uno strumento utile per il recupero, l'elaborazione e la trasmissione delle informazioni e della conoscenza, rimane, ancora e soprattutto, una gigantesca biblioteca di pagine HTML (statiche e dinamiche) online. Infatti, lo standard HTML se da un lato con la sua semplicità ha contribuito all'affermazione del Web permettendo di rendere documenti scritti da essere umani accessibili e navigabili da altri esseri umani, dall'altro ha la grossa limitazione di occuparsi solo ed esclusivamente della formattazione dei documenti, tralasciando del tutto il significato del contenuto. Un motore di ricerca è in grado, secondo ben precise istruzioni, di disporre e visualizzare le informazione in una certa maniera, ma non hanno capacità di riconoscerle o attribuire loro un particolare significato per elaborarle. Ad esempio, analizzando i risultati forniti da un motore di ricerca come Google in risposta alla parole chiave rossi, riusciamo a capire come esso non sia in grado di distinguere se la parola si riferisca al colore o al famoso pilota di moto (lo stesso vale, a maggior ragione, per i contenuti non testuali come le immagini o gli elementi multimediali). Un 8

9 attuale motore di ricerca può tentare di ricavare i significati dal contesto della pagina, utilizzare sinonimi per espandere le ricerche ma fondamentalmente esegue delle ricerche da un archivio, certamente molto ben organizzato, di parole chiave. Se invece fosse in grado di comprendere il significato dei contenuti di una pagina, potrebbe fornire un unica risposta complessa ed efficace a domande anche più complesse del precedente esempio. Il Semantic Web o Web Semantico nasce proprio in questo contesto e permette di introdurre una struttura semantica nei contenuti del Web AL SEMANTIC WEB Il termine Web Semantico è stato proposto da Tim Berners Lee nel 2001: The Semantic Web is not a separate Web but an extension of the current one, in which information is given well defined meaning, better enabling computers and people to work in cooperation.... In the near future, these developments will usher in significant new functionality as machines become much better able to process and "understand" the data that they merely display at present. Da questa citazione presente nell'articolo [5] si capisce come l ideatore del WWW voglia proporre una evoluzione del Web attuale, che non sostituisca quello esistente, ma che riesca a traslare il concetto di Web dal machine readable al machine understandable, ovvero rendere le informazioni processabili e comprensibili direttamente alle macchine, con l'obiettivo di creare un ambiente in cui l informazione sia prodotta come una cooperazione efficace tra computer e persone. Affinché il significato dei dati veicolati sul Web sia compreso dai computer, è necessario che ad essi siano associate meta informazioni che ne descrivano il contenuto semantico in una forma comprensibile ai computer. In questo senso i meta dati sono informazioni, strutturate per essere elaborate da una macchina, che descrivono una risorsa Web. In particolare, i meta dati sono scritti con una sintassi che li rende comprensibili alle macchine e queste ultime devono essere in grado non solo di accedere a collezioni strutturate di meta dati ma di portare a termine operazioni di ragionamento e comprensione automatici attraverso l utilizzo di regole di inferenza logica e semantica. 9

10 La sfida del Web Semantico, in definitiva, è quella di trovare un linguaggio logico adatto ad esprimere sia i dati che le regole per il ragionamento automatico sui dati. Questo linguaggio deve ovviamente poter coesistere con i diversi sistemi di rappresentazione della conoscenza esistenti e deve essere sufficientemente espressivo da abilitare il ragionamento su scala Web. In risposta a questo è stato sviluppato, nel 1998 da Tim Berners Lee, lo standard XML (extensible Markup Language), un metalinguaggio che consente la creazione di nuovi linguaggi di marcatura (ad es. lo stesso HTML è stato ridefinito in XML come XHTML). Sua caratteristica innovativa è la possibilità di aggiungere informazioni semantiche sui contenuti attraverso la definizione di opportuni tag. I principali obiettivi di XML, dichiarati nella prima specifica ufficiale [4], sono pochi ed espliciti: utilizzo del linguaggio su Internet, facilità di creazione dei documenti, supporto di più applicazioni, chiarezza e comprensibilità per un essere umano, e contemporaneamente per le macchine. Con queste semplici caratteristiche l'xml fornisce un modo comune di rappresentare i dati, cosicché i programmi software sono in grado di eseguire meglio ricerche, visualizzare e manipolare informazioni. Un altro problema legato alla natura stessa del Web, come mostrato in precedenza attraverso un esempio, è che dati concettualmente diversi possano essere rappresentati con lo stesso nome: un programma dovrebbe essere in grado di risolvere tali ambiguità e quindi elaborare le informazioni in maniera appropriata. Perché questo possa avvenire, si devono creare delle ontologie. Il termine ontologia, preso in prestito dal linguaggio filosofico, indica un documento che contiene la descrizione formale dei concetti di un dato dominio; identifica le classi più importanti, le organizza in una gerarchia, specifica le loro proprietà (che caratterizzano anche gli oggetti appartenenti alla classe) e descrive anche le relazioni più significative, che legano queste classi. Le ontologie sono in grado di migliorare le potenzialità del Web: i programmi di ricerca, basandosi su un preciso concetto, cercano e trovano le pagine che effettivamente si riferiscono a quel concetto, anziché quelle che contengono parola chiave ambigue o generiche. 10

11 1.3.1 L'architettura del Semantic Web L'architettura che caratterizza il Semantic Web, teorizzata da Tim Berners Lee, prevede una struttura a livelli riportati in Fig 1.2. L'utilizzo di questa struttura permette lo sviluppo indipendentemente ed autonomo dei diversi livelli purché si tenga conto di due principi fondamentali: il software di un certo livello deve essere in grado di usufruire di informazioni e servizi fornita dai livelli sottostanti. il software di livello più basso deve comunque poter interpretare parzialmente dati di livello superiore. Fig. 1.2 Architettura del Web Semantico: il layer cake (Koivunen, Miller, 2001) UNICODE Per immagazzinare nella memoria di un computer lettere, simboli o segni è necessario che a ciascun carattere venga assegnata un numero che lo identifica. Esistono differenti sistemi di codifica che associano numeri identificativi ai caratteri, attraverso identificativi tecniche e processi differenti. Questi sistemi di codifica, oltre a non comprendere un numero di caratteri sufficiente per tutte le circostanze, sono in contraddizione l'uno con l'altro, nel senso che due codifiche possono utilizzare lo stesso numero per identificare due caratteri diversi o che, viceversa, associno identificatori diversi per lo stesso carattere. Inoltre, qualsiasi elaboratore necessita di utilizzare codifiche diverse. Il problema è che, quando i dati passano da una codifica ad un'altra, o da una piattaforma ad 11

12 un'altra, si corre il rischio di perdere informazioni. All'interno di questo contesto si inserisce lo standard Unicode, che attribuisce un numero univoco a ciascun carattere, indipendentemente dalla lingua, dalla piattaforma informatica e dal programma utilizzati. Lo piattaforma, standard Unicode è alla base di molti linguaggi come XML e Java ed è supportato da molti sistemi operativi, oltre che da quasi tutti i Web browser. A partire dall'ascii esteso o ASCII a 8 bit(iso8859) che consentiva di rappresentare 256 simboli, lo standard Unicode codifica qualsiasi altro carattere di lingue vive e di lingue morte, di simboli matematici e altro ancora. URI L'URI (Uniform Resource Identifiers) è lo standard utilizzato per la definizione univoca di risorse on line, come documenti, file e indirizzi Internet. È possibile definire un URI per un qualsiasi documento, programma o contenuto on line; in particolare un URI indica al computer il meccanismo da attivare per accedere ad una determinata risorsa, in quale computer trovare la risorsa e attraverso quale percorso interno. Gli URI possono essere creati inoltre per indicare cose che non sono network accessible, come un essere umano e società o associazioni di essi, e concetti astratti che non esistono fisicamente come ad esempio il concetto di creatore di un qualcosa. Il tipo di URI più utilizzato è l'url (Uniform Resource Locator) definito in [RFC1738]. Esso è costituito da una stringa composta da tre parti: metodo di accesso o protocollo (utilizzato per accedere alla risorsa), il nome dell'host che detiene la risorsa nella rete e l'identità della risorsa (costituita dal nome del file e dal percorso per raggiungerlo). Per ulteriori informazioni riguardo le URI si può fare riferimento a [RFC2396]. XML, NS, XML Schema XML è un linguaggio pensato per progettare file di testo che descrivono dati strutturati, in un modo che produca file che siano facili da generare e da leggere per una macchina, che non siano ambigui e indipendenti dalla piattaforma. L acronimo significa extensible Markup Language e indica un linguaggio di marcatura che permette agli individui di creare, definire e utilizzare i propri tag, quindi rappresenta una sorta di metalinguaggio per definire altri linguaggi per specifiche applicazioni. Costituisce il linguaggio per raggiungere l interoperabilità sintattica, ovvero la capacità dei sistemi di riuscire ad interpretare la sintassi e la struttura dei documenti scambiati, ma 12

13 anche l interoperabilità strutturale, seppur in via parziale, cioè la possibilità di interpretare le strutture dei documenti di schemi logici differenti, conoscendo le regole di traduzione differenti, tra tali schemi. XML, però, non consente di soddisfare la cosiddetta interoperabilità semantica, ovvero la capacità di più sistemi di scambiarsi dati e informazioni in modo che il loro significato sia accettato e interpretato automaticamente dal sistema ricevente. Per questo, vengono in soccorso altre tecnologie, prima fra tutte RDF. RDF, RDF Schema RDF è un modello di base per la descrizione, lo scambio e il riutilizzo di meta dati strutturati e consente l interoperabilità tra applicazioni che si scambiano sul Web informazioni machine understandable. RDF è il modello relazionale dei dati definito e promosso dal W3C per l interscambio di dati sul Web. In RDF il significato dell informazione è codificato in un insieme di triple che corrispondono a frasi elementari costituite da tre elementi, soggetto, predicato e complemento, identificabili attraverso le URI. RDF Schema fornisce primitive per organizzare le risorse Web in gerarchie. Le primitive chiave sono: i concetti di classe e proprietà, i legami di sottoclasse e sottoproprietà e le restrizioni di Domain e Range. RDF è caratterizzato da una serie di limiti che necessitano dell adozione di ulteriori tecnologie in grado di rendere effettivamente concreta l interoperabilità tra le varie applicazioni. Due sistemi, per esempio, potrebbero utilizzare URI diverse per identificare la stessa risorsa e pertanto le asserzioni fatte in un sistema non sarebbero confrontabili o integrabili con le asserzioni della stessa risorsa di un altro sistema. Per ottenere ciò, invece, occorre un modo per affermare che due identificatori abbiano lo stesso significato e quindi rappresentino due identificatori per riferirsi alla stessa risorsa. Ecco che entrano in gioco le ontologie. Ontology vocabulary Sopra il livello RDF e RDF Schema si trova il livello ontologico. In questo si trovano gli strumenti dedicati alla definizione di ontologie. Le ontologie costituiscono la tecnologia più importante alla base di tutta la concezione del Web Semantico, ma probabilmente anche la più complessa. Nel corso degli anni sono state proposte diverse definizioni, sia da parte dalla comunità dell intelligenza artificiale che della comunità stessa 13

14 del Web Semantico. Probabilmente la definizione più accreditata è quella data da Gruber nel 1993 [6]; in questo articolo possiamo ritrovare tale definizione: An ontology is an explicit specification of a conceptualization. Una rappresentazione formale di conoscenza è basata su una concettualizzazione cioè l'insieme di concetti, degli oggetti e delle entità rilevanti alla descrizione del dominio in esame e le relazioni tra di essi. La concettualizzazione, infatti, è una vista astratta e semplificata del mondo o di quella parte di realtà che desideriamo rappresentare; ogni sistema di rappresentazione o gestione della conoscenza avrà sempre una qualche concettualizzazione esplicita o implicita del suo dominio. Un ontologia diventa a questo punto un'esplicita specificazione di una concettualizzazione. Un semplice caso di ontologia può essere dato da una tassonomia; ad esempio, le diverse categorie e sotto categorie utilizzate dai bibliotecari per catalogare libri formano una semplice ma efficace ontologia. Attualmente i maggiori candidati a formare il livello ontologico sono i linguaggi OIL e DAML (probabilmente nella forma del DAML+OIL) e l OWL messo a punto dal W3C. Logic, Proof and Trust Questi livelli non sono stati ancora formalizzati. Non sono stati creati infatti sistemi specifici, quindi si parlerà di concetti in generale che andranno a formare più sistemi. Gli elementi per ora a disposizione consentono di rappresentare in modo adeguato la conoscenza; ma come questa conoscenza sarà utilizzata è attualmente solo ipotizzabile e riconducibile a linee guida generiche che trattano di linguaggi logici, formule per la dimostrazione e reti della fiducia. L'obiettivo è però quello di realizzare dei sistemi in grado di formulare ogni principio logico e permettere ai computer di ragionare (per inferenza) e quindi dedurre nuova conoscenza a partire da affermazioni già note. Attraverso l'utilizzo del procedimento deduttivo di inferenza sarà possibile, partendo da una o più premesse, ricavare una conclusione. A questo punto entra in gioco il livello di Proof responsabile della verifica: le semplici informazioni ottenute saranno validate, nello strato della dimostrazione, tramite motori di validazione generici costituiti da sequenze di formule derivate da assiomi. In ultimo il livello Trust (o di fiducia ) restituirà solo quelle informazioni che secondo il richiedente proverranno da utenti di indubbia attendibilità. 14

15 Secondo Tim Berners Lee, il Trust deve basarsi sugli strati inferiori unitamente all'utilizzo della firma digitale. Basate su lavori in matematica e in crittografia, le firme digitali attestano che una determinata persona ha scritto (o ritiene veritiero) un determinato documento o un'istruzione. Quindi firmando digitalmente le istruzioni RDF, chi le incontrerà potrà essere sicuro della loro autenticità. Ogni utente fisserà il suo personale livello di fiducia e sarà il computer a decidere a cosa (e quanto) credere. È però difficile avere fiducia in un gran numero di persone e questo potrebbe limitare l'utilizzo del Web. Ecco perché si vuole costruire il Web of Trust: lo scenario che si vuole realizzare è che un utente comunica al suo computer che ha fiducia in una persona, a sua volta questa persona ha fiducia in altre persone e queste ultime in altre. Tutte queste relazioni di fiducia si aprono a ventaglio e formano il Web of Trust. Ognuna delle relazioni ha un grado di fiducia (o di sfiducia) associata con esso I principi del Semantic Web I principi alla base di questa rinnovata visione del Web sono descritti nell'articolo [7] presentato al seminario mondiale sul Semantic Web tenutosi in Finlandia nel Verranno di seguito brevemente riportati i sei principi fondamentali: 1. Ogni cosa può essere identificata attraverso una URI (per approfondimenti sugli URI si veda il paragrafo 1.3.1). 2. Le risorse e i link possono avere un tipo. Con il Web Semantico le risorse e i link acquistano un tipo (type), ovvero una meta informazione che associa un concetto a ciascuna risorsa e a ciascun link; concetto che può consentire ai computer di comprendere le relazioni logiche e semantiche tra le risorse, esplicitate attraverso link. Nella Fig. 1.3, alcuni link tra risorse evidenziano che un documento è una versione di un altro, che è scritto in riferimento ad altri documenti circa persone o luoghi, o che la risorsa contiene un software dipendente da altri software; 15

16 Fig. 1.3 I principi del Web Semantico Koivunen, Miller L'informazione parziale è tollerata. Il Semantic Web come l'attuale Web è senza confini né limiti: chiunque può affermare qualsiasi cosa e creare differenti tipi di link tra le risorse. Alcune delle risorse collegate da link possono cessare di esistere o gli indirizzi potrebbero essere riutilizzate per altre risorse; il Semantic Web metterà a disposizione strumenti e tecnologie che saranno in grado di tollerare parzialità e incompletezza delle informazioni e capaci, quindi, di garantire alle macchine di comprendere il significato delle relazioni, anche se incomplete e inesatte dal punto di vista logico e semantico; 4. Non c'è necessità della verità assoluta. La veridicità delle informazioni disponibili sul Web Semantico non sarà dimostrabile in assoluto, come già accade nel Web attuale. Tuttavia, il Web Semantico sarà basato su applicazioni potenzialmente in grado di creare una macchina della fiducia, così come definita da Berners Lee concetto in base al quale i computer e i software saranno capaci di verificare in automatico senza l'intervento degli utenti l affidabilità dei documenti e dei contenuti presenti on line attraverso interpretazioni e inferenze. 5. L'evoluzione è supportata. Come accade per il Web attuale, anche nel Web Semantico documenti, informazioni e contenuti, saranno sempre soggetti ad evoluzioni e mutamenti di significato, dal momento che il Web è inserito all'interno di un contesto sociale (ad esempio, un termine all'interno come rete sociale può assumere differenti significati a seconda del contesto e dell'epoca in cui è inserita). Inoltre, dal momento che il Web è decentralizzato, e lo sarà anche nella versione machine understandable, per una stessa risorsa possono esistere diversi significati; alcuni potrebbero prevalere su altri ma, in assenza di un autorità centrale che standardizzi definizioni e significati per ciascuna risorsa, il Web Semantico dovrà essere in grado di gestire tutti i differenti vocabolari messi in rete dalle diverse comunità. Ambiguità e incertezza circa i significati descritti per le varie risorse dovranno essere gestite 16

17 nel migliore dei modi dalle tecnologie e applicazioni del Web Semantico. L infrastruttura del Web definito 3.0, dunque, dovrà essere in grado di gestire il processo di evoluzione e aggiornamento delle informazioni in rete e dei relativi significati, non sostituendo quelli nuovi a quelli vecchi, ma integrandoli e coordinandoli. 6. Design minimalista. Il Semantic Web rende semplici le cose semplici e possibili le cose complesse. Lo scopo del W3C è quello standardizzare solo quello strettamente necessario, con l'obiettivo di facilitare lo sviluppo di uno spazio aperto alle innovazioni e alle nuove applicazioni on line. Come già evidenziato, tale infrastruttura fa riferimento ai quattro livelli (dati, schema, ontologico e logico), che disegnano un'architettura minimalista del Web Semantico. 17

18 2 RDF 2.1 INTRODUZIONE A RDF RDF (Resource Description Framework) è un linguaggio per la rappresentazione di informazione riguardo le risorse del Web, [8]. È particolarmente utile per rappresentare i meta dati riguardanti risorse Web, come il titolo, l'autore, la data di modifica di una pagina Web, il copyright di un documento Web o altre informazioni condivisibili. Comunque, generalizzando il concetto di risorsa Web, il linguaggio RDF può essere usato per rappresentare informazioni su oggetti che possono essere identificate sul Web, anche quando esse non possono essere direttamente reperite sul Web. RDF fornisce un semplice framework per esprimere queste informazioni cosicché possano essere scambiate tra applicazioni senza perdita di significato. La capacità di scambiare informazioni tra applicazioni significa che le informazioni devono essere strutturate in modo tale da essere comprensibili anche da applicazioni differenti da quella per cui furono originariamente create. RDF è basato sull'idea di identificare gli oggetti utilizzando degli identificatori chiamati URI (per un approfondimento si veda il paragrafo 1.3.1) e descrivere le risorse in termini di semplici proprietà e valori di esse. Questo permette a RDF di rappresentare semplici statement (affermazioni) sulle risorse come un grafo di nodi e archi contenente le risorse e le loro proprietà con i relativi valori. Per capire bene il concetto è utile fare un semplice esempio. Si immagini di dichiarare che qualcuno di nome John Smith abbia creato una particolare pagina Web. Un semplice modo per dichiarare questo in un linguaggio naturale come l'inglese potrebbe essere nella forma di una semplice affermazione del tipo: has a creator whose value is John Smith In questa affermazione sono state enfatizzate le seguenti cose: l'oggetto che l'affermazione descrive (la pagina Web, in questo caso) una specifica proprietà (il creatore, in questo caso) dell'oggetto che l'affermazione descrive 18

19 il valore della proprietà (John Smith) In questa affermazione, l'url (Uniform Resource Locator) della pagina Web è stato usato per identificarla; inoltre la parola creatore è stata usata per identificare la proprietà, e le due parole John Smith per identificare l'oggetto (una persona, in questo caso) che è il valore della proprietà. Altre informazioni su questa pagina possono essere descritte scrivendo delle ulteriori affermazioni nella stessa forma, usando l'url per identificare la pagina e delle parole per identificare le proprietà e i loro valori. Per esempio, la data di creazione della pagina e la lingua con cui è stata scritta possono essere descritte aggiungendo le seguenti affermazioni: has a creation date whose value is August 16, has a language whose value is English RDF è basato sull'idea che gli oggetti descritti hanno delle proprietà, le quali hanno un valore, e che le risorse possono essere descritte formulando affermazioni, in maniera simile a quanto fatto sopra. RDF usa una particolare terminologia per indicare le parti delle affermazioni: la parte che identifica ciò che l'affermazione descrive (la pagina Web, in questo caso) è chiamato soggetto; la parte che identifica la proprietà o delle caratteristiche del soggetto (creatore, data di creazione o linguaggio in questi esempi) è chiamata predicato, e la parte che identifica il valore della proprietà è chiamata oggetto. Quindi, prendendo l'affermazione in linguaggio naturale has a creator whose value is John Smith i termini RDF per le varie parti dell'affermazione sono: il soggetto è l'url il predicato è la parola creator l'oggetto è John Smith Tuttavia, mentre il linguaggio naturale è adatto per comunicazioni tra umani, il linguaggio RDF è utile per manipolare affermazioni che siano machine processable. Al fine di creare questo tipo di affermazioni adatte per l'elaborazione da parte delle macchine, sono necessarie due cose: un sistema di identificatori di tipo machine processable per indicare un soggetto, predicato o oggetto in un'affermazione senza nessuna possibilità di confusione 19

20 un linguaggio di tipo machine processable per rappresentare e trasmettere le affermazioni tra diverse macchine. Fortunatamente l'attuale architettura Web permette la realizzazione di entrambe le necessità. La prima necessità viene risolta utilizzando gli URI (Uniform Resource Identifier). Più precisamente RDF usa delle referenze URI (URI reference). Una URI reference o URIref è un URI unito ad un fragment identifier alla fine. Per esempio, l'uri reference consiste di un URI e (separato dal carattere '#') il fragment identifier Section2. La seconda necessità viene risolta utilizzando il linguaggio XML per rappresentare le affermazioni RDF. 20

21 2.2 IL MODELLO E LA SINTASSI RDF Nell'introduzione si è visto come un idea può essere rappresentata esprimendo semplici affermazioni, dove ogni affermazione consiste di un soggetto, un predicato e un oggetto. Nel linguaggio RDF l'affermazione espressa in linguaggio naturale has a creator whose value is John Smith può essere rappresentata da un'affermazione RDF avente: un soggetto un predicato un oggetto Si noti come gli URIref sono usati non solo per identificare il soggetto, ma anche il predicato e l'oggetto, invece di usare rispettivamente le parole creatore e John Smith. Il linguaggio RDF permette di rappresentare le affermazioni come nodi e archi di un grafo; in questa notazione un'affermazione è rappresentata da: un nodo per il soggetto un nodo per l'oggetto un arco per il predicato, diretto dal nodo soggetto al nodo oggetto. Quindi l'affermazione RDF citata sopra può essere rappresentata dal grafo di Fig. 2.1: Fig. 2.1: Una semplice affermazione RDF. Tale rappresentazione è valida anche per un gruppo di affermazioni; quindi aggiungendo le affermazioni aggiuntive citate nel capitolo precedente has a creation date whose value is August 16,

22 has a language whose value is English si ottiene il grafo mostrato in Fig Fig. 2.2 Diverse affermazioni sulla stessa risorsa. Spesso quando si trattano affermazioni RDF non è conveniente utilizzare i grafi, ma un modo alternativo di rappresentarle, chiamate triple; nella notazione a triple ogni affermazione nel grafo viene scritta come una semplice tripla di soggetto, predicato e oggetto. Per esempio, le tre affermazioni mostrate in Fig2.2, generano le seguenti tre triple: < < < < < date> "August 16, 1999". < < "en". Ogni tripla corrisponde ad un singolo arco nel grafo, compresi il nodo d'origine e il nodo d'arrivo, perciò le triple rappresentano esattamente le stesse informazioni del modello grafico. Questo è un concetto chiave: ciò che è fondamentale nel linguaggio RDF è infatti la rappresentazione a grafo (graph model) delle affermazioni mentre la notazione usata per descrivere il grafo è una scelta secondaria. Nella notazione a triple completa gli URIref devono essere scritti per intero, tra parentesi acute e ciò comporta, come nell'esempio sopra illustrato, una scarsa leggibilità dovuta all'eccessivo numero di caratteri negli URIref, in special modo se questi sono URL. Per convenienza spesso vengono utilizzati dei QName (dall'inglese qualified name), senza parentesi acute, come abbreviazione di un 22

23 URIref completo. I QName contengono un prefisso, per indicare un namespace URI, seguito dai due punti e infine da un local name. L'URIref completo si ottiene dal QName aggiungendo il local name al namespace URI assegnato al prefisso. Alcuni prefissi utilizzati in questo ambito sono prefissi detti well known, definiti nel modo seguente: prefisso rdf:, namespace URI: rdf syntax ns# prefisso rdfs:, namespace URI: schema# prefisso dc:, namespace URI: prefisso owl:, namespace URI: prefisso ex:, namespace URI: (or prefisso xsd:, namespace URI: Le affermazioni precedenti descritte utilizzando i QName avranno la seguente forma: ex:index.html dc:creator exstaff: ex:index.html exterms:creation date "August 16, 1999". ex:index.html dc:language "en". dove exterms e exstaff indicano rispettivamente le seguenti variazioni del prefisso ex: prefisso exterms:, namespace URI: (per i termini usati da un esempio di organizzazione), prefisso exstaff:, namespace URI: (per identificare lo staff dell'esempio di organizzazione). L'insieme di URIref utilizzati per affermazioni RDF è chiamato vocabolario. Spesso, gli URIref contenuti nel vocabolario sono organizzati in modo che possano essere rappresentati con dei QName aventi prefisso comune; in questo modo viene scelto un comune namespace URI per tutti i termini nel vocabolario e tipicamente questo ulitmo è sotto il controllo di chiunque stia definendo il vocabolario. Gli URIref contenuti nel vocabolario potranno essere perciò ottenuti aggiungendo il local name alla fine dell'uriref comune. 23

24 Lo stesso approccio viene utilizzato per definire il vocabolario contenente i termini con significato speciale in RDF. Gli URIref in questo vocabolario RDF iniziano tutti con rdf syntax ns#, al quale per convenzione viene associato il prefisso rdf:. Un ulteriore vocabolario definito è quello dei termini utilizzati nel RDF Schema i quali iniziano con schema#, al quale per convenzione viene associato il prefisso rdfs:. Per approfondimenti su RDF Schema si rimanda al paragrafo 2.4. I Blank Nodes Nel modello a grafo i blank node sono dei nodi che non necessitano di un URIref perché indicano un concetto descritto implicitamente da altre affermazioni. Per capire questo concetto è utile riportare un semplice esempio: si supponga di voler esprimere che John Smith risiede all'indirizzo 1501 Grant Avenue della città di Bedford che si trova nello stato del Massachusetts con codice postale La rappresentazione di questo concetto con una tripla risulterebbe questa: exstaff:85740 exterms:address 1501 Grant Avenue, Bedford, Massachusetts, Ma supponendo che l'indirizzo di John Smith venga memorizzato in una struttura in cui la via, la città, lo stato e il codice postale debbano essere separati come può essere rappresentato? Una possibile rappresentazione con il modello a grafo risulterebbe quella di Fig. 2.3 Fig. 2.3 Modello a grafo dell'indirizzo di John Smith 24

25 mentre utilizzando una notazione a triple: exstaff:85740 exterms:address exaddressid: exaddressid:85740 exterms:street 1501 Grant Avenue. exaddressid:85740 exterms:city Bedford. exaddressid:85740 exterms:state Massachusetts. exaddressid:85740 exterms:postalcode È facile notare come questa notazione generi numerose ripetizioni del termine exaddressid:85740 per rappresentare il concetto di indirizzo di John Smith. A questo punto entrano in gioco i blank node: non c'è infatti bisogno di rappresentare il concetto di indirizzo di John Smith espresso dal termine exaddressid:85740 in quanto viene implicitamente descritto dalle altre affermazioni. Il modello a grafo utilizzando un blank node risulterebbe quello di Fig. 2.4 Fig. 2.4 Modello a grafo usando un blank node. Per ciò che riguarda la notazione a triple, i blank node vengono indicati con un nome identificativo, avente la forma _:nome. In questo esempio viene utilizzato il seguente identificatore di blank node _:johnaddress per indicare il concetto di indirizzo di John Smith : exstaff:85740 exterms:address _:johnaddress. _:johnaddress exterms:street 1501 Grant Avenue. _:johnaddress exterms:city Bedford. 25

26 _:johnaddress exterms:state Massachusetts. _:johnaddress exterms:postalcode Nella rappresentazione a triple di un grafo, ad ogni singolo blank node del grafo viene associato un differente identificativo. Questi ultimi non sono da considerarsi però parte del modello a grafo infatti essi rappresentano solo un modo per distinguere un blank node piuttosto che un altro quando il grafo viene rappresentato con la notazione a triple. Inoltre dato che i blank node rappresentano solo dei nodi, e non degli archi, gli identificatori di blank node possono apparire nel soggetto e nell'oggetto ma non nel predicato di una tripla. I letterali Un letterale viene usato per identificare valori costanti attraverso una rappresentazione lessicale. Nel modello a grafo essi vengono rappresentati all'interno di rettangoli e possono essere distinti in letterali puri (plain or untyped literal) e letterali con tipo o tipizzati (typed literal). I primi vengono utilizzati prevalentemente per indicare valori numerici costanti come una data o l'età come illustrato nell'esempio di Fig. 2.5 Fig. 2.5 Esempio di un plain literal In questo caso il letterale 27 verrà interpretato, dalla società esempio example.org, come un numero intero e non come una stringa costituita dai caratteri 2 e 7. Comunque non ci sono informazioni nel grafo che indichino esplicitamente che 27 dovrà essere interpretato come un numero. Allo stesso modo non c'è indicazione sul fatto che 27 sia un numero decimale piuttosto che un numero del sistema ottale. È perciò utile fornire un'informazione aggiuntiva su come interpretare un letterale, associando ad esso un tipo (datatype); in questo caso un tipo come decimal o integer. Nascono in questo modo i typed literal. In RDF essi sono formati da una stringa accoppiata con un URIref che identifica un particolare datatype. Per esempio utilizzando un typed literal l'età di John Smith può essere così descritta utilizzando un tripla 26

27 < < "27"^^< o, usando i QName: exstaff:85740 exterms:age "27"^^xsd:integer. Va specificato però che a differenza dei tipici linguaggi di programmazione e DBMS, RDF non ha un insieme di datatype predefiniti. Piuttosto, RDF fornisce semplicemente un modo esplicito che indichi, dato un letterale, quale datatype usare per interpretarlo. Lo scopo di una sintassi è definire una rappresentazione, ovvero una relazione tra costrutti di un linguaggio e le entità del mondo reale. Per RDF sono state proposte diverse sintassi, comunque va ricordato che il modello concettuale è completamente indipendente dalla sintassi scelta. La W3C consiglia quella basata su XML che viene anche detta RDF/XML [9]. A differenza delle triple questa è una sintassi normativa per scrivere affermazioni RDF. In questo ambito non verranno illustrati i principi del RDF/XML e si rimandano gli interessati all'articolo. 27

28 2.3 ALTRE PROPRIETÀ RDF RDF fornisce un numero di proprietà aggiuntive per rappresentare gruppi di risorse e informazioni aggiuntive sulle affermazioni RDF. Contenitori Spesso c'è la necessità di descrivere gruppi di oggetti : ad esempio per affermare che un libro è stato scritto da diversi autori, o la lista di studenti in un corso. RDF fornisce alcune proprietà che possono essere usati per descrivere tali gruppi. RDF mette a disposizione una risorsa definita contenitore il quale contiene oggetti i quali vengono chiamati elementi. Gli membri di un contenitore possono essere risorse o letterali. RDF definisce tre tipi di contenitori: rdf:bag rdf:seq rdf:alt Un rdf:bag rappresenta un gruppo di risorse o letterali non ordinati che ammette duplicati. Un rdf:seq rappresenta un gruppo di risorse o letterali ordinate che ammette duplicati. UN rdf:alt rappresenta un gruppo di risorse o letterali che sono alternative (tipicamente per un singolo valore di proprietà). Per esempio un rdf:alt potrebbe essere usato per descrivere traduzioni in lingue diverse per il titolo di uno stesso libro o siti Web differenti ai quali una stessa risorsa può essere trovata. Una risorsa può essere definita come contenitore attraverso la proprietà rdf:type il quale valore è una risorsa tra rdf:bag, rdf:seq o rdf:alt; gli elementi di un contenitore possono essere descritti definendo una proprietà di appartenenza al contenitore la quale ha la seguente forma rdf:_n, dove n è un intero decimale maggiore di zero come ad esempio rdf_1, rdf_2, rdf_3. Un esempio può chiarire meglio l'uso dei contenitori se per esempio abbiamo che un certo documento è stato approvato da un comitato composto da Fred, Wilma, Dino allora possiamo esprimerlo come segue: ex:resolution exterms:approvedby ex:rulescommittee. ex:rulescommittee rdf:type rdf:bag. ex:rulescommittee rdf:_1 ex:fred. 28

29 ex:rulescommittee rdf:_2 ex:wilma. ex:rulescommittee rdf:_3 ex:dino. RDF non definisce condizioni semantiche aggiuntive. Collezioni Una limitazione dei contenitori è che essi indicano solo quali elementi appartengono al contenitore e non escludono il fatto che ce ne siano altri che potrebbero appartenere ad esso. Per risolvere una situazione del genere sono utili le collezioni. Una collezione RDF è un gruppo di oggetti rappresentati come una lista strutturata in un grafo RDF. RDF possiede un vocabolario per descrivere delle collezioni di oggetti tramite proprietà predefinite quali rdf:list, rdf:first, rdf:rest, rdf:nil, utilizzati rispettivamente per indicare il tipo lista, la testa, la coda e il marcatore di fine lista. L'unica condizione semantica imposta è che rdf:nil sia di tipo rdf:list. Reificazione Alcune volte le applicazioni RDF hanno la necessità di descrivere affermazioni RDF utilizzando a sua volta affermazioni RDF, per esempio per memorizzare informazioni su quando l'affermazione è stata creata, da chi è stata creata o simili informazioni. RDF fornisce un vocabolario per descrivere affermazioni RDF. Una descrizione di un'affermazione usando questo vocabolario è chiamata reificazione dell'affermazione. Il vocabolario RDF per la reificazione è costituito dal tipo rdf:statement e delle proprietà rdf:subject, rdf:predicate e rdf:object. Un esempio può servire per fare chiarezza: supponiamo di avere la seguente tripla exproducts:item10245 exterms:weight "2.4"^^xsd:decimal. la quale esprime il peso di oggetto della società example.org. Una reificazione che descriva l'affermazione precedente sempre utilizzando delle affermazioni potrebbe essere la seguente exproducts:triple12345 rdf:type rdf:statement. 29

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

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

Strutturazione logica dei dati: i file

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

Dettagli

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

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

Dettagli

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

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

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

Informatica per la comunicazione" - lezione 10 -

Informatica per la comunicazione - lezione 10 - Informatica per la comunicazione" - lezione 10 - Evoluzione del Web" Nell evoluzione del Web si distinguono oggi diverse fasi:" Web 1.0: la fase iniziale, dal 1991 ai primi anni del 2000" Web 2.0: dai

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

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

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

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

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

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

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

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

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento I protocolli del livello di applicazione Porte Nelle reti di calcolatori, le porte (traduzione impropria del termine port inglese, che in realtà significa porto) sono lo strumento utilizzato per permettere

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

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

Cercare documenti Web

Cercare documenti Web Pagine web (struttura html) Cercare documenti Web Motori di Ricerca I MOTORI DI RICERCA Sulla rete Web vi sono strumenti specifici chiamati motori di ricerca (research engines) per la ricerca di siti e

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

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

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

Soluzione dell esercizio del 2 Febbraio 2004

Soluzione dell esercizio del 2 Febbraio 2004 Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo

Dettagli

UNIVERSITA DEGLI STUDI DI BRESCIA Facoltà di Ingegneria

UNIVERSITA DEGLI STUDI DI BRESCIA Facoltà di Ingegneria ESAME DI STATO DI ABILITAZIONE ALL'ESERCIZIO DELLA PROFESSIONE DI INGEGNERE PRIMA PROVA SCRITTA DEL 22 giugno 2011 SETTORE DELL INFORMAZIONE Tema n. 1 Il candidato sviluppi un analisi critica e discuta

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

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

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

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

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

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

Capitolo 5. Cercare informazioni sul Web

Capitolo 5. Cercare informazioni sul Web Capitolo 5 Cercare informazioni sul Web Cercare nel posto giusto Posti logici e noti per reperire informazioni sui nostri contributi pensionistici, chiediamo all INPS Biblioteche on-line La maggior parte

Dettagli

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

ARCHIVI E DATABASE (prof. Ivaldi Giuliano) ARCHIVI E DATABASE (prof. Ivaldi Giuliano) Archivio: è un insieme di registrazioni (o records) ciascuna delle quali è costituita da un insieme prefissato di informazioni elementari dette attributi (o campi).

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

HTML il linguaggio per creare le pagine per il web

HTML il linguaggio per creare le pagine per il web HTML il linguaggio per creare le pagine per il web Parte I: elementi di base World Wide Web Si basa sul protocollo HTTP ed è la vera novità degli anni 90 Sviluppato presso il CERN di Ginevra è il più potente

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

ALGEBRA DELLE PROPOSIZIONI

ALGEBRA DELLE PROPOSIZIONI Università di Salerno Fondamenti di Informatica Corso di Laurea Ingegneria Corso B Docente: Ing. Giovanni Secondulfo Anno Accademico 2010-2011 ALGEBRA DELLE PROPOSIZIONI Fondamenti di Informatica Algebra

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

Siti web centrati sui dati (Data-centric web applications)

Siti web centrati sui dati (Data-centric web applications) Siti web centrati sui dati (Data-centric web applications) 1 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 2 / 2 0 1 3 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente

Dettagli

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS Basi di Basi di (Sistemi Informativi) Sono una delle applicazioni informatiche che hanno avuto il maggiore utilizzo in uffici, aziende, servizi (e oggi anche sul web) Avete già interagito (magari inconsapevolmente)

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

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

lem logic enterprise manager

lem logic enterprise manager logic enterprise manager lem lem Logic Enterprise Manager Grazie all esperienza decennale in sistemi gestionali, Logic offre una soluzione modulare altamente configurabile pensata per la gestione delle

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

1- OBIETTIVI DEL DOCUMENTO 2- INTRODUZIONE

1- OBIETTIVI DEL DOCUMENTO 2- INTRODUZIONE 1- OBIETTIVI DEL DOCUMENTO... 1 2- INTRODUZIONE... 1 3- ACCESSO ALLA PROCEDURA... 2 4- COMPILAZIONE ON-LINE... 4 5- SCELTA DELLA REGIONE O PROVINCIA AUTONOMA... 5 6- DATI ANAGRAFICI... 6 7- DATI ANAGRAFICI

Dettagli

4.5 CONTROLLO DEI DOCUMENTI E DEI DATI

4.5 CONTROLLO DEI DOCUMENTI E DEI DATI Unione Industriale 35 di 94 4.5 CONTROLLO DEI DOCUMENTI E DEI DATI 4.5.1 Generalità La documentazione, per una filatura conto terzi che opera nell ambito di un Sistema qualità, rappresenta l evidenza oggettiva

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

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

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

Dettagli

Architettura client-server

Architettura client-server Architettura client-server In un architettura client-server ci sono due calcolatori connessi alla rete: un client che sottopone richieste al server un server in grado di rispondere alle richieste formulate

Dettagli

Applicazioni web centrati sui dati (Data-centric web applications)

Applicazioni web centrati sui dati (Data-centric web applications) Applicazioni web centrati sui dati (Data-centric web applications) 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente lo strumento di riferimento

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

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

Appunti di Sistemi Distribuiti

Appunti di Sistemi Distribuiti Appunti di Sistemi Distribuiti Matteo Gianello 27 settembre 2013 1 Indice 1 Introduzione 3 1.1 Definizione di sistema distribuito........................... 3 1.2 Obiettivi.........................................

Dettagli

Corso: Sistemi di elaborazione delle informazioni 2. Anno Accademico: 2007/2008. Docente: Mauro Giacomini

Corso: Sistemi di elaborazione delle informazioni 2. Anno Accademico: 2007/2008. Docente: Mauro Giacomini Corso: Sistemi di elaborazione delle informazioni 2. Anno Accademico: 2007/2008. Docente: Mauro Giacomini Organizzazione no-profit per lo sviluppo di standard che fornisce linee guida per: lo scambio la

Dettagli

Manuale Utente Albo Pretorio GA

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

Dettagli

Corso di Amministrazione di Reti A.A. 2002/2003

Corso di Amministrazione di Reti A.A. 2002/2003 Struttura di Active Directory Corso di Amministrazione di Reti A.A. 2002/2003 Materiale preparato utilizzando dove possibile materiale AIPA http://www.aipa.it/attivita[2/formazione[6/corsi[2/materiali/reti%20di%20calcolatori/welcome.htm

Dettagli

Corso di PHP. Prerequisiti. 1 - Introduzione

Corso di PHP. Prerequisiti. 1 - Introduzione Corso di PHP 1 - Introduzione 1 Prerequisiti Conoscenza HTML Principi di programmazione web Saper progettare un algoritmo Saper usare un sistema operativo Compilazione, link, esecuzione di programmi Conoscere

Dettagli

InterNet: rete di reti

InterNet: rete di reti Internet e il web: introduzione rapida 1 InterNet: rete di reti Una rete è costituita da diversi computer collegati fra di loro allo scopo di: Comunicare Condividere risorse Ogni computer della rete può,

Dettagli

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio Documento Tecnico Light CRM Descrizione delle funzionalità del servizio Prosa S.r.l. - www.prosa.com Versione documento: 1, del 11 Luglio 2006. Redatto da: Michela Michielan, michielan@prosa.com Revisionato

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

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

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

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

GRUPPO CAMBIELLI. Posta elettronica (Webmail) Consigli di utilizzo

GRUPPO CAMBIELLI. Posta elettronica (Webmail) Consigli di utilizzo GRUPPO CAMBIELLI Posta elettronica (Webmail) Consigli di utilizzo Questo sintetico manuale ha lo scopo di chiarire alcuni aspetti basilari per l uso della posta elettronica del gruppo Cambielli. Introduzione

Dettagli

URI. Introduzione. Pag. 1

URI. Introduzione. Pag. 1 URI Introduzione Gli URI (Universal Resource Indentifier) sono una sintassi usata in WWW per definire i nomi e gli indirizzi di oggetti (risorse) su Internet. Questi oggetti sono considerati accessibili

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

Laboratorio Matematico Informatico 2

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

Dettagli

La progettazione centrata sull utente nei bandi di gara

La progettazione centrata sull utente nei bandi di gara Progetto PerformancePA Ambito A - Linea 1 - Una rete per la riforma della PA La progettazione centrata sull utente nei bandi di gara Autore: Maurizio Boscarol Creatore: Formez PA, Progetto Performance

Dettagli

Attività federale di marketing

Attività federale di marketing Attività federale di marketing Gestione e certificazione delle sponsorizzazioni Il Feedback Web Nel piano di sviluppo della propria attività di marketing, la FIS ha adottato il sistema Feedback Web realizzato

Dettagli

STAMPA DI UNA PAGINA SEMPLICE

STAMPA DI UNA PAGINA SEMPLICE Pagina 11 copiati nel proprio sistema (disco fisso o floppy). Questa operazione è detta download o scaricamento. Il modo più semplice per effettuare un download di un file (a meno che non sia specificato

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

Portale Multicanale delle PA del territorio della Regione Emilia-Romagna: un inizio di rete semantica di informazioni

Portale Multicanale delle PA del territorio della Regione Emilia-Romagna: un inizio di rete semantica di informazioni Portale Multicanale delle PA del territorio della Regione Emilia-Romagna: un inizio di rete semantica di informazioni Grazia Cesari Regione Emilia-Romagna ForumPA Roma 10 Maggio 2006 Con il supporto di

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

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome.

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome. Prof. Francesco Accarino Raccolta di esercizi modello ER Esercizio 1 Un università vuole raccogliere ed organizzare in un database le informazioni sui propri studenti in relazione ai corsi che essi frequentano

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

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

Guida Compilazione Piani di Studio on-line

Guida Compilazione Piani di Studio on-line Guida Compilazione Piani di Studio on-line SIA (Sistemi Informativi d Ateneo) Visualizzazione e presentazione piani di studio ordinamento 509 e 270 Università della Calabria (Unità organizzativa complessa-

Dettagli

Capitolo 2. Operazione di limite

Capitolo 2. Operazione di limite Capitolo 2 Operazione di ite In questo capitolo vogliamo occuparci dell operazione di ite, strumento indispensabile per scoprire molte proprietà delle funzioni. D ora in avanti riguarderemo i domini A

Dettagli

Sistemi Informativi e Sistemi ERP

Sistemi Informativi e Sistemi ERP Sistemi Informativi e Sistemi Trasformare i dati in conoscenza per supportare le decisioni CAPODAGLIO E ASSOCIATI 1 I SISTEMI INFORMATIVI LI - E IMPRESA SISTEMA DI OPERAZIONI ECONOMICHE SVOLTE DA UN DATO

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

Creare un Ipertesto. www.vincenzocalabro.it 1

Creare un Ipertesto. www.vincenzocalabro.it 1 Creare un Ipertesto www.vincenzocalabro.it 1 Obiettivi Il corso si prefigge di fornire: Le nozioni tecniche di base per creare un Ipertesto I consigli utili per predisporre il layout dei documenti L illustrazione

Dettagli

Informatica. Prof. M. Colajanni Università di Modena Reggio Emilia

Informatica. Prof. M. Colajanni Università di Modena Reggio Emilia Informatica Prof. M. Colajanni Università di Modena Reggio Emilia PARTE 4 - World Wide Web WORLD WIDE WEB La killer application di Internet I motivi alla base del successo del Web ( perché è risultata

Dettagli

Organizzazione delle informazioni: Database

Organizzazione delle informazioni: Database Organizzazione delle informazioni: Database Laboratorio Informatico di base A.A. 2013/2014 Dipartimento di Scienze Aziendali e Giuridiche Università della Calabria Dott. Pierluigi Muoio (pierluigi.muoio@unical.it)

Dettagli

SOFTWARE A SUPPORTO DELLA GESTIONE AMMINISTRATIVA DELLO SPORTELLO UNICO SPECIFICA DEI REQUISITI UTENTE

SOFTWARE A SUPPORTO DELLA GESTIONE AMMINISTRATIVA DELLO SPORTELLO UNICO SPECIFICA DEI REQUISITI UTENTE Pag. 1 di 16 SOFTWARE A SUPPORTO DELLA (VERS. 3.1) Specifica dei Requisiti Utente Funzionalità di associazione di più Richiedenti ad un procedimento Codice Identificativo VERIFICHE ED APPROVAZIONI CONTROLLO

Dettagli

Corso di Informatica (Basi di Dati)

Corso di Informatica (Basi di Dati) Corso di Informatica (Basi di Dati) Lezione 1 (12 dicembre 2008) Introduzione alle Basi di Dati Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof. Carlo Batini,

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

Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC.

Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC. Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC. Avviso di mancata consegna L avviso, emesso dal sistema, per indicare l anomalia

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

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

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Funzioni di Esportazione Importazione 1 Indice AIRONE GESTIONE RIFIUTI... 1 FUNZIONI DI ESPORTAZIONE E IMPORTAZIONE... 1 INDICE...

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

BASI DI DATI - : I modelli di database

BASI DI DATI - : I modelli di database BASI DI DATI - : I modelli di database DAL 1960 ci si e' orientati verso 3 direzioni: 1 MODELLO GERARCHICO Se i dati si presentano naturalmente in una struttura ad albero (ES. File System) Limiti: rigidità

Dettagli

Comprendere cosa è Internet e sapere quali sono i suoi principali impieghi. 25/09/2011 prof. Antonio Santoro

Comprendere cosa è Internet e sapere quali sono i suoi principali impieghi. 25/09/2011 prof. Antonio Santoro Comprendere cosa è Internet e sapere quali sono i suoi principali impieghi. 1 Internet è una rete che collega centinaia di milioni di computer in tutto il mondo 2 Le connessioni sono dei tipi più disparati;

Dettagli

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda Premessa Con l analisi di sensitività il perito valutatore elabora un range di valori invece di un dato

Dettagli

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

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

Dettagli

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

Una piattaforma per la negoziazione di servizi business to business attraverso la rete Internet

Una piattaforma per la negoziazione di servizi business to business attraverso la rete Internet Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea in Ingegneria Gestionale della Logistica e della Produzione Una piattaforma per la negoziazione di servizi business to

Dettagli

sito web sito Internet

sito web sito Internet Siti Web Cos è un sito web Un sito web o sito Internet è un insieme di pagine web correlate, ovvero una struttura ipertestuale di documenti che risiede, tramite hosting, su un web server e accessibile

Dettagli

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007 Basi di dati Concetti introduttivi Ultima modifica: 26/02/2007 ESEMPIO INSEGNAMENTI Fisica, Analisi, Informatica Aule Docenti Entità Relazioni Interrogazioni St udent i Database 2 Tabella (I) STUDENTE

Dettagli

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

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

Dettagli