INFORMATICA UMANISTICA B STRUTTURE DATI BASI DI DATI RAPPRESENTAZIONE DELLA CONOSCENZA ONTOLOGIE.

Post on 01-May-2015

215 views 0 download

Transcript of INFORMATICA UMANISTICA B STRUTTURE DATI BASI DI DATI RAPPRESENTAZIONE DELLA CONOSCENZA ONTOLOGIE.

INFORMATICA UMANISTICA B

STRUTTURE DATIBASI DI DATI

RAPPRESENTAZIONE DELLA CONOSCENZA

ONTOLOGIE

VARIABILI SCALARI O ATOMICHE

function MCD(M,N) while M ≠ N if M > N then M M - N else N N - M return M

RAPPRESENTAZIONE DELLE INFORMAZIONI IN PROGRAMMI

La lezione precedente si sono visti solo esempi di variabili che assumono valori ATOMICI (numeri, simboli)

Molti programmi trattano pero’ informazioni con una struttura piu’ complessa : Dati sulle immagini da rappresentare sullo

schermo Tabelle degli orari

INFORMAZIONI DA VISUALIZZARE SULLO SCHERMO

ORARI

Giorno Baroni Poesio Zamparelli ….

L 8-10

L 10-12 X

L 12-14

L 14-16 X

L 16-18 X

TABELLE

Ambedue gli esempi appena visti sono esempi di informazione con struttura TABULARE

Le TABELLE sono una delle strutture dati usate piu’ comunemente in informatica

PROGETTAZIONE DI STRUTTURE DATI

Identificare la struttura dati piu’ appropriata per rappresentare un certo tipo di informazioni all’interno di un programma e’ uno dei problemi centrali dell’informatica

TIPI DI STRUTTURE DATI

Temporanee: Tabelle Records Alberi

Permanenti: database

VETTORI E TABELLE

I vettori sono strutture dati che permettono di manipolare sequenze di oggetti dello stesso tipo

Le tabelle permettono di creare spazi multidimensionali

In ambedue i casi, i dati vengono ritrovati tramite INDICI

VETTORI E TABELLE

j

Giorno Baroni Poesio Zamparelli ….

L 8-10

i L 10-12 X

L 12-14

L 14-16 X

L 16-18 X

tabella[i,j]

ALBERI

Una delle strutture dati piu’ usate sono gli ALBERI

Vengono usati, per esempio, Per rappresentare la struttura di un documento

HTML / XML Per rappresentare l’analisi sintattica di un

enunciato

LA STRUTTURA AD ALBERO DEI DOCUMENTI HTML (ED XML)

<html>

<head><title> My first HTML</title>

</head><body>

<p> Hello, World! </p></body>

</html>

LA STRUTTURA AD ALBERO DEI DOCUMENTI HTML

html

head body

title p

LA STRUTTURA AD ALBERO DEGLI ENUNCIATI

ACCESSO AD UN ALBERO

html

head body

title p

figlie

madre

RECORDS

I records sono strutture dati usate per rappresentare oggetti che hanno ATTRIBUTI

ESEMPIO: ESAME

MATERIA IUB

DATA 4/2/2008

MATRICOLA 112233

VOTO 29

ESAME

esame.materia

RECORDS IN XML

TITLE: Paradise Lost

AUTHOR: John Milton

YEAR: 1667

<poem title=“paradise lost” author="jm" year="1667"> <verse> Seest thou yon dreary Plain, forlorn and wild,</verse> <verse>The seat of desolation, void of light,</verse> <verse>Save what the glimmering of these livid flames</verse> <verse>Casts pale and dreadful?</verse> </poem>

STRUTTURE DATI MISTE: ALBERI + RECORDS IN XML

verse verse

Seest thou yon dreary Plain, forlorn and wild,

poemtitle = Paradise Lostauthor = jmauthor= 1667

verse

ALTRE STRUTTURE DATI

Liste Tabelle ‘hash’

STRUTTURE DATI TEMPORANEE E PERMANENTI

Per potere rappresentare informazioni in modo duraturo occorre sviluppare delle tecniche per mantenerle in memoria secondaria

Lo strumento informatico utilizzato per questo scopo sono le BASI DI DATI

BASI DI DATI

Un database e’ una collezione di dati immagazzinati in modo PERMANENTE su disco

ACCESS e’ uno strumento che permette di creare basi di dati

TABELLE E RELAZIONI

L’informazione e’ rappresentata nelle basi di dati sotto forma di TABELLE e RELAZIONI

ESEMPIO: SINGOLA TABELLA

RITROVAMENTO INFORMAZIONI

Le informazioni in una base di dati possono essere ritrovate mediante INTERROGAZIONI

INTERROGAZIONESELECT Materia, Data, Matricola

FROM Esami;

RELAZIONI TRA TABELLE

CREARE UNA BASE DI DATI IN ACCESS

1. Creare le tabelle usando ‘Create Table in Design View’

2. Salvare

3. Cambiare a Datasheet view per inserire i dati

4. Continuare a creare altre tabelle

5. Linkare le tabelle

1. TABLE DESIGN VIEW

1. TABLE DESIGN VIEW

2. DATASHEET VIEW

RITROVARE LE INFORMAZIONI

Standard linguaggio di interrogazione per database relazionali: SQL

SINTASSI DI SQL

Diversi tipi di comandi: INTERROGAZIONE UPDATE

Comando di interrogazione: SELECT Clausole piu’ usate:

FROM (specifica la tabella) WHERE (specifica restrizioni)

SQL: Esempio base

SELECT isbn, title, price

FROM books

WHERE price > 100.00

ORDER BY title;

INTERROGAZIONI CHE COINVOLGONO PIU’ TABELLE

AGGIUNGERE TABELLE

INTERROGAZIONE A TABELLE MULTIPLE

SQL VIEW

SQL: ESEMPIO DI INTERROGAZIONE DA TABELLE LINKATE

SELECT Studenti.Nome, Studenti.CognomeFROM Studenti INNER JOIN Esami ON Studenti.Matricola=Esami.MatricolaWHERE Esami.Materia='IUB' And Esami.Voto>25;

RAPPRESENTAZIONE DELLA CONOSCENZA ED ONTOLOGIE

La ricerca sul modo ‘ideale’ per rappresentare le informazioni ha portato alla nascita di ricerca sulla KNOWLEDGE ENGINEERING o rappresentazione della conoscenza anche in senso non applicato

Particolarmente interessante per domini piu’ complessi che ‘studenti’ e gli ‘esami’?

L’area della KNOWLEDGE ENGINEERING raggruppa ricercatori da database, Intelligenza Artificiale, e nell’area del Semantic Web

Un area molto legata allo studio delle ONTOLOGIE

ONTOLOGIE IN INFORMATICA

In INFORMATICA, un’ ONTOLOGIA e’ una DEFINIZIONE dei TERMINI usati in un certo dominio e delle relazioni tra di loro

In FILOSOFIA, ONTOLOGIA e’ lo studio di cio’ che esiste – una delle aree piu’ importanti della METAFISICA

Disegno di ontologie

Identificazione dei CONCETTI Identificazione dei loro ATTRIBUTI Identificazione delle relazioni di dipendenza

tra questi concetti

ONTOLOGIA APPLICATA

La ricerca sulle ontologie e’ al momento molto attiva nelle aree Scientifiche Semantic Web

UN ESEMPIO DI ONTOLOGIA SCIENTIFICA

Protein Ontology: un’ontologia sviluppata per codificare la nostra conoscenza sulle proteine in modo sistematico

http://proteinontology.info/

SEMANTIC WEB

Il Semantic Web e’ un progetto per realizzare una versione del Web in cui i testi sono annotati SEMANTICAMENTE e quindi e’ possibile ritrovarli sulla base del CONTENUTO invece che di keywords

INGREDIENTI DEL SEMANTIC WEB

XML come linguaggio di markup RDF per la rappresentazione di informazioni OWL (Web Ontology Language) per

rappresentare concetti, attributi, e relazioni Una o piu’ ontologie

OWL

<owl:Class rdf:ID="ProteinComplex"> <owl:disjointWith> <owl:Class rdf:ID="SiteGroup"/> </owl:disjointWith> <owl:disjointWith> <owl:Class rdf:about="#Chains"/> </owl:disjointWith> <owl:disjointWith> <owl:Class rdf:about="#Residues"/> </owl:disjointWith>

Ontologie ‘generali’ ed ontologie ‘di dominio’

Esistono ora molte ontologie per domini specifici

Esistono anche tentativi di ‘riunificare’ queste ontologie tramite cosiddette ‘ontologie di livello superiore’ SUMO DOLCE

ESEMPIO DI ONTOLOGIA USATA IN AI (SUMO)

LETTURE

Strutture dati: Wikipedia http://it.wikipedia.org/wiki/Struttura_dati

ACCESS: http://office.microsoft.com/ Ontologie:

http://www.ontologyportal.org/ http://www.loa-cnr.it/

Semantic Web: http://www.sciam.com/article.cfm?

articleID=00048144-10D2-1C70-84A9809EC588EF21