"Tecniche di Trust Management per la gestione di Metadati: Un tool di simulazione dell'evoluzione del trust all'interno di una comunità di utenti"

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download ""Tecniche di Trust Management per la gestione di Metadati: Un tool di simulazione dell'evoluzione del trust all'interno di una comunità di utenti""

Transcript

1 UNIVERSITÀ DEGLI STUDI DI MILANO Facoltà di Scienze Matematiche, Fisiche e Naturali Dipartimento di Tecnologie dell Informazione Corso di Laurea in Informatica "Tecniche di Trust Management per la gestione di Metadati: Un tool di simulazione dell'evoluzione del trust all'interno di una comunità di utenti" Relatore: Chiar.mo Prof. Ernesto Damiani AUTORE ALESSIO CURCIO Matr Correlatore: Dott. Paolo Ceravolo Anno Accademico 2004/2005

2 II

3 RINGRAZIAMENTI Ringrazio il Chiar.mo Prof. Ernesto Damiani per avermi aiutato ed accolto come tesista; in particolare ringrazio il mio relatore, Dott. Paolo Ceravolo per il tempo dedicato a me e alla mia tesi e per avermi seguito con interesse, disponibilità e spirito collaborativo. Ringrazio i miei genitori per avermi dato la possibilità di arrivare fin qui e per essermi stati sempre vicini e Micol per avermi incoraggiato e sostenuto in tutti questi anni. Ringrazio Marco Viviani, Alberto Colombo e Fulvio Frati per i consigli e la disponibilità. III

4 PAROLE CHIAVE Web Semantico Trust Simulazione IV

5 Trust is the result of a risk successfully survived A.Gibb V

6 Indice dei capitoli Capitolo 1 Il web semantico Introduzione Il web semantico: Knowledge management Web semantico I metadati Linguaggi per il web semantico Resource Description Framework:RDF Extensible Modelling Language:XML Ontology Web Language:OWL Ontologie Applicazioni del web semantico 30 Capitolo 2 L uso del trust negli ambienti centralizzati e distribuiti 2.1 Definizione di trust Metriche di trust Approcci centralizzati Approcci distribuiti Il problema della computazione del trust 50 Capitolo 3 Simulazione dell evoluzione del trust in una comunità di utenti. 3.1 Obiettivi del progetto Il modello Formalismo di descrizione degli utenti La funzione di accesso Funzione di correttezza del voto espresso Scelta della funzione statistica:la gaussiana Schema del modello per la simulazione 59 VI

7 3.3 Simulazione Definizione e scopo Modelli fornali Tipi di simulazione Il tempo Strutture di modelli di simulazione Pianificazione Ingegnerizzazione Scelta delle tecnologie Java XML Scelta dell interfaccia Aggregatore del trust Definizione di aggregatore e proprietà Operatori di aggregazione Aggregatori creati per la simulazione Progetti collegati 85 Capitolo 4 Trust Simulator in funzione 4.1 Interfaccia utente Creazione dei componenti Schema Usergroup Project I l Run della simulazione Simulation Configuration Usergroups Assertions Trust General Info 94 Capitolo 5 Conclusioni 5.1 Prove di evoluzione del sistema Scelta del contesto di esempio per la simulazione La composizione della popolazione Prima simulazione 100 VII

8 Seconda simulaizone Terza simulzione Quarta simulaizone Osservazioni sulla composizione della popolazione La composizione delle risorse Simulazione Osservazioni sulla composizione delle risorse Utenti anonimi ed aggregatori Simulazione uno Simulazione due Osservazione su utenti anonimi ed aggregatori Sviluppi futuri 111 VIII

9 Indice delle figure CAPITOLO 1. FIGURA 1.1. MODELLO DEL WEB SEMANTICO... 4 FIGURA 1.2. GRAFO RDF DELL ESEMPIO DI ASSERZIONE RDF... 9 FIGURA 1.3. NUOVA RISORSA NELL ASSERZIONE RDF FIGURA 1.4. GRAFO RELAZIONE NON BINARIA FIGURA 1.5. ESEMPIO DI MODELLO DI CLASSIFICAZIONE FIGURA 1.6. DIAGRAMMA RDFS:CLASS E RDF:PROPERTY FIGURA 1.7. DIAGRAMMA DELLA GERARCHIA DELLE CLASSI DI RDF(S) FIGURA 1.8. CLASSI FIGURA 1.9. PROPRIETÀ ED ATTRIBUTI FIGURA ASSIOMI FIGURA INDIVIDUI CAPITOLO 2. FIGURA 2.1. CATEGORIE DI RATING FIGURA 2.2. PAGE RANK FIGURA 2.3. : PGP CAPITOLO 3. FIGURA 3.1. TRE STATI DELLE ATTIVITÀ DI UN UTENTE FIGURA 3.2. PROBABILITÀ DI ACCESSO FIGURA 3.3. PROFILO UTENTE ED ASSERZIONI FIGURA 3.4. CORRETTEZZA DEL VOTO ESPRESSO FIGURA 3.5. LA GAUSSIANA FIGURA 3.6. CASI D USO CAPITOLO 4. FIGURA 4.1. IMPOSTAZIONI DELLO SCHEMA FIGURA 4.2. SCHERMATA DEGLI USERGROUP FIGURA 4.3. DEFINIZIONE DI UN PROGETTO FIGURA 4.4. CONFIGURAZIONE DELLA SIMULAZIONE FIGURA 4.5. VISUALIZZAZIONE GRAFICO ROLES DISTRIBUTION DEGLI USERGROUP.. 91 FIGURA 4.6. VISUALIZZAZIONE GRAFICO EXPERTISE DEGLI USERGROUP IX

10 FIGURA 4.7. SCHERMATA ASSERTIONS TRUST FIGURA 4.8. SCHERMATA GENERAL INFO FIGURA 4.9. VISUALIZZAZIONE GRAFICO PRECISION FIGURA VISUALIZZAZIONE GRAFICO RECALL CAPITOLO 5. FIGURA 5.1. TRUSTWORTHINESS IDEALE FIGURA 5.2. RECALL IDEALE FIGURA 5.3. PRECISIONE IDEALE FIGURA 5.4. TRUSTWORTHINESS ESPERTI NON EQUAMENTE DISTRIBUITI FIGURA 5.5. RECALL ESPERTI NON EQUAMENTE DISTRIBUITI FIGURA 5.6. PRECISION ESPERTI NON EQUAMENTE DISTRIBUITI FIGURA 5.7. TRUSTWORTHINESS ESPERTI BEN DISTRIBUITI E GENERICI BEN DISTRIBUITI FIGURA 5.8. RECALL ESPERTI BEN DISTRIBUITI E GENERICI BEN DISTRIBUITI FIGURA 5.9. PRECISION ESPERTI BEN DISTRIBUITI E GENERICI BEN DISTRIBUITI FIGURA TRUSTWORTHINESS ESPERTI NON EQUAMENTE DISTRIBUITI E GENERICI NON EQUAMENTE DISTRIBUITI FIGURA RECALL ESPERTI NON EQUAMENTE DISTRIBUITI E GENERICI NON EQUAMENTE DISTRIBUITI FIGURA PRECISION ESPERTI NON EQUAMENTE DISTRIBUITI E GENERICI NON EQUAMENTE DISTRIBUITI FIGURA TRUSTWORTHINESS FIGURA RECALL FIGURA PRECISION FIGURA TRUSTWORTHINESS SIMULAZIONE UNO FIGURA RECALL SIMULAIZONE UNO FIGURA PRECISION SIMULAZIONE UNO FIGURA TRUSTWORTHINESS SIMULAZIONE DUE FIGURA RECALL SIMULAIZONE DUE FIGURA PRECISION SIMULAIZONE DUE X

11 Indice delle tabelle CAPITOLO 3. FIGURA 3.1. OWA CAPITOLO 5. FIGURA 5.1. PARAMETRI SIMULAZIONE IDEALE FIGURA 5.2. PARAMETRI SIMULAZIONE ESPERTI NON EQUAMENTE DISTRIBUITI FIGURA 5.3. PARAMETRI SIMULAZIONE ESPERTI BEN DISTRIBUITI E GENERICI BEN DISTRIBUITI FIGURA 5.4. PARAMETRI SIMULAZIONE ESPERTI NON EQUAMENTE DISTRIBUITI E GENERICI NON EQUAMENTE DISTRIBUITI FIGURA 5.5. PARAMETRI DELLA SIMULAZIONE FIGURA 5.6. PARAMETRI DELLA SIMULAZIONE UNO FIGURA 5.7. PARAMETRI DELLA SIMULAZIONE DUE XI

12 XII

13 Capitolo 1. Il web semantico. Introduzione La gestione della conoscenza è un argomento che va assumendo sempre maggior rilievo, facedosi da tramite all integrazione di varie ricerche. Oggi il web è forse il maggiore contenitore di conoscenza ed è quello più frequentemente utilizzato da una vasta gamma di utenti. Il web, però, per sua natura decentralizzato, rende d importanza fondamentale l interoperabilità delle applicazioni a livello semantico e tecnologico. Una esigenza fondamentale per l evoluzione del web è quella di rappresentare la conoscenza in maniera comprensibile alla macchina e di renderla di immediata reperibilità. Da sempre il W3C sviluppa tecnologie (linee guida, specifiche, software e strumenti) per portare il web al massimo del suo potenziale, definendo protocolli comuni che ne favoriscano l evoluzione e l interoperabilità. Gli obiettivi a lungo termine del W3C sono coerenti con le motivazioni iniziali che hanno portato alla nascita del web. Possiamo riassumere come obiettivi a lungo termine del W3C i seguenti: Universal access: Rendere il web accessibile a tutti, promuovendo tecnologie che tengano conto delle notevoli differenze in termini di formazione, capacità, risorse, e limitazioni fisiche degli utenti di tutto il mondo. Semantic web: Sviluppare un ambiente software che consenta ad ogni utente di fare il miglior utilizzo possibile delle risorse disponibili sul web Web of trust: guidare lo sviluppo del web tenendo in attenta considerazione gli aspetti innovativi che questa tecnologia solleva in campo legale, commerciale e sociale. Il reperimento di risorse sul web è oggi diventato una via di mezzo tra la ricerca delle informazioni e l apprendimento del contesto in cui l informazione si trova, poiché l utente richiede di selezionare informazioni di volta in volta più complesse e complete in modo da ottenere come risultato di una ricerca le informazioni il più possibile coerenti con ciò che ha cercato. Il W3C considera l ideale evoluzione del Web da machine-representable a machineunderstandable. L idea è di generare documenti che possano al tempo stesso essere letti ed apprezzati da esseri umani, ma anche acceduti ed interpretati da agenti automatici alla ricerca di contenuti. Il Web si deve dunque dotare di una sovrastruttura semantica utilizzabile dalle applicazioni, in modo da poter svolgere 1

14 quelle funzioni che oggi debbono essere fatte a mano o codificate dentro ai programmi. Questo porta alla definizione di un programma denominato web semantico, in cui esprimi le risorse fondamentali del web non siano rappresentate da semplici testi (all'interno dei quali le informazioni stanno nascoste e richiedono un umano), ma da affermazioni (informazioni non ambigue, che esprimono relazioni tra oggetti, risorse, esseri umani, fatti del mondo reale, e che possono essere utilizzate anche da applicazioni automatiche). Nel momento in cui inizio a realizzare inferenze però, ho da considerare anche il problema della veridicità delle informazioni, e della loro affidabilità. Il passo successivo allora è creare una rete di affermazioni di affidabilità e fiducia (trust) sulle collezioni, in cui viene espresso il valore di affidabilità delle affermazioni contenute, e attraverso sistemi di sicurezza e crittografia rendere più affidabile il sistema di affermazioni. Il web of trust è allora il passo ultimo per permettere la creazione di significato utile, automatico, affidabile su documenti e cose del mondo reale. Questa tesi si propone quindi di creare un tool che permetta di generare asserzioni che permettano di dare una semantica a delle risorse e al tempo stesso garantirne il trust Il web semantico: Knowledge management I processi di fondamentale importanza nel Knowledge Management sono la possibilità di reperire le fonti di conoscenza rilevanti per il problema specifico, e fornire le fonti di conoscenza da utilizzare per risolvere i problemi. In un sistema di Knowledge Management possiamo individuare cinque processi fondamentali: 1. Acquisizione della conoscenza: catturando le competenze degli esperti, operando deduzioni da fatti concreti, etc. 2. Rappresentazione della conoscenza: memorizzazione delle regole 3. Elaborazione della conoscenza: manipolazione della conoscenza memorizzata, per derivare dipendenze o consistenza di regole 4. Condivisione della conoscenza: mediante la ricerca di regole che soddisfano la query dell utente. 5. Utilizzo della conoscenza: per risolvere il problema contingente, eventualmente annotando la conoscenza esistente, in modo da renderne disponibile di nuova. 1-L'inferenza è il processo con il quale da una proposizione accolta come vera, si passa a una proposizione la cui verità è considerata contenuta nella prima.inferire è quindi trarre una conclusione. Inferire X significa concludere che X è vero; un inferenza è la conclusione tratta da un insieme di fatti o circostanze. 2

15 Il Web, e in particolare il Semantic Web, che ne è la naturale evoluzione, costituisce un indispensabile componente per supportare gran parte di questi processi. In questo contesto, come verrà dettagliato in seguito, viene utilizzato un formalismo per rappresentare, in forma molto semplice, dei fatti, sui quali è possibile operare delle inferenze. Un elemento significativo è che la conoscenza codificata nel web è rappresentata in maniera elaborabile dalla macchina, e quindi può essere utilizzata da componenti automatizzati, denominati agenti software. La ricerca di informazioni è uno dei principali punti deboli del web, nonostante il gran numero di motori di ricerca esistenti, che sono poveri di semantica sia in fase di indicizzazione che in fase di ricerca. In fase di indicizzazione, essi utilizzano o moduli compilati dai fornitori di informazioni, che spesso non consentono di specificare metainformazioni come l autore, le parole chiave, etc., o strumenti automatici (spider) per accedere alle pagine ed estrarre semantica. Talvolta, anche le informazioni contenute nei tag <meta> vengono di fatto ignorate. In fase di ricerca, viene consentito di combinare le parole con operatori di contesto ( tutte le parole, una parola qualunque, nel titolo ), ma in definitiva il risultato scaturisce sempre da una ricerca sulla presenza di parole chiave e dall identificazione dei documenti più affini alla domanda posta. L esistenza di proposizioni più ricche dal punto di vista espressivo permette invece agli utenti di ritrovare in maniera più facile ed efficace le informazioni necessarie per risolvere i problemi. Tra l altro, la presenza di queste proposizioni condizionali consente di indicizzare le risorse esistenti sul web in maniera più ricca rispetto al metodo tradizionale di associare alle risorse parole chiave o concetti. Diventa allora possibile formulare richieste più sofisticate, migliorando sia la precisione delle risposte ottenute, che il richiamo dei documenti pertinenti Web semantico The Semantic Web is the representation of data on the World Wide Web. It is a collaborative effort led by W3C with participation from a large number of researchers and industrial partners. It is based on the Resource Description Framework (RDF), which integrates a variety of applications using XML for syntax and URIs for naming. "Il Semantic Web è un'estensione del Web attuale in cui alle informazioni sono date un senso, un significato ben definito, migliorando in questo modo la cooperazione tra i computer e le persone." -- Tim Berners-Lee, James Hendler, Ora Lassila, The Semantic Web, Scientific American, May 2001 Secondo una traduzione di primo acchito, si potrebbe pensare che il Semantic Web stia a indicare il Web che ha significato, oppure il Web che è significativo. Certo, detta in questi termini, la traduzione non potrebbe essere appagante. Bisogna, perciò, tradurre Semantic Web come quel procedimento in base al quale vengono applicati al World Wide Web i principi della semantica. Dal greco sema ino (indico), la semantica è lo studio del dei processi di costituzione del significato all interno del linguaggio. Anche se è difficile spiegare con semplici parole che 3

16 cosa sia effettivamente il Web Semantico (come ha ammesso lo stesso Tim Berners-Lee), si può dire che esso costituisca una modalità nuova per dare ai dati (presenti in rete) maggior significato. La sfida dei prossimi anni è quindi il Semantic Web, che, nella visione di Berners- Lee, ha una architettura a livelli (Figura 1.1). Figura 1.1: Modello del web semantico Per chiarezza di terminologia, va ricordato che la filosofia di base del Web è quella di uno spazio informativo universale, navigabile, con un mapping da URI (Uniform Resource Identifier) alle risorse. Nel contesto del Semantic Web, il termine semantico assume la valenza di "elaborabile dalla macchina" e non intende fare riferimento alla semantica del linguaggio naturale e alle tecniche di intelligenza artificiale. Il Semantic Web è, come l XML, un ambiente dichiarativo, in cui si specifica il significato dei dati, e non il modo in cui si intende utilizzarli. La semantica dei dati consiste nelle informazioni utili perché la macchina possa utilizzarli nel modo corretto, eventualmente convertendoli. Come chiaramente descritto da Tim Berners Lee, il Semantic Web potrà funzionare solo se le macchine potranno accedere ad un insieme strutturato di informazioni e a un insieme di regole di inferenza da utilizzare per il ragionamento automatico. La sfida del semantic web, quindi, è fornire un linguaggio per esprimere dati e regole per ragionare sui dati, che consenta l esportazione sul web delle regole da qualunque sistema di rappresentazione della conoscenza. Esaminando più in dettaglio la Figura 1.1, si può notare il ruolo di base giocato da XML (con Name Space e xmlschema), che consente di dare ai documenti una struttura arbitraria, mentre RDF può essere usato per esprimere il significato, asserendo che alcuni particolari elementi hanno delle proprietà (p.es. autore-di). Un terzo componente è l Ontology Vocabulary (livello ontologico), inteso come il contenitore che definisce in modo formale le relazioni fra i termini. Una ontologia permette di descrivere le relazioni tra i tipi di elementi (per es. "questa è una proprietà transitiva") senza però fornire informazioni su come utilizzare queste 4

17 relazioni dal punto di vista computazionale. Le ontologie possono svolgere un ruolo fondamentale nel migliorare il funzionamento del Web (ricerca di concetti, collegamento delle informazioni contenute in una pagina alle strutture di conoscenza associate, etc.). Il linguaggio definito dal W3C per definire ontologie strutturate, in architettura web, per consentire una migliore integrazione dei dati tra applicazioni in settori diversi è OWL (Ontology Web Language). Il livello logico è il livello immediatamente superiore al livello ontologico. A questo livello le asserzioni esistenti sul Web possono essere utilizzate per derivare nuova conoscenza. Tuttavia, i sistemi deduttivi non sono normalmente interoperabili, per cui, secondo Berners-Lee, invece di progettare un unico sistema onnicomprensivo per supportare il ragionamento (reasoning system), si potrebbe pensare di definire un linguaggio universale per rappresentare le dimostrazioni. I sistemi potrebbero quindi autenticare con la firma digitale queste dimostrazioni ed esportarle ad altri sistemi che le potrebbero incorporare nel Semantic Web. La firma digitale (digital signature) è di significativa importanza in diversi strati nel modello astratto del Semantic Web. La crittografia a chiave pubblica è una tecnica nota da qualche anno, ma non si è ancora diffusa su larga scala come ci si poteva attendere. Nella visione di Berners-Lee, un elemento che potrebbe aver giocato contro la diffusione di questa tecnica è che essa è a "grana grossa", imponendo una scelta binaria tra fiducia o non fiducia (trusted/not trusted), mentre sarebbe necessaria una infrastruttura in cui le parti possano essere riconosciute e accettate come credibili in specifici domini. Con una granularità più fine come questa, la firma digitale potrebbe essere utilizzata per stabilire la provenienza delle ontologie e delle deduzioni, oltre che dei dati. L intera comunità scientifica sta investendo molte energie nel settore del Semantic Web I metadati Nel navigare sul web, si seguono dei link, che portano a quella che formalmente viene detta risorsa (resource) identificata univocamente da un URI. Nel linguaggio corrente una risorsa viene anche detta documento, per mettere in evidenza il fatto che sia leggibile da un essere umano, o oggetto, per mettere in evidenza che è leggibile da una macchina. Qualunque sia il termine utilizzato, la risorsa non è una entità a sé, ma è accompagnata da informazioni che la descrivono. Le informazioni sulla risorsa vengono generalmente dette Metadati. Si può quindi dire che i metadati sono informazioni, comprensibili dalla macchina, relative a una risorsa web o a qualche altra cosa. Il punto chiave è costituito appunto dal fatto che i metadati sono comprensibili dalla macchina (machine understandable). Di conseguenza, i metadati costituiscono un tipo di informazione che può essere utilizzata dai software agent, per fare un uso appropriato delle risorse, rendendo più semplice e veloce il funzionamento del Web, aumentando la nostra fiducia in esso. A titolo di esempio, quando si reperisce un documento (o un oggetto) sul web, utilizzando il protocollo HTTP, è possibile che il server invii alcune informazioni sulla risorsa, quali la sua data di aggiornamento, la data 5

18 massima di validità dell informazione, il suo autore, etc. Quindi il Web, come insieme di risorse e di informazioni sulle risorse (cioè metadati) è già una realtà alla quale siamo abituati. Va tenuto presente che i metadati sono dati, e questo fatto ha alcune conseguenze: possono essere memorizzati come dati, in una risorsa, che può quindi contenere informazioni relative a se stessa o ad un altra risorsa. I metadati relativi ad un documento possono essere contenuti nel documento, oppure contenuti in un documento separato, oppure essere trasferiti a corredo del documento. possono essere descritti da altri metadati, e così via. I metadati costituiscono il più grosso punto debole del Semantic Web, e questo lo si può capire in modo intuitivo fin da subito. I metadati costituiscono una difficoltà perché sono molto costosi da produrre e possono risultare imprecisi. Se la produzione dei metadati avviene attraverso un indicizzazione manuale, questa risulterà costosa in termini di tempo e costiuomo. Inoltre quando l indicizzazione non è fatta da persone motivate e addestrate può risultare piuttosto imprecisa, perché vissuta come obbligo ed eseguita di fretta. La creazione dei metadati è un attività molto importante ma allo stesso tempo molto complessa e ciò è tipicamente motivato dalle molteplici interpretazioni che un metadato può presentare. I metadati non hanno tutti lo stesso valore, alcuni valgono più di altri. Un metadato descrive la struttura di una classe, di un tipo di dato. Ma può farlo in due modi molto diversi. Il modo più agevole consiste semplicemente nel riempire il valore di un campo, di una proprietà della classe (una Persona che si chiama "Paolo"). In questo caso si attribuisce solo un valore ad una struttura, ma non si indica nulla di preciso. Se si trovasse un altro metadato per la persona di nome Paolo non si saprebbe mai se è la stessa persona o sono due diverse. Altrimenti un metadato può puntare ad una risorsa e utilizzare quella per definire il valore della proprietà di una classe (una persona che si chiama " In questo caso il metadato compie un'operazione molto più precisa, in quanto va ad individuare qualche cosa di univoco, di cui si potrà sapere con esattezza quali altri metadati sono stati espressi. Il meccanismo è ancora più potente se si indica la localizzazione di risorse fisiche, come pagine web, immagini, documenti. Il problema che subito si pone, nella localizzazione dei contenuti, è quello dell evoluzione dei contenuti stessi. Come sappiamo il Web è dinamico, cioè cambia molto rapidamente, dal momento che si interviene quotidianamente su di esso con: Aggiunta di nuove pagine; Modifica delle pagine esistenti: tali variazioni possono avvenire ad intervalli regolari o in qualunque momento, e riguardare parti non inerenti al contenuto informativo (come la correzione di errori di sintassi, il cambiamento di formattazione) oppure coinvolgere dati significativi; Rimozione di pagine (o di interi siti). Tutto questo, in aggiunta alla mancanza di un controllo centralizzato, fa sì che i dati possano essere Inconsistenti, per la mancanza di vincoli di qualunque tipo; Inaffidabili, perchè non sono controllati in alcun modo; 6

19 Non disponibili, se la pagina in cui sono contenuti è rimossa. Pertanto è possibile distinguere i metadati, in base ai dati che essi strutturano, in metadati vivi e morti. È diverso definire un metadato per un documento di cui si possiede in locale una copia piuttosto che di un documento di cui si possiede una URL, una localizzazione nella rete. Nel primo caso si è certi di poter effettivamente disporre di quel documento, nel secondo caso si rischia che l URL non localizzi nulla: si sa i link invecchiano piuttosto facilmente. Nel primo caso però è possibile che si forniscano informazioni vecchie, nel secondo i dati saranno aggiornati in tempo reale. Qui le scelte dipendono molto da cosa si intende fare e dai mezzi che si hanno a disposizione. Una via di mezzo può essere quella di registrare sia una URL sia una copia in cache, alla Google, per intendersi Linguaggi per il web semantico Il Resource Description Framework(RDF) The Semantic Web provides a common framework that allows data to be shared and reused across application, enterprise, and community boundaries. [ ] It is based on the Resource Description Framework (RDF), which integrates a variety of applications using XML for syntax and URIs for naming. Tim Berners-Lee, James Hendler, Ora Lassila RDF (Resource Description Framework) Il mattone fondamentale su cui poggerà l intera sovrastruttura del Web Semantico è RDF (Resource Description Framework, ovvero Struttura finalizzata alla Descrizione di Risorse ) che è il modello proposto dal W3C per consentire l aggiunta di semplici meta-informazioni semantiche a documenti web arbitrari. È bene precisare subito che RDF è un modello astratto di descrizione delle risorse e può dunque essere indifferentemente rappresentato in modi (ovvero, sintassi) e forme diverse (ad es. in forma grafica): la scelta del W3C di adottare XML come sintassi privilegiata per RDF (da cui deriva la dicitura RDF/XML ) è dovuta esclusivamente a ragioni di praticità, legate alla facilità di veicolare (ai fini della serializzazione, trasmissione ed elaborazione) i contenuti RDF nella forma standard e ben supportata di XML. Il meccanismo per la descrizione di risorse di RDF è neutrale (general-purpose) rispetto ai domini applicativi, cioè non è rivolto ad un particolare dominio di applicazione, né definisce a priori il vocabolario e la semantica di qualche dominio, ma il suo scopo essenziale è proprio quello di essere adattabile alla descrizione di informazioni relative ad un qualsivoglia dominio. Riepilogando, RDF è lo strumento basilare per la codifica, lo scambio e il riutilizzo di metadati strutturati, e consente la condivisione di conoscenza tra applicazioni che interagiscono tra loro, scambiandosi sul Web informazioni machineunderstandable: esso non specifica un meccanismo per il ragionamento automatico, 7

20 ma si limita a costituire una base al di sopra della quale tale meccanismo può essere costruito. Tre sono i tipi di oggetti fondamentali con cui RDF lavora : Risorse, Proprietà ed Asserzioni. -Una Risorsa è una qualunque cosa che possa essere nominata per mezzo di un URI: una risorsa può essere un'intera pagina web, o solo una sua parte (ad es. uno specifico elemento HTML o XML) oppure può anche essere un'intera collezione di pagine (ad es. un intero sito web). Una risorsa può inoltre essere un oggetto materiale non direttamente accessibile via Web (ad es. un libro o perfino una persona fisica). Infine, anche entità del tutto immateriali (quali, ad esempio, la proprietà avere come autore ) possono essere considerate delle Risorse. -Una Proprietà specifica una caratteristica di una risorsa, definendo una relazione binaria tra la risorsa stessa ed un altra risorsa oppure tra la risorsa e valori atomici (espressi nella forma di tipi di dati primitivi definiti in XML Schema). -Una Asserzione è una frase con una struttura fissa, composta da: un Soggetto (ovvero, una risorsa), un Predicato (ovvero, una proprietà) ed un Complemento oggetto (che può essere costituito indifferentemente da una Risorsa o da un Letterale cioè una stringa di caratteri o qualche altro tipo primitivo di XML Schema -). Un asserzione in RDF è quindi una Tripla (Subject, Predicate, Object) in cui subject e predicate devono essere obbligatoriamente delle risorse mentre object (cioè il valore della proprietà, property value) può essere sia una risorsa che un letterale. La cosa interessante di questo modo di rappresentare la conoscenza è che il Complemento oggetto può a sua volta essere visto come il Soggetto di una nuova tripla. Questa tecnica permette quindi di rappresentare situazioni anche molto articolate. In situazioni nelle quali vi sia una certa proprietà con molti valori, ci si può sempre ricondurre alla situazione (Soggetto, Proprietà, Complemento Oggetto). Il modello dei dati di RDF è molto simile al modello Entity-Relationship (proprio della modellazione di Database Relazionali) e può essere visto come un estensione del modello ER al web; infatti RDF si basa sui concetti di Entità e di Relazione, con la differenza che in RDF quest ultimo concetto, grazie all utilizzo di URI, è stato elevato allo stesso livello delle Entità, nel senso che anche le Relazioni possiedono una propria specifica identità, indipendente dalle entità che mettono in relazione; in questo modo non è necessario che tutte le informazioni su un entità siano definite in un unico luogo e chiunque può dire tutto su tutto ("anything can say anything about anything"). Esempi di Asserzioni RDF Sia data la frase in linguaggio naturale: ha per autore Mario Rossi, si riconoscono: Ha_Autore Mario Rossi Soggetto (Risorsa) Predicato (Proprietà) Oggetto (Letterale) 8

21 Cioè: la proprietà Ha_Autore (che supponiamo essere definita nel namespace per rappresentare la relazione binaria avere come autore ) della risorsa vale Mario Rossi (inteso come stringa di caratteri). Ciascuna asserzione RDF può essere rappresentata graficamente con un grafo RDF, che è un grafo orientato in cui il nodo di partenza di ogni arco rappresenta il Subject dell asserzione, l arco stesso il Predicate e il nodo di arrivo l Object. I nodi ovali identificano le Risorse, mentre quelli rettangolari indicano i Letterali. Il grafo RDF associato all esempio (Directed Labeled Graph o DLG) sarà dunque: Figura 1.2: Grafo RDF dell esempio di asserzione RDF Per serializzare questo grafo nella sintassi RDF/XML ci si deve riferire al namespace " (con prefisso rdf) la cui URL contiene un documento che definisce i nomi di tag usati da RDF/XML: i tag <rdf:rdf> (che deve sempre costituire l elemento radice di un documento RDF/XML) e <rdf:description> (attraverso il quale vengono fatte le asserzioni) appartengono a tale namespace. Esistono poi due modi per identificare il Subject; infatti, a seconda che la risorsa da descrivere sia gia esistente o sia ancora da creare, possiamo: -assegnare il nome della risorsa che vogliamo descrivere (cioe l URI che la identifica) all attributo rdf:about del tag <rdf:description> -assegnare un letterale all attributo rdf:id del tag <rdf:description>, cosi facendo, il nome specificato diventa il nome locale di una risorsa per la quale non esiste ancora una URI. Per il nostro esempio avremo così: <?xml version="1.0"?> <rdf:rdf xmlns:rdf=" xmlns:d=" <rdf:description rdf:about=" SOGGETTO <d:ha_autore> PREDICATO Mario_Rossi OGGETTO (Letterale) </d:ha_autore> PREDICATO </rdf:description> </rdf:rdf> 9

22 I nomi delle proprietà usati per descrivere delle risorse (nell esempio, Ha_Autore) devono essere sempre associati ad un namespace (in questo caso, a cui solitamente viene assegnato un prefisso (nell esempio, d): così facendo possono essere utilizzati nel documento RDF/XML come tag espressi in forma <Prefisso:NomeProprietà> Si noti che il fatto di usare una URI (quale e non un semplice letterale, per nominare una proprietà presenta grandi vantaggi: il significato (ovvero, la semantica) della proprietà può essere descritta dettagliatamente all interno della pagina identificata dalla URI stessa; inoltre, una volta referenziata con una URI, quella proprietà potrà essere usata da chiunque, in una qualsiasi pagina del Web. Semantico per descrivere una qualsiasi cosa, mantenendone però il significato originale e con in più la certezza di non incorrere in un conflitto di nomi. Tornando all esempio, possiamo poi pensare di trasformare il letterale Mario Rossi in una vera e propria risorsa a sé stante: è sufficiente introdurre una nuova risorsa con URI, ad esempio, Il vantaggio di questa operazione di trasformazione è dato dalla possibilità di usare la nuova Risorsa Mario_Rossi come soggetto per nuove asserzioni in grado di specificarne (oltre al nome) anche altre proprietà, ad es. l indirizzo . Quello che si ottiene è un insieme non ordinato di asserzioni, in cui di volta in volta una Risorsa può ricoprire il ruolo di Soggetto o di Oggetto: Nota: stiamo ipotizzando che le tre Proprietà Ha_Autore, Ha_Nome, Ha_ siano tutte definite all interno dello stesso namespace il cui prefisso è d). La nuova rappresentazione grafica sarà: Figura 1.3: Nuova risorsa nell asserzione RDF Poiché è un fatto piuttosto usuale quello di dichiarare contemporaneamente più asserzioni sulla stessa risorsa (nell esempio in esame, la sintassi RDF/XML permette di raggrupparle assieme, annidandole all interno dello stesso tag <rdf:description>. La struttura delle asserzioni specificate all interno del tag <rdf:description> (ed aventi come soggetto quello specificato negli attributi di <rdf:desctription>) è del tipo: 10

23 <predicate>object</predicate> Ma quando, come accade per l Asserzione n.1, l object è una URI (e non un semplice letterale), questa va inserita direttamente nel tag <predicate> attraverso l attributo rdf:resource. In sintassi RDF/XML avremo pertanto: <?xml version="1.0"?> <rdf:rdf xmlns:rdf=" xmlns:d=" <rdf:description rdf:about=" <d:ha_autore rdf:resource=" </rdf:description> <rdf:description rdf:about=" <d:ha_nome>mario Rossi</d:Ha_Nome> <d:ha_ >mario.rossi@miosito.it</d:ha_ > </rdf:description> </rdf:rdf> Contenitori RDF Si può talvolta presentare la necessità di descrivere una risorsa attraverso una proprietà che assume più valori (ad es. una squadra composta da più giocatori). Per rappresentare situazioni di questo genere abbiamo a disposizione i Contenitori RDF, che possono essere di 3 tipi: Bag (rdf:bag) Lista non ordinata di risorse o letterali, in cui sono ammessi valori duplicati. Sequence (rdf:seq) Lista ordinata di risorse o letterali, in cui sono ammessi valori duplicati. Alternative (rdf:alt) Lista di risorse o letterali tra loro alternativi: la Proprietà deve assumere uno ed uno soltanto dei valori specificati in questa lista di possibili valori. Per poter utilizzare oggetti di questo tipo è necessario introdurre una risorsa fittizia, la quale assumerà il ruolo di Contenitore e andrà successivamente descritta attraverso le usuali asserzioni RDF. Reificazione Con il termine reificazione si indica il processo di trasformazione di una asserzione (ovvero di una frase) in una Risorsa: grazie a tale trasformazione risulterà possibile rappresentare in RDF anche delle asserzioni su asserzioni, ovvero delle citazioni, quali, ad esempio: Tizio afferma che Caio è l autore di Per riportare in RDF tale citazione, occorre innanzitutto introdurre una nuova risorsa (mediante l attributo rdf:id) che rappresenti la frase più interna: Caio è l autore di e su questa nuova risorsa, intesa come Subject, andrà specificata la proprietà Affermata_Da avente Tizio quale Object. In sintassi RDF/XML abbiamo: <?xml version="1.0"?> <rdf:rdf xmlns:rdf=" xmlns:d=" 11

24 <rdf:description rdf:id="frase"> <rdf:type rdf:resource=" // queste ultime linee possono essere abbreviate con // <rdf:statement rdf:id="frase"> <rdf:subject rdf:resource=" <rdf:predicate rdf:resource=" <rdf:object rdf:resource=" </rdf:description> <rdf:description rdf:about="#frase"> <d:affermata_da rdf:resource=" </rdf:description> </rdf:rdf> Dunque, la nuova risorsa online (che è stata chiamata Frase ) è stata creata definendola (mediante la Proprietà rdf:type) come una istanza della classe rdf:statement: in questo modo abbiamo indicato che tale nuova risorsa è una asserzione. Successivamente abbiamo specificato il Soggetto (con la proprietà rdf:subject), il Predicato (con rdf:predicate) e l Oggetto (con rdf:object) di tale Risorsa-Asserzione. Infine, abbiamo dichiarato che la risorsa con identificatore locale Frase è stata asserita dalla risorsa Relazioni Non Binarie Il modello di dati RDF supporta intrinsecamente solo relazioni binarie; ovvero, un'asserzione RDF specifica una relazione tra due sole risorse. La tecnica raccomandata per rappresentare in RDF relazioni di ordine superiore (usando solo relazioni binarie) è di usare una risorsa intermedia (Blank node) avente proprietà addizionali che forniscano le rimanenti relazioni. Frequentemente si hanno esempi di relazioni non-binarie quando si tratta con delle unità di misura: ad esempio, non è corretto (ed anzi può condurre ad insidiose ambiguità) indicare il prezzo di un certo prodotto con solo un numero (per es. "100"): occorre specificare esplicitamente anche quale è la valuta usata (Euro, Dollaro, Sterlina, ). Nel grafo RDF occorre dunque introdurre un nodo intermedio addizionale, che presenti una relazione (arco) in grado di specificare il tipo di valuta: 12

25 Figura 1.4: Grafo relazione non binaria In sintassi RDF/XML avremo: <?xml version="1.0"?> <RDF xmlns:rdf=" xmlns:d=" <rdf:description rdf:id="prodotto xxxxx"> <d:prezzo rdf:parsetype="resource"> <rdf:value>100</rdf:value> <d:valuta rdf:resource=" </d:prezzo> </rdf:description> </RDF> L'attributo parsetype modifica l'interpretazione del contenuto dell'elemento e dovrebbe avere uno dei valori Literal o Resource (il valore è case-sensitive). Il valore Literal specifica che il contenuto dell'elemento deve essere trattato come un letterale RDF/XML (ovvero il contenuto non deve essere interpretato da un processore RDF); il valore Resource specifica che il contenuto dell'elemento deve essere trattato come se fosse il contenuto di un elemento <rdf:description>. Oppure, utilizzando l attributo rdf:nodeid (che permette di dare un identificativo ad un nodo): <?xml version="1.0"?> <RDF xmlns:rdf=" xmlns:d=" <rdf:description rdf:about="prodotto xxxxx"> <d:prezzo rdf:nodeid="abc"/> </rdf:description> <rdf:description rdf:nodeid="abc"> <rdf:value>100</rdf:value> <d:valuta rdf:resource=" </rdf:description> </RDF> Confronto tra RDF e XML La struttura di un documento XML è quella di un albero, mentre il modello di dati di RDF è costituito da un grafo orientato, con archi etichettati. Nel contesto del Web Semantico, rileviamo inoltre come, nel momento in cui si rende necessaria la rappresentazione di una realtà di interesse e non di un dato, viene meno il modello gerarchico e classificatorio dell albero, in favore di un modello relazionale e predicativo. La struttura di un documento XML è una strutturazione ad albero di modi di predicazione, adatti a soggetti sempre meno numerosi, a partire da classi più generali via via attraverso differenziazioni e successive fino a giungere alla più determinata possibile al di sotto della quale non esistono più ulteriori specie, ma solo individui. 13

26 Un esempio di classificazione: Figura 1.5: Esempio di modello di classificazione Osservando questo schema rileviamo come, dal punto di vista strutturale, non vi sia alcuna differenza fra la relazione che intercorre, ad esempio, tra Animali e Carnivori e quella che intercorre fra Piante e Rami: in entrambi i casi si è di fronte semplicemente a due relazioni di subordinazione. Dunque, benché esista una chiara differenza fra il concetto di parte e quello di sottoinsieme (un carnivoro è un animale, un ramo non è una pianta), l albero porfiriano non offre alcuna possibilità di segnalarla. Il modello ad albero si rivela pertanto insufficiente allo scopo di rappresentare un insieme di conoscenze, non perché sia privo di contenuto semantico, ma piuttosto perché di tale semantica non viene definita alcuna regola di interpretazione, perché il modello appare insufficiente di fronte all insieme delle possibili relazioni fra i concetti. La caratteristica dunque che più di ogni altra costituisce un limite alle capacità rappresentative di XML, ma soprattutto dell intera tradizione del modello ad albero, è l assenza di relazioni interpretabili. Nello sforzo di definire un modello per la rappresentazione della conoscenza, si è constatato quanto sia cruciale la questione dei tipi di relazioni, e la possibilità stessa di distinguere e definire tipologie diverse di relazione, sia dal punto di vista del significato che ad esse si associa, sia dal punto di vista delle proprietà di tali relazioni e della definizione di un dominio e di un range di applicabilità. RDF Schema Quando scriviamo una frase in linguaggio naturale, usiamo parole che convenzionalmente sono associate ad uno specifico significato. Questo significato è fondamentale per la comprensione delle asserzioni, e, nel caso di applicazioni RDF, è cruciale per stabilire il trattamento corretto che si intende indicare. RDF consente di definire un semplice modello dei dati per descrivere proprietà di risorse e relazioni tra le risorse stesse, ma senza contemplare livelli di astrazione differenti: le risorse e le loro relazioni sono tutte organizzate allo stesso livello di astrazione, in un grafo piatto. In altre parole, RDF non permette di definire tipi (o classi ) di risorse con loro proprietà specifiche e, a tal fine, RDF è stato arricchito, per mezzo di RDF Schema, con un semplice sistema di tipi (che ricorda i sistemi di 14

27 tipi dei linguaggi di programmazione object-oriented). Una risorsa può, per esempio, essere definita come istanza di una classe (o di più classi) e le classi possono essere organizzate in modo gerarchico, permettendo di derivare, per ereditarietà, nuova conoscenza. Altra lacuna di RDF (alla quale RDF Schema intende porre rimedio) è quella di non fornire alcun meccanismo per definirne i vincoli d applicabilità delle Proprietà, per organizzarle gerarchicamente. Per poter utilizzare gli strumenti offerti da RDF Schema è necessario riferirsi esplicitamente al Namespace " al quale è comunemente assegnato l alias rdfs. I concetti messi a disposizione da RDF Schema sono quelli di: Classe e sotto Classe (rdfs:class, rdfs:subclassof) Sotto Proprietà (rdfs:subpropertyof) Dominio e Codominio di una Proprietà (rdfs:domain, rdfs:range) Commenti, Etichette ed Informazioni Addizionali (rdfs:comment, rdfs:label, rdfs:seealso) In RDF Schema, una classe è una qualunque risorsa che abbia una proprietà rdf:type il cui valore sia rdfs:class (che a sua volta è una risorsa definita nel namespace di RDF Schema). Ad es. per creare una classe Animale (paradigma astratto di tutti gli animali del mondo) basta asserire che ex:animale rdf:type rdfs:class ( in cui ex è inteso essere il prefisso per una generica URI di esempio) cioè : <rdfs:class rdf:id="animale"/> N.B. questa è una abbreviazione del codice RDF/XML <rdf:description rdf:id="animale"> <rdf:type rdf:resource=" </rdf:description> Possiamo ora dire che la classe Cane è sottoclasse della classe Animale : ex:cane rdfs:subclassof ex:animale cioè <rdfs:class rdf:id="cane"> <rdfs:subclassof rdf:about="#animale"/> </rdfs:class> Ed anche che Fido è un Cane : ex:fido rdf:type ex:cane cioè <ex:fido rdf:id= Cane /> È bene avere ben chiara la differenza tra le due proprietà rdf:type (definita in RDF) e rdfs:subclassof (definita in RDF Schema): rdf:type può essere letta come essere 15

28 istanza di ed è impiegata per definire istanze di classi (es. Fido è una particolare istanza della classe Cane ), mentre rdfs:subclassof è impiegata per definire sottoclassi di classi (es. la classe Cane è sottoclasse della classe Animale ). Occorre fare attenzione quando si definiscono nuove classi: la nuova classe sarà una istanza particolare di rdfs:class, dunque si dovrà usare rdf:type. rdfs:subclassof è transitiva e consente di definire relazioni di sovra/sotto-insieme fra le classi. Uno schema RDF rappresenta anche la sede in cui vengono documentate le definizioni ed i vincoli d uso delle proprietà che caratterizzano le classi. In RDF tutte le proprietà devono essere definite come istanze della classe rdf:property, ad es. ex:essere_parente_di rdf:type rdf:property cioè <rdf:property rdf:id="essere_parente_di"/> RDF Schema fornisce un modo per specializzare, come avviene per le classi, anche le proprietà: ciò si ottiene usando la proprietà rdfs:subpropertyof, ad es. ex:essere_fratello_di rdfs:subpropertyof ex:essere_parente_di cioè <rdf:property rdf:id="essere_fratello_di"> <rdfs:subpropertyof rdf:resource="#essere_parente_di"/> </rdf:property> RDF Schema offre inoltre degli strumenti linguistici (le proprietà rdfs:domain e rdfs:range)per limitare il campo d'applicabilità delle varie proprietà definite a livello utente, consentendo di porre, per ciascuna di esse, vincoli sul loro Dominio (quali classi siano da considerare lecite come Soggetto della proprietà) e sul loro Codominio (quali classi siano da considerare lecite come Valore, ossia come complemento oggetto, della proprietà). Ad esempio, se volessimo definire una nuova proprietà ha_autore, imponendo che essa possa avere come soggetto esclusivamente degli oggetti Libro e come valore unicamente delle istanze della classe Persona, potremmo scrivere: ex:libro rdf:type rdfs:class Libro è una Classe ex:persona rdf:type rdfs:class Persona è una Classe ex:ha_autore rdf:type rdf:property ha_autore è una Proprietà ex:ha_autore rdfs:domain ex:libro ha_autore ha per Dominio istanze di Libro ex:ha_autore rdfs:range ex:persona ha_autore ha per Codominio istanze di Persona cioè <rdfs:class rdf:id="libro"/> <rdfs:class rdf:id="persona"/> <rdf:property rdf:id= ha_autore > <rdfs:domain rdf:about= #Libro > <rdfs:range rdf:about= #Persona > 16

29 </rdf:property> Abbiamo pertanto esplicitato esattamente il modo in cui la proprietà ha_autore mette in relazione oggetti della classe Libro con oggetti della classe Persona. Ricordiamo che il valore (ma non il Soggetto!) di uno statement RDF può anche essere costituito da un letterale; per questo motivo, la proprietà rdfs:range può anche essere usata per indicare che il valore di una proprietà è dato da un tipo particolare di letterale; ad esempio, volendo specificare che la Proprietà anno_di_nascita (che si applica a risorse appartenenti alla classe Persona) ha come valore un letterale intero (integer) secondo la definizione di XML Schema, potremmo scrivere: ex:anno_di_nascita rdf:type rdf:property ex:anno_di_nascita rdfs:domain ex: Persona ex:anno_di_nascita rdfs:range xsd:integer cioè <rdfs:datatype rdf:about="&xsd;integer"/> <rdf:property rdf:id= anno_di_nascita > rdfs:domain rdf:about= #Persona > rdfs:range rdf:about= &xsd;integer > </rdf:property> Benché l URI che identifica il tipo di dato integer, possa essere usata senza affermare esplicitamente in RDF Schema che essa identifica un tipo di dato, tuttavia è consigliabile farlo comunque, utilizzando la classe rdfs:datatype. Si presti attenzione al fatto che questa asserzione non costituisce una definizione di un nuovo tipo di dato, in quanto non esiste alcuna possibilità di definire tipi di dato in RDF Schema: l asserzione presentata documenta solamente l esistenza di un tipo di dato, definito esternamente a RDF Schema, che può però essere usato nello schema attraverso il suo riferimento URI. Riepilogando, gli statements in uno Schema RDF sono sempre e solo delle descrizioni, che possono anche essere considerate vincolanti, ma soltanto se l applicazione che li tratta è stata progettata per seguire questa interpretazione. RDF Schema è un linguaggio dichiarativo che si limita a fornire un mezzo per affermare informazioni addizionali sui dati, ma sono le singole applicazioni che stabiliscono individualmente come affrontare l eventualità che i dati non siano conformi agli Schemi. RDF Schema mette a disposizione altre proprietà per fornire ulteriori informazioni, come: - rdfs:comment Può essere usata per fornire una descrizione di una risorsa, in una forma che sia leggibile da un utente. - rdfs:label Può essere usata per fornire una versione del nome di una risorsa che risulti più facilmente comprensibile da un utente. - rdfs:seealso Può essere usata per indicare un altra risorsa che potrebbe essere in grado di fornire informazioni aggiuntive relativamente alla risorsa in esame. 17

30 - rdfs:isdefinedby (è una sotto proprietà di rdfs:seealso) Può essere usata per indicare un ulteriore risorsa che definisca ulteriormente la risorsa in esame (S rdfs:isdefinedby O). La risorsa O può anche non essere reperibile, e nel caso lo fosse, su di essa non sono imposte regole di formattazione. Nello schema delle classi base di RDF/RDF Schema(figura 1.6), gli archi rdfs:subclassof indicano una relazione di sottoclasse (la freccia punta verso la superclasse) e gli archi rdf:type indicano questo oggetto è una istanza della classe (la freccia punta verso la classe). Ovviamente le istanze della classe rdfs:class sono, a loro volta, delle classi. Tale diagramma mostra come sia la classe rdfs:class che la classe rdf:property sono sottoclassi della classe delle risorse rdfs:resource. In questo modo, ciascuna Classe (istanza della classe rdfs:class) e ciascuna proprietà (istanza della classe rdf:property) saranno automaticamente anche delle risorse (ciò è comprensibile poiché in RDF una proprietà è sempre considerata una risorsa). La classe rdfs:class è una classe definita come istanza di se stessa. Figura 1.6: Diagramma rdfs:class e rdf:property Un diagramma più completo della gerarchia di classi di RDF/RDF Schema è invece il seguente: 18

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

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

RDF RDFS RDF/XML. Dott.sa Vincenza Anna Leano vincenzaanna.leano@unina.it. Basi di Dati II mod. B Prof. F. Cutugno A.A. 2010/2011

RDF RDFS RDF/XML. Dott.sa Vincenza Anna Leano vincenzaanna.leano@unina.it. Basi di Dati II mod. B Prof. F. Cutugno A.A. 2010/2011 RDF RDFS RDF/XML Dott.sa Vincenza Anna Leano vincenzaanna.leano@unina.it Basi di Dati II mod. B Prof. F. Cutugno A.A. 2010/2011 ESEMPIO Concetto Il prof Cutugno insegna Basi di Dati II Rappresentazione

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Dettagli

Project Cycle Management

Project Cycle Management Project Cycle Management Tre momenti centrali della fase di analisi: analisi dei problemi, analisi degli obiettivi e identificazione degli ambiti di intervento Il presente materiale didattico costituisce

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

Esame dell 8 settembre 2012

Esame dell 8 settembre 2012 Basi di Dati e Sistemi Informativi Errori ricorrenti nella progettazione concettuale Questo documento ha, come scopo, presentare alcuni gravi errori che ricorrono spesso nella progettazione concettuale

Dettagli

MANUALE DELLA QUALITA Revisione: Sezione 4 SISTEMA DI GESTIONE PER LA QUALITA

MANUALE DELLA QUALITA Revisione: Sezione 4 SISTEMA DI GESTIONE PER LA QUALITA Pagina: 1 di 5 SISTEMA DI GESTIONE PER LA QUALITA 4.0 SCOPO DELLA SEZIONE Illustrare la struttura del Sistema di Gestione Qualità SGQ dell Istituto. Per gli aspetti di dettaglio, la Procedura di riferimento

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

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

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

Rappresentazione grafica di entità e attributi

Rappresentazione grafica di entità e attributi PROGETTAZIONE CONCETTUALE La progettazione concettuale, ha il compito di costruire e definire una rappresentazione corretta e completa della realtà di interesse, e il prodotto di tale attività, è lo schema

Dettagli

Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi.

Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi. PROGETTO SeT Il ciclo dell informazione Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi. Scuola media Istituto comprensivo di Fagagna (Udine) Insegnanti referenti: Guerra Annalja, Gianquinto

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

DATABASE. A cura di Massimiliano Buschi

DATABASE. A cura di Massimiliano Buschi DATABASE A cura di Massimiliano Buschi Introduzione Con Microsoft Access: Immissione dati e interrogazione Interfaccia per applicazioni e report Ma prima bisogna definire alcune conoscenze di base sui

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

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

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

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

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

HR - Sicurezza. Parma 17/12/2015

HR - Sicurezza. Parma 17/12/2015 HR - Sicurezza Parma 17/12/2015 FG Software Produce software gestionale da più di 10 anni Opera nel mondo del software qualità da 15 anni Sviluppa i propri software con un motore completamente proprietario

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

Lezione 2. Il modello entità relazione

Lezione 2. Il modello entità relazione Lezione 2 Il modello entità relazione Pag.1 Introduzione alla progettazione delle basi di dati 1. Analisi dei requisiti Quali sono le entità e le relazioni dell organizzazione? Quali informazioni su queste

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

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

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

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

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

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

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

Scopo della lezione. Informatica. Informatica - def. 1. Informatica Scopo della lezione Informatica per le lauree triennali LEZIONE 1 - Che cos è l informatica Introdurre i concetti base della materia Definire le differenze tra hardware e software Individuare le applicazioni

Dettagli

I Problemi e la loro Soluzione. Il Concetto Intuitivo di Calcolatore. Risoluzione di un Problema. Esempio

I Problemi e la loro Soluzione. Il Concetto Intuitivo di Calcolatore. Risoluzione di un Problema. Esempio Il Concetto Intuitivo di Calcolatore Fondamenti di Informatica A Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini I Problemi e la loro Soluzione Problema: classe

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

Modellazione dei dati in UML

Modellazione dei dati in UML Corso di Basi di Dati e Sistemi Informativi Modellazione dei dati in UML Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Introduzione UML (Unified Modeling Language):

Dettagli

Come archiviare i dati per le scienze sociali

Come archiviare i dati per le scienze sociali Come archiviare i dati per le scienze sociali ADPSS-SOCIODATA Archivio Dati e Programmi per le Scienze Sociali www.sociologiadip.unimib.it/sociodata E-mail: adpss.sociologia@unimib.it Tel.: 02 64487513

Dettagli

I libri di testo. Carlo Tarsitani

I libri di testo. Carlo Tarsitani I libri di testo Carlo Tarsitani Premessa Per accedere ai contenuti del sapere scientifico, ai vari livelli di istruzione, si usa comunemente anche un libro di testo. A partire dalla scuola primaria, tutti

Dettagli

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

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

Dettagli

OpenPsy: OpenSource nella Psicologia. Presentazione del progetto in occasione dell edizione 2004 del Webbit (Padova)

OpenPsy: OpenSource nella Psicologia. Presentazione del progetto in occasione dell edizione 2004 del Webbit (Padova) OpenPsy: OpenSource nella Psicologia Pag. 1 di 9 OpenPsy: OpenSource nella Psicologia Presentazione del progetto in occasione dell edizione 2004 del Webbit (Padova) PREMESSA Per prima cosa, appare ovvio

Dettagli

RICERCA AZIONE STRUMENTI

RICERCA AZIONE STRUMENTI RICERCA AZIONE STRUMENTI STRUMENTI INTROSPETTIVI Permettono di scoprire gli aspetti più nascosti, le sfaccettature più profonde. Sono privati perché di norma vengono usati dall individuo da solo. Non sono

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

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

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

Linee guida per il Comitato Tecnico Operativo 1

Linee guida per il Comitato Tecnico Operativo 1 Linee guida per il Comitato Tecnico Operativo 1 Introduzione Questo documento intende costituire una guida per i membri del Comitato Tecnico Operativo (CTO) del CIBER nello svolgimento delle loro attività.

Dettagli

Working Draft 0.5 (Telefonia)

Working Draft 0.5 (Telefonia) Working Draft 0.5 (Telefonia) Abstract Lo scopo del progetto è lo sviluppo di un SCP (Semantic Collaborative Portal), cioè un sistema di visualizzazione di una banca dati documentaria di grandi dimensioni

Dettagli

Da dove nasce l idea dei video

Da dove nasce l idea dei video Da dove nasce l idea dei video Per anni abbiamo incontrato i potenziali clienti presso le loro sedi, come la tradizione commerciale vuole. L incontro nasce con una telefonata che il consulente fa a chi

Dettagli

Corso di Sistemi di Elaborazione delle Informazioni I Anno 2005/2006. Esercizi entità relazione risolti. a cura di Angela Campagnaro 802749

Corso di Sistemi di Elaborazione delle Informazioni I Anno 2005/2006. Esercizi entità relazione risolti. a cura di Angela Campagnaro 802749 Corso di Sistemi di Elaborazione delle Informazioni I Anno 2005/2006 Esercizi entità relazione risolti a cura di Angela Campagnaro 802749 Indice: Esercizio 1: Un insieme di officine 1.1 Testo esercizio.3

Dettagli

IL MARKETING E QUELLA FUNZIONE D IMPRESA CHE:

IL MARKETING E QUELLA FUNZIONE D IMPRESA CHE: IL MARKETING E QUELLA FUNZIONE D IMPRESA CHE:! definisce i bisogni e i desideri insoddisfatti! ne definisce l ampiezza! determina quali mercati obiettivo l impresa può meglio servire! definisce i prodotti

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

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

Semantic Web: linguaggi e tecnologie

Semantic Web: linguaggi e tecnologie Corso di Laurea Specialistica in Ingegneria Gestionale Corso di Sistemi Informativi A. A. 2012-2013 Semantic Web: linguaggi e tecnologie Eufemia TINELLI Dal Web al Semantic Web: Motivazioni Il Web dovrebbe

Dettagli

REGOLE PER L ESAME (agg.te settembre 2015)

REGOLE PER L ESAME (agg.te settembre 2015) Informatica e Programmazione (9 CFU) Ingegneria Meccanica e dei Materiali REGOLE PER L ESAME (agg.te settembre 2015) Modalità d esame (note generali) Per superare l esame, lo studente deve sostenere due

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

PROGETTO REGIONALE MISURAZIONE E VALUTAZIONE DELLE BIBLIOTECHE VENETE

PROGETTO REGIONALE MISURAZIONE E VALUTAZIONE DELLE BIBLIOTECHE VENETE PROGETTO REGIONALE MISURAZIONE E VALUTAZIONE DELLE BIBLIOTECHE VENETE Analisi dinamica dei dati dei questionari per le biblioteche di pubblica lettura. GLI INDICATORI Gli indicatori sono particolari rapporti

Dettagli

Programmi. Algoritmi scritti in un linguaggio di programmazione

Programmi. Algoritmi scritti in un linguaggio di programmazione Programmi Algoritmi scritti in un linguaggio di programmazione Sistema operativo:programma supervisore che coordina tutte le operazioni del calcolatore Programmi applicativi esistenti Sistemi di videoscrittura

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

Testo Esercizio. Un modello è ragionevole quando contiene queste tre caratteristiche.

Testo Esercizio. Un modello è ragionevole quando contiene queste tre caratteristiche. Testo Esercizio Si consideri la realizzazione di un semplice programma grafico per il disegno di figure geometriche in due dimensioni. Si analizzino i requisiti e se ne rappresentino i risultati in UML

Dettagli

BDCC : Guida rapida all utilizzo

BDCC : Guida rapida all utilizzo BDCC : Guida rapida all utilizzo 1 Sommario 1. Funzionamento del sistema... 3 1.1 Cos è e cosa contiene la BDCC... 3 1.2 Meccanismi di funzionamento della BDCC... 3 1.3 Organizzazione di contenuti all

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

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

Guida all uso di Java Diagrammi ER

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

Dettagli

Progettazione concettuale

Progettazione concettuale Progettazione concettuale Strategie top-down A partire da uno schema che descrive le specifiche mediante pochi concetti molto astratti, si produce uno schema concettuale mediante raffinamenti successivi

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

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

Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica. Ingegneria del Software. La fase di Analisi

Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica. Ingegneria del Software. La fase di Analisi Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Ingegneria del Software La fase di Analisi Giulio Destri Ing. del software: Analisi - 1 Scopo del modulo Definire

Dettagli

Programmi e Oggetti Software

Programmi e Oggetti Software Corso di Laurea Ingegneria Civile Elementi di Informatica Programmi e Oggetti Software Settembre 2006 Programmi e Oggetti Software 1 Contenuti Cosa è un programma Cosa significa programmare Il punto di

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

Appunti di Interazione Uomo Macchina Principi di progettazione per il web I wireframe

Appunti di Interazione Uomo Macchina Principi di progettazione per il web I wireframe Appunti di Interazione Uomo Macchina Principi di progettazione per il web I wireframe Luca Pulina 1 Introduzione Nell ambito della progettazione di siti web, i wireframe sono un insieme di documenti che

Dettagli

Corrispondenze e funzioni

Corrispondenze e funzioni Corrispondenze e funzioni L attività fondamentale della mente umana consiste nello stabilire corrispondenze e relazioni tra oggetti; è anche per questo motivo che il concetto di corrispondenza è uno dei

Dettagli

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

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

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

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

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

Dettagli

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

Modello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi

Modello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi Modello Relazionale Modello Relazionale Proposto agli inizi degli anni 70 da Codd Finalizzato alla realizzazione dell indipendenza dei dati Unisce concetti derivati dalla teoria degli insiemi (relazioni)

Dettagli

Le strumentazioni laser scanning oriented per i processi di censimento anagrafico dei patrimoni

Le strumentazioni laser scanning oriented per i processi di censimento anagrafico dei patrimoni CONVEGNO FACILITY MANAGEMENT: LA GESTIONE INTEGRATA DEI PATRIMONI PUBBLICI GENOVA FACOLTA DI ARCHITETTURA 06.07.2010 Le strumentazioni laser scanning oriented per i processi di censimento anagrafico dei

Dettagli

Informatica (Basi di Dati)

Informatica (Basi di Dati) Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof.

Dettagli

DFD DISPENSA DEL CORSO DI SISTEMI INFORMATIVI UNIVERSITÀ DEGLI STUDI DI VERONA FACOLTÀ DI MM.FF.NN LAUREA SPECIALISTICA IN INFORMATICA

DFD DISPENSA DEL CORSO DI SISTEMI INFORMATIVI UNIVERSITÀ DEGLI STUDI DI VERONA FACOLTÀ DI MM.FF.NN LAUREA SPECIALISTICA IN INFORMATICA UNIVERSITÀ DEGLI STUDI DI VERONA FACOLTÀ DI MM.FF.NN LAUREA SPECIALISTICA IN INFORMATICA DISPENSA DEL CORSO DI SISTEMI INFORMATIVI Prof. Carlo Combi DFD Appunti a cura di E. Peri M. Devincenzi Indice 1

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

INSERIMENTO DATI BASILARI

INSERIMENTO DATI BASILARI PASSO PASSO. Questo applicativo software nasce con l idea di essere molto semplice da usare. Di fatto lo è ed infatti non dispone di un help in linea all interno dello stesso. Tuttavia ci sentiamo in dovere

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

Pagina 2 di 14. Indice

Pagina 2 di 14. Indice Manuale d uso per la raccolta: Sicurezza e continuità del servizio di distribuzione gas (comma 28.17 dell'allegato A alla deliberazione 574/2013/R/gas) Pagina 1 di 14 Indice 1. Accesso alla raccolta...

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

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

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

Piano di gestione della qualità

Piano di gestione della qualità Piano di gestione della qualità Pianificazione della qualità Politica ed obiettivi della qualità Riferimento ad un eventuale modello di qualità adottato Controllo della qualità Procedure di controllo.

Dettagli

FINESTRE INTERCULTURALI

FINESTRE INTERCULTURALI Scuola Classe 1C FINESTRE INTERCULTURALI DIARIO DI BORDO 2013 / 2014 IC Gandhi - Secondaria di primo grado Paolo Uccello Insegnante / materia lettere Data Febbraio Durata 4h TITOLO DELLA FINESTRA INTERCULTURALE

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