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
Dr. Sabin Corneliu Buraga – profs.info.uaic.ro/~busaco/
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
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?
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
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/
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/
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
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/
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
RDFa
vocab – desemnează URL-ul vocabularului de date (modelului conceptual) adoptat
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 – schema.org
specificațiile DCMI, FOAF, SIOC,…diverse vocabulare deschise – vocab.org
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
studiu de caz: BIO – vocabular privind biografia unei persoane
vocab.org/bio/
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.
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)
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
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
RDFa
prefix – desemnează prefixul unui vocabular specific,facilitând referirea acestuia
exemple:rdf – aserțiuni RDF
rdfa – construcții RDFaxsd – tipuri de date specificate de XML Schema
…
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
lista prefixelor predefinite: www.w3.org/2011/rdfa-context/rdfa-1.1
Prefix URI Description
as https://www.w3.org/ns/activitystreams# Activity Vocabulary
dcat http://www.w3.org/ns/dcat# Data Catalog Vocabulary
ldp http://www.w3.org/ns/ldp# Linked Data Platform Voc.
ma http://www.w3.org/ns/ma-ont# Media Resourcesorg http://www.w3.org/ns/org# Organizations
owl http://www.w3.org/2002/07/owl# OWL
prov http://www.w3.org/ns/prov# Provenance Vocabulary
qb http://purl.org/linked-data/cube# Data Cubes
rdf http://www.w3.org/1999/02/22-rdf-syntax-ns# RDF
rdfa http://www.w3.org/ns/rdfa# RDFa Vocabulary
rdfs http://www.w3.org/2000/01/rdf-schema# RDF Schema
skos http://www.w3.org/2004/02/skos/core# SKOS Core
ssn http://www.w3.org/ns/ssn/ Semantic Sensor Network
time http://www.w3.org/2006/time# Time Ontology
xsd http://www.w3.org/2001/XMLSchema# XML Schema Datatypes
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
Exemplu recurgând la modelul conceptual 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
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
Exemplu recurgând modelul conceptual 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
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
Exemplu: modelarea grafului social pe baza vocabularelor schema.org și Relationship
<div vocab="http://schema.org/"><div resource="#busaco" typeof="Person"><a property="url" href="https://profs.info.uaic.ro/~busaco/">
<span property="name"><span property="firstName">Sabin</span><span property="lastName">Buraga</span>
</span></a><a property="http://purl.org/vocab/relationship/collaboratesWith"
href="#acip">colaborează cu Ciprian</a>.</div><p resource="#acip" typeof="Person">
<span property="name"><span property="title">MSc.</span>Ciprian Amariei</span> predă la <span resource="#web" typeof="http://schema.org/Course">
<span property="courseCode">Web</span></span>.</p>
</div>
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
rdfa.info/play/
un instrument Web de editare și vizualizarea construcțiilor RDFa
redareaconținutului
marcat
date adnotatesemantic via RDFa
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
@prefix rdfa: <http://www.w3.org/ns/rdfa#> .@prefix schema: <http://schema.org/> .@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
<http://rdfa.info/play/> rdfa:usesVocabulary schema: .<http://rdfa.info/play/#busaco>
rdf:type schema:Person;schema:url <https://profs.info.uaic.ro/~busaco/>;schema:name "Sabin Buraga"; schema:firstName "Sabin"; schema:lastName "Buraga";<http://purl.org/vocab/relationship/collaboratesWith>
<http://rdfa.info/play/#acip> .<http://rdfa.info/play/#acip>
rdf:type schema:Person;schema:name "MSc. Ciprian Amariei";schema:title "MSc." .
<http://rdfa.info/play/#web>rdf:type schema:Course;schema:courseCode "Web" . triplele RDF generate
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
vizualizarea grafului RDF corespunzător
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
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)
rdfa.info/tools
vezi și www.w3.org/community/rdfjs/wiki/Comparison_of_RDFJS_libraries
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
Diverse studii de caz privitoare la RDFa?
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)
iptc.org/standards/rnews/
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
rNews
se bazează pe microdate HTML5 și/sau RDFa
varianta curentă: rNews 1.2 (2013)
dev.iptc.org/rNews
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
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
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) creat și utilizat de Facebook – ogp.me
@prefix og: <http://opengraphprotocol.org/schema/> .
<https://www.telegraph.co.uk/technology/2018/10/25/twitter-beats-earnings-says-
users-continuing-slide/>
og:description "Twitter shares jumped by..."@en-gb ;
og:image "http://www.telegraph.co.uk/content/...08.jpeg" ;
og:site_name "The Telegraph"@en-gb;
og:title "Twitter shares surge as advertisers"@en-gb;
og:type "article"@en-gb;
og:url "http://www.telegraph.co.uk/technology/2018/10/25.../"@en-gb .
subiect
predicat
obiect
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, vocabularele OGP și Twitter Cards folosite de Reddit
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
rdf: utilizari – rdfa
meta-date exprimate cu RDFa vizând o fotografieOGP și alte vocabulare utilizate de Instagram
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
Aserțiunile RDFa sunt indexate de motoarele de căutare
Bing Webmastertinyurl.com/b9mx2f2
Google Structured Datadevelopers.google.com/structured-data/
Yandex Semantic Markup Validatorwebmaster.yandex.com/tools/microtest/
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
Web Data Commonswebdatacommons.org/structureddata/
aici: studiu asupra ofertelor vizând categorii de produse exprimate
via adnotări semantice
A. Primpeli et al., WWW 2019 – webdatacommons.org/largescaleproductcorpus/v2/
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)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
microformate↔microdate↔RDFa
Cel mai expresiv – general – model este RDF(a)
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 pe baza schema.org
+ resurse specificate de Wikidataadaptare după Jeni Tennison (2011)
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
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
datele RDFa verificate și extrase via instrumentul WebStructured Data linter – linter.structured-data.org
amănunte la www.structured-data.org
de revăzut cele discutate la curs
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
microformate↔microdate↔RDFa
Instrumente de conversie – exemple:
Apache Any23 – any23.apache.org
RDF Translator – rdf-translator.appspot.com
EasyRDF Converter – www.easyrdf.org/converter
procesul de conversie microdate HTML→RDFeste detaliat în www.w3.org/TR/microdata-rdf/
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
rezumat
<⊷>RDFa – specificarea triplelor RDF direct în HTML