RDFa<br />(ResourceDescriptionFramework in attributes)<br />Tutorial di Base<br />
Descrizione<br />RDFa (ResourceDescriptionFramework in attributes) è uno strumento che arricchisce la sintassi xhtml attra...
Un passo indietro: RDF<br />RDF sta per ResourceDescriptionFrameworked è una famiglia di specifiche che servono a descrive...
Un passo indietro: RDF<br />Soggetto<br />(risorsa)<br />Oggetto<br />(risorsa)<br />Predicato<br />(risorsa)<br />Ognuna ...
Che cos’è una risorsa<br />Una risorsa può essere una persona, un gruppo di persone, un documento, una pagina web, una poe...
CURIE<br />Un CURIE si presenta nella forma :   prefisso:stringa<br />il prefisso è una stringa che identifica l’URI di un...
CURIE<br />Esempio<br />Il frammento di codice:<br />	&lt;meta property=http://purl.org/dc/terms/descriptioncontent=”blabl...
CURIE<br />Esempio<br />	&lt;html xmlns=“…”xmlns:dc=&quot;http://purl.org/dc/terms/&quot;   version=“…&quot;&gt;<br />Con ...
RDFa<br />Con le premesse fatte possiamo finalmente passare a parlare di RDFa<br />
RDFa : Doctype<br />Quanto utilizziamo RDFa nelle pagine XHTML dobbiamo usare un nuovo doctype personalizzato:<br />&lt;!D...
RDFa : I nuovi attributi<br />RDFa introduce nuovi attributi per i tag XHTML:<br />rev, 	<br />about, 	<br />typeof, 	<br ...
RDFa : Individuare i Predicati<br />Il predicato di una tripletta semantica si individua attraverso gli attributi :<br />r...
RDFa : Individuare gli Oggetti<br />Fissato il predicato, si stabilisce l’oggetto seguendo queste regole :<br />Quando il ...
RDFa : Individuare gli Oggetti<br />Gli oggetti non devono essere necessariamente dei letterali. La tipologia di un oggett...
RDFa : Individuare gli Oggetti<br />Quando il predicato è definito da rell’oggetto non è mai un letterale  e puo essere:<b...
RDFa : Individuare gli Oggetti<br />(cont) Quando il predicato è definito da rell’oggetto non è mai un letterale  e puo es...
RDFa : Nodi Bianchi<br />Quando una risorsa non si può identificare con un URI vero e proprio, la risorsa viene chiamata n...
RDFa : Individuare gli Oggetti<br />Quando il predicato è definito da rev, il soggetto e l’oggetto si scambiano il ruolo. ...
RDFa : Individuare i Soggetti<br />Il soggetto di una tripla può essere determinato , seguendo l’ordine di priorità (così ...
RDFa : Individuare i Soggetti<br />Esempio :<br />		&lt;divtypeof=”foaf:Person”&gt;<br />			&lt;spanproperty=”foaf:givenna...
RDFa : Individuare i Soggetti<br />In assenza di un attributo che individua un soggetto, il soggetto è il tag stesso che c...
RDFa : Riepilogo<br />
Common Tag<br />Common Tag è un sistema di tagging sviluppato per inserire dati strutturati all’interno di pagine HTML.<br...
Common Tag<br />Common Tag permette di identificare concetti in blocchi all’interno delle pagine HTML.<br />Esempio<br />	...
Common Tag<br />Definizione del namespace<br />(cont) Esempio<br />&lt;body xmlns:ctag=&quot;http://commontag.org/ns#&quot...
Common Tag : namespace<br />Il namespaceutilizato da Common Tag  si trova all’indirizzo:<br />http://commontag.org/ns#<br ...
Common Tag : Esempi<br />Includere un etichetta alla definizione<br />&lt;body xmlns:ctag=&quot;http://commontag.org/ns#&q...
Common Tag : Esempi<br />Tag Multipli dello stesso documento<br />&lt;body xmlns:ctag=&quot;http://commontag.org/ns#&quot;...
Common Tag : Esempi<br />Tag di documenti esterni<br />&lt;div xmlns:ctag=&quot;http://commontag.org/ns#&quot; about=&quot...
Common Tag : Esempi<br />Tag di sezioni all’interno del documento<br />&lt;p id=&quot;first&quot;&gt;Star Wars set a new s...
Common Tag : Esempi<br />Possiamo usare Common Tag in qualsiasi elemento del Markup<br />&lt;divxmlns:ctag=&quot;http://co...
Riferimenti<br />Italian Web Design:<br />http://www.italianwebdesign.it/tag/rdfa/<br />Common Tag:<br />http://www.common...
Upcoming SlideShare
Loading in …5
×

RDFa Tutorial di Base

1,841 views

Published on

Tutorial di base RDFa.

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,841
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
35
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

RDFa Tutorial di Base

  1. 1. RDFa<br />(ResourceDescriptionFramework in attributes)<br />Tutorial di Base<br />
  2. 2. Descrizione<br />RDFa (ResourceDescriptionFramework in attributes) è uno strumento che arricchisce la sintassi xhtml attraverso una serie di attributi aggiuntivi che associati ai tag già noti, simulano le triple RDF. <br />In questo modo per esprimere concetti semantici associati ad una pagina xhtml non si dovrà produrre un file RDF separato ma tali informazioni si potranno inserire direttamente in esse.<br />
  3. 3. Un passo indietro: RDF<br />RDF sta per ResourceDescriptionFrameworked è una famiglia di specifiche che servono a descrivere le risorse e le relazioni che intercorrono tra di esse. Il modello RDF si basa sull’idea che la descrizione di una risorsa o le relazioni tra le risorse si possono rappresentare attraverso delle triple:<br />soggetto – predicato – oggetto.<br />
  4. 4. Un passo indietro: RDF<br />Soggetto<br />(risorsa)<br />Oggetto<br />(risorsa)<br />Predicato<br />(risorsa)<br />Ognuna delle componenti di queste triplette, è una risorsa. <br />Per esempio supponiamo che vogliamo descrivere questo concetto : <br /> “L’articolo X è stato scritto da Mario Rossi. ”<br /> L’articolo X (soggetto)<br /> ha per autore (predicato)<br /> Mario Rossi (oggetto) <br />
  5. 5. Che cos’è una risorsa<br />Una risorsa può essere una persona, un gruppo di persone, un documento, una pagina web, una poesia, un libro, una e­mail, ecc. <br /> Quelli identificabili univocamente sul web sono rappresentati da un URI o come vedremo successivamente da una forma ridotta di URI che chiameremo CURIE (Compact URI)<br />Un passo indietro: RDF<br />
  6. 6. CURIE<br />Un CURIE si presenta nella forma : prefisso:stringa<br />il prefisso è una stringa che identifica l’URI di un namespace. <br />Questo prefisso è definito usando l’attributo xmlns.<br />Un parserRDFa, quando incontra un CURIE, sostituisce il prefisso del namespace con il namespace stesso, aggiungendo alla fine ciò che si trova alla destra dei due punti (stringa). <br />
  7. 7. CURIE<br />Esempio<br />Il frammento di codice:<br /> &lt;meta property=http://purl.org/dc/terms/descriptioncontent=”blablabla” /&gt; <br />contiene l’URI http://purl.org/dc/terms/description . <br />Trasformiamo questo URI in CURIE aggiungendo la definizione del namespacedublincore nel tag html e cambiando l’URI con il CURIE corrispondente.<br /> &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; <br />xmlns:dc=&quot;http://purl.org/dc/terms/&quot; <br />version=&quot;XHTML+RDFa 1.0&quot;&gt;<br />* Il DublinCore è uno standard di descrizione di tutte le risorse in formato elettronico.<br />
  8. 8. CURIE<br />Esempio<br /> &lt;html xmlns=“…”xmlns:dc=&quot;http://purl.org/dc/terms/&quot; version=“…&quot;&gt;<br />Con questo codice abbiamo definito un prefisso namespacedc grazie a xmlns.<br />Adesso posssiamo usarlo nel tag Meta.<br />&lt;meta property=”dc:description” content=”blablabla” /&gt;<br />In pratica il parserRDFa quando incontra dc:description lo sostituisce con http://purl.org/dc/terms/description . Informalmente :<br />dc:description = http://purl.org/dc/terms/description<br />
  9. 9. RDFa<br />Con le premesse fatte possiamo finalmente passare a parlare di RDFa<br />
  10. 10. RDFa : Doctype<br />Quanto utilizziamo RDFa nelle pagine XHTML dobbiamo usare un nuovo doctype personalizzato:<br />&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML+RDFa 1.0//EN&quot; http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd &gt;<br />
  11. 11. RDFa : I nuovi attributi<br />RDFa introduce nuovi attributi per i tag XHTML:<br />rev, <br />about, <br />typeof, <br />content, <br />property<br />Questi attributi servono a formare le triple semantiche RDF.<br />
  12. 12. RDFa : Individuare i Predicati<br />Il predicato di una tripletta semantica si individua attraverso gli attributi :<br />rev<br />rel<br />property<br /> Questi attributi possono essere aggiunti a qualunque tag del documento e possono contenere al suo interno URI, CURIE o liste di CURIES separati da uno spazio.<br />* rel è un attributo gia presente in XHTML<br />
  13. 13. RDFa : Individuare gli Oggetti<br />Fissato il predicato, si stabilisce l’oggetto seguendo queste regole :<br />Quando il predicato è definito da propertyl’oggetto è rappresentato:<br />Dal valore di un ulteriore attributo: content<br /> Esempio :<br />&lt;spanabout=”[…]” property=”foaf:name” content=”Pinco Pallino”/&gt;<br />Dal contenuto del tag dove abbiamo aggiunto l’attributo propertyse è assente content<br /> Esempio :<br />&lt;spanabout=”[…]” property=”foaf:name” /&gt;Pinco Pallino&lt;/span&gt;<br />Foaf è un&apos;ontologia atta a descrivere persone, con le loro attività e le relazioni con altre persone e oggetti<br />
  14. 14. RDFa : Individuare gli Oggetti<br />Gli oggetti non devono essere necessariamente dei letterali. La tipologia di un oggetto può essere cambiata con l’attributo datatype. <br /> Esempio :<br /> &lt;spanabout=”[_:esempio]” property=”esempio:numerointero” content=”10″ datatype=”xsd:integer”&gt;ten&lt;/span&gt;<br />In questo caso 10 non sarà trattato come letterale (stringa) ma come numero intero.<br />
  15. 15. RDFa : Individuare gli Oggetti<br />Quando il predicato è definito da rell’oggetto non è mai un letterale e puo essere:<br />l’ URI (ma non un CURIE) contenuto all’interno dell’ attributo href, se presente.<br /> Esempio :<br />&lt;a rel=”foaf:knows” href=”mailto:tizio@pincopallino.net”/&gt;<br />l’URI o il CURIE contenuto all’interno dell’attributo resource, se presente.<br />resource e href hanno la stessa funzione, solo che resource a differenza di href non produce un link raggiungibile con un click da browser <br />
  16. 16. RDFa : Individuare gli Oggetti<br />(cont) Quando il predicato è definito da rell’oggetto non è mai un letterale e puo essere:<br />l’URI o il CURIE del tag stesso in cui è stato inserito l’attributo rel se non sono presenti hrefe resource. <br /> Esempio:<br />&lt;divrel=”dc:creator”&gt;&lt;/div&gt; <br /> soggetto : indefinito ; predicato: dc:creator ; oggetto: _:div(nodo bianco)<br />
  17. 17. RDFa : Nodi Bianchi<br />Quando una risorsa non si può identificare con un URI vero e proprio, la risorsa viene chiamata nodo bianco. <br />I CURIES permettono di definire i nodi bianchi con la sintassi: <br />_:ID<br /> IDè una stringa casuale che identifica univocamente il nodo bianco e che per l’appunto non si traduce con alcun URI dato che il prefisso del namespace è l’underscore<br />
  18. 18. RDFa : Individuare gli Oggetti<br />Quando il predicato è definito da rev, il soggetto e l’oggetto si scambiano il ruolo. Pertanto l’individuazione dell’oggeto richiede anche la conoscenza dell’individuazione del soggetto. <br />Esempio:<br /> &lt;a about=”mailto:tizio@pincopallino.net” rel=”foaf:knows” rev=”foaf:knows” href=”mailto:caio@pincopallino.net”&gt;Caio&lt;/a&gt;<br />Che semanticamente significa : Tizio conosce Caio, e Caio conosce Tizio.<br />
  19. 19. RDFa : Individuare i Soggetti<br />Il soggetto di una tripla può essere determinato , seguendo l’ordine di priorità (così come sono elencati), di uno di questi attributi:<br />about,<br />src(in presenza di rev),<br />resource(in presenza di rev),<br />href<br />typeof<br /> Quest’ultimo definisce la tipologia della risorsa-soggetto e determina il soggetto per tutte quelle triple definite nel blocco di codice incluso nel taga cui è applicato.<br />
  20. 20. RDFa : Individuare i Soggetti<br />Esempio :<br /> &lt;divtypeof=”foaf:Person”&gt;<br /> &lt;spanproperty=”foaf:givenname”&gt;Pinco&lt;/span&gt;<br /> &lt;/div&gt;<br />Predicato: “foaf:givenname”<br />Soggetto : [div] di tipo “foaf:Person”<br />Oggetto : Pinco (contenuto del Tagspan)<br />typeof può essere usato da solo o associato anche adabout. <br />
  21. 21. RDFa : Individuare i Soggetti<br />In assenza di un attributo che individua un soggetto, il soggetto è il tag stesso che contiene il predicato, o il tag genitore immediatamente superiore che lo contiene. <br />Ci sono solo due eccezioni alla regola :<br />Se il tag genitore include l’attributo relo rev senza href, allora il soggetto è l’URI/CURIE che corrisponde al tag genitore (può essere anche un nodo bianco).<br />Nei tagmeta e link senza about, il soggetto è l’URI/CURIE del tag genitore immeditamente superiore.<br />
  22. 22. RDFa : Riepilogo<br />
  23. 23.
  24. 24. Common Tag<br />Common Tag è un sistema di tagging sviluppato per inserire dati strutturati all’interno di pagine HTML.<br />è definito attraverso RDFa<br />Utilizza un proprio namespace: http://commontag.org/ns#<br />
  25. 25. Common Tag<br />Common Tag permette di identificare concetti in blocchi all’interno delle pagine HTML.<br />Esempio<br /> Usiamo i tag per identificare il concetto di cui parliamo in un documento.<br />&lt;body xmlns:ctag=&quot;http://commontag.org/ns#&quot; rel=&quot;ctag:tagged&quot;&gt; <br /> &lt;span typeof=&quot;ctag:Tag&quot; rel=&quot;ctag:means&quot; resource=&quot;http://rdf.freebase.com/ns/en.u2&quot;/&gt; <br />&lt;/body&gt; <br />L’esempio pone gli attrubuti nel tag body ed in un tagspanma il markup puo essere inserito in qualsiasi elemento del documento.<br />
  26. 26. Common Tag<br />Definizione del namespace<br />(cont) Esempio<br />&lt;body xmlns:ctag=&quot;http://commontag.org/ns#&quot; rel=&quot;ctag:tagged&quot;&gt; &lt;span typeof=&quot;ctag:Tag&quot; rel=&quot;ctag:means“ resource=&quot;http://rdf.freebase.com/ns/en.u2&quot;/&gt; <br />&lt;/body&gt; <br />Soggetto : nodo bianco _:body<br />Predicato: ctag:tagged(taggato da)<br />Oggetto: nodo_bianco_:spandi tipo ctag:Tag<br />Soggetto : nodo bianco _:spandi tipo ctag:Tag<br />Predicato: ctag:means(identifica la risorsa)<br />Oggetto: risorsa http://rdf.freebase.com/ns/en.u2<br />
  27. 27. Common Tag : namespace<br />Il namespaceutilizato da Common Tag si trova all’indirizzo:<br />http://commontag.org/ns#<br />Si compone di 4 classi ed altrettante proprietà:<br />Classi: Tag, AuthorTag, readerTag, AutoTag<br />Proprietà: means, tagged, taggingDate, label<br /> La classe piu usata è Tag ed è quella che useremo negli esempi successivi dato che le altre non sono altro che delle sottoclassi di Tag. <br />
  28. 28. Common Tag : Esempi<br />Includere un etichetta alla definizione<br />&lt;body xmlns:ctag=&quot;http://commontag.org/ns#&quot; rel=&quot;ctag:tagged&quot;&gt; <br /> &lt;spantypeof=&quot;ctag:Tag&quot; rel=&quot;ctag:means“<br />resource=&quot;http://rdf.freebase.com/ns/en.u2&quot; <br />property=&quot;ctag:<br />label&quot; content=&quot;U2&quot;/&gt; <br /> &lt;/span&gt; <br />&lt;/body&gt;<br />
  29. 29. Common Tag : Esempi<br />Tag Multipli dello stesso documento<br />&lt;body xmlns:ctag=&quot;http://commontag.org/ns#&quot; rel=&quot;ctag:tagged&quot;&gt; <br /> &lt;spantypeof=&quot;ctag:Tag&quot; rel=&quot;ctag:means&quot; resource=http://rdf.freebase.com/ns/en.u2<br />property=&quot;ctag:label&quot; content=&quot;U2&quot;/&gt; <br /> &lt;spantypeof=&quot;ctag:Tag&quot; rel=&quot;ctag:means&quot; resource=&quot;http://rdf.freebase.com/ns/en/zoo_tv_tour&quot; <br />property=&quot;ctag:label“ content=&quot;ZooTV&quot;/&gt; <br />&lt;/body&gt;<br />
  30. 30. Common Tag : Esempi<br />Tag di documenti esterni<br />&lt;div xmlns:ctag=&quot;http://commontag.org/ns#&quot; about=&quot;http://www.whitehouse.gov/blog/inaugural-address/&quot; rel=&quot;ctag:tagged&quot;&gt; <br /> &lt;span typeof=&quot;ctag:Tag&quot; rel=&quot;ctag:means&quot; resource=&quot;http://rdf.freebase.com/ns/en.social_responsibility&quot;/&gt; <br />&lt;/div&gt;<br />
  31. 31. Common Tag : Esempi<br />Tag di sezioni all’interno del documento<br />&lt;p id=&quot;first&quot;&gt;Star Wars set a new standard for visual effects in space drama. &lt;/p&gt;<br />&lt;p id=&quot;second&quot;&gt;Luke&apos;s interest in his heritage made him vulerable to the Dark Side. &lt;/p&gt;<br />&lt;div xmlns:ctag=&quot;http://commontag.org/ns#&quot; about=&quot;#second&quot; rel=&quot;ctag:tagged&quot;&gt; <br />&lt;span typeof=&quot;ctag:Tag&quot; rel=&quot;ctag:means&quot; resource=&quot;http://dbpedia.org/resource/Luke_Skywalker&quot;/&gt; <br />&lt;/div&gt;<br />
  32. 32. Common Tag : Esempi<br />Possiamo usare Common Tag in qualsiasi elemento del Markup<br />&lt;divxmlns:ctag=&quot;http://commontag.org/ns#&quot; rel=&quot;ctag:tagged&quot;&gt; <br /> NASA&apos;s &lt;a typeof=&quot;ctag:Tag&quot; rel=&quot;ctag:means“ href=http://rdf.freebase.com/ns/en.phoenix_mars_missionproperty=&quot;ctag:label&quot;&gt;Phoenix MarsLander&lt;/a&gt; <br />hasdeployeditsroboticarm. <br />&lt;/div&gt;<br />
  33. 33. Riferimenti<br />Italian Web Design:<br />http://www.italianwebdesign.it/tag/rdfa/<br />Common Tag:<br />http://www.commontag.org/<br />

×