Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ Service Oriented Architectures aplicații Web aliniate problematicilor Web-ului semantic ♕ de la interschimb de date la modelarea cunoștințelor la nivel de Web
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/Service Oriented Architectures
aplicații Web aliniate problematicilor Web-ului semantic
♕de la interschimb de date
la modelarea cunoștințelor la nivel de Web
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
„Toate erau laolaltă – după aceea, a venit minteași le-a pus în ordine.”
Anaxagoras
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
remarci
Constituirea unor „pânze” (web-uri) – grupări, rețele, grafuri –
de date/informații/cunoștințe disponibile liber, evoluând conform intereselor unei comunităţi
(e.g., utilizatori, organizație, industrie,…)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
Cum pot fi descrise la nivelul mașiniiaceste web-uri?
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
necesităţi
o manieră de a atașa meta-date
date privitoare la date„mai mult decât datele”
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
necesităţi
o manieră de a atașa meta-date
vocabulare de termeni descriind „ceva”(proprietăți, domenii, persoane, produse, lumi,...)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
necesităţi
un mod de specificare de relații între resurse
structuri de organizare a datelorîn cadrul unui sau mai multor web-uri
(i.e. grafuri de cunoștințe – knowledge graphs)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
necesităţi
modelarea și procesarea cunoștințelor
despre „lucruri”
(knowledge about things)
Mike Bergman, The Rationale for Semantic Technologies (2012)http://www.mkbergman.com/1015/the-rationale-for-semantic-technologies/
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
necesităţi
modelarea & procesarea cunoștințelor
realizate sistematic, formalizat
ontologiidescrise riguros
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
necesităţi
modelarea & procesarea cunoștințelor
create ad-hoc, manual, de către utilizatorii obișnuiți
folksonomii
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
necesităţi
modelarea & procesarea cunoștințelor
create ad-hoc, manual, de către utilizatorii obișnuiți
folksonomii
uzual, tagging
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
necesităţi
Modelarea datelor trebuie să facă implicitul explicit
„java” limbajul, insula ori sortimentul de cafea?
java
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
necesităţi
„Java este un limbaj de programare.”„XWiki este o aplicație Web scrisă în limbajul Java.”
„Programarea Java poate fi mai ușoară decât cea în C++.”
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
necesităţi
„Java este un limbaj de programare.”„XWiki este o aplicație Web scrisă în limbajul Java.”
„Programarea Java poate fi mai ușoară decât cea în C++.”
ușor de înțeles de (unii) oameni
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
necesităţi
„Java este un limbaj de programare.”„XWiki este o aplicație Web scrisă în limbajul Java.”
„Programarea Java poate fi mai ușoară decât cea în C++.”
…dar pot fi oare înțelese de către calculatoare?
ușor de înțeles de (unii) oameni
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
rdf
RDF (Resource Description Framework)
folosit la asocierea de meta-date resurselor Webși la specificarea relațiilor dintre resurse
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
Titlu: Rattle That LockArtist: David GilmourAnul apariției: 2015Formate: [ CD, Blu-ray, Vinil ]Audio: [ LPCM 2.0, LPCM 5.1,
DTS-HD Master Audio 5.1 ]Tip: album (LP)Subtitrare: N/ADetalii: www.davidgilmour.com
engleză
http://www.blu-ray.com/movies/David-Gilmour-Rattle-That-Lock-Blu-ray/136767/
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
Titlu: Rattle That LockArtist: David GilmourAnul apariției: 2015Formate: [ CD, Blu-ray, Vinil ]Audio: [ LPCM 2.0, LPCM 5.1,
DTS-HD Master Audio 5.1 ]Tip: album (LP)Subtitrare: N/ADetalii: www.davidgilmour.com
http://www.blu-ray.com/movies/David-Gilmour-Rattle-That-Lock-Blu-ray/136767/
subiect
obiect
predicat
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
Anca
Bogdan
relațiaknows
owns
proprie-tatea
givenName
album
photo
twitter.com/pinkfloyd
tag
clasa persoanelor
follows
owns
sameComposer
clasaalbumelormuzicale
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
rdf
RDF (Resource Description Framework)
oferă suport pentru (re)considerarea Web-uluica fiind o bază de date distribuită
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
exempluID Nume Producător Statut
1 Office Microsoft Commercial
2 Visual Studio Code Microsoft Open-source
3 Photoshop Adobe Commercial
4 IrfanView Irfan Freeware
5 iTunes Apple Freeware
6 Thunderbird Mozilla Open-source
7 Firefox Mozilla Open-source
8 Sublime Text Sublime HQ Pty Freeware
uzual, datele sunt reprezentate în formă tabelară(conform modelului relațional)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
rdf
Via RDF, fiecare gazdă realizează managementulunui număr de celule dintr-un tabel
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
Nume
Rând 3 Office
Nume
Rând 9 Node.js
Statut
Rând 3 Comercial
Statut
Rând 5 Open-source
Producător
Rând 3 Microsoft
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
Nume
Rând 3 Office
Nume
Rând 9 Node.js
Statut
Rând 3 Comercial
Statut
Rând 5 Open-source
Producător
Rând 3 Microsoft
web-ul specific unei corporații
responsabil cu software-ul
privitor la termenii de utilizare
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
rdf
Via RDF, fiecare gazdă realizează managementulunui număr de celule dintr-un tabel
fiecare celulă trebuie referită de 3 valori unice:o referință globală ce desemnează un rând +o referință globală care specifică o coloană +
o referință globală reprezentând valoarea celulei
ca referințe globale vom utiliza URI-uri
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
rdf
Oferă un model de specificare a triplelor(rând, coloană, valoare de celulă)
via identificatori uniformi de resurse – URI
proprietate (predicat)
resursă (subiect)
valoare(obiect)
URI
URIURI
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
Subiect Predicat Obiect
Apache produce HadoopMozilla produce FirefoxFirefox areStatut Deschis
Windows areStatut FreewareAmazon este Companie
Jena este SoftwareJena este OrașJava este Limbaj
Sabin localizatÎn RomâniaSabin localizatÎn IașiSabin utilizează FirefoxAdria cunoaștePe Sabin
un vocabular de termeni folosit în triplele RDF
Anyone can sayAnything aboutAny topic (AAA)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
rdf: model
SubiectMozilla
Predicateste
ObiectOrganizație
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
rdf: model
SubiectSabin
Predicatutilizează
ObiectFirefox
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
rdf: model
Mai multe triple pot referi aceeași resursăle putem reprezenta sub forma de grafuri
triplu ≡ muchie între subiect și obiect
predicat ≡ eticheta asociată muchiei digrafului
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
rdf: model – exemplu
Firebug Firefoxextinde
Mozilla
produsDeproduce
Deschis
areStatut
areStatut
Hadoop
Organizație
este Apacheproduce
este
Sabinutilizează
Persoană
este
graful unui model conceptual referitor la un web:
Jena
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
rdf: model – exemplu
de consultat și http://webofthings.org/category/research/
un alt exemplu: graful acțiunilor HTTP în contextul modelului Web of Things
Dominique Guinard, Vlad Trifa, Using the Web to Build the IoT (2016)
www.manning.com/books/using-the-web-to-build-the-iot
http://webofthings.org/book/
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
În ce context ar putea fi utilizat practic modelul RDF?
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
rdf: utilizări
Uzual, aserțiunile RDF specifică meta-dateprivitoare la aspecte ce privesc caracteristicile
„externe” ale unei resurse
de exemplu:autor, copyright, tag-uri asociate, data publicării, format,…
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
rdf: utilizări
RDF poate fi util pentru:descrierea resurselor „opace”
(cu reprezentări în formate binare)
e.g., arhive, executabile, multimedia – fișiere audio, video,…
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
rdf: utilizări
RDF poate fi folosit pentru a descrieresurse intangibile, abstracte
e.g., persoane, organizații, evenimente,artefacte umane: opere de artă, software, specificații,…
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
atașarea de meta-date unei colecții de date (dataset)detalii la http://www.lsv.ens-cachan.fr/Publis/PAPERS/PDF/RG-bda15.pdf
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
subiect
obiect(e):URL-uri sau literali
predicat(e)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
Arhitectura aplicațiilor bazate pe RDF(Allemang & Hendler, 2011)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
Ce instrumente de procesarea declarațiilor RDF putem folosi?
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
necesităţi
Procesor (parser) RDF
preluarea datelor disponibile în diverse formate și reprezentarea lor ca triple RDF
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
api-uri & biblioteci rdf – exemple
Apache Jena (Java) – https://jena.apache.org/
Commons RDF (Java) – commonsrdf.incubator.apache.org/
ARC2, EasyRDF (PHP)dotNetRDF (C#) – dotnetrdf.org
node-rdf, rdfQuery.js, rdfstore-js (JavaScript)RDF.rb (Ruby)
rdf4h (Haskell) – https://robstewart57.github.io/rdf4h/
RDFLib (Python) – https://github.com/RDFLib/rdflib
Redland (C; portări în multe limbaje) – http://librdf.org/
...
detalii la http://www.w3.org/2001/sw/wiki/Tools
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
necesităţi
Serializator (serializer) RDF
exprimarea modelului intern RDFîn diverse formate
N-Triples, RDF/XML, Turtle (N3), TriX, RDFa, JSON-LD,...
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
necesităţi
Convertor RDF
preluarea datelor din alte modeleși transformarea lor în RDF
extragerea directă din documentele HTMLvia scrapers/harvesters
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
instrumente
Extractoare/convertoare RDF – exemple:
Apache Any23, Babel, RDF123, RDFSlice (Java)EasyRDF (PHP) – http://www.easyrdf.org/converter
Greengrass, LinqToRDF (C#)Raptor (C) – http://librdf.org/raptor/
RDF Translator (Python) – http://rdf-translator.appspot.com
Tarql (CSV to RDF using SPARQL) – http://tarql.github.io/
URIBurner – serviciu Web: http://linkeddata.uriburner.com
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
necesităţi
Navigatoare RDF (hyperdata browsers)
redau utilizatorului (uman) o reprezentare „frumoasă” a triplelor RDF, permitând
interacțiunea cu datele: vizualizare, filtrare,...
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
instrumente
Navigatoare RDF (hyperdata browsers)
exemple:brwsr – https://github.com/Data2Semantics/brwsr
OpenLink Data Explorer – http://ode.openlinksw.com/
Q&D RDF Browser – http://graphite.ecs.soton.ac.uk/browser/
Tabulator – http://www.w3.org/2005/ajar/tab
uzual, disponibile ca extensii pentru browser-ul Web
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
necesităţi
Date stocate în sisteme de baze de date relaționale
date modelate cu RDF
asocieri directe – mappings (via schema bazei de date)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
baze de date relaționale gestionate via SQL
CREATE TABLE "Software" ( "ID" INT, PRIMARY KEY("ID"), "nume" CHAR(69), "desc" CHAR(256)
) CREATE TABLE "Utiliz" (
"ID" INT, PRIMARY KEY("ID"), "identit" CHAR(101), "soft" INT, FOREIGN KEY("soft") REFERENCES "Software"("ID")
) INSERT INTO "Software" ("ID", "nume", "desc") VALUES (13, 'Marmotta', '…') INSERT INTO "Utiliz" ("ID", "identit", "soft") VALUES (7, 'Alexandru', 13) INSERT INTO "Utiliz" ("ID", "identit", "soft") VALUES (8, 'Laura', NULL)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
baze de date relaționale gestionate via SQL
CREATE TABLE "Software" ( "ID" INT, PRIMARY KEY("ID"), "nume" CHAR(69), "desc" CHAR(256)
) CREATE TABLE "Utiliz" (
"ID" INT, PRIMARY KEY("ID"), "identit" CHAR(101), "soft" INT, FOREIGN KEY("soft") REFERENCES "Software"("ID")
) INSERT INTO "Software" ("ID", "nume", "desc") VALUES (13, 'Marmotta', '…') INSERT INTO "Utiliz" ("ID", "identit", "soft") VALUES (7, 'Alexandru', 13) INSERT INTO "Utiliz" ("ID", "identit", "soft") VALUES (8, 'Laura', NULL)
date RDF
<Utiliz/ID=7> rdf:type <Utiliz> . <Utiliz/ID=7> <Utiliz#ID> 7 . <Utiliz/ID=7> <Utiliz#identit> "Alexandru" . <Utiliz/ID=7> <Utiliz#soft> 13 . <Utiliz/ID=7> <Utiliz#ref-software> <Software/ID=13> . …<Software/ID=13> rdf:type <Software> . <Software/ID=13> <Software#ID> 13 . <Software/ID=13> <Software#nume> "Marmotta" . <Software/ID=13> <Software#desc> "An Open Platform for Linked Data – by Apache" .
asocieri directe
recomandare W3C (M. Arenas et al., 2012)
www.w3.org/TR/
rdb-direct-mapping/
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
Nu există posibilitatea de a utiliza un sistem de stocare/interogare a triplelor RDF?
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
sisteme de stocare rdf
Datele RDF sunt menținute persistentîn cadrul unui RDF store
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
sisteme de stocare rdf
Intern, un RDF store poate stoca tripleleîntr-o varietate de formate
baze de date (non-)relaționaleversus
structuri de date speciale – eventual, în memorie
inclusiv, la nivel de cloud
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
sisteme de stocare rdf
Intern, un RDF store poate stoca tripleleîntr-o varietate de formate
dataset ≡ colecție de grafuri RDFtriple RDF + context desemnat de un URI
format standardizat: N-Quads (2014)https://www.w3.org/TR/n-quads/
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
sisteme de stocare rdf
Aspecte de interes:
performanța – e.g., scalabilitatea, timpul de răspuns,...capacitatea de stocare
facilitățile privind interogarea datelor (inclusiv tranzacții)API-urile disponibile
fiabilitatea securitatea
efectuarea de raționamente automate
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
sisteme de stocare rdf
Exemple de implementări curente(unele disponibile în regim open source)
stocare în structuri de date native: AllegroGraph – http://franz.com/agraph/allegrograph/
Apache Jena TDB – http://jena.apache.org/
BigData – http://bigdata.com/
Oracle Spatial & Graph – http://tinyurl.com/oracle-rdf
RDF4J – http://rdf4j.org/
Stardog – http://stardog.com/
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
sisteme de stocare rdf
Exemple de implementări curente(unele disponibile în regim open source)
folosind sisteme tradiționale de baze de date:IBM DB2 (Java), OpenLink Virtuoso (C, C#, Java, JS, PHP,
Perl, Ruby, XQuery,…), Ontotext Graph DB (Java), StrixDB (Lua)
www.w3.org/wiki/LargeTripleStores
http://www.dataversity.net/introduction-to-triplestores/
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
sisteme de stocare rdf
Exemple de implementări curente(unele disponibile în regim open source ori freeware)
bazate pe sisteme NoSQL:BrightstarDB (C#), CumulusRDF (utilizează Cassandra),
RDF Graph for Oracle NoSQL DB, SparkleDB (C++)
recurgând la baze de date native XML: MarkLogic(interogări XQuery, SQL, SPARQL + API-uri diverse)
http://developer.marklogic.com/learn/semantics-exercises
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
sisteme de stocare rdf: utilizări
Ontotext Graph DB folosit de BBC, FactForge și LinkedLifeData;
inclus în GATE (General Architecture for Text Engineering)
Best Buy, inQuest și NASA recurg la Stardog
OpenLink Virtuoso utilizat de DBpedia și Linked Open Data Cloud
data.gov.uk se bazează pe Apache Jena TDB
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
Există un limbaj de interogarea seturilor de triple RDF?
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
rdf
Interogarea datelor RDFse poate realiza via limbajul SPARQL
serviciile SPARQL (puncte terminale – endpoints) pot fi descrise și invocate
via tehnologiile serviciilor Web clasice – e.g., REST
exemple de puncte terminale: DBpedia – http://dbpedia.org/sparql/
Bathing Water Quality – http://environment.data.gov.uk/bwq/sparql.html
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
sparql: protocol
exemplu: instrumentul YASGUI (Yet Another SPARQL GUI) – http://yasgui.org/ – pentru a accesa un serviciu SPARQL
aici, unul privitor la resurse cinematograficehttp://data.linkedmdb.org/
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
ProcesorSPARQL
HTML
bază
de daterelațională
RD
B↔
RD
F
bază
de date(e.g.,
NoSQL)
pu
nct
term
inal
SPA
RQ
L
triple store p
un
ctte
rmin
al S
PAR
QL
Aplicație
teh
nic
i NL
P
text nestructurat
XML/XHTML
graf RDF
SPARQL – privire de ansamblu (Ivan Herman, 2012)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
La ce poate fi utilizat modelul RDF?
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
aplicaţii rdf: dbpedia
De la conținut colaborativ la adnotare semantică(Christian Bizer et al.)
constituie o bază de cunoștințe via Wikipedia:seturi de date (datasets) + model conceptual
versiunea în limba engleză: descrieri RDF a peste 4,5 milioane de „lucruri” (things)
conținut disponibil în 125 limbi – 38 milioane de „things”
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
aplicaţii rdf: dbpedia
De la conținut colaborativ la adnotare semantică(Christian Bizer et al.)
recurge la diverse modele conceptuale (ontologii) vizând mai multe domenii
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
aplicaţii rdf: dbpedia
De la conținut colaborativ la adnotare semantică(Christian Bizer et al.)
acces via SPARQL: http://wiki.dbpedia.org/OnlineAccess
versiune pentru download (aprilie 2016)http://wiki.dbpedia.org/Downloads
disponibilitate în cloud (în stil PAGO – Pay As You Go)https://aws.amazon.com/marketplace/pp/B012DSCFEK/
http://ontology2.com/the-book/dbpedia-2016-04.html
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
Lista filmelor vorbite în limba japoneză, regizate și– totodată – scrise de persoane născute după anul 1960
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbprop: <http://dbpedia.org/property/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?film ?nume ?regizor ?dataNastere WHERE {
?film a dbo:Film ;
dbo:language <http://dbpedia.org/resource/Japanese_language> ;
dbprop:director ?regizor ;
dbprop:writer ?scenarist ;
foaf:name ?nume .
?regizor dbprop:dateOfBirth ?dataNastere .
FILTER ((?dataNastere >= 1960) && ?regizor = ?scenarist) .
}
ORDER BY ?nume
LIMIT 7
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
graful asociat interogării
rezultatele obținute
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
aplicatii rdf: exemplificari
OAI-PMH (Open Archives Initiative Protocol for Metadata Harvesting)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
aplicaţii rdf: wikidata
Inițiativă a fundației Wikimedia, oferind o bază de date structurate multilingve în regim deschis și colaborativ, pe baza proiectelor Wikipedia, Wikimedia Commons,…
www.wikidata.org
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
aplicaţii rdf: wikidata
Surprinde și contextul specificării unor date de interes(e.g., proveniența – cine, când, cum, de ce)
utilizează seturile de date/cunoștințe oferite de DBpedia și Freebase (ex-proiect Google)
API propriu: https://www.mediawiki.org/wiki/Wikibase/API
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
Pot fi organizate (structurate) datele într-o manieră riguroasă?
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
rdf: utilizări
Pe baza RDF, se oferă suport pentru modelarea cunoștințelor în termeni „înțeleși” de software
taxonomii
clasificare sistematică – realizată de experți –în termeni de clase, superclase și subclase de resurse
RDF Schema
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
taxonomii: exemplu
exemplu:bioinformatică
UniProt Taxonomywww.uniprot.org
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
rdf: utilizări
Pe baza RDF, se oferă suport pentru modelarea cunoștințelor în termeni „înțeleși” de software
lexicoane (tezaure)
thesaurus: a controlled vocabulary arranged in a known order and structured so that equivalence, homographic, hierarchical, and associative relationships among terms
are displayed clearly & identified by standardizedrelationship indicators
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
rdf: utilizări
Pe baza RDF, se oferă suport pentru modelarea cunoștințelor în termeni „înțeleși” de software
lexicoane (tezaure)
exprimate la nivel de Web prin SKOS (Simple Knowledge Organizational System)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
tezaure: skos
explorarea diverselor modele conceptuale (taxonomii, lexicoane) din cadrul Wikidata
– aici, regnul vegetal – via instrumentul Web Reasonatorhttps://tools.wmflabs.org/reasonator/
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
rdf: skos
Diverse alte lexicoane exprimate via SKOS:Cadastre and Land Administration Thesaurus
Drug Administration FormsInternational Virtual Observatory Alliance astronomy voc.
STW Thesaurus for Economics Thesaurus for the Social Sciences
USA Library of Congress’ vocabulariesWikipedia Article categories
www.w3.org/2001/sw/wiki/SKOS/Datasets
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
rdf: utilizări
Pe baza RDF, se oferă suport pentru modelarea cunoștințelor în termeni „înțeleși” de software
modele conceptuale complexe – ontologii(clase, proprietăți, relații, axiome)
OWL (Web Ontology Language)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
foaf:Person a owl:Class .
db:MusicalArtist rdfs:subClassOf foaf:Person .
plays a owl:ObjectProperty ;
rdfs:domain db:MusicalArtist ;
rdfs:range mo:Song .
RogerWaters plays If , ThreeWishes .
DavidGilmour plays Beauty , HighHopes , Today .
modelare conceptuală – via diverse specificații –despre resursele muzicale:
clasa muzicienilor provine din cea a persoanelorrelația plays între clasa muzicienilor și clasa cântecelor
+fapte privitoare la acestea
e.g., Roger Waters interpretează „Three Wishes”
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
foaf:Person a owl:Class .
db:MusicalArtist rdfs:subClassOf foaf:Person .
plays a owl:ObjectProperty ;
rdfs:domain db:MusicalArtist ;
rdfs:range mo:Song .
RogerWaters plays If , ThreeWishes .
DavidGilmour plays Beauty , HighHopes , Today .
se oferă premisele efectuării de raționamente automate (deducții logice exprimate formal), pe baza unui reasoner
trebuie să aparțină clasei muzicienilor
trebuie să aparțină clasei cântecelor
trebuie să aparțină clasei persoanelor
detalii la disciplina Web Application Development (FII)http://profs.info.uaic.ro/~busaco/teach/courses/wade/
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
inferenţe
Achiziționarea unui aparat foto digital
Aplicație Web recomandândcumpărături
online
„Trimite-mi catalogulde produse” (via un API)
<NikonD7200> a :DSLR ;
:sensorMp "24"^^xsd:byte ;
:focalDist [ :min "18"^^units:mm ;
:max "1400"^^units:mm ] ;
:hasPrice …
Can I take a photo with this?
„Iată catalogul...”(date RDF)
inspirat de (Costello et al., 2003)
1
2
3
situl Web al magazinului
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
inferenţe
Achiziționarea unui aparat foto digital
aplicația Web consultă o ontologie privitoare la cameredigitale de unde se poate determina că DSLR este subclasă
a clasei Camera asociată echipamentelor foto
:Camera rdfs:subClassOf schema:Product .
:DSLR a owl:Class ;
rdfs:subClassOf :DigitalCamera .
:takes rdfs:domain :DigitalCamera ;
rdfs:range :Photo .
<NikonD7200> a :DSLR .
DigitalCamera
DSLR Point-and-Shot Mirrorless
Product
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
inferenţe
Achiziționarea unui aparat foto digital
ontologiile exprimate în OWL pot conduce ladescoperirea dinamică a relațiilor dintre resurse
pe baza unui sistem de deducție automată, pot fi extrase, comparate și recomandate ofertele disponibile pe diverse situri Web
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
Cum se asigură interoperabilitatea,consistența și refolosirea web-urilor?
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
linked data
Inițiativă privind publicarea și reutilizareadatelor structurate disponibile liber pe Web
interconectare a resurselor descrise la nivel de Web
http://linkeddata.org/
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
http://lod-cloud.net/
martie 2009
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
sept. 2011
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
august 2014
Linking Open Data cloud diagram 2014 (M. Schmachtenberg, C. Bizer, A. Jentzsch, R. Cyganiak)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
Câteva exemplificări concrete?
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
augmentarea căutării (via microdate HTML5 și RDFa)Google Structured Data – developers.google.com/structured-data/
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
adnotări explicite ale codului HTML5 bazate pe concepte specificate de schema.org – aici, WebPage și Person
testare cu Structured Data Testing Toolhttps://developers.google.com/structured-data/testing-tool/
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
Wikidatavizualizarea datelor
interogate cu SPARQL
query.wikidata.org
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
exemplu: midi2rdf (MIDI ↔ RDF)A. Meroño-Peñuela, R. Hoekstra, “The Song Remains the Same: Lossless Conversion and Streaming of MIDI to RDF and Back”,
ESWC 2016 – https://www.albertmeronyo.org/publications/
de la model conceptual la fluxuri de activități
acces la date RDF procesabile de către software
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
recomandări personalizate via baze publice de cunoștințeexemplificare: seevl.fm – http://semanticweb.com/tag/seevl
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
modelarea cunoștințelor
cu aplicabilitate în mass-media
exemplu: BBC
www.bbc.co.uk/ontologies
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
utilizarea tehnologiilor Web-ului semantic pentru monitorizarea poluării – e.g., proiectul OpenSense2
J.-P. Calbimonte et al., „Semantic Data Layers in Air Quality Monitoringfor Smarter Cities”, ISWC 2015 – http://jeanpi.org/wp/publications/
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
„Epilog”:
următorii (zeci de) ani…
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
„concluzii”
constituirea unui Web of Data
„Web 3.0”? „semantic Web”?
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
„concluzii”
constituirea unui Web of Data
acces pe baza protocolului HTTP
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
„concluzii”
constituirea unui Web of Data
descriere de resurse și a relațiilor dintre ele via RDF
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
„concluzii”
constituirea unui Web of Data
datele pot fi „mixate” pe baza vocabularelor multiple
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
„concluzii”
constituirea unui Web of Data
datele pot fi „mixate” pe baza vocabularelor multiple
numeroase vocabulare sunt deja standardizate
inclusiv în vederea regăsirii de resurse Web via motoare
de căutare – e.g., microdate HTML5: schema.org
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
„concluzii”
constituirea unui Web of Data
structurarea avansată via modele conceptuale:
taxonomii, lexicoane, ontologii – folosind OWL et al.
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
„concluzii”
constituirea unui Web of Data
structurarea avansată via modele conceptuale:
taxonomii, lexicoane, ontologii – folosind OWL et al.
managementul cunoștințelor (knowledge management)
+
inginerie ontologică (ontology engineering)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
Extragerea și înțelegerea informațiilor (textuale, multimedia) disponibile în cadrul paginilor Web
Actualizarea automată și permanentă a cunoștințelor (keep knowledge up-to-date)
Managementul cunoștințelor complexee.g., Most of the global warming in the last 50 years was
caused by human beings, to a high degree of certainty
context mai larg: deep understanding
direcţii majore
Xin Luna Dong, How Far Are We from Collecting the Knowledge in the World? (ICWE 2016)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/rezumat
♕privire de ansamblu
a problematicilor Web-ului datelor
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
episodul viitor: evaluarea proiectului (P)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
Mult succes!