Fonte: World Wide Web Consortium

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Fonte: World Wide Web Consortium"

Transcript

1 Linguaggi a regole per il Fonte: World Wide Web Consortium

2 Regole e Indice Il linguaggio XML Definire strutture dati con l XML: DTD e XML Schema XML Namespace: diversi vocabolari nello stesso documento XML XPath: selezionare porzioni di documenti XML XSLT: trasformare documenti XML RDF SPARQL RDF Schema OWL Regole e 4

3 Regole e Indice Il linguaggio XML Definire strutture dati con l XML: DTD e XML Schema XML Namespace: diversi vocabolari nello stesso documento XML XPath: selezionare porzioni di documenti XML XSLT: trasformare documenti XML RDF SPARQL RDF Schema OWL Regole e 4

4 Regole e Cos è il The is not a separate Web but an extension of the current one, in which information is given well-defined meaning, better enabling computers and people to work in cooperation. The first steps in weaving the into the structure of the existing Web are already under way. In the near future, these developments will usher in significant new functionality as machines become much better able to process and understand the data that they merely display at present. 1 1 Tim Berners-Lee, James Hendler, Ora Lassila. The. Scientific American, May 2001

5 Regole e Caratteristiche Il nasce dalla volontà di creare un insieme di strumenti standard per una descrizione delle risorse che sia processabile dalle macchine, così da automatizzare il processo di reperimento e scelta di informazioni e servizi Lo scopo è la costruzione di un framework di servizi che può essere integrato all interno del Web attuale Come la maggior parte degli standard adottati nel Web, i building block del sono definiti dalle specifiche tecniche del World Wide Web Consortium

6 Regole e Cosa vedremo Linguaggio XML e tecnologie correlate RDF, SPARQL, RDFS e OWL quali strumenti per la descrizione di risorse I linguaggi a regole come strumento per l estensione delle funzionalità fornite da RDF, RDFS e OWL

7 Regole e Indice Il linguaggio XML Definire strutture dati con l XML: DTD e XML Schema XML Namespace: diversi vocabolari nello stesso documento XML XPath: selezionare porzioni di documenti XML XSLT: trasformare documenti XML RDF SPARQL RDF Schema OWL Regole e 4

8 Regole e Cos è l XML I L XML (Extensible Markup Language) [Bray et al., 2008, Bray et al., 2006c] nasce nel 1996 con lo scopo di fornire un formato standard per la rappresentazione di informazioni all interno del Web L idea è di applicare a livello applicativo lo stesso principio di Internet: le applicazioni Web possono essere sviluppate con linguaggi diversi e utilizzare strutture dati incompatibili, ma devono poter essere in grado di comunicare tra loro e scambiare informazioni utilizzando un linguaggio standard Il motivo per cui l XML è considerato una delle componenti base del è che l interoperabilità dei dati è il requisito essenziale perché il possa esistere

9 Regole e Cos è l XML II Non è quindi un caso che l XML costituisca la sintassi standard per buona parte delle altre tecnologie del Semantic Web (ad es., RDF(S) e OWL) Attualmente l XML è ampiamente utilizzato in ambito Web (ma non solo) come formato standard per importare ed esportare dati e, in misura minore, è stato adottato anche per la rappresentazione dei dati impiegata da applicazioni software L XML è stato inoltre utilizzato per definire il formato nativo di tecnologie Web sviluppato negli ultimi anni (ad es., le Web feed)

10 Regole e Cos è l XML III Le versioni dell XML ora disponibili sono la 1.0 [Bray et al., 2008] e la 1.1 [Bray et al., 2006c] La versione 1.1 prevede estensioni alla sintassi dell XML 1.0 relative, sostanzialmente, all uso di caratteri Unicode Per una descrizione dettagliata delle differenze tra XML 1.0 e 1.1 si rimanda a [Bray et al., 2006c]:

11 Regole e Estensioni dell XML I In una fase successiva alla pubblicazione delle specifiche dell XML come W3C Recommendation (1998) sono stati sviluppati altri linguaggi per permettere la definizione e manipolazione di documenti XML Anche in questo caso, lo scopo è fornire tecnologie standard e interoperabili per l uso di documenti XML

12 Regole e Estensioni dell XML II Alcuni esempi sono: XML Schema Un linguaggo che usa la stessa sintassi dell XML per definire documenti XML XPath Un linguaggio che permette di denotare specifiche porzioni di un documento XML indicando un percorso attraverso le componenti strutturali del documento stesso XQuery Un linguaggio che permette di interrogare documenti XML XSL(T) Un linguaggio che permette di convertire documenti XML in altri formati (ad es., HTML)

13 Regole e Sintassi I Come tutti i linguaggi derivati dall SGML, l XML prevede tre componenti sintattiche principali: elementi, attributi degli elementi e character data Gli elementi definiscono le caratteristiche strutturali di un documento XML: in sostanza determinano la struttura da utilizzare per rappresentare e interpretare un insieme di dati Gli attributi denotano caratteristiche degli elementi utili per la corretta interpretazione del loro contenuto Con character data si intendono stringhe di caratteri, di lunghezza variabile, che costituiscono il valore degli attributi e i dati rappresentati dagli elementi

14 Regole e Sintassi II Un elemento può avere 0 o più attributi, e contenere dati, altri elementi, oppure può essere vuoto (empty) Elemento con un attributo e contenente character data: <elemento a t t ributo=" valore ">dati</elemento> Elemento vuoto con un attributo: <elemento a t t ributo=" valore " /> Elemento con un attributo e contenente un altro elemento: 1 <elemento1 a t t ributo=" valore "> 2 <elemento2>dati</elemento2> 3 </elemento1>

15 Regole e Struttura di un documento XML Un documento XML prevede un insieme di elementi nidificati rappresentabile come un albero, i cui nodi sono costituiti da elementi e attributi, mentre le foglie sono rappresentate dai character data Questa struttura deve essere preceduta dalla XML declaration, che indica la versione del linguaggio XML utilizzata più, eventualmente, la codifica di caratteri impiegata: <?xml version=" 1.0 " encoding=" utf 8"?>

16 Regole e Un esempio di documento XML... 1 <?xml v e r s i o n=" 1.0 " encoding=" utf 8"?> 2 <r s s v e r s i o n=" 2.0 "> 3 <channel> 4 <t i t l e>publ icati o DaWSec</ t i t l e> 5 <l i n k>ht tp : //www. dicom. un insub ria. i t /dawsec /? sec=pubs</ l i n k> 6 <lastbuildda te>mon, 08 Sep :06: </ lastbu ilddate> 7 <item> 8 <t i t l e>barbara Carminati, Elena Ferrari,. Secur ity and Privacy in Soci al Networks (2008). I n : Encyclopedia of Information Science and Technology, 2nd Edition. IGI Publishing, pp , 2008.</ t i t l e> 9 <category>book ch ap t er s</ category> 10 <l i n k>ht t p: //www. dicom. u ninsu bria. i t /dawsec /pubs/ist3369. pdf</ l i n k> 11 </ item> 12 </ channel> 13 </ r ss>

17 Regole e... e la sua rappresentazione ad albero rss title link lastbuilddate item Pub... Mon, title category link Barbara... Book...

18 Regole e Definire strutture dati con l XML È importante notare che l XML non definisce un insieme di elementi e attributi da utilizzare in documenti XML, ma solo una sintassi A questo principio fanno eccezione alcuni attributi di carattere generale, definiti per una questione di compatibilità (ad es., xml:lang e xml:base) Comunque, l idea è che chiunque, in base alle sue esigenze, può definire un insieme di elementi e attributi a rappresentare i dati di uno specifico dominio applicativo A tal scopo esistono due diverse tecnologie: Document Type Definition (DTD) e XML Schema (XSD)

19 Regole e Document Type Definition (DTD) Il DTD è un linguaggio, diverso dall XML, che permette di definire un insieme di elementi e attributi, assieme alle loro caratteristiche Il DTD non è stato sviluppato funzionalmente all XML, ma è il linguaggio che viene utilizzato per la definizione di linguaggi compatibili con l SGML (di cui l XML è un sottoinsieme)

20 Regole e Un esempio di DTD (RSS 2.0) I 1 <!ELEMENT r s s ( channel )> 2 <! ATTLIST r s s v e r s i o n CDATA #FIXED " 2.0 "> 3 <!ELEMENT channel (( item+) ( t i t l e, link, descr ipt ion, ( language copyright managingeditor webmaster pubdate lastbuilddate category generator docs cloud t t l image t extin put skiphours skipdays ) ) )> 4 <!ELEMENT item (( t i t l e d e s c r i p t i o n )+, l i n k?, ( author category comments e nclosu re guid pubdate source ) )> 5 <! ELEMENT author (#PCDATA)> 6 <! ELEMENT category (#PCDATA)> 7 <! ATTLIST category domain CDATA #IMPLIED> 8 <! ELEMENT cloud (#PCDATA)> 9 <! ATTLIST cloud domain CDATA #IMPLIED port CDATA #IMPLIED path CDATA #IMPLIED registerprocedur e CDATA #IMPLIED protocol CDATA #IMPLIED> 10 <! ELEMENT comments (#PCDATA)> 11 <!ELEMENT copyright (#PCDATA)> 12 <!ELEMENT d e s c r i p t i o n (#PCDATA)> 13 <! ELEMENT docs (#PCDATA)> 14 <!ELEMENT e nclosur e (#PCDATA)> 15 <! ATTLIST e nclosur e u r l CDATA #REQUIRED length CDATA #REQUIRED type CDATA #REQUIRED> 16 <!ELEMENT generator (#PCDATA)> 17 <! ELEMENT guid (#PCDATA)> 18 <! ATTLIST guid ispermalink ( true f a l s e ) " true "> 19 <! ELEMENT he i gh t (#PCDATA)>

21 Regole e Un esempio di DTD (RSS 2.0) II 20 <!ELEMENT image ( url, t i t l e, lin k, ( width height d e s c r i p t i o n ) )> 21 <! ELEMENT language (#PCDATA)> 22 <!ELEMENT last Build Date (#PCDATA)> 23 <!ELEMENT l i n k (#PCDATA)> 24 <! ELEMENT managingeditor (#PCDATA)> 25 <! ELEMENT name (#PCDATA)> 26 <! ELEMENT pubdate (#PCDATA)> 27 <! ELEMENT skipdays (#PCDATA)> 28 <! ELEMENT skiphours (#PCDATA)> 29 <! ELEMENT source (#PCDATA)> 30 <! ATTLIST source u r l CDATA #REQUIRED> 31 <!ELEMENT t extin pu t ( t i t l e, d escription, name, l i n k )> 32 <!ELEMENT t i t l e (#PCDATA)> 33 <! ELEMENT t t l (#PCDATA)> 34 <! ELEMENT u r l (#PCDATA)> 35 <! ELEMENT webmaster (#PCDATA)> 36 <! ELEMENT width (#PCDATA)>

22 Regole e Document Type Declaration L URI del DTD che definisce elementi e attributi usati in un documento XML deve essere specificato nella document type declaration, specificata subito dopo la XML declaration: 1 <?xml v e r s i o n=" 1.0 " encoding=" utf 8"?> 2 <!DOCTYPE mydoc SYSTEM " ht tp : //www. example. org/mydoc. dtd"> 3 <mydoc> </mydoc> Un DTD può essere contenuto direttamente nella document type declaration: 1 <?xml v e r s i o n=" 1.0 " encoding=" utf 8"?> 2 <!DOCTYPE mydoc [ ]> 5 <mydoc> </mydoc>

23 Regole e Entity Reference I Il DTD permette anche la definizione di un costrutto particolare, denominato entity reference Una entity reference, per come è utilizzata all interno di un documento XML, è assimilabile a una costante, ed è quindi caratterizzata da un nome e da un valore (che può essere una stringa, o anche codice XML) È utile per vari motivi: ad es., nel caso la stessa stringa debba essere ripetuta più volte all interno del documento o per codificare stringhe che non possono essere modificate quando utilizzate nel documento

24 Regole e Entity Reference II Un entity reference è definita da una dichiarazione (entity reference declaration), che ha la seguente forma: <!ENTITY nome " valore "> Tale definizione può essere associata a un documento XML con gli stessi metodi illustrati per il DTD Per far riferimento a esso all interno di un documento si usa la sintassi: &nome;

25 Regole e Un esempio di definizione e uso di entity reference 1 <?xml v e r s i o n=" 1.0 " encoding=" utf 8"?> 2 <!DOCTYPE mydoc [ 3 <!ENTITY t i t l e " P ub li ca t DaWSec"> 4 ]> 5 <r s s v e r s i o n=" 2.0 "> 6 <channel> 7 <t i t l e>&t i t l e ;</ t i t l e> 8 <l i n k>ht tp : //www. dicom. un insub ria. i t /dawsec /? sec=pubs</ l i n k> 9 <lastbuildda te>mon, 08 Sep :06: </ lastbu ilddate> 10 <item> 11 <t i t l e>barbara Carminati, Elena Ferrari,. Secur ity and Privacy in Soci al Networks (2008). I n : Encyclopedia of Information Science and Technology, 2nd Edition. IGI Publishing, pp , 2008.</ t i t l e> 12 <category>book ch ap t er s</ category> 13 <l i n k>ht t p: //www. dicom. u ninsu bria. i t /dawsec /pubs/ist3369. pdf</ l i n k> 14 </ item> 15 </ channel> 16 </ r ss>

26 Regole e Character Entity Reference I Esiste un particolare tipo di entity reference che sono predefinite in XML: i character entity reference Sono usati esclusivamente per denotare singoli caratteri utilizzando il codice numerico che li identifica all interno della codifica Unicode La loro sintassi: CharRef : := &# [0 9]+ ; &#x [0 9a fa F]+ ; dove [0-9]+ denota un numero decimale, mentre [0-9a-fA-F]+ un numero esadecimale Ad es.: & e & corrispondono entrambi al carattere &

27 Regole e Character Entity Reference II L XML prevede una denominazione simbolica, e non numerica, per alcuni caratteri (i.e., quelli che hanno un valore sintattico specifico): & corrisponde a & < corrisponde a < > corrisponde a > &apos; corrisponde a " corrisponde a Il vantaggio dei character entity reference è che è possibile includere in un documento XML caratteri non appartenenti all insieme ASCII utilizzando solo caratteri ASCII

28 Regole e Character Entity Reference III A parte i vantaggi di codificare in ASCII (relativamente alla dimensione finale del file) dato che tutte le codifiche dei caratteri esistenti sono soprainsiemi dell ASCII, questo garantisce che i caratteri contenuti in un documento siano rappresentati sempre correttamente

29 Regole e XML Schema (XSD) I In una fase successiva alla pubblicazione delle specifiche dell XML fu deciso di sviluppare un nuovo linguaggio per la definizione di documenti XML, chiamato XML Schema (XSD) [Thompson et al., 2004, Biron and Malhotra, 2004], a sua volta basato sull XML Il motivo di questa scelta si basa su alcune considerazioni Ad es., i DTD non forniscono strumenti sufficientemente flessibili per la definizione di documenti XML. In particolare, i dati contenuti in un documento XML possono essere caratterizzati solo come testo

30 Regole e XML Schema (XSD) II Se però l XML deve essere utilizzato come formato standard per la rappresentazione di informazioni è necessario poter qualificare nel modo più preciso possibile il tipo di dato di un certo valore (numero, data, valore booleano, etc.) Inoltre i DTD utilizzano un linguaggio diverso dall XML, e quindi è necessario avere a disposizione specifiche applicazioni in grado di comprenderlo Al contrario, se la definizione di un documento XML viene effettuata utilizzando un linguaggio basato sull XML, è possibile utilizzare le stesse applicazioni per processare documenti XML e verificare che rispettino la definizione che ne è stata fatta

31 Regole e XML Schema (XSD) III L XSD si presenta quindi come uno strumento in grado di descrivere i dati con la stessa espressività di linguaggi come l SQL, e garantisce l interoperabilità di tali definizioni utilizzando la sintassi XML

32 Regole e XSD: componenti principali I I costrutti di base forniti dall XSD permettono di definire: elementi attributi tipi di dato (datatype) L XSD mette a disposizione un insieme predefinito di tipi di dato (built-in datatypes), che possono essere utilizzati per definire nuovi tipi di dato I tipi di dato vengono utilizzati per denotare sia il contenuto degli elementi che i valori degli attributi

33 Regole e XSD: componenti principali II Ecco alcuni degli elementi XSD utilizzati per definire uno schema XML: element: definise un elemento attribute: definisce un attributo complextype: definisce la struttura di un elemento (quali sono i suoi elementi figli, gli attributi, etc.) simpletype: definisce tipi di dato personalizzati a partire da quelli supportati di default dall XSD

34 Regole e Tipo di dato definiti da XML Schema Fonte: [Biron and Malhotra, 2004]

35 Regole e Un esempio di XML Schema (RSS 2.0) I 1 <?xml v e r s i o n=" 1.0 " encoding="utf 8"?> 2 <xs:schema xmlns:xs=" ht tp : //www. w3. org /2001/XMLSchema" elementformdefault=" u n q u a l i f i e d " v e r s i o n=" "> 3 <xs:element name=" r s s "> 4 <xs:complextype> 5 <xs:sequence> 6 <xs:element name=" channel" type=" RssChannel"/> 7 <xs: an y namespace="##other " processcontents =" l a x " minoccurs="0" maxoccurs=" unbounded"/> 8 </ xs:sequence> 9 <x s : a t t r i b u t e name=" v e rsion " type=" xs:decimal " use=" requ ired " f i x e d=" 2.0 "/> 10 <x s:an yattr ibute namespace="##any"/> 11 </ xs:complextype> 12 </ xs:element> 13 <xs:complextype name=" RssItem"> 14 <xs:sequence> 15 <xs : c h o i c e maxoccurs="unbounded"> 16 <xs:element name=" t i t l e " type=" x s : s t r i n g " minoccurs="0" /> 17 <xs:element name=" d e sc r i p t i o n " type=" x s : s t r i n g " minoccurs="0" /> 18 <xs:element name=" l i n k " type=" xs:anyuri " minoccurs="0" /> 19 <xs: e l e m en t name=" author " type=" Address " minoccurs="0" /> 20 <xs: e l e m en t name=" category " type=" Category " minoccurs="0" /> 21 <xs: e l e m en t name="comments" type=" xs:anyuri " minoccurs="0" /> 22 <xs:element name=" enc losure " type=" Enclosure " minoccurs="0" />

36 Regole e Un esempio di XML Schema (RSS 2.0) II 23 <xs:element name=" guid " type="guid " minoccurs="0" /> 24 <xs: e l e m en t name=" pubdate" type=" Rfc822FormatDate" minoccurs="0" /> 25 <xs: e l e m en t name=" source " type=" Source" minoccurs="0" /> 26 <xs: an y namespace="##other " processcontents =" l a x " minoccurs="0" maxoccurs=" unbounded" /> 27 </ x s:choice> 28 </ xs:sequence> 29 <x s:a n yattr ibute namespace="##any"/> 30 </ xs:complextype> 31 <xs:complextype name=" RssChannel"> 32 <xs:sequence> 33 <xs : c h o i c e maxoccurs="unbounded"> 34 <xs:element name=" t i t l e " type=" x s : s t r i n g " /> 35 <xs:element name=" l i n k " type=" xs:anyuri " /> 36 <xs:element name=" d e sc r i p t i o n " type=" x s : s t r i n g " /> 37 <xs:element name=" language " type=" xs:language " minoccurs="0" /> 38 <xs:element name=" co pyright " type=" x s : s t r i n g " minoccurs="0" /> 39 <xs:element name=" managingeditor " type=" Address " minoccurs="0" /> 40 <xs: e l e m en t name=" webmaster" type=" Address " minoccurs="0" /> 41 <xs: e l e m en t name=" pubdate" type=" Rfc822FormatDate" minoccurs="0" /> 42 <xs:element name=" lastbuilddat e " type="rfc822formatdate" minoccurs="0" />

37 Regole e Un esempio di XML Schema (RSS 2.0) III 43 <xs: e l e m en t name=" category " type=" Category " minoccurs="0" /> 44 <xs:element name=" generator " type=" x s : s t r i n g " minoccurs="0" /> 45 <xs:element name=" docs" type=" xs:anyuri " minoccurs="0" /> 46 <xs: e l e m en t name=" cloud " type=" Cloud" minoccurs="0" /> 47 <xs:element name=" t t l " type=" xs: nonnegativeinte ger " minoccurs="0" /> 48 <xs: e l e m en t name=" image " type=" Image" minoccurs="0" /> 49 <xs:element name=" r a t ing " type=" x s : s t r i n g " minoccurs="0" /> 50 <xs:element name=" te xtinp ut " type=" TextInput " minoccurs="0" /> 51 <xs:element name=" skiphours " type=" SkipHoursList " minoccurs="0" /> 52 <xs: e l e m en t name=" skipdays " type=" SkipDaysList " minoccurs="0" /> 53 <xs: an y namespace="##other " processcontents =" l a x " minoccurs="0" maxoccurs=" unbounded" /> 54 </ x s:choice> 55 <xs:element name=" item" type=" RssItem" minoccurs="1" maxoccurs=" unbounded" /> 56 <x s: an y namespace="##other " processcontents =" l a x " minoccurs="0" maxoccurs=" unbounded" /> 57 </ xs:any> 58 </ xs:sequence> 59 <x s:a n yattr ibute namespace="##any"/> 60 </ xs:complextype> 61 <xs: simplet ype name=" SkipHour "> 62 <x s : r e s t r i c t i o n base=" xs: nonnegativeinte ger "> 63 <x s : minin c l u si v e value="0"/>

38 Regole e Un esempio di XML Schema (RSS 2.0) IV 64 <x s:max Incl usive value="23"/> 65 </ x s : r e s t r i c t i o n> 66 </ xs: simplet ype> 67 <xs:complextype name=" SkipHoursList "> 68 <xs:sequence> 69 <xs:element name=" hour " type=" SkipHour " minoccurs="0" maxoccurs="24"/> 70 </ xs:sequence> 71 </ xs:complextype> 72 <xs: simplet ype name=" SkipDay "> 73 <x s : r e s t r i c t i o n base=" x s : s t r i n g "> 74 <xs:enumeration value="monday"/> 75 <xs:enumeration value="tuesday"/> 76 <xs:enumeration value="wednesday"/> 77 <xs:enumeration value="thursday"/> 78 <xs:enumeration value=" Friday "/> 79 <xs:enumeration value=" Saturday "/> 80 <xs:enumeration value="sunday"/> 81 </ x s : r e s t r i c t i o n> 82 </ xs: simplet ype> 83 <xs:complextype name=" SkipDaysList "> 84 <xs:sequence> 85 <xs: e le m e n t name=" day" type=" SkipDay " minoccurs="0" maxoccurs="7" /> 86 </ xs:sequence> 87 </ xs:complextype>

39 Regole e Un esempio di XML Schema (RSS 2.0) V 88 <xs:complextype name=" Category "> 89 <xs:simplecontent> 90 <x s:exten sion base=" x s : s t r i n g "> 91 <x s : a t t r i b u t e name="domain" type=" x s : s t r i n g " use=" o ptiona l "/> 92 </ x s:extension> 93 </ xs:simplecontent> 94 </ xs:complextype> 95 <xs:complextype name=" Image"> 96 <x s : a l l> 97 <xs:element name=" u r l " type=" xs:anyuri " /> 98 <xs:element name=" t i t l e " type=" x s : s t r i n g " /> 99 <xs:element name=" l i n k " type=" xs:anyuri " /> 100 <xs:element name=" width" type="imagewidth" d e f a u l t="88" minoccurs="0" /> 101 <xs:element name=" height " type="imageheight" d e f a u l t="31" minoccurs="0" /> 102 <xs:element name=" d e s c r i p t i o n " type=" x s : s t r i n g " minoccurs="0" /> 103 </ x s : a l l> 104 </ xs:complextype> 105 <xs: simplet ype name=" ImageHeight"> 106 <x s : r e s t r i c t i o n base=" x s : p o s i t i v e I n t e g e r "> 107 <x s:max Incl usive value="400"/> 108 </ x s : r e s t r i c t i o n> 109 </ xs: simplet ype> 110 <xs: simplet ype name=" ImageWidth"> 111 <x s : r e s t r i c t i o n base=" x s : p o s i t i v e I n t e g e r ">

40 Regole e Un esempio di XML Schema (RSS 2.0) VI 112 <x s:max Incl usive value="144"/> 113 </ x s : r e s t r i c t i o n> 114 </ xs: simplet ype> 115 <xs:complextype name=" Cloud"> 116 <x s : a t t r i b u t e name="domain" type=" x s : s t r i n g " use=" r eq ui red "/> 117 <x s : a t t r i b u t e name=" port " type=" x s : p o s i t i v e I n t e g e r " use=" requ ired "/> 118 <x s : a t t r i b u t e name=" path " type=" x s : s t r i n g " use=" r eq uir ed "/> 119 <x s : a t t r i b u t e name=" registe r Procedure " type=" x s : s t r i n g " use=" r eq uir ed "/> 120 <x s : a t t r i b u t e name=" protocol " type=" CloudProtocol " use=" requ ired "/> 121 </ xs:complextype> 122 <xs: simplet ype name=" CloudProtocol "> 123 <x s : r e s t r i c t i o n base=" x s : s t r i n g "> 124 <xs:enumeration value="xml rpc "/> 125 <xs:enumeration value="http post "/> 126 <xs:enumeration value="soap "/> 127 </ x s : r e s t r i c t i o n> 128 </ xs: simplet ype> 129 <xs:complextype name=" TextInput "> 130 <x s : a l l> 131 <xs:element name=" t i t l e " type=" x s : s t r i n g " /> 132 <xs:element name=" d e s c r i p t i o n " type=" x s : s t r i n g " /> 133 <xs:element name="name" type=" x s : s t r i n g " /> 134 <xs:element name=" l i n k " type=" xs:anyuri " /> 135 </ x s : a l l> 136 </ xs:complextype>

41 Regole e Un esempio di XML Schema (RSS 2.0) VII value=" ( [ a za Z0 9_\ ]) ( [ a za Z0 9_\ \.] )@(\[((25[0 5] 2[0 4][0 9] 1[ +((Jan ) ( Feb ) ( Mar) ( Apr ) ( May) ( Jun ) ( Jul ) ( Aug) ( Sep ) ( Oct) ( Nov) ( +(([+\ ]?\d\d\d\d) (UT) (GMT) ( EST) (EDT) (CST) (CDT) (MST) (MDT) (PS 137 <xs: simplet ype name=" Address "> 138 <x s : r e s t r i c t i o n base=" x s : s t r i n g "> 139 <xs : p a t t e r n 140 </ x s : r e s t r i c t i o n> 141 </ xs: simplet ype> 142 <xs: simplet ype name=" Rfc822FormatDate"> 143 <x s : r e s t r i c t i o n base=" x s : s t r i n g "> 144 <xs : p a t t e r n value=" (((Mon) ( Tue) (Wed) ( Thu) ( F ri ) ( Sat ) ( Sun ) ), )?\d\d? +\d\d(\d\d)? +\d\ d: \d\d( : \d\d)? 145 </ x s : r e s t r i c t i o n> 146 </ xs: simplet ype> 147 <xs:complextype name=" Source"> 148 <xs:simplecontent> 149 <x s:exten sion base=" x s : s t r i n g "> 150 <x s : a t t r i b u t e name=" u r l " type=" xs:anyuri "/> 151 </ x s:extension> 152 </ xs:simplecontent> 153 </ xs:complextype> 154 <xs:complextype name=" Enclosure "> 155 <xs:simplecontent> 156 <x s:exten sion base=" x s : s t r i n g "> 157 <x s : a t t r i b u t e name=" u r l " type=" xs:anyuri " use=" req ui red " />

42 Regole e Un esempio di XML Schema (RSS 2.0) VIII 158 <x s : a t t r i b u t e name=" length " type=" xs:nonnega tiveinteg er " use=" requ ired " 7> 159 <x s : a t t r i b u t e name=" type " type=" x s : s t r i n g " use=" requi red " /> 160 </ x s:extension> 161 </ xs:simplecontent> 162 </ xs:complextype> 163 <xs:complextype name=" Guid "> 164 <xs:simplecontent> 165 <x s:exten sion base=" x s : s t r i n g "> 166 <x s : a t t r i b u t e name=" ispermalink " type=" xs:boolean " use=" o pt iona l " d e f a u l t=" true "/> 167 </ x s:extension> 168 </ xs:simplecontent> 169 </ xs:complextype> 170 </ xs:schema>

43 Regole e XML Namespace I A un documento XML è possibile associare un solo DTD: ciò significa che tutti gli elementi e attributi e utilizzati in un documento fanno parte dello stesso vocabolario XML Il problema è che diversi DTD possono definire elementi/attributi diversi, ma con lo stesso nome: in tal caso, non è possibile individuare a priori quale sia il DTD che include la definizione di tali elementi/attributi L XML Schema permette invece di utilizzare nello stesso documento XML più vocabolari XML attraverso il meccanismo dei namespace [Bray et al., 2006a, Bray et al., 2006b]

44 Regole e XML Namespace II Un namespace permette di identificare univocamente all interno di un documento XML elementi/attributi con lo stesso nome locale, associando loro un prefisso univoco, a sua volta associato a un URI/IRI Tale URI/IRI, denominato namespace name, identifica univocamente il vocabolario utilizzato Un namespace name può eventualmente (ma non necessariamente) corrispondere all URL di tale vocabolario (cioè, il namespace name potrebbe essere utilizzato per recuperare il corrispondente schema XML via Internet)

45 Regole e Uso dei Namespace I Elementi/attributi definiti in vocabolari con diverso namespace sono specificati attraverso un qualified name, ottenuto concatenando il prefisso del namespace con il nome locale dell elemento/attributo, separati da : (ad es., html:table) Il prefisso è omesso in caso di default namespace (vedremo più tardi questa nozione) Si deve dichiarare il prefisso degli attributi solo in caso il loro namespace sia diverso da quello dell elemento che li contiene L expanded name di un elemento/attributo è invece una coppia che contiene il namespace name e il nome locale di tale elemento/attributo

46 Regole e Uso dei Namespace II I namespace name degli elementi/attributi usati in un documento XML devono essere tutti dichiarati esplicitamente Fanno eccezione i namespace corrispondenti ai prefissi xml (usato per attributi quali xml:lang e xml:base) e xmlns: il primo può non essere dichiarato; il secondo non deve essere dichiarato

47 Regole e Uso dei Namespace III La dichiarazione di un namespace viene effettuata usando l attributo xmlns Deve essere effettuata prima di utilizzare elementi/attributi riferiti a tale namespace Può essere specificata in qualunque elemento del documento XML L elemento in cui è dichiarato un namespace name determina anche la sua visibilità: cioè, un namespace name è visibile da tutti gli elementi che sono figli dell elemento in cui il namespace è stato dichiarato

48 Regole e Uso dei Namespace IV Per associare un prefisso a un namespace name, la dichiarazione ha la seguente forma: x m lns:prefix="namespace name" Ad es.: xmlns:html=" http: // org /1999/ xhtml" Tutti gli elementi/attributi che fanno riferimento a tale namespace dovranno essere specificati con il prefisso. Ad es.: 1 <?xml v e r s i o n=" 1.0 "?> 2 <html:html xmlns:html= ht tp : //www. w3. org /1999/ xhtml > 3 <html:head>... </ html:head> 4 <html:body>... </ html:body> 5 </ html: html>

49 Regole e Uso dei Namespace V La scelta del prefisso di un namespace name dipende solo dall autore del documento XML In altre parole, possono esistere documenti XML che utilizzano gli stessi namespace name, associati però a prefissi diversi Fanno eccezione i prefissi xml e xmlns, che sono associati di default a specifici namespace name: xml: http: // org/xml/1998/ namespace xmlns: http: // org /2000/ xmlns/

50 Regole e Uso dei Namespace VI È possibile omettere il prefisso nella dichiarazione del namespace name In tal caso si parla di default namespace (per il namespace name) e unprefixed name (per elementi/attributi) Nell esempio che segue, tutti gli elementi fanno riferimento allo stesso default namespace: 1 <?xml v e r s i o n=" 1.0 "?> 2 <html xmlns= ht tp : //www. w3. org /1999/ xhtml > 3 <head>...</head> 4 <body>...</body> 5 </ html> NB: Non può esistere più di un default namespace nello stesso documento XML

51 Regole e XPath I Se l XML permette di rappresentare informazioni attraverso strutture dati standardizzate, il passo successivo è quello di poter accedere in modo selettivo a tali informazioni Dato che elementi e attributi XML forniscono un contesto interpretativo ai dati, accedere alle informazioni contenute in un documento XML si risolve nella possibilità di effettuare interrogazioni sul contenuto di elementi e attributi Tale principio è analogo a quello adottato, ad es., nel linguaggio SQL, che permette di effettuare interrogazioni su relazioni e attributi di un database

52 Regole e XPath II Il linguaggio XPath (XML Path Language) [Clark and DeRose, 1999] è stato sviluppato esattamente per poter selezionare particolari porzioni di un documento XML A tal scopo, e viene impiegato da altre tecnologie XML, come XQuery e XSLT, che hanno bisogno di tale funzionalità La sua utilità va comunque ben oltre: ad es., viene normalmente impiegato per costruire mash-up di siti Web (un esempio sono i siti che recuperano informazioni sui voli low cost di compagnie diverse) Nel seguito forniremo una panoramica del linguaggio XPath. Per una completa descrizione delle sue funzionalità si rimanda a [Clark and DeRose, 1999]

53 Regole e Caratteristiche di XPath I XPath prevede varie classi di espressioni, tra le quali ha una rilevanza primaria quella denotata con location path, un costrutto che permette di selezionare elementi/attributi di un documento XML facendo riferimento al DOM Un location path impiega una sintassi che, nella sua forma base, ricorda quella usata per indicare un percorso all interno del filesystem di un sistema Unix In base a questa analogia, gli elementi e gli attributi del documento XML sono assimilabili a directory

54 Regole e Caratteristiche di XPath II Un location path è quindi espresso elencando gli elementi/attributi (i.e., i nodi del DOM) da attraversare per raggiungere il nodo di interesse Come in Unix, il simbolo / è impiegato per separare i nomi dei nodi da attraversare il simbolo * denota qualsiasi nodo i simboli. e.. denotano, rispettivamente, il nodo corrente e il suo genitore in aggiunta, la stringa // denota un qualsiasi percorsi intermedio, di lunghezza indefinita, tra due nodi Per gli elementi, si usa il loro nome (eventualmente completo di prefisso), mentre gli attributi sono indicati con il loro nome, preceduto

55 Regole e Caratteristiche di XPath III XPath estende inoltre la sintassi dei percorsi Unix attraverso: parole chiave (axis) che specificano la relazione esistente tra nodi all interno del DOM (ad es., child, descendant, parent, ancestor, attribute, namespace) operatori di confronto (=,!=, <, <=, >, >=) operatori booleani (and, or) predicati sui nodi (ad es., chapter[child::title= Introduction ]) funzioni; ad es., la funzione text() seleziona il contenuto testuale di un nodo position() seleziona la posizione di un nodo rispetto alle occorrenze di elementi/attributi con lo stesso nome

56 Regole e Alcuni esempi di location path I / rss / text () rss title link lastbuilddate item Pub... Mon, title category link Barbara... Book...

57 Regole e Alcuni esempi di location path II / rss / channel/ t i t l e or / r ss / channel/ l i n k rss title link lastbuilddate item Pub... Mon, title category link Barbara... Book...

58 Regole e Alcuni esempi di location path III / rss / channel / rss title link lastbuilddate item Pub... Mon, title category link Barbara... Book...

59 Regole e Alcuni esempi di location path IV // t i t l e rss title link lastbuilddate item Pub... Mon, title category link Barbara... Book...

60 Regole e XSLT I Con XSL (XML Stylesheet Language) si denota una famiglia di linguaggi utilizzati per trasformare documenti XML in altri formati, e per definire come devono essere presentati A parte l XSL, utilizzato per definire la formattazione di documenti XML, di questa famiglia fanno parte anche XPath, XQuery e XSLT, in quanto linguaggi che permettono di selezionare il contenuto di documenti XML e/o di trasformarlo in altro formato, prima di applicare le regole di formattazione definite dall XSL

61 Regole e XSLT II L XSLT (XSL Transformations) [Clark, 1999] è una delle tecnologie più interessanti tra quelle disponibili per la manipolazione di documenti XML Esso permette di estrarre specifiche porzioni di un documento XML e/o di trasformare il documento XML in altri formati, che possono essere o testuali o adottare una sintassi XML (ad es., XHTML, RDF/XML, OWL)

62 Regole e XSLT III È possibile individuare tre principali classi di costrutti: espressioni XPath per la selezione di porzioni di un documento XML regole di trasformazione, espresse attraverso un linguaggio di tipo procedurale, che utilizza la sintassi XML le template rule, che determinano quali trasformazioni devono essere effettuate su nodi che condividono certe caratteristiche Per applicare uno XSLT su un documento XML esistono due metodi: Associare direttamente l XSLT includendo l istruzione xml-stylesheet direttamente nel documento Utilizzare un processore XSL, che prende come argomenti il documento XML e l XSLT da applicare

63 Regole e Un esempio di trasformazione XSLT I Documento originario: 1 <?xml v e r s i o n=" 1.0 " encoding=" utf 8"?> 2 <r s s v e r s i o n=" 2.0 " xmlns=" h tt p: // cyber. law. harvard. edu/ r s s / r ss. html"> 3 <channel> 4 <t i t l e>publ icati o DaWSec</ t i t l e> 5 <l i n k>ht tp : //www. dicom. un insub ria. i t /dawsec /? sec=pubs</ l i n k> 6 <lastbuildda te>mon, 08 Sep :06: </ lastbu ilddate> 7 <item> 8 <t i t l e>barbara Carminati, Elena Ferrari,. Secur ity and Privacy in Soci al Networks (2008). I n : Encyclopedia of Information Science and Technology, 2nd Edition. IGI Publishing, pp , 2008.</ t i t l e> 9 <category>book ch ap t er s</ category> 10 <l i n k>ht t p: //www. dicom. u ninsu bria. i t /dawsec /pubs/ist3369. pdf</ l i n k> 11 </ item> 12 </ channel> 13 </ r ss>

64 Regole e Un esempio di trasformazione XSLT II Cosa si vede?

65 Regole e Un esempio di trasformazione XSLT III XSLT da applicare: 1 <?xml v e r s i o n=" 1.0 " encoding=" utf 8"?> 2 <x s l : t r a n s f o r m x mlns:xsl=" h tt p: //www. w3. org /1999/XSL/Transform " xmlns:rss=" ht tp : // cyber. law. harvard. edu/ r s s / r s s. html" v e r s i o n=" 1.0 "> 3 <x s l : o u t p u t method="xml" indent=" yes " encoding=" utf 8" doctype system=" h t tp : //www. w3. org/tr/xhtml1 /DTD/xhtml1 s t r i c t. dtd" doctype pu bl ic=" //W3C//DTD XHTML 1.0 S t r i c t //EN" /> 4 <x sl:template match="/ r s s : r s s / r s s:channel "> 5 <html xmlns=" h tt p : //www. w3. org /1999/ xhtml "> 6 <head> 7 <t i t l e><x s l : v a l u e of s e l e c t=" r s s : t i t l e " /></ t i t l e> 8 <s t y l e type=" text / css "> 9 body { font f a mily: Lucida, sans s e r i f ; margin: 0;} 10 h1 {background c o l o r : #4444aa ; c o l o r : #f f f f f f ; margin: 0; padding: 1em} 11 #content { margin: 40 px ;} 12 #foot { border top: s o l i d 1px #4444aa ; padding: 0 40px ; font s i z e :.8em;} 13 </ s t y l e> 14 </ head> 15 <body> 16 <h1><x s l : v a l u e of s e l e c t=" r s s : t i t l e " /></h1> 17 <d iv id=" content "> 18 <d l>

66 Regole e Un esempio di trasformazione XSLT IV 19 <x sl:appl y templates s e l e c t=" r ss : i t e m " /> 20 </ dl> 21 </ div> 22 <div id=" foot "> 23 <p>last update: <x s l : v a l u e of s e l e c t=" r ss : l a s t B u i l d Da t e " /></p> 24 <p>url: <a href="{ r s s : l i n k }"><x s l : v a l u e of s e l e c t=" r s s : l i n k " /></a></p> 25 </ div> 26 </ body> 27 </ html> 28 </ x s l:template> 29 <x sl:template match=" r ss : i t e m "> 30 <dt><strong><x sl:value of s e l e c t=" r s s : t i t l e " /></ strong></dt> 31 <dd> 32 <p>category: <x s l: v a l u e of s e l e c t=" r s s : c a t e g o r y " /></p> 33 <p>url: <a href="{ r s s : l i n k }"><x s l : v a l u e of s e l e c t=" r s s : l i n k " /></a></p> 34 </dd> 35 </ x s l:template> 36 </ x sl:t r a n s f o r m>

67 Regole e Un esempio di trasformazione XSLT V Codice XHTML risultante: 1 <?xml v e r s i o n=" 1.0 " encoding=" utf 8"?> 2 <!DOCTYPE html PUBLIC " //W3C//DTD XHTML 1.0 S t r i c t //EN" " ht t p: //www. w3. org /TR/xhtml1 /DTD/xhtml1 s t r i c t. dtd"> 3 <html xmlns=" h tt p: //www. w3. org /1999/ xhtml " xmlns:rss=" ht t p: // cyber. law. harvard. edu/ r s s / r ss. html"> 4 <head> 5 <meta http equiv="content Type" content=" te xt /html ; charset=utf 8" /> 6 <t i t l e>publ icati o DaWSec</ t i t l e> 7 <s t y l e type=" text / css "> 8 body { font f a mily: Lucida, sans s e r i f ; margin: 40px ;} 9 </ s t y l e> 10 </ head> 11 <body> 12 <h1>pub l icat DaWSec</h1> 13 <d l> 14 <dt xmlns=""> 15 <strong>barbara Carminati, Elena F err ari,. Secu rity and Privacy in Soci al Networks (2008). I n : Encyclopedia of I n fo r m a ti o n Science and Technology, 2nd Edit io n. IGI Publishing, pp , 2008.</ strong> 16 </ dt> 17 <dd xmlns=""> 18 <p>category: Book c ha pt e rs</p>

68 Regole e Un esempio di trasformazione XSLT VI 19 <p>url: <a h ref="... ">...</a></p> 20 </dd> 21 </ dl> 22 <hr /> 23 <p>last update: Mon, 08 Sep : 0 6: </p> 24 <p>url: <a href="... ">...</a></p> 25 </ body> 26 </ html>

69 Regole e Un esempio di trasformazione XSLT VII Cosa si vede?

70 Regole e Un esempio di trasformazione XSLT VIII Come associare direttamente l XSLT al documento RSS: 1 <?xml v e r s i o n=" 1.0 " encoding=" utf 8"?> 2 <?xml s t y l e sh e e t type=" te xt / x s l " h ref="./ rss2html. x s l "?> 3 <r s s v e r s i o n=" 2.0 " xmlns=" h tt p: // cyber. law. harvard. edu/ r s s / r ss. html"> 4 <channel> 5 <t i t l e>publ icati o DaWSec</ t i t l e> 6 <l i n k>ht tp : //www. dicom. un insub ria. i t /dawsec /? sec=pubs</ l i n k> 7 <lastbuildda te>mon, 08 Sep :06: </ lastbu ilddate> 8 <item> 9 <t i t l e>barbara Carminati, Elena Ferrari,. Secur ity and Privacy in Soci al Networks (2008). I n : Encyclopedia of Information Science and Technology, 2nd Edition. IGI Publishing, pp , 2008.</ t i t l e> 10 <category>book ch ap t er s</ category> 11 <l i n k>ht t p: //www. dicom. u ninsu bria. i t /dawsec /pubs/ist3369. pdf</ l i n k> 12 </ item> 13 </ channel> 14 </ r ss>

71 Regole e Un esempio di trasformazione XSLT IX Come usare un processore XSL: 1 <?php 3 $xml = new DOMDocument; 4 $xml >load ("./ r ss. xml" ) ; 5 $ xsl = new DOMDocument; 6 $xsl >load ("./ rss2html. x s l ") ; 7 $proc = new XSLTProcessor ; 8 $proc >importstylesheet ( $ xsl ) ; 9 echo $proc >transformtoxml ( $xml ) ; 11?>

72 Regole e Indice Il linguaggio XML Definire strutture dati con l XML: DTD e XML Schema XML Namespace: diversi vocabolari nello stesso documento XML XPath: selezionare porzioni di documenti XML XSLT: trasformare documenti XML RDF SPARQL RDF Schema OWL Regole e 4

73 Regole e Andando oltre l XML I L XML e le tecnologie correlate forniscono strumenti standard per rappresentare e manipolare informazioni all interno del Web Quello che però XML non è in grado di fare (se non in maniera limitata) è collegare tali informazioni in una rete, grazie alla quale è possibile esplorare in maniera automatizzata le risorse disponibili in modo da poter individuare quelle che soddisfano dai requisiti In assenza di ciò, le informazioni disponibili sul Web sarebbero sì rappresentate in modo uniforme, ma non sarebbero accessibili se non conoscendo con esattezza la loro collocazione

74 Regole e Andando oltre l XML II Per affrontare questo problema, il W3C ha sviluppato negli anni una serie di tecnologie, che forniscono strumenti sempre più espressivi ed efficaci per integrare e processare le informazioni disponibili sul Web all interno di un network di risorse collegate tra loro La tecnologia base è fornita da RDF(S), che permette di associare descrizioni a risorse e di specificare relazioni tra risorse. Non è un caso che la sintassi RDF adotti un modello a grafo, in cui i nodi denotano le risorse, mentre gli archi denotano le relazioni esistenti tra loro

75 Regole e Andando oltre l XML III Per accedere e manipolare tali informazioni è stato sviluppato un protocollo e linguaggio di interrogazione per RDF, denominato SPARQL, che è in grado non solo di estrarre informazioni da grafi RDF, ma anche di costruire ulteriori nuovi grafi a partire da quelli esistenti OWL è stato invece sviluppato per estendere l espressività di RDF attraverso una più precisa definizione delle classi di risorse e delle loro relazioni, e fornendo la possibilità di effettuare inferenze su di esse

76 Regole e Andando oltre l XML IV Infine, una delle più recenti iniziative del W3C è l aggiunta all architettura del di un ulteriore layer, il RIF, che permette l impiego di sistemi a regole per manipolare le informazioni codificate in RDF/OWL, e per supportare regole di inferenza non esprimibili in OWL Semplificando, il rapporto tra sistemi a regole e OWL è analogo tra quello tra SPARQL e RDF

77 Regole e RDF I Come già detto, il linguaggio RDF permette di associare descrizioni a risorse, e ad esprimere relazioni tra esse A tal scopo, RDF adotta una sintassi astratta [Klyne and Carroll, 2004] secondo la quale ogni enunciato è una tripla soggetto, predicato, oggetto, dove soggetto e oggetto denotano due risorse, mentre predicato denota la relazione esistente tra esse Per denotare univocamente soggetti, oggetti e predicati, a ognuno di essi è associato come nome un URI/IRI (ci sono però alcune eccezioni, che vedremo)

78 Regole e RDF II In base a ciò, gli enunciati RDF possono essere modellati da un grafo etichettato e orientato, in cui i nodi denotano i soggetti e gli oggetti degli enunciati, mentre gli archi i predicati (detti, in RDF, proprietà) Nel seguito utilizzeremo il termine nodo per denotare, indifferentemente, soggetti e oggetti, e proprietà per indicare i predicati (e quindi gli archi del grafo) L uso di URI/IRI per etichettare i nodi è il meccanismo che permette di integrare in un unico grafo più grafi RDF

79 Regole e La open world assumption I Un punto importante è che RDF si basa sulla open world assumption, in base alla quale l assenza di un enunciato non implica necessariamente la sua falsità Ciò implicitamente significa che un grafo RDF non fornisce mai una descrizione esaustiva di una risorsa, e che un grafo RDF non può essere chiuso (a parte alcune eccezioni, che vedremo) Tale principio costituisce la base teorica grazie a cui diversi grafi RDF possono essere integrati tra loro

80 Regole e La open world assumption II In realtà, le implicazioni vanno ben oltre [Klyne and Carroll, 2004]: To facilitate operation at Internet scale, RDF is an open-world framework that allows anyone to make statements about any resource. In general, it is not assumed that complete information about any resource is available. RDF does not prevent anyone from making assertions that are nonsensical or inconsistent with other statements, or the world as people see it. Designers of applications that use RDF should be aware of this and may design their applications to tolerate incomplete or inconsistent sources of information.

81 Regole e La open world assumption III Il punto fondamentale è che il non è pensato come uno sistema di classificazione normativa del Web usato da una autorità (sia essa una o più organizzazioni), ma come strumento collaborativo, aperto a tutti gli utenti del Web Questo implica che la presenza di enunciati contraddittori non sia uno svantaggio, ma al contrario arricchisca la base di conoscenza raccogliendo diversi punti di vista sullo stesso insieme di risorse

82 Regole e La open world assumption IV In questo senso, la risoluzione di tali contraddizioni non deve essere necessariamente effettuata all interno dei layer logici del, ma piuttosto coinvolge il layer del trust, grazie al quale è possibile associare un peso agli enunciati, dipendentemente all identità e/o alle caratteristiche di chi ne è l autore È, questo, uno degli aspetti che fa emergere la fecondità di un integrazione tra

83 Regole e Un esempio di due grafi RDF... Alice Smith ˆxsd:date

84 Regole e... e come possono essere integrati in un unico grafo Alice Smith ˆxsd:date

85 Regole e Un altro esempio di due grafi RDF ˆxsd:date Welcome to Example.org

86 Regole e... e come possono essere integrati in un unico grafo ˆxsd:date Welcome to

87 Regole e Un ultimo esempio di due grafi RDF ˆxsd:date ˆxsd:date

88 Regole e... e come possono essere integrati in un unico grafo ˆxsd:date

89 Regole e Nodi e proprietà in RDF Le proprietà RDF sono tutte denotate da un URI/IRI reference, i.e., una URI/IRI che denota univocamente una risorsa Esistono invece tre tipologie esclusive di nodi RDF: 1 un URI/IRI reference 2 letterali (literal), i.e., valori quali stringhe, numeri, date 3 nodi vuoti (blank node), i.e., nodi che non sono associati esplicitamente ad alcun valore (o, meglio, hanno valore indefinito, corrispondente al quantificatore esistenziale ) È importante notare che il soggetto di un enunciato RDF non può essere un letterale

90 Regole e Letterali e tipi di dato in RDF I I letterali RDF sono di due tipi: Plain Una stringa non caratterizzata da alcuna dichiarazione sul tipo di dato a cui appartiene. Vengono utilizzati principalmente per rappresentare contenuto testuale libero, e possono eventualmente essere associati all attributo xml:lang, che denota la lingua in cui è scritto il testo Typed Una stringa associata a una dichiarazione sul tipo di dato a cui appartiene L RDF ha un unico tipo di dato predefinito, rdf:xmlliteral, usato per includere codice XML in un grafo RDF

91 Regole e Letterali e tipi di dato in RDF II Non ha invece un meccanismo per la definizione di tipi di dato, ma fa riferimento a quelli definiti da XML Schema [Biron and Malhotra, 2004], ad eccezione di alcuni, non adatti ad essere utilizzati in RDF per varie ragioni In particolare, non possono essere utilizzati: xsd:duration xsd:qname xsd:entity e xsd:entities xsd:id xsd:idref e xsd:idrefs xsd:notation xsd:nmtokens Per la motivazione, si veda [Klyne and Carroll, 2004]:

92 Regole e Un esempio di documento (grafo) RDF, con varie tipologie di nodi Alice Smith Welcome to ˆxsd:date

93 Regole e La sintassi RDF/XML I Sebbene l RDF preveda una sintassi astratta che adotta un modello a grafo, i grafi RDF sono normalmente serializzati in XML In tal caso si parla di sintassi RDF/XML [Beckett, 2004] È importante notare che l XML non fornisce l unica possibile serializzazione di un grafo XML; d altra parte è quella adottata tipicamente per rappresentare un grafo RDF Il motivo è chiaro, in base a quanto detto finora: dato che l XML fornisce una sintassi standard per la rappresentazione dei dati nel Web, qualsiasi processore XML sarà in grado di processare un grafo RDF, anche se non riesce a catturarne la semantica

94 Regole e La sintassi RDF/XML II Un punto importante è inoltre che, utilizzando una serializzazione XML, è possibile usare in RDF gli stessi strumenti forniti dall XML, in particolare, l XML Schema, i namespace e le entity reference È però ugualmente importante notare che la sintassi RDF/XML è comunque legata alla semantica dell RDF, e, come tale, pone dei vincoli su come deve essere usata

95 Regole e Sintassi alternative a RDF/XML I Nonostante i suoi vantaggi, la sintassi RDF/XML ha uno problema: è estremamente prolissa, e difficile da leggere Per questo motivo sono state definite sintassi alternative per la serializzazione di un grafo RDF, tra cui possiamo citare N3 (Notation 3) [Berners-Lee et al., 2008, Berners-Lee and Connolly, 2008] e Turtle (Terse RDF Triple Language) [Beckett and Berners-Lee, 2008], relativamente ai quali il W3C ha pubblicato le specifiche

APPENDICE C extensible Markup Language

APPENDICE C extensible Markup Language APPENDICE C extensible Markup Language C.1 extensible Markup Language, concetti di base XML è un dialetto di SGML progettato per essere facilmente implementabile ed interoperabile con i suoi due predecessori

Dettagli

extensible Markup Language

extensible Markup Language XML a.s. 2010-2011 extensible Markup Language XML è un meta-linguaggio per definire la struttura di documenti e dati non è un linguaggio di programmazione un documento XML è un file di testo che contiene

Dettagli

La struttura: DTD. Laura Farinetti Dip. Automatica e Informatica Politecnico di Torino. laura.farinetti@polito.it

La struttura: DTD. Laura Farinetti Dip. Automatica e Informatica Politecnico di Torino. laura.farinetti@polito.it La struttura: DTD Laura Farinetti Dip. Automatica e Informatica Politecnico di Torino laura.farinetti@polito.it L. Farinetti - Politecnico di Torino 1 Modello di struttura I tag annidati danno origine

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

Introduzione al Semantic Web

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

Dettagli

La sintassi di un DTD si basa principalmente sulla presenza di quattro dichiarazioni:

La sintassi di un DTD si basa principalmente sulla presenza di quattro dichiarazioni: XML: DTD Da un punto di vista cronologico, il primo approccio per la definizione di grammatiche per documenti XML è rappresentato dai Document Type Definition (DTD). Un DTD è un documento che descrive

Dettagli

EXPLOit Content Management Data Base per documenti SGML/XML

EXPLOit Content Management Data Base per documenti SGML/XML EXPLOit Content Management Data Base per documenti SGML/XML Introduzione L applicazione EXPLOit gestisce i contenuti dei documenti strutturati in SGML o XML, utilizzando il prodotto Adobe FrameMaker per

Dettagli

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

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

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

Dettagli

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

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

G I O R D A N I A L E S S A N D R A I T T S E R A L E G. M A R C O N I

G I O R D A N I A L E S S A N D R A I T T S E R A L E G. M A R C O N I Introduzione ad XML G I O R D A N I A L E S S A N D R A I T T S E R A L E G. M A R C O N I XML XML (Extensible Markup Language) è un insieme standard di regole sintattiche per modellare la struttura di

Dettagli

Corso Web 2.0 Modulo B

Corso Web 2.0 Modulo B e Modulo B e : tecnologie e applicazioni DICOM, Università degli Studi dell Insubria, Varese, Italy I Semestre, 1 o ottobre 2008 14 novembre 2008 Indice Introduzione e L integrazione tra e 1 Introduzione

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

XML Master di II livello "Sistemi informativi geografici per il monitoraggio e la gestione del territorio"

XML Master di II livello Sistemi informativi geografici per il monitoraggio e la gestione del territorio XML Master di II livello "Sistemi informativi geografici per il monitoraggio e la gestione del territorio" Claudio Rocchini claudio@rockini.name Istituto Geografico Militare 2013 Introduzione a XML extensible

Dettagli

Linguaggi ed Applicazioni mul1mediali

Linguaggi ed Applicazioni mul1mediali Linguaggi ed Applicazioni mul1mediali 06.05 XLST Maurizio Maffi ISTI Informa1on Science and Technology Ins1tute Da XSL a XSLT XSL o extensible Stylesheet Language, è un linguaggio XML creato inizialmente

Dettagli

Reti di Calcolatori. Il Livello delle Applicazioni

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

Dettagli

XSL: extensible Stylesheet Language

XSL: extensible Stylesheet Language XSL: extensible Stylesheet Language XSL è un insieme di tre linguaggi che forniscono gli strumenti per l elaborazione e la presentazione di documenti XML in maniera molto flessibile. I tre linguaggi devono

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

Linguaggi per il web oltre HTML: XML

Linguaggi per il web oltre HTML: XML Linguaggi per il web oltre HTML: XML Luca Console Con XML si arriva alla separazione completa tra il contenuto e gli aspetti concernenti la presentazione (visualizzazione). XML è in realtà un meta-formalismo

Dettagli

Protocolli applicativi: FTP

Protocolli applicativi: FTP Protocolli applicativi: FTP FTP: File Transfer Protocol. Implementa un meccanismo per il trasferimento di file tra due host. Prevede l accesso interattivo al file system remoto; Prevede un autenticazione

Dettagli

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Linguaggi e Tecnologie Web A. A. 2011-2012. Language) Stylesheet.

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Linguaggi e Tecnologie Web A. A. 2011-2012. Language) Stylesheet. Corso di Laurea Specialistica in Ingegneria Informatica Corso di Linguaggi e Tecnologie Web A. A. 2011-2012 XSL (extensible( Stylesheet Language) Eufemia TINELLI Contenuti XSL = XSLT + XSL-FO (+ XPath)

Dettagli

Simple & Efficient. www.quick-software-line.com

Simple & Efficient. www.quick-software-line.com Cosa è XML? extensible Markup Language Linguaggio è una definizione limitativa XML serve a descrivere con precisione qualsiasi informazione XML è estensibile. Ovvero non ha tag predefiniti come HTML XML

Dettagli

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

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

Dettagli

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

2 Reti di Calcolatori XML

2 Reti di Calcolatori XML 2 3 4 5 6 7 8 root element Risultati Basi di dati 10 Dicembre 2003 Mario Rossi Corso Data List a_st

Dettagli

/XML ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 XML

/XML ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 XML XML 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 XML XML è un linguaggio di marcatura proposto dal W3C XML definisce una sintassi generica per contrassegnare i dati di un documento elettronico con marcatori

Dettagli

HTML e Linguaggi. Politecnico di Milano Facoltà del Design Bovisa. Prof. Gianpaolo Cugola Dipartimento di Elettronica e Informazione

HTML e Linguaggi. Politecnico di Milano Facoltà del Design Bovisa. Prof. Gianpaolo Cugola Dipartimento di Elettronica e Informazione HTML e Linguaggi Politecnico di Facoltà del Design Bovisa Prof. Gianpaolo Cugola Dipartimento di Elettronica e Informazione cugola@elet.polimi.it http://home.dei.polimi.it/cugola Indice Il linguaggio del

Dettagli

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

Siti web centrati sui dati (Data-centric web applications) Siti web centrati sui dati (Data-centric web applications) 1 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente

Dettagli

Creare un Ipertesto. www.vincenzocalabro.it 1

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

Dettagli

Il Modello Relazionale

Il Modello Relazionale Il Modello Relazionale Il modello relazionale 1 Il modello relazionale Proposto da E. F. Codd nel 1970 per favorire l indipendenza dei dati e reso disponibile come modello logico in DBMS reali nel 1981

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

HTML il linguaggio per creare le pagine per il web

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

Dettagli

Infrastrutture INFormatiche Ospedaliere 2 Corso di laurea di Ingegneria Medica. Indice

Infrastrutture INFormatiche Ospedaliere 2 Corso di laurea di Ingegneria Medica. Indice Indice 4. XML Extensible Markup Language...2 4.1 Usi di XML...3 4.2 Caratteristiche di XML...3 4.3 Elementi...5 4.4 Attributi...5 4.4.1 Documento XML ben formato...6 4.5 Informazioni di controllo...6 4.5.1

Dettagli

Università degli Studi di Bologna Facoltà di Ingegneria. Tecnologie Web T A.A. 2014 2015. Esercitazione 2 XML, DTD, XSD, Parser SAX/DOM

Università degli Studi di Bologna Facoltà di Ingegneria. Tecnologie Web T A.A. 2014 2015. Esercitazione 2 XML, DTD, XSD, Parser SAX/DOM Università degli Studi di Bologna Facoltà di Ingegneria Tecnologie Web T A.A. 2014 2015 Esercitazione 2 XML, DTD, XSD, Parser SAX/DOM Agenda Creazione di documenti XML Creazione di documenti DTD Creazione

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

Lezione V. Aula Multimediale - sabato 29/03/2008

Lezione V. Aula Multimediale - sabato 29/03/2008 Lezione V Aula Multimediale - sabato 29/03/2008 LAB utilizzo di MS Access Definire gli archivi utilizzando le regole di derivazione e descrivere le caratteristiche di ciascun archivio ASSOCIAZIONE (1:1)

Dettagli

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

Semantic Web. Semantic Web. Il Semantic Web: una semplice estensione. Il Web oggi. Il Semantic Web. Semantic Web

Semantic Web. Semantic Web. Il Semantic Web: una semplice estensione. Il Web oggi. Il Semantic Web. Semantic Web Semantic Web L. Farinetti - Politecnico di Torino Semantic Web Laura Farinetti Dip. Automatica e Informatica Politecnico di Torino farinetti@polito.it 1 z Seconda generazione del Web z conceptual structuring

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

Document Type Definition (DTD)

Document Type Definition (DTD) Laboratorio di Programmazione Distribuita Document Type Definition () Dott. Marco Bianchi Università degli Studi di L'Aquila bianchi@di.univaq.it http://di.univaq.it/~bianchi Relazione tra classi e oggetti

Dettagli

XML. Parte VI - Introduzione e nozioni fondamentali di sintassi. XML: Extensible Markup Language:

XML. Parte VI - Introduzione e nozioni fondamentali di sintassi. XML: Extensible Markup Language: XML Parte VI - Introduzione e nozioni fondamentali di sintassi XML: cosa è XML: Extensible Markup Language: è un linguaggio che consente la rappresentazione di documenti e dati strutturati su supporto

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

Modellazione e Gestione di Informazioni non Strutturate

Modellazione e Gestione di Informazioni non Strutturate Università della Calabria, Corso di Laurea Specialistica in Ingegneria Gestionale Progettazione di Sistemi Informativi Docente: Alfredo Cuzzocrea Modellazione e Gestione di Informazioni non Strutturate

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

MODA-ML: Esempi di XSL (Extensible Stylesheet Language) Vocabolario di supporto alla creazione di un set di Schemi di documenti XML

MODA-ML: Esempi di XSL (Extensible Stylesheet Language) Vocabolario di supporto alla creazione di un set di Schemi di documenti XML MODA-ML: Esempi di XSL (Extensible Stylesheet Language) Vocabolario di supporto alla creazione di un set di Schemi di documenti XML Thomas Imolesi imolesi@libero.it fti@bologna.enea.it XML un linguaggio

Dettagli

Laboratorio Matematico Informatico 2

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

Dettagli

XML. XML è contemporaneamente: XML non è:

XML. XML è contemporaneamente: XML non è: XML XML è contemporaneamente: Linguaggio di annotazione (Markup) che permette di creare gruppi di marcatori (tag set) personalizzati (MathML, XHTML, chemicalml, ecc..) Formato standard per lo scambio dei

Dettagli

xmlegeseditor un editore open-source per la redazione di testi normativi

xmlegeseditor un editore open-source per la redazione di testi normativi xmlegeseditor un editore open-source per la redazione di testi normativi Tommaso Agnoloni, Pierluigi Spinosa http://www.ittig.cnr.it/xmleges agnoloni@ittig.cnr.it ITTIG-CNR Istituto di Teorie e Tecniche

Dettagli

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

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

Dettagli

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

Guida all uso del web service SDMX

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

Dettagli

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

Università degli Studi di Bologna Facoltà di Ingegneria. Tecnologie Web T A.A. 2014 2015. Esercitazione 2 XML, DTD, XSD, Parser SAX/DOM

Università degli Studi di Bologna Facoltà di Ingegneria. Tecnologie Web T A.A. 2014 2015. Esercitazione 2 XML, DTD, XSD, Parser SAX/DOM Università degli Studi di Bologna Facoltà di Ingegneria Tecnologie Web T A.A. 2014 2015 Esercitazione 2 XML, DTD, XSD, Parser SAX/DOM Agenda Creazione di documenti XML Creazione di documenti DTD Creazione

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

Reti di Calcolatori. Vantaggi dell uso delle reti. Cosa è una rete? Punto di vista logico: sistema di dati ed utenti distribuito

Reti di Calcolatori. Vantaggi dell uso delle reti. Cosa è una rete? Punto di vista logico: sistema di dati ed utenti distribuito Cosa è una rete? Punto di vista logico: sistema di dati ed utenti distribuito Punto di vista fisico: insieme di hardware, collegamenti, e protocolli che permettono la comunicazione tra macchine remote

Dettagli

Tecnologie Web T Introduzione a XML

Tecnologie Web T Introduzione a XML Tecnologie Web T Introduzione a Home Page del corso: http://www-db.deis.unibo.it/courses/tw/ Versione elettronica: 2.01..pdf Versione elettronica: 2.01.-2p.pdf 1 Che cos è? : Extensible Markup Language:

Dettagli

Architettura MVC-2: i JavaBeans

Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans Alberto Belussi anno accademico 2008/2009 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

Dettagli

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete IP Analizziamo con sufficiente dettaglio il sistema denominato IP, usato per consentire a due computer mobili di spostarsi liberamente in altre reti pur mantenendo lo stesso indirizzo IP. In particolare,

Dettagli

Capitolo 13. Interrogare una base di dati

Capitolo 13. Interrogare una base di dati Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per

Dettagli

Tecniche Multimediali

Tecniche Multimediali Un programma di computer fa quello che gli dici, non quello che vuoi. Legge di Greer (Leggi di Murphy applicate all informatica) Tecniche Multimediali Corso di Laurea in «Informatica» - aa 2010-2011 Prof.

Dettagli

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati Corso di Access Modulo L2A (Access) 1.1 Concetti di base 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione Un ambiente DBMS è un applicazione che consente

Dettagli

Informatica per la comunicazione" - lezione 10 -

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

Dettagli

Ricorsione in SQL-99. Introduzione. Idea di base

Ricorsione in SQL-99. Introduzione. Idea di base Ricorsione in SQL-99 Introduzione In SQL2 non è possibile definire interrogazioni che facciano uso della ricorsione Esempio Voli(lineaAerea, da, a, parte, arriva) non è possibile esprimere l interrogazione

Dettagli

Lezione 8. Motori di Ricerca

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

Dettagli

XML: extensible Markup Language

XML: extensible Markup Language XML: extensible Markup Language Laura Farinetti Dip. Automatica e Informatica Politecnico di Torino laura.farinetti@polito.it L. Farinetti - Politecnico di Torino 1 Introduzione XML: extensible Markup

Dettagli

Architettura client-server

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

Dettagli

XML (extensible Markup Language)

XML (extensible Markup Language) Supporto On Line Allegato FAQ FAQ n.ro MAN-8HVCNU5634 Data ultima modifica 16/06/2011 Prodotto Dichiarazioni fiscali 2011 Modulo Generica DF Oggetto: Modello IRAP 2011 XML - XMLNotepad: Guida all uso e

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

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

DATABASE RELAZIONALI

DATABASE RELAZIONALI 1 di 54 UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II DIPARTIMENTO DI DISCIPLINE STORICHE ETTORE LEPORE DATABASE RELAZIONALI Dott. Simone Sammartino Istituto per l Ambiente l Marino Costiero I.A.M.C. C.N.R.

Dettagli

I linguaggi di marcatura e XML per la codifica dei dati d archivio

I linguaggi di marcatura e XML per la codifica dei dati d archivio I linguaggi di marcatura e XML per la codifica dei dati d archivio Corso di formazione per l'apprendimento e l'utilizzo della piattaforma IBC-xDams Modena, 21 gennaio 2014 Mirella M. Plazzi e F.Ricci IBC

Dettagli

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale

Dettagli

I file di dati. Unità didattica D1 1

I file di dati. Unità didattica D1 1 I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità

Dettagli

Progetto ittorario Anno scol. 2013-2014

Progetto ittorario Anno scol. 2013-2014 PROGETTO ittorario Scopo: Creazione di una pagina web che mostri l orario di un docente, della classe della materia o dell aula a discrezione dell utente. Sviluppatori: Progetto sviluppato dalla classe

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

RICERCA DELL INFORMAZIONE

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

Dettagli

Introduzione a XML: Document Type Definition; parser XML; XML-schema; extensible Stylesheet Language. a.a. 2004/05 Tecnologie Web 1

Introduzione a XML: Document Type Definition; parser XML; XML-schema; extensible Stylesheet Language. a.a. 2004/05 Tecnologie Web 1 Introduzione a XML: Document Type Definition; parser XML; XML-schema; extensible Stylesheet Language a.a. 2004/05 Tecnologie Web 1 XML - I XML (exstensible Markup Language): XML è un formato standard,

Dettagli

Scaletta. Estensioni UML per il Web. Applicazioni web - 2. Applicazioni web. WAE: Web Application Extension for UML. «Client page»

Scaletta. Estensioni UML per il Web. Applicazioni web - 2. Applicazioni web. WAE: Web Application Extension for UML. «Client page» Scaletta Estensioni UML per il Web Michele Zennaro 14-05-2004 Le applicazioni web Scopo di un estensione UML per il web Due punti di vista Uno più astratto Uno più vicino ai file fisici conclusivo Commenti

Dettagli

Progettazione di una base di dati Ufficio della Motorizzazione

Progettazione di una base di dati Ufficio della Motorizzazione Corso di Gestione dell Informazione Studenti NON frequentanti A.A. 2008/2009 1 Scopo del progetto Progettazione di una base di dati Ufficio della Motorizzazione Si vuole realizzare un applicazione base

Dettagli

database: modello entityrelationship

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

Dettagli

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia Scuola Digitale Manuale utente Copyright 2014, Axios Italia 1 SOMMARIO SOMMARIO... 2 Accesso al pannello di controllo di Scuola Digitale... 3 Amministrazione trasparente... 4 Premessa... 4 Codice HTML

Dettagli

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

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

Dettagli

SPECIFICHE TECNICHE DEL PACCHETTO DI ARCHIVIAZIONE

SPECIFICHE TECNICHE DEL PACCHETTO DI ARCHIVIAZIONE ALLEGATO 4 SPECIFICHE TECNICHE DEL PACCHETTO DI ARCHIVIAZIONE 37 Indice 1 2 3 INTRODUZIONE... STRUTTURA DELL INDICE DEL PACCHETTO DI ARCHIVIAZIONE... VOCABOLARIO... 38 1 INTRODUZIONE Il presente allegato

Dettagli

Comandi principali del linguaggio HTML (Hyper Text Markup Language)

Comandi principali del linguaggio HTML (Hyper Text Markup Language) Comandi principali del linguaggio HTML (Hyper Text Markup Language) Caratteristiche di HTML HTML è un linguaggio di formattazione (markup) di documenti ed è il linguaggio base per produrre documenti per

Dettagli

Basi di dati 9 febbraio 2010 Compito A

Basi di dati 9 febbraio 2010 Compito A Basi di dati 9 febbraio 2010 Compito A Domanda 0 (5%) Leggere e rispettare le seguenti regole: Scrivere nome, cognome, matricola (se nota), corso di studio e lettera del compito (ad esempio, A) sui fogli

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

LABORATORIO PER IL DESIGN DELLE INTERFACCE PEGORARO ALESSANDRO CASSERO.IT MANUALE DI AGGIORNAMENTO, MANUTENZIONE E USO DEL SITO

LABORATORIO PER IL DESIGN DELLE INTERFACCE PEGORARO ALESSANDRO CASSERO.IT MANUALE DI AGGIORNAMENTO, MANUTENZIONE E USO DEL SITO CASSERO.IT MANUALE DI AGGIORNAMENTO, MANUTENZIONE E USO DEL SITO 1 Installazione e requisiti per il corretto funzionamento del sito: L istallazione è possibile sui più diffusi sistemi operativi. Il pacchetto

Dettagli

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

Siti web centrati sui dati Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

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

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

LEAD GENERATION PROGRAM

LEAD GENERATION PROGRAM LEAD GENERATION PROGRAM New Business Media al servizio delle imprese con una soluzione di comunicazione totalmente orientata alla generazione di contatti L importanza della lead generation La Lead Generation

Dettagli

Oreste Signore, <oreste@w3.org> Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, 1-56124 Pisa

Oreste Signore, <oreste@w3.org> Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, 1-56124 Pisa http://www.w3c.it/education/2012/upra/basicinternet/#(1) 1 of 16 Oreste Signore, Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, 1-56124 Pisa Master in Comunicazione

Dettagli

Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2.

Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2. Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2. Dichiarazione di dati: le direttive DS e DC...3 2.1 Direttiva DS...3 2.2

Dettagli

Il Web Server e il protocollo HTTP

Il Web Server e il protocollo HTTP Corso PHP Parte 2 Il Web Server e il protocollo HTTP E un programma sempre attivo che ascolta su una porta le richieste HTTP. All arrivo di una richiesta la esegue e restituisce il risultato al browser,

Dettagli

INFORMATICA LE470. Ipertesto. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre

INFORMATICA LE470. Ipertesto. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre INFORMATICA LE470 Ipertesto Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre Il World Wide Web un immenso ipertesto Le pagine Web non sono basate su una struttura lineare. E possibile

Dettagli

Guida Joomla. di: Alessandro Rossi, Flavio Copes

Guida Joomla. di: Alessandro Rossi, Flavio Copes Guida Joomla di: Alessandro Rossi, Flavio Copes Grafica e template 1. 15. La grafica e i template Personalizzare l'aspetto del sito aggiungendo nuovi template e customizzandoli 2. 16. Personalizzare il

Dettagli

Breve introduzione al Javadoc

Breve introduzione al Javadoc Premessa Javadoc è uno strumento che permette di documentare i sorgenti di un programma all interno dei sorgenti stessi. Anziché scrivere la documentazione di un programma in un file separato, il programmatore

Dettagli

Introduzione a XML. Language

Introduzione a XML. Language Introduzione a XML 1 Che cos è XML? XML: Extensible Markup Language anguage: è un linguaggio che consente la rappresentazione di documenti e dati strutturati su supporto digitale è uno strumento potente

Dettagli

Settimana I...1. Giorno 1 - Introduzione all XSLT...3

Settimana I...1. Giorno 1 - Introduzione all XSLT...3 Settimana I...1 Giorno 1 - Introduzione all XSLT...3 Generalità su XSLT...3 Introduzione a XML e XSLT... 4 Cos è XSLT?... 5 Che cosa fa XSLT?... 6 Come si presenta XSLT?... 6 XSLT e la famiglia di XML...

Dettagli