La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici.

Presentazioni simili


Presentazione sul tema: "Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici."— Transcript della presentazione:

1 Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici

2 AZALEA: punti cardine Integrazione delle risorse Integrazione delle risorse Diverse chiavi di accesso al sistema Diverse chiavi di accesso al sistema Valutazione di qualità Valutazione di qualità Applicazione di standard Applicazione di standard

3 AZALEA: integrazione risorse Documenti a stampa Documenti a stampa Documenti in formato elettronico full-text Documenti in formato elettronico full-text Siti web Siti web Pagine web Pagine web Associazioni Associazioni Protocolli clinici Protocolli clinici

4 AZALEA: chiavi di accesso Ricerca libera testuale Ricerca libera testuale Navigazione per soggetti, sui risultati Navigazione per soggetti, sui risultati Selezione tramite figura “corpo umano” Selezione tramite figura “corpo umano” Selezione tramite soggetti Selezione tramite soggetti

5 Alcuni standard/tecnologie utilizzate in AZALEA XML (http://www.w3.org/XML/) XML (http://www.w3.org/XML/)http://www.w3.org/XML/ DublinCore (http://dublincore.org/) DublinCore (http://dublincore.org/)http://dublincore.org/ Open Archives Initiative (http://www.openarchives.org/) Open Archives Initiative (http://www.openarchives.org/)http://www.openarchives.org/ FRBR (http://www.ifla.org/VII/s13/frbr/frbr.pdf) FRBR (http://www.ifla.org/VII/s13/frbr/frbr.pdf)http://www.ifla.org/VII/s13/frbr/frbr.pdf ISBD (http://www.ifla.org/VII/s13/pubs/isbd.htm) ISBD (http://www.ifla.org/VII/s13/pubs/isbd.htm)http://www.ifla.org/VII/s13/pubs/isbd.htm MESH (http://www.nlm.nih.gov/mesh/meshhome.html) MESH (http://www.nlm.nih.gov/mesh/meshhome.html)http://www.nlm.nih.gov/mesh/meshhome.html CDS/Isis (http://www.unesco.org/webworld/isis/isis.htm) CDS/Isis (http://www.unesco.org/webworld/isis/isis.htm)http://www.unesco.org/webworld/isis/isis.htm

6 e, finalmente … consigli per i naviganti! http://www.azaleaweb.it

7 Introduzione a Xml: cos’è? Xml: eXtensible Markup Language Xml: eXtensible Markup Language Linguaggio di markup: permette di evidenziare il contenuto di un documento, all’interno di marcatori descrittivi, che ne definiscono gli attributi, ad es. linguaggio html. Linguaggio di markup: permette di evidenziare il contenuto di un documento, all’interno di marcatori descrittivi, che ne definiscono gli attributi, ad es. linguaggio html. Estensibilità: in realtà Xml è un metalinguaggio di markup, cioè viene utilizzato per creare linguaggi di markup personalizzati. Estensibilità: in realtà Xml è un metalinguaggio di markup, cioè viene utilizzato per creare linguaggi di markup personalizzati. NON è un linguaggio di programmazione. NON è un linguaggio di programmazione. Non esistono documenti scritti in XML, ma documenti scritti in un linguaggio di markup basato su XML

8 Alcune caratteristiche di XML Permette di organizzare a proprio piacimento le informazioni, consentendo di inviarle a chiunque in modo libero e gratuito. Permette di organizzare a proprio piacimento le informazioni, consentendo di inviarle a chiunque in modo libero e gratuito. Standard aperto, no royalty, no brevetti, no copyright o segreti industriali. Standard aperto, no royalty, no brevetti, no copyright o segreti industriali. Salvataggio dei dati: se avete dei file in un formato proprietario quale Visicalc, Lotus Jazz, magari su floppy da 5”¼, la possibilità di recuperarli è piuttosto bassa. Il formato di solo testo resiste abbastanza bene alle alterazioni magnetiche. Salvataggio dei dati: se avete dei file in un formato proprietario quale Visicalc, Lotus Jazz, magari su floppy da 5”¼, la possibilità di recuperarli è piuttosto bassa. Il formato di solo testo resiste abbastanza bene alle alterazioni magnetiche. Permette di condividere sul Web documenti con strutture anche molto complicate che contengono dati particolarmente complessi. Permette di condividere sul Web documenti con strutture anche molto complicate che contengono dati particolarmente complessi.

9 Alcune caratteristiche di XML L’importanza di uno standard di comunicazione tra applicazioni, per evitare che i dati possano essere letti e “capiti” solo da pochissimi programmi. L’importanza di uno standard di comunicazione tra applicazioni, per evitare che i dati possano essere letti e “capiti” solo da pochissimi programmi. La gran parte dei flussi di informazioni viaggia attraverso sistemi proprietari e costosi, ad es. Oracle, SQL, DB2. La gran parte dei flussi di informazioni viaggia attraverso sistemi proprietari e costosi, ad es. Oracle, SQL, DB2. Ciò che invece, possiamo ottenere con XML è questo: Ciò che invece, possiamo ottenere con XML è questo:

10 XML  Documento XML  Cellulare  Dispositivo Palmare  PC Linux, Unix, MAC  CD-Rom

11 Le “breve storia” non manca mai… Creato dal W3C si veda http://www.w3.org/XML, la prima edizione della specifica XML 1.0 risale al febbraio 1998, la seconda edizione è di ottobre 2000, mentre ad oggi è in fase “candiate recommendation” la versione 1.1 di XML. Creato dal W3C si veda http://www.w3.org/XML, la prima edizione della specifica XML 1.0 risale al febbraio 1998, la seconda edizione è di ottobre 2000, mentre ad oggi è in fase “candiate recommendation” la versione 1.1 di XML.http://www.w3.org/XML XML, deriva da SGML, che è un linguaggio di markup molto potente ma molto complicato. XML, deriva da SGML, che è un linguaggio di markup molto potente ma molto complicato. Anche HTML deriva da SGML, semplificandolo all’estremo, ma l’html nella sua semplicità si limita a formattare i dati. Anche HTML deriva da SGML, semplificandolo all’estremo, ma l’html nella sua semplicità si limita a formattare i dati. XML nasce dall’idea di creare un linguaggio che unisca potenza di SGML e semplicità di HTML. XML nasce dall’idea di creare un linguaggio che unisca potenza di SGML e semplicità di HTML.

12 Alcuni punti chiave considerati nella progettazione dal W3C. Supporto di una vastissima gamma di applicazioni (non solo Web). Supporto di una vastissima gamma di applicazioni (non solo Web). I documenti XML devono rimanere leggibili da parte dell’uomo, e ragionevolmente chiari. I documenti XML devono rimanere leggibili da parte dell’uomo, e ragionevolmente chiari. Minimizzare le caratteristiche opzionali. Minimizzare le caratteristiche opzionali. Facile da redarre, ossia creabile anche con semplici editor di testo. Facile da redarre, ossia creabile anche con semplici editor di testo. Formale e conciso: piccoli insiemi di regole ma assolutamente precise. Formale e conciso: piccoli insiemi di regole ma assolutamente precise.

13 Regole di sintassi e strutturazione Quando un documento XML rispetta le regole strutturali definite dal W3C, si dice che è un documento “ben formato”. Gli interpreti XML rifiutano e ignorano i documenti mal formati. Ciò invece non accade in Html. Quando un documento XML rispetta le regole strutturali definite dal W3C, si dice che è un documento “ben formato”. Gli interpreti XML rifiutano e ignorano i documenti mal formati. Ciò invece non accade in Html. Tutti i documenti XML devono avere una tag radice. Tutti i documenti XML devono avere una tag radice. Tutti i tag devono necessariamente essere chiusi. Tutti i tag devono necessariamente essere chiusi. L’ annidamento dei tag deve rispettare la gerarchia di apertura. Getafix NON e’ consentito in XML (in Html si!) L’ annidamento dei tag deve rispettare la gerarchia di apertura. Getafix NON e’ consentito in XML (in Html si!) Il valore degli attributi DEVE sempre essere racchiuso tra virgolette. Il valore degli attributi DEVE sempre essere racchiuso tra virgolette. I nomi degli elementi e degli attributi devono iniziare con una lettera, un underscore _ o un segno di due punti (:), poi possono seguire un numero qualsiasi di lettere, numeri, due punti, punti singoli, trattini e underscore. Attenzione perché XML è “case sensitive”. I nomi degli elementi e degli attributi devono iniziare con una lettera, un underscore _ o un segno di due punti (:), poi possono seguire un numero qualsiasi di lettere, numeri, due punti, punti singoli, trattini e underscore. Attenzione perché XML è “case sensitive”.

14 Dtd: Document Type Definition Poiché abbiamo detto che XML ci permette di creare linguaggi di markup personalizzati, dobbiamo anche definire un dizionario per la leggibilità del documento. DTD è uno dei modi per farlo. Poiché abbiamo detto che XML ci permette di creare linguaggi di markup personalizzati, dobbiamo anche definire un dizionario per la leggibilità del documento. DTD è uno dei modi per farlo. E’ un documento di testo che definisce tutte le parti di un documento XML: elementi, attributi, elenchi, entità, proprietà e relazioni. E’ un documento di testo che definisce tutte le parti di un documento XML: elementi, attributi, elenchi, entità, proprietà e relazioni. Le DTD possono far parte del documento XML stesso, oppure essere esterne, cioè trovarsi in un file separato. Le DTD possono far parte del documento XML stesso, oppure essere esterne, cioè trovarsi in un file separato. E’ preferibile utilizzare DTD esterne, perché possono essere riutilizzate e soprattutto condivise. E’ preferibile utilizzare DTD esterne, perché possono essere riutilizzate e soprattutto condivise. Chiamata ad una DTD esterna: Chiamata ad una DTD esterna: Direttiva che inizia la riga in cui si specifica la dtd Specifica che si tratta di una dtd scritta da noi e che si trova in un file esterno Nome del file di testo che contiene la dtd Nome dell’elemento radice

15 Dtd: Document Type Definition Nella maggior parte dei casi si utilizzano DTD pubbliche, ossia dtd già create e messe a disposizione da qualcuno. Nella maggior parte dei casi si utilizzano DTD pubbliche, ossia dtd già create e messe a disposizione da qualcuno. Chiamata ad una DTD esterna pubblica: Chiamata ad una DTD esterna pubblica: Specifica che si tratta di una dtd pubblica Nome pubblico della dtd URL della DTD -//Microsoft//DTD Web_Service//EN// Il meno indica una DTD non approvata da un ente di standardizzazione(es. ISO). Microsoft è il nome del proprietario, DTD è fisso seguito da una etichetta della DTD (una breve descrizione), EN è la lingua.

16 Dtd: definizione degli elementi La parola chiave piu’ importante all’interno di una DTD è “ELEMENT”, essa ci permette di definire gli elementi (tag) del nostro linguaggio di markup. La parola chiave piu’ importante all’interno di una DTD è “ELEMENT”, essa ci permette di definire gli elementi (tag) del nostro linguaggio di markup.. Questa istruzione della DTD definisce l’elemento “media” e determina il tipo di testo che puo’ contenere (#PCDATA significa che puo’ contenere lettere, numeri o qualsiasi altra cosa che non siano altri tag).. Questa istruzione della DTD definisce l’elemento “media” e determina il tipo di testo che puo’ contenere (#PCDATA significa che puo’ contenere lettere, numeri o qualsiasi altra cosa che non siano altri tag). L’annidamento degli elementi avviene invece in questo modo: L’annidamento degli elementi avviene invece in questo modo: Oltre definire la struttura degli elementi, è possibile indicare anche alcuni comportamenti quali: - Numero di volte che un elemento può comparire: N. volte, da 0 a 1, da 1 a qualsiasi, da 0 a qualsiasi - Indicare se la presenza di un elemento ne esclude un’altra Oltre definire la struttura degli elementi, è possibile indicare anche alcuni comportamenti quali: - Numero di volte che un elemento può comparire: N. volte, da 0 a 1, da 1 a qualsiasi, da 0 a qualsiasi - Indicare se la presenza di un elemento ne esclude un’altra

17 Dtd: definizione degli attributi La definizione degli attributi avviene in questo modo: La definizione degli attributi avviene in questo modo: Type indica il tipo di attributo, può essere: Type indica il tipo di attributo, può essere: CDATA= qualunque cosa sia digitabile da tastiera CDATA= qualunque cosa sia digitabile da tastiera Enumerazione = un insieme di possibili valori dell’attributo Enumerazione = un insieme di possibili valori dell’attributo ID= valore univoco all’interno del documento xml ID= valore univoco all’interno del documento xml IDREF= si riferisce al codice contenuto in ID IDREF= si riferisce al codice contenuto in ID NMTOKEN = specifica che il valore dell’attributo segue le regole dei nomi XML NMTOKEN = specifica che il valore dell’attributo segue le regole dei nomi XML ENTITY= permette di includere come attributo oggetti esterni ENTITY= permette di includere come attributo oggetti esterni Default permette di inserire un valore predefinito, oppure può essere: - #REQUIRED (obbligatorio) - #IMPLIED (facoltativo) - #FIXED (fisso)

18 Dtd: entità e notazioni Le entità servono per contenere dati: può trattarsi di testo, immagini o qualunque altra forma di dati binari non testuali. Le entità servono per contenere dati: può trattarsi di testo, immagini o qualunque altra forma di dati binari non testuali. L’esempio più semplice: L’esempio più semplice: Nel documento XML si richiama così: &azalea; Nel documento XML si richiama così: &azalea; L’esempio “meno” semplice, entità non interpretata esterna L’esempio “meno” semplice, entità non interpretata esterna <!ENTITY foto SYSTEM “immagine.gif” NDATA gif” A questo punto per includere l’entità nel documento XML è necessario utilizzare il tipo di attributo ENTITY: <!ATTLIST utente fotografia ENTITITY #REQUIRED” Il documento XML avrà quindi una riga di questo genere:

19 XML SCHEMA XML Schema è un linguaggio creato dal W3C, per ovviare ad alcune limitazioni delle DTD. XML Schema è un linguaggio creato dal W3C, per ovviare ad alcune limitazioni delle DTD. E’ quindi un modo alternativo per definire la struttura dei documenti XML. Gli schemi di XML Schema sono scritti in XML, ma vengono letti dagli interpreti in modo diverso dai semplici documenti XML, grazie al meccanismo dei cosiddetti namespace (spazi dei nomi). E’ quindi un modo alternativo per definire la struttura dei documenti XML. Gli schemi di XML Schema sono scritti in XML, ma vengono letti dagli interpreti in modo diverso dai semplici documenti XML, grazie al meccanismo dei cosiddetti namespace (spazi dei nomi). In XML è possibile raggruppare assieme elementi come,, associandoli ad un nome univoco ad es. Azalea. A questo punto per referenziare il tag1 del gruppo Azalea si utilizza la notazione. Si dice che gli elementi del gruppo Azalea sono appartenenti al namespace Azalea. In XML è possibile raggruppare assieme elementi come,, associandoli ad un nome univoco ad es. Azalea. A questo punto per referenziare il tag1 del gruppo Azalea si utilizza la notazione. Si dice che gli elementi del gruppo Azalea sono appartenenti al namespace Azalea. I namespace risultano molto utili quando si vogliono utilizzare elementi provenienti da documenti XML diversi e che quindi potrebbero avere lo stesso nome. I namespace risultano molto utili quando si vogliono utilizzare elementi provenienti da documenti XML diversi e che quindi potrebbero avere lo stesso nome. I namespace permettono di trattare gli elementi in essi contenuti, in modo diverso rispetto a quelli che non lo sono. XML Schema non è altro che un namespace i cui elementi sono trattati in modo particolare. I namespace permettono di trattare gli elementi in essi contenuti, in modo diverso rispetto a quelli che non lo sono. XML Schema non è altro che un namespace i cui elementi sono trattati in modo particolare.

20 Nome reale, unico al mondo. Anche se ha l’aspetto di un Url, non lo è affatto! Diciamo che si tratta più di un URI, un identificatore univoco che non necessariamente punta a qualcosa. XML SCHEMA: namespace Sintassi per la creazione di un namespace: Sintassi per la creazione di un namespace: http://www.azalea.it/namespace/Azalea Con questa dichiarazione, l’elemento tag1 e tutti gli elementi in esso contenuti diventano parte del namespace. http://www.azalea.it/namespace/Azalea alfa beta E’ possibile ora riferirsi ai tag1-3 con la notazione Azalea:tag1-3 E’ possibile omettere il soprannome, in tal caso non comparirà nessun prefisso di nome, ed il namespace viene detto di default. Soprannome, si utilizza per referenziare tutti gli elementi che appartengono al namespace

21 XML Schema: chiamata Per collegare un documento XML ad uno schema XML, si utilizza una notazione differente rispetto a DOCTYPE che si usava con le DTD. Per collegare un documento XML ad uno schema XML, si utilizza una notazione differente rispetto a DOCTYPE che si usava con le DTD. Il collegamento viene fatto utilizzando l’elemento radice del documento XML, in questo modo: Il collegamento viene fatto utilizzando l’elemento radice del documento XML, in questo modo: <Azalea xmlns:xsi=“http://www.w3.org/2000/10/XMLSchema-instance” xsi:noNamespaceSchemaLocation=“listatoXmlSchema.xsd”> http://www.w3.org/2000/10/XMLSchema-instance </Azalea> Il file listatoXmlSchema.xsd conterrà qualcosa del tipo: Il file listatoXmlSchema.xsd conterrà qualcosa del tipo: <xsd:schema xmlns:xsd= “http://www.w3.org/2000/10/XMLSchema”> http://www.w3.org/2000/10/XMLSchema </xsd:schema> Type definisce il tipo di contenuto dell’elemento. Come detto, le tipologie definite e definibili sono molto più ampie rispetto alle DTD. E possibile definire: - solo testo - solo numeri interi positivi - solo numeri interi negativi - solo numeri in virgola mobile - combinazione di caratteri e/o numeri in pattern - date in diversi formati - orari in diversi formati - valore true o false - sigla lingua secondo ISO639 - URL

22 XML e OPEN ARCHIVES Alcune definizioni in Open Archives: Alcune definizioni in Open Archives: OAI-PMH: Open Archives Initiative Protocol for Metadata Harvesting. OAI-PMH: Open Archives Initiative Protocol for Metadata Harvesting. Harvester: applicazione client che esegue una richiesta OAI-PMH, finalizzata alla raccolta di metadati (service provider). Harvester: applicazione client che esegue una richiesta OAI-PMH, finalizzata alla raccolta di metadati (service provider). Repository: server in grado di soddisfare le diverse tipologie di richieste OAI-PMH, provenienti dagli harvester (data provider). Repository: server in grado di soddisfare le diverse tipologie di richieste OAI-PMH, provenienti dagli harvester (data provider).

23 XML e OPEN ARCHIVES Resource: oggetto identificato dall’insieme dei metadata che vi si riferiscono, e che sono contenuti nel repository. Resource: oggetto identificato dall’insieme dei metadata che vi si riferiscono, e che sono contenuti nel repository. Item: l’insieme dei metadata che si riferiscono ad una Resource. Item: l’insieme dei metadata che si riferiscono ad una Resource. Record: sottoinsieme di metadata estratto da Item, e rappresentato in uno specifico formato. Record: sottoinsieme di metadata estratto da Item, e rappresentato in uno specifico formato.

24 XML e OPEN ARCHIVES Una richiesta OAI-PMH, viene inoltrata utilizzando il protocollo http con i metodi Get o Post, quest’ultimo ha il vantaggio di non porre limiti alla lunghezza degli argomenti. Una richiesta OAI-PMH, viene inoltrata utilizzando il protocollo http con i metodi Get o Post, quest’ultimo ha il vantaggio di non porre limiti alla lunghezza degli argomenti. Per tutte le richieste al repository esiste un’unica base-url, che specifica l’internet host, la porta e opzionalmente una path. Per tutte le richieste al repository esiste un’unica base-url, che specifica l’internet host, la porta e opzionalmente una path. In aggiunta alla base-url, tutte le richieste contengono uno o più argomenti separati da & che prendono la forma key=value. Key è il testo ‘verb’, mentre value è una delle sei richieste a cui il repository deve essere in grado di rispondere. Ad es. In aggiunta alla base-url, tutte le richieste contengono uno o più argomenti separati da & che prendono la forma key=value. Key è il testo ‘verb’, mentre value è una delle sei richieste a cui il repository deve essere in grado di rispondere. Ad es. http://an.oa.org/OAI-script? verb=GetRecord&identifier=oai:arXiv.org:hep -th/9901001&metadataPrefix=oai_dc http://an.oa.org/OAI-script? verb=GetRecord&identifier=oai:arXiv.org:hep -th/9901001&metadataPrefix=oai_dc

25 XML e OPEN ARCHIVES Tipologie di richieste che il repository-server deve essere in grado di soddisfare: Tipologie di richieste che il repository-server deve essere in grado di soddisfare: GetRecord: utilizzato per recuperare il singolo record, richiede come argomenti obbligatori, l’identificatore di item e di metadata. GetRecord: utilizzato per recuperare il singolo record, richiede come argomenti obbligatori, l’identificatore di item e di metadata. Identify: restituisce informazioni sul repository server, ad es. il repositoryName, baseURL, protocolVersion etc. Non richiede argomenti. Identify: restituisce informazioni sul repository server, ad es. il repositoryName, baseURL, protocolVersion etc. Non richiede argomenti. ListRecords: restituisce un gruppo di record, da-a o selezionati in base ai criteri definiti in set, ossia costrutti che permettono il raggruppamento degli item. ListRecords: restituisce un gruppo di record, da-a o selezionati in base ai criteri definiti in set, ossia costrutti che permettono il raggruppamento degli item. ListIdentifiers: uguale a ListRecords, ma restituisce solo l’intestazione, (identifier, datestamp, setspec). ListIdentifiers: uguale a ListRecords, ma restituisce solo l’intestazione, (identifier, datestamp, setspec). ListMetadataFormats: restituisce i formati di metadata disponibile. ListMetadataFormats: restituisce i formati di metadata disponibile. ListSets: restituisce i set definiti nel repository. Utile per l’estrazione selettiva dei record. ListSets: restituisce i set definiti nel repository. Utile per l’estrazione selettiva dei record.

26 XML e OPEN ARCHIVES Per definizione tutte le risposte alle richieste OAI-PMH DEVONO essere documenti XML ben-formati. Per definizione tutte le risposte alle richieste OAI-PMH DEVONO essere documenti XML ben-formati. 2002-05-01T19:20:30Z http://an.oa.org/OAI- script... 2002-05-01T19:20:30Z http://an.oa.org/OAI- script... La prima riga definisce il documento come xml, il contenuto rimanente è incluso nell’elemento radice di nome OAI-PMH, il quale presenta tre attributi che definiscono il namespace. La prima riga definisce il documento come xml, il contenuto rimanente è incluso nell’elemento radice di nome OAI-PMH, il quale presenta tre attributi che definiscono il namespace.

27 XML e OPEN ARCHIVES Per tutte le risposte i primi due figli dell’elemento root sono: Per tutte le risposte i primi due figli dell’elemento root sono: responseDate: la data e l’ora in formato UTC relativa all’invio della risposta. responseDate: la data e l’ora in formato UTC relativa all’invio della risposta. request: la stringa di richiesta di cui è stata fornita la risposta. request: la stringa di richiesta di cui è stata fornita la risposta. Il terzo elemento figlio dell’elemento root ha lo stesso nome dell’attributo verb della stringa di richiesta, nell’esempio precedente. Il terzo elemento figlio dell’elemento root ha lo stesso nome dell’attributo verb della stringa di richiesta, nell’esempio precedente. Seguono poi i metadati nel formato richiesto, nell’esempio precedente, il formato richiesto era Dublin Core, che è anche l’unico formato che obbligatoriamente ogni item all’interno del repository deve supportare. Seguono poi i metadati nel formato richiesto, nell’esempio precedente, il formato richiesto era Dublin Core, che è anche l’unico formato che obbligatoriamente ogni item all’interno del repository deve supportare.


Scaricare ppt "Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici."

Presentazioni simili


Annunci Google