40
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco Dezvoltarea aplicațiilor Web <⊷> date structurate în cadrul documentelor HTML RDFa – declarații de triple RDF în paginile Web

WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Embed Size (px)

Citation preview

Page 1: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

Dezvoltarea aplicațiilor Web

<⊷>date structurate în cadrul documentelor HTML

RDFa – declarații de triple RDF în paginile Web

Page 2: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

„Dacă poți acorda ajutor, ajută-i pe ceilalți.Dacă nu poți, măcar nu-i deranja.”

Dalai Lama

Page 3: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

Folosind modelul RDF (subiect, predicat, obiect),n-am putea include triplele RDF în paginile Web?

Page 4: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

Specificarea construcțiilor RDF direct în (X)HTMLRDFa

reprezintă un alt format de serializare a modelului RDF

RDF + HTML = RDFa

Page 5: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

RDFa

recomandări ale Consorțiului Web

RDFa 1.0 (2008)RDFa 1.1 (2012 – ediția 1; 2013 – ediția 2; 2015 – ediția 3)

www.w3.org/TR/rdfa-core

Page 6: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

RDFa

„punte” între Web-ul social și Web-ul datelor

www.w3.org/TR/rdfa-primer/

Page 7: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

RDFa

utilizarea unor atribute HTML specifice menite a modeladatele disponibile într-o pagină Web

în vederea procesării acestora de către un program

Page 8: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

RDFa

minimal, se pot utiliza atributeleprecizate de recomandarea RDFa Lite 1.1 (W3C, 2015)

www.w3.org/TR/rdfa-lite/

Page 9: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

RDFa

vocab – desemnează URL-ul vocabularului de date (modelului conceptual) adoptat

Page 10: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

RDFa

vocab – desemnează URL-ul vocabularului de date (modelului conceptual) adoptat

exemplificări:scheme de date HTML5 – http://schema.org/

specificațiile DCMI, FOAF, SIOC,…diverse vocabulare deschise – http://vocab.org/

Page 11: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

studiu de caz: BIO – vocabular privind biografia unei persoane

http://vocab.org/bio/

Page 12: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

RDFa

typeof – precizează un tip de date (clasă de „lucruri”)

exemple:Event

Person

Product

etc.

Page 13: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

RDFa

property – specifică o proprietate asociată tipului de date

e.g., pentru tipul Event sunt definite proprietățileduration, location, startDate, endDate, performers,…

(conform http://schema.org/Event)

Page 14: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

RDFa

resource – indică un identificator de resursă (subiectul)despre care se „vorbește” în termeni de meta-date

Page 15: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

RDFa

prefix – desemnează prefixul unui vocabular specific,facilitând referirea acestuia

e.g., rdf pentru RDF, rdfa – RDFa, xsd – XML Schema

Page 16: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

lista prefixelor predefinite:https://www.w3.org/2011/rdfa-context/rdfa-1.1

Page 17: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

Exemplu recurgând la vocabularul schema.org

adaptare după (Manu Sporny, 2012)

<p vocab="http://schema.org/" typeof="Person"

resource="#tux">

Salut, eu sunt

<span property="name">Tuxy Pinguinnesscool</span>

și vă invit să vizitați

<a property="url" href="http://tux.info/"

title="Situl lui Tuxy">situl meu</a>.

</p>

adnotare explicită direct în HTML: resursa identificată cu tux este o persoană având atașate

un nume și o adresă Web a sitului personal

Page 18: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

Exemplu recurgând la vocabularul schema.org

adaptare după (Manu Sporny, 2012)

<p vocab="http://schema.org/" typeof="Person"

resource="#tux">

Salut, eu sunt

<span property="name">Tuxy Pinguinnesscool</span>

și vă invit să vizitați

<a property="url" href="http://tux.info/"

title="Situl lui Tuxy">situl meu</a>.

</p>

@prefix s: <http://schema.org/> .

:tux rdf:type s:Person ;

s:name "Tuxy Pinguinnesscool" ;

s:url <http://tux.info/> .

aserțiunile RDF echivalente

Page 19: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

Exemplu: modelarea grafului social al unui utilizatorpe baza vocabularului FOAF (Friend Of A Friend)

<div vocab="http://xmlns.com/foaf/0.1"><div resource="#busaco" typeof="Person"><a property="url" href="http://purl.org/net/busaco">

<span property="name">Sabin Buraga</span></a> îi are drept cunoscuți pe

<a property="knows" href="#alecsandru">Alecsandru</a> și <a property="knows" href="#blankdots">Ștefan</a>.

</div><p resource="#alecsandru" typeof="Person">

<span property="name">Alecsandru Grigoriu</span></a> </p>…

</div>

Page 20: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

date adnotatesemantic via RDFa

triplele RDF extrase

redareaconținutului

marcat

http://rdfa.info/play/un instrument Web de editare și vizualizare a construcțiilor RDFa

Page 21: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

graful RDF corespunzător

Page 22: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

Exemplu: specificarea „punctajului” dat unei resurse(adnotare semantică via review vocabulary de la Google)

<div xmlns:v="http://rdf.data-vocabulary.org/#" typeof="v:Review"><span rel="v:itemreviewed">

<span about="urn:ISBN:978-973-46-0249-0" typeof="bib:book">Titlu: <span property="v:name" xml:lang="ro">Tehnologii XML</span></span>

</span>Evaluare: <span property="v:rating" content="5">*****</span><span property="v:summary">…</span>

</div>

Page 23: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

RDFa transformă o pagină Web într-un API

acces la date structurate – „purtând” un înțeles –, nu doar la conținut textual

(things, not strings)

rdfa.info

Page 24: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

RDFa transformă o pagină Web într-un API

diverse biblioteci/module de prelucrare:clj-rdfa (Closure), EasyRDF (PHP), librdfa (C),Green Turtle (JavaScript), PyRDFa (Python),

quadstore (Node.js), semargl (Java), vie (Node.js)

http://rdfa.info/dev/

vezi și www.w3.org/community/rdfjs/wiki/Comparison_of_RDFJS_libraries

Page 25: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

Diverse studii de caz privitoare la RDFa?

Page 26: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

rNews

model conceptual vizând includerea de meta-date din domeniul publicațiilor

(e.g., știri, articole, periodice) în documentele HTML

standard IPTC (International Press Telecommunications Council)

https://iptc.org/standards/rnews/

Page 27: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

rNews

se bazează pe microdate HTML5 și/sau RDFa

detalii în prezentarea E. Sandhaus, S. Myles & A. Gebhard,“The State of rNews”, Semantic Technology & Business

Conference, San Francisco (2012)

https://speakerdeck.com/u/agebhard/p/the-state-of-rnews

Page 28: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

Generarea de construcții RDFape baza editorului on-line RDFaCE

abordare WYSIWYG (What You See Is What You Get)

generează reprezentări RDFa – inclusiv rNews

recurge la API-uri de adnotare a conținutului textual(e.g., Alchemy, Ontos, DBpedia)

disponibil și ca extensie pentru WordPress

http://aksw.org/Projects/RDFaCE.html

Page 29: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

Generarea de constructii RDFape baza editorului on-line RDFaCE

A. Khalili, S. Auer & D. Hladky (2012)

Page 30: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

rdf: utilizari – rdfa

extragerea cu instrumentul RDFa 1.1 Distiller and Parser a triplelor RDF dintr-un document HTML ce include RDFa

http://www.w3.org/2012/pyRdfa/Overview.html

aici, o resursă Web oferită de publicația Telegraph

URL-ul resursei conținând (meta-)date exprimate prin RDFa

Page 31: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

rdf: utilizari – rdfa

pe baza construcțiilor RDFa specificate în codul HTML, sunt extrase date RDF disponibile în format Turtle

în acest caz, se recurge la vocabularul OGP (Open GraphProtocol) utilizat de Facebook – http://ogp.me/

@prefix og: <http://opengraphprotocol.org/schema/> .

<http://www.telegraph.co.uk/science/2016/11/06/forgotten-oil-painting-could-be-

lost-raphael-as-scientists-date/>

og:description "When collector Stephen Hibberts discovered..."@en-gb ;

og:image "http://www.telegraph.co.uk/content/...6f62EI5U.jpg" ;

og:site_name "The Telegraph"@en-gb;

og:title "Forgotten oil painting could be lost Raphael,

as scientists date it to 16th century…"@en-gb;

og:type "article"@en-gb;

og:url "http://www.telegraph.co.uk/...forgotten-oil-painting.../"@en-gb .

subiect

predicat

obiect

Page 32: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

rdf: utilizari – rdfa

extensia de browser OpenLink Structured Data Sniffer poate extrage și construcții RDFa

aici, cunoștințe modelate cu vocabularele Dublin Core Terms, FOAF, OGP și SIOC

Page 33: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

coAserțiunile RDFa sunt indexate de motoarele de căutare

Bing Webmasterhttp://tinyurl.com/b9mx2f2

Google Structured Datadevelopers.google.com/structured-data/

Yahoo! BOSS (Build your Own Search Service)http://developer.yahoo.com/search/boss/

Yandex Semantic Markup Validatorhttps://webmaster.yandex.com/microtest.xml

Page 34: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

Crawl Date October 2016

Total Data 56 TB (compressed)

Parsed HTML URLs 3,181,199,447

URLs with Triples 1,242,727,852

Domains in Crawl 34,076,469

Domains with Triples 5,638,796

Typed Entities 9,590,731,005

Triples 44,242,655,138

statistici oferite de Web Data Commons

webdatacommons.org/structureddata/

Page 35: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

microformate↔microdate↔RDFa

Microformatele pot fi exprimatevia microdate HTML care, la rândul lor,

pot avea asociate construcții RDF(a)

a se parcurge și articolul lui Manu Sporny, „Mythical Differences: RDFa Lite vs. Microdata” (2012):

http://manu.sporny.org/2012/mythical-differences/

Page 36: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

microformate↔microdate↔RDFa

Cel mai expresiv – general – model este RDF(a)

Page 37: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

<li class="conference" itemscope="" itemid="/2016/oscon/"

itemtype="http://schema.org/SocialEvent

http://schema.org/BusinessEvent http://schema.org/EducationEvent">

<h2><a itemprop="url" href="/2016/oscon/">

<span itemprop="name">OSCON 2016</span></a></h2>

<p itemprop="location" itemscope="" itemid="/places/london/"

itemtype="http://schema.org/Place">

<span itemprop="name">

<a href="https://www.wikidata.org/wiki/Q145">UK</a> in

<a itemprop="url"

href="https://www.wikidata.org/wiki/Q84">London</a></span></p>

<p class="date">

<time itemprop="startDate" datetime="2016-10-17">17</time> –

<time itemprop="endDate" datetime="2016-10-19">19 Oct.</time>

</p>

...

</li>modelarea unui eveniment via microdate HTML5,pe baza schemelor de date oferite de schema.org

adaptare după Jeni Tennison (2011)

Page 38: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

@prefix s: <http://schema.org/>

</2016/oscon/> a s:SocialEvent , s:BusinessEvent ,

s:EducationEvent ;

s:url <http://lanyrd.com/2016/oscon/> ;

s:name "OSCON 2016" ;

s:location </places/london/> ;

s:startDate "2016-10-17"^^xsd:date ;

s:endDate "2016-10-19"^^xsd:date .

</places/london/> a s:Place ;

s:url <https://www.wikidata.org/wiki/Q84> ;

s:name "London (UK)" .

construcțiile RDF (în format Turtle) echivalente pe baza asocierilor (mappings) realizate – Jeni Tennison, 2011

referire la resurse (entități) Wikidata

precizare explicită a tipului de date

Page 39: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

datele RDFa verificate și extrase via instrumentul WebStructured Data linter – http://linter.structured-data.org/

detalii de interes la www.structured-data.org

de revăzut cele discutate la curs

Page 40: WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs

Dr.

Sab

in B

ura

ga

profs.in

fo.uaic.ro/~busa

co

rezumat

<⊷>RDFa: specificarea triplelor RDF direct în HTML