RDFa
Università degli studi di Salerno
Corso di Laurea Magistrale in Informatica
Web Semantico, AA 2014-2015
Giuseppe Luciano
Ricordiamo RDF
Web Semantico, AA 2014-2015
• Modello per rappresentare relazioni tra risorse
• Comprensione della semantica da parte di
macchine
• Triple <Soggetto-Predicato-Oggetto>
• Grafo
Ricordiamo RDF (2)
Web Semantico, AA 2014-2015
http://www.worldlib.org/FKLib
http://www.worldlib.org/director
http://www.worldlib.org/people/JohnSmith
http://www.worldlib.org/address
“1428 Elm Street, LosAngeles (CA) 90024”
• FK Library director John Smith .
• FK Library address “1428 Elm Street, Los Angeles (CA)
90024” .
Ricordiamo RDF (3)
Web Semantico, AA 2014-2015
• Diverse rappresentazioni
o RDF/XML
o Turtle
o ….
o RDFa
Cos’è RDFa
Web Semantico, AA 2014-2015
• RDFa = RDF in HTML Attributes
• Ideato da Mark Birbeck nel 2004
• Standardizzato W3C Recommendation nel 2008
• Terza versione di RDFa 1.1 nel Marzo 2015
• E’ una specifica sia per XHTML che per HTML
RDFa – Il problema
Web Semantico, AA 2014-2015
• Immaginiamo di voler aggiungere contenuto semantico alla seguente
pagina html, specificando che l’autore del documento sia «Umberto
Manganiello»
<html>
<head>
<title> Introduction to RDFa</title>
</head>
<body>
<p>
L’autore di questa pagina è Umberto Manganiello
</p>
</body>
</html>
Html e la semantica (1)
Web Semantico, AA 2014-2015
• Di base html mette a disposizione dell’utente i tag meta per inserire semplice
contenuto semantico nell’intestazione della pagina (head)
<html>
<head>
<meta name=“author” content=“Umberto Manganiello”>
<title> Introduction to RDFa</title>
</head>
<body>
<p>L’autore di questa pagina è Umberto Manganiello</p>
</body>
</html>
Html e la semantica (2)
Web Semantico, AA 2014-2015
• Una alternativa al tag meta che permette di inserire informazioni all’interno
del «body» sono gli attributi rel ed href
<a rel="friend" href="http://www.functravel.com/">Cheap Flights</a>
<link rel="stylesheet" type="text/css" href="theme.css" />
• Essi però sono limitati ad i tag <a>, <area> e <link> e non possono essere usati quindi per
ogni tipo di informazione. Non è possibile, ad esempio, definire quanto segue:
<img src="image1.png” rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/" >
Html e la semantica (3)
Web Semantico, AA 2014-2015
alternate
Links to an alternate version of the document (i.e. print
page, translated or mirror)
author Links to the author of the document
bookmark Permanent URL used for bookmarking
help Links to a help document
license Links to copyright information for the document
next The next document in a selection
nofollow
Links to an unendorsed document, like a paid link.
("nofollow" is used by Google, to specify that the Google
search spider should not follow that link)
noreferrer
Specifies that the browser should not send a HTTP referer
header if the user follows the hyperlink
prefetch Specifies that the target document should be cached
prev The previous document in a selection
search Links to a search tool for the document
tag A tag (keyword) for the current document
Valori permessi per rel:
Html e la semantica (4)
Web Semantico, AA 2014-2015
• Con informazioni semplici possono essere sufficienti il solo tag meta
nell’intestazione e gli attributi href e rel. Ma cosa succede con
informazioni più strutturate?
• C’è bisogno di uno strumento più potente (quale potrebbe essere
RDF) per mappare informazioni semantiche più complesse.
<html>
<head> <title> FK Library</title> </head>
<body>
The director is
<a href=“http://www.worldlib.org/people/JohnSmith”> John Smith </a>
and the address is: “1428 Elm Street, Los Angeles (CA) 90024”
</body>
</html>
Html e la semantica (5)
Web Semantico, AA 2014-2015
• Utilizzando RDF/XML piuttosto che Turtle, il risultato è comunque la «coppia
pagina HTML + specifica RDF»
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:lib = "http://www.worldlib.org/”>
<rdf:Description rdf:about="http://www.worldlib.org/FKLib">
<lib:director rdf:resource="http://www.worldlib.org/people/JohnSmith "/>
<lib:address>“1428 Elm Street, Los Angeles (CA) 90024”</lib:address>
</rdf:Description>
</rdf:RDF>
• Punto chiave di RDFa: Inserire nello
stesso punto metadati e informazioni
per l’utente, utilizzando le
informazioni visualizzate dall’utente
(tag) e associandovi informazioni
semantiche
• RDFa usa un insieme di attributi HTML
per aumentare la leggibilità da
parte dei software come i motori di
ricerca semantici
Web Semantico, AA 2014-2015
RDFa L’idea
Benefici
Web Semantico, AA 2014-2015
• Indipendenza di pubblicazione
o Ogni sito può utilizzare il proprio standard
• Riuso dei dati
o I dati non sono duplicati, essi vengono scritti in modo tale da essere
utilizzati per le macchine e per gli utenti
• Compattezza
o RDF e HTML stanno insieme, ma sono
comunque distintamente separati
Iniziamo da RDFa lite
Web Semantico, AA 2014-2015
• RDFa lite è la versione meno potente di RDFa
• Passare a RDFa Full è un operazione facile (nella
necessità di una maggior potenza espressiva)
• RDFa ci abilita a parlare di cose sul web, così che
una macchina può comprendere ciò che si dice.
• RDFa Lite consiste di soli cinque attributi: vocab,
typeof, property, resource e prefix.
RDFa lite:
vocab, typeof, and property (1)
Web Semantico, AA 2014-2015
 Tipicamente quando parliamo di una cosa, noi usiamo un particolare
vocabolario.
 Ad esempio, se noi vogliamo parlare di Persone, il vocabilario che noi
dovremmo usare specifica l’uso di termini quali: nome e numero di
telefono.
 RDFa, come RDF, permette il caricamento di «Vocabolari» di termini
ai quali si può fare riferimento per essere certi del significato di ogni
termine.
<p vocab="http://schema.org/">
My name is Manu Sporny and you can give me a ring via 1-800-555-0199.
</p>
 Il vocabolario schema è stato rilasciato dei maggiori motori di
ricerca per parlare delle cose comuni sul web, di cui i motori di
ricerca si interessano: persone (Person), luoghi (Place), eventi
(Event), ecc..
Web Semantico, AA 2014-2015
 Abbiamo bisogno di specificare il tipo della cosa di cui stiamo
parlando, per far questo usiamo typeof:
<p vocab="http://schema.org/" typeof="Person“>
My name is Manu Sporny and you can give me a ring via 1-800-555-0199.
</p>
RDFa lite:
vocab, typeof, and property (2)
Web Semantico, AA 2014-2015
 Ora abbiamo bisogno di specificare quali proprietà di quella
persona vogliamo indicare al motore di ricerca:
<p vocab="http://schema.org/" typeof="Person">
My name is
<span property="name">Manu Sporny</span>
and you can give me a ring via
<span property="telephone">1-800-555-0199</span>
or visit
<a property="url" href="http://manu.sporny.org/">
my homepage</a>.
</p>
 Così facendo quando qualcuno scriverà “il numero di telefono di
Manu Sporny” in un motore di ricerca semantico, questò potrà
anche rispondere direttamente .
type
schema:name
schema
on
Manu
Sporny
…
RDFa lite:
vocab, typeof, and property (3)
RDFa lite: resource
Web Semantico, AA 2014-2015
 Se un autore vuol parlare di qualsiasi cosa sulla propria pagina web, questo
ha bisogno di un identificatore.
 Possiamo usare l’attributo resource:
<p vocab="http://schema.org/" resource="#manu" typeof="Person">
My name is <span property="name">Manu Sporny</span> and you can give
me a ring via <span property="telephone">1-800-555-0199</span>. <img
property="image" src="http://manu.sporny.org/images/manu.png" />
</p>
 Se si assume che l’indirizzo della pagina sia: http://example.org/people,
l’identificatore della cosa è http://example.org/people#manu
 Identificando tutte le cose sul web usando URL, noi possiamo iniziare a
costruire il Web of things. In modo da avere risposte intelligenti dai software
a domande anche complesse.
RFDa lite: prefix
Web Semantico, AA 2014-2015
 Per specificare più di un vocabolario, possiamo usare l’attributo
prefix.
 Per esempio, oltre a descrivere una persona, vogliamo specificare
che questo ha un animale favorito:
<p vocab="http://schema.org/" prefix="ov:
http://open.vocab.org/terms/" resource="#manu" typeof="Person">
My name is <span property="name">Manu Sporny</span> and you
can give me a ring via <span property="telephone">1-800-555-
0199</span>. <img property="image"
src="http://manu.sporny.org/images/manu.png" />
My favorite animal is the <span
property="ov:preferredAnimal">Liger</span>. </p>
RFDa lite: tips &tricks
Web Semantico, AA 2014-2015
 RDFa 1.1 Lite usa dei prefissi predefiniti quali:
• dc: Dublin Core Metadata Terms (http://purl.org/dc/terms/)
Il Dublin Core è un insieme di proprietà predefinite per descrivere documenti.
• foaf: FOAF (http://xmlns.com/foaf/0.1/ )
FOAF è un progetto dedito a linkare persone e informazione usando il web.
• schema: The Schema.org (http://schema.org/ )
 Si possono usare vocabolari multipli con prefix:
<body prefix="dc: http://purl.org/dc/terms/ schema: http://schema.org/">
 Si possono usare anche proprietà multiple:
<h3 property="dc:creator schema:creator" resource="#me">Alice</h3>
RDFa Full: più potenza
Web Semantico, AA 2014-2015
• RDFa aggiunge ad ognuno dei tag di HTML degli
attributi, per inserire contenuto semantico nel
corpo della pagina:
o Datatype: indica il tipo di una proprietà
o Content: specifica l’oggetto (una risorsa, piuttosto che un letterale,
ecc…)
o About: è un URI che indicare il soggetto di una risorsa
o Rel: indica la relazione con un’altra risorsa
RDFa: datatype
Web Semantico, AA 2014-2015
• Poiché alcuni dati possono essere ambigui per le macchine
è bene indicarne il tipo (lista dei tipi):
<span property="dc:date" datatype="xsd:gYear">2011</span>
RDFa: content
Web Semantico, AA 2014-2015
• Se non è presente un attributo content, allora il valore
di una proprietà sarà impostato usando il testo inline di
un elemento.
• Se content è presente, esso sovrascrive il valore
inline.
<h2 property="http://purl.org/dc/terms/title">The Trouble with Bob</h2>
<p>
Date:
<span property="http://purl.org/dc/terms/created" content="2011-09-
10">10th of September, 2011</span>
</p>
RDFa: about
Web Semantico, AA 2014-2015
• I costrutti visti finora utilizzano come soggetto
(URI) il documento corrente. Se diverso, esso può
essere specificato aggiungendo l’attributo about.
<a
about = http://www.projects.com/sw/proj345
property="dc:creator"
content = http://www.projects.com/Umanganiello
href = http://ww.projects.com/Umang >
Project 345 – Author: Umberto Manganiello
</a>
RDFa + FOAF (1)
Web Semantico, AA 2014-2015
• Un esempio di integrazione di vocabolari esterni è rappresentato
dall’integrazione di FOAF (Friend-of-a-friend), per specificare
informazioni sociali sui soggetti.
• Il vocabolario FOAF ha delle proprietà per descrivere le
informazioni dei contatti
• Il div seguente rappresenta una persona. Il concetto è preso dal
vocabolario FOAF.
<div vocab="http://xmlns.com/foaf/0.1/" typeof="Person">
... <!-- Questo div conterrà informazioni su una persona -->
</div>
RDFa + FOAF (2)
Web Semantico, AA 2014-2015
• Di seguito sono rappresentate alcune informazioni FOAF associate alla persona
referenziata dal div (verrà generato un nodo vuoto)
<div vocab="http://xmlns.com/foaf/0.1/" typeof="Person">
<p>
<span property="name">Alice Birpemswick</span>,
Email: <a property="mbox“ href=mailto:alice@example.com >alice@example.com</a>,
Phone: <a property="phone" href="tel:+1-617-555-7332">+1 617.555.7332</a>
</p>
</div>
RDFa + FOAF (3)
Web Semantico, AA 2014-2015
Specificando altre persone è possibile anche costruire una rete sociale
<div vocab="http://xmlns.com/foaf/0.1/" typeof="Person">
<p> …</p>
<ul>
<li property="knows" typeof="Person"> <a property="homepage"
href="http://example.com/bob/"><span property="name">Bob</span></a> </li>
<li property="knows" typeof="Person"> <a property="homepage"
href="http://example.com/eve/"><span property="name">Eve</span></a> </li>
<li property="knows" typeof="Person"> <a property="homepage"
href="http://example.com/manu/"><span property="name">Manu</span></a> </li>
</ul>
</div>
RDFa + FOAF (4)
Web Semantico, AA 2014-2015
RDFa + FOAF: tips & trick
Web Semantico, AA 2014-2015
 Uso di rel come alternativa all’impostazione dell’attributo property:
<div vocab="http://xmlns.com/foaf/0.1/" resource="#me“>
<ul rel="knows“>
<li resource="http://example.com/bob/#me" typeof="Person">
<a property="homepage" href="http://example.com/bob/">
<span property="name">Bob</span></a> </li>
<li resource="http://example.com/eve/#me" typeof="Person">
<a property="homepage" href="http://example.com/eve/">
<span property="name">Eve</span></a> </li>
<li resource="http://example.com/manu/#me" typeof="Person">
<a property="homepage" href="http://example.com/manu/">
<span property="name">Manu</span></a> </li>
</ul>
</div>
RFDa: Retrocompatibilità
Web Semantico, AA 2014-2015
• RDFa Core 1.1 depreca l’uso dell’attributo
xmlns
RDFa – Tools (1)
Web Semantico, AA 2014-2015
• Esistono molti tool a supporto di RDFa
• Parser RDFa integrati nei browser Web
o Operator (Firefox)
o Fuzz (Firefox)
o Semantic Radar (Firefox)
o JavaScript Bookmarklets
• visualizzatore semantico compatibile con tutti i browser
o rdfquery
• Una libreria javascript per l’elaborazione di RDF
RDFa – Tools (2)
Web Semantico, AA 2014-2015
• Strumenti online
o RDFa Play (http://rdfa.info/play/) è un web editor RDFa 1.1 con
visualizzatore di dati e debugger
• Estrattori RDFa
o Permettono di estrarre la semantica RDFa dalle pagine HTML
• PyRDFa
• Swignition
• Exhibit
• Krextor
Ricapitolando
• RDFa permette l’inserimento di metadati in qualsiasi
punto del documento.
• E’ un meccanismo basato su prefissi che identifica
univocamente i concetti (eredità di RDF).
• Permette la modellazione di relazioni anche con soggetti
differenti dal documento corrente e le immagini che
contiene.
• Si integra perfettamente con qualsiasi vocabolario di
termini.
Web Semantico, AA 2014-2015
Riferimenti
 RDFa 1.1 PRIMER:
 http://www.w3.org/TR/xhtml-rdfa-primer/
 HTML + RDFa 1.1:
 http://www.w3.org/TR/html-rdfa/
 RDFa Lite 1.1:
 http://www.w3.org/TR/rdfa-lite/
Basato su un lavoro di: Umberto Manganiello e Alessandro Longo

RDFa 1.1 - Seminario Web Semantico 2015

  • 1.
    RDFa Università degli studidi Salerno Corso di Laurea Magistrale in Informatica Web Semantico, AA 2014-2015 Giuseppe Luciano
  • 2.
    Ricordiamo RDF Web Semantico,AA 2014-2015 • Modello per rappresentare relazioni tra risorse • Comprensione della semantica da parte di macchine • Triple <Soggetto-Predicato-Oggetto> • Grafo
  • 3.
    Ricordiamo RDF (2) WebSemantico, AA 2014-2015 http://www.worldlib.org/FKLib http://www.worldlib.org/director http://www.worldlib.org/people/JohnSmith http://www.worldlib.org/address “1428 Elm Street, LosAngeles (CA) 90024” • FK Library director John Smith . • FK Library address “1428 Elm Street, Los Angeles (CA) 90024” .
  • 4.
    Ricordiamo RDF (3) WebSemantico, AA 2014-2015 • Diverse rappresentazioni o RDF/XML o Turtle o …. o RDFa
  • 5.
    Cos’è RDFa Web Semantico,AA 2014-2015 • RDFa = RDF in HTML Attributes • Ideato da Mark Birbeck nel 2004 • Standardizzato W3C Recommendation nel 2008 • Terza versione di RDFa 1.1 nel Marzo 2015 • E’ una specifica sia per XHTML che per HTML
  • 6.
    RDFa – Ilproblema Web Semantico, AA 2014-2015 • Immaginiamo di voler aggiungere contenuto semantico alla seguente pagina html, specificando che l’autore del documento sia «Umberto Manganiello» <html> <head> <title> Introduction to RDFa</title> </head> <body> <p> L’autore di questa pagina è Umberto Manganiello </p> </body> </html>
  • 7.
    Html e lasemantica (1) Web Semantico, AA 2014-2015 • Di base html mette a disposizione dell’utente i tag meta per inserire semplice contenuto semantico nell’intestazione della pagina (head) <html> <head> <meta name=“author” content=“Umberto Manganiello”> <title> Introduction to RDFa</title> </head> <body> <p>L’autore di questa pagina è Umberto Manganiello</p> </body> </html>
  • 8.
    Html e lasemantica (2) Web Semantico, AA 2014-2015 • Una alternativa al tag meta che permette di inserire informazioni all’interno del «body» sono gli attributi rel ed href <a rel="friend" href="http://www.functravel.com/">Cheap Flights</a> <link rel="stylesheet" type="text/css" href="theme.css" /> • Essi però sono limitati ad i tag <a>, <area> e <link> e non possono essere usati quindi per ogni tipo di informazione. Non è possibile, ad esempio, definire quanto segue: <img src="image1.png” rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/" >
  • 9.
    Html e lasemantica (3) Web Semantico, AA 2014-2015 alternate Links to an alternate version of the document (i.e. print page, translated or mirror) author Links to the author of the document bookmark Permanent URL used for bookmarking help Links to a help document license Links to copyright information for the document next The next document in a selection nofollow Links to an unendorsed document, like a paid link. ("nofollow" is used by Google, to specify that the Google search spider should not follow that link) noreferrer Specifies that the browser should not send a HTTP referer header if the user follows the hyperlink prefetch Specifies that the target document should be cached prev The previous document in a selection search Links to a search tool for the document tag A tag (keyword) for the current document Valori permessi per rel:
  • 10.
    Html e lasemantica (4) Web Semantico, AA 2014-2015 • Con informazioni semplici possono essere sufficienti il solo tag meta nell’intestazione e gli attributi href e rel. Ma cosa succede con informazioni più strutturate? • C’è bisogno di uno strumento più potente (quale potrebbe essere RDF) per mappare informazioni semantiche più complesse. <html> <head> <title> FK Library</title> </head> <body> The director is <a href=“http://www.worldlib.org/people/JohnSmith”> John Smith </a> and the address is: “1428 Elm Street, Los Angeles (CA) 90024” </body> </html>
  • 11.
    Html e lasemantica (5) Web Semantico, AA 2014-2015 • Utilizzando RDF/XML piuttosto che Turtle, il risultato è comunque la «coppia pagina HTML + specifica RDF» <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:lib = "http://www.worldlib.org/”> <rdf:Description rdf:about="http://www.worldlib.org/FKLib"> <lib:director rdf:resource="http://www.worldlib.org/people/JohnSmith "/> <lib:address>“1428 Elm Street, Los Angeles (CA) 90024”</lib:address> </rdf:Description> </rdf:RDF>
  • 12.
    • Punto chiavedi RDFa: Inserire nello stesso punto metadati e informazioni per l’utente, utilizzando le informazioni visualizzate dall’utente (tag) e associandovi informazioni semantiche • RDFa usa un insieme di attributi HTML per aumentare la leggibilità da parte dei software come i motori di ricerca semantici Web Semantico, AA 2014-2015 RDFa L’idea
  • 13.
    Benefici Web Semantico, AA2014-2015 • Indipendenza di pubblicazione o Ogni sito può utilizzare il proprio standard • Riuso dei dati o I dati non sono duplicati, essi vengono scritti in modo tale da essere utilizzati per le macchine e per gli utenti • Compattezza o RDF e HTML stanno insieme, ma sono comunque distintamente separati
  • 14.
    Iniziamo da RDFalite Web Semantico, AA 2014-2015 • RDFa lite è la versione meno potente di RDFa • Passare a RDFa Full è un operazione facile (nella necessità di una maggior potenza espressiva) • RDFa ci abilita a parlare di cose sul web, così che una macchina può comprendere ciò che si dice. • RDFa Lite consiste di soli cinque attributi: vocab, typeof, property, resource e prefix.
  • 15.
    RDFa lite: vocab, typeof,and property (1) Web Semantico, AA 2014-2015  Tipicamente quando parliamo di una cosa, noi usiamo un particolare vocabolario.  Ad esempio, se noi vogliamo parlare di Persone, il vocabilario che noi dovremmo usare specifica l’uso di termini quali: nome e numero di telefono.  RDFa, come RDF, permette il caricamento di «Vocabolari» di termini ai quali si può fare riferimento per essere certi del significato di ogni termine. <p vocab="http://schema.org/"> My name is Manu Sporny and you can give me a ring via 1-800-555-0199. </p>  Il vocabolario schema è stato rilasciato dei maggiori motori di ricerca per parlare delle cose comuni sul web, di cui i motori di ricerca si interessano: persone (Person), luoghi (Place), eventi (Event), ecc..
  • 16.
    Web Semantico, AA2014-2015  Abbiamo bisogno di specificare il tipo della cosa di cui stiamo parlando, per far questo usiamo typeof: <p vocab="http://schema.org/" typeof="Person“> My name is Manu Sporny and you can give me a ring via 1-800-555-0199. </p> RDFa lite: vocab, typeof, and property (2)
  • 17.
    Web Semantico, AA2014-2015  Ora abbiamo bisogno di specificare quali proprietà di quella persona vogliamo indicare al motore di ricerca: <p vocab="http://schema.org/" typeof="Person"> My name is <span property="name">Manu Sporny</span> and you can give me a ring via <span property="telephone">1-800-555-0199</span> or visit <a property="url" href="http://manu.sporny.org/"> my homepage</a>. </p>  Così facendo quando qualcuno scriverà “il numero di telefono di Manu Sporny” in un motore di ricerca semantico, questò potrà anche rispondere direttamente . type schema:name schema on Manu Sporny … RDFa lite: vocab, typeof, and property (3)
  • 18.
    RDFa lite: resource WebSemantico, AA 2014-2015  Se un autore vuol parlare di qualsiasi cosa sulla propria pagina web, questo ha bisogno di un identificatore.  Possiamo usare l’attributo resource: <p vocab="http://schema.org/" resource="#manu" typeof="Person"> My name is <span property="name">Manu Sporny</span> and you can give me a ring via <span property="telephone">1-800-555-0199</span>. <img property="image" src="http://manu.sporny.org/images/manu.png" /> </p>  Se si assume che l’indirizzo della pagina sia: http://example.org/people, l’identificatore della cosa è http://example.org/people#manu  Identificando tutte le cose sul web usando URL, noi possiamo iniziare a costruire il Web of things. In modo da avere risposte intelligenti dai software a domande anche complesse.
  • 19.
    RFDa lite: prefix WebSemantico, AA 2014-2015  Per specificare più di un vocabolario, possiamo usare l’attributo prefix.  Per esempio, oltre a descrivere una persona, vogliamo specificare che questo ha un animale favorito: <p vocab="http://schema.org/" prefix="ov: http://open.vocab.org/terms/" resource="#manu" typeof="Person"> My name is <span property="name">Manu Sporny</span> and you can give me a ring via <span property="telephone">1-800-555- 0199</span>. <img property="image" src="http://manu.sporny.org/images/manu.png" /> My favorite animal is the <span property="ov:preferredAnimal">Liger</span>. </p>
  • 20.
    RFDa lite: tips&tricks Web Semantico, AA 2014-2015  RDFa 1.1 Lite usa dei prefissi predefiniti quali: • dc: Dublin Core Metadata Terms (http://purl.org/dc/terms/) Il Dublin Core è un insieme di proprietà predefinite per descrivere documenti. • foaf: FOAF (http://xmlns.com/foaf/0.1/ ) FOAF è un progetto dedito a linkare persone e informazione usando il web. • schema: The Schema.org (http://schema.org/ )  Si possono usare vocabolari multipli con prefix: <body prefix="dc: http://purl.org/dc/terms/ schema: http://schema.org/">  Si possono usare anche proprietà multiple: <h3 property="dc:creator schema:creator" resource="#me">Alice</h3>
  • 21.
    RDFa Full: piùpotenza Web Semantico, AA 2014-2015 • RDFa aggiunge ad ognuno dei tag di HTML degli attributi, per inserire contenuto semantico nel corpo della pagina: o Datatype: indica il tipo di una proprietà o Content: specifica l’oggetto (una risorsa, piuttosto che un letterale, ecc…) o About: è un URI che indicare il soggetto di una risorsa o Rel: indica la relazione con un’altra risorsa
  • 22.
    RDFa: datatype Web Semantico,AA 2014-2015 • Poiché alcuni dati possono essere ambigui per le macchine è bene indicarne il tipo (lista dei tipi): <span property="dc:date" datatype="xsd:gYear">2011</span>
  • 23.
    RDFa: content Web Semantico,AA 2014-2015 • Se non è presente un attributo content, allora il valore di una proprietà sarà impostato usando il testo inline di un elemento. • Se content è presente, esso sovrascrive il valore inline. <h2 property="http://purl.org/dc/terms/title">The Trouble with Bob</h2> <p> Date: <span property="http://purl.org/dc/terms/created" content="2011-09- 10">10th of September, 2011</span> </p>
  • 24.
    RDFa: about Web Semantico,AA 2014-2015 • I costrutti visti finora utilizzano come soggetto (URI) il documento corrente. Se diverso, esso può essere specificato aggiungendo l’attributo about. <a about = http://www.projects.com/sw/proj345 property="dc:creator" content = http://www.projects.com/Umanganiello href = http://ww.projects.com/Umang > Project 345 – Author: Umberto Manganiello </a>
  • 25.
    RDFa + FOAF(1) Web Semantico, AA 2014-2015 • Un esempio di integrazione di vocabolari esterni è rappresentato dall’integrazione di FOAF (Friend-of-a-friend), per specificare informazioni sociali sui soggetti. • Il vocabolario FOAF ha delle proprietà per descrivere le informazioni dei contatti • Il div seguente rappresenta una persona. Il concetto è preso dal vocabolario FOAF. <div vocab="http://xmlns.com/foaf/0.1/" typeof="Person"> ... <!-- Questo div conterrà informazioni su una persona --> </div>
  • 26.
    RDFa + FOAF(2) Web Semantico, AA 2014-2015 • Di seguito sono rappresentate alcune informazioni FOAF associate alla persona referenziata dal div (verrà generato un nodo vuoto) <div vocab="http://xmlns.com/foaf/0.1/" typeof="Person"> <p> <span property="name">Alice Birpemswick</span>, Email: <a property="mbox“ href=mailto:alice@example.com >alice@example.com</a>, Phone: <a property="phone" href="tel:+1-617-555-7332">+1 617.555.7332</a> </p> </div>
  • 27.
    RDFa + FOAF(3) Web Semantico, AA 2014-2015 Specificando altre persone è possibile anche costruire una rete sociale <div vocab="http://xmlns.com/foaf/0.1/" typeof="Person"> <p> …</p> <ul> <li property="knows" typeof="Person"> <a property="homepage" href="http://example.com/bob/"><span property="name">Bob</span></a> </li> <li property="knows" typeof="Person"> <a property="homepage" href="http://example.com/eve/"><span property="name">Eve</span></a> </li> <li property="knows" typeof="Person"> <a property="homepage" href="http://example.com/manu/"><span property="name">Manu</span></a> </li> </ul> </div>
  • 28.
    RDFa + FOAF(4) Web Semantico, AA 2014-2015
  • 29.
    RDFa + FOAF:tips & trick Web Semantico, AA 2014-2015  Uso di rel come alternativa all’impostazione dell’attributo property: <div vocab="http://xmlns.com/foaf/0.1/" resource="#me“> <ul rel="knows“> <li resource="http://example.com/bob/#me" typeof="Person"> <a property="homepage" href="http://example.com/bob/"> <span property="name">Bob</span></a> </li> <li resource="http://example.com/eve/#me" typeof="Person"> <a property="homepage" href="http://example.com/eve/"> <span property="name">Eve</span></a> </li> <li resource="http://example.com/manu/#me" typeof="Person"> <a property="homepage" href="http://example.com/manu/"> <span property="name">Manu</span></a> </li> </ul> </div>
  • 30.
    RFDa: Retrocompatibilità Web Semantico,AA 2014-2015 • RDFa Core 1.1 depreca l’uso dell’attributo xmlns
  • 31.
    RDFa – Tools(1) Web Semantico, AA 2014-2015 • Esistono molti tool a supporto di RDFa • Parser RDFa integrati nei browser Web o Operator (Firefox) o Fuzz (Firefox) o Semantic Radar (Firefox) o JavaScript Bookmarklets • visualizzatore semantico compatibile con tutti i browser o rdfquery • Una libreria javascript per l’elaborazione di RDF
  • 32.
    RDFa – Tools(2) Web Semantico, AA 2014-2015 • Strumenti online o RDFa Play (http://rdfa.info/play/) è un web editor RDFa 1.1 con visualizzatore di dati e debugger • Estrattori RDFa o Permettono di estrarre la semantica RDFa dalle pagine HTML • PyRDFa • Swignition • Exhibit • Krextor
  • 33.
    Ricapitolando • RDFa permettel’inserimento di metadati in qualsiasi punto del documento. • E’ un meccanismo basato su prefissi che identifica univocamente i concetti (eredità di RDF). • Permette la modellazione di relazioni anche con soggetti differenti dal documento corrente e le immagini che contiene. • Si integra perfettamente con qualsiasi vocabolario di termini. Web Semantico, AA 2014-2015
  • 34.
    Riferimenti  RDFa 1.1PRIMER:  http://www.w3.org/TR/xhtml-rdfa-primer/  HTML + RDFa 1.1:  http://www.w3.org/TR/html-rdfa/  RDFa Lite 1.1:  http://www.w3.org/TR/rdfa-lite/ Basato su un lavoro di: Umberto Manganiello e Alessandro Longo