Your SlideShare is downloading. ×
RDFa Tutorial di Base
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

RDFa Tutorial di Base

1,541
views

Published on

Tutorial di base RDFa.

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,541
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
31
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

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