Service Oriented Architecturesbusaco/teach/courses/soa/presentations/… · Apache produce Hadoop...

Post on 24-May-2020

10 views 0 download

Transcript of Service Oriented Architecturesbusaco/teach/courses/soa/presentations/… · Apache produce Hadoop...

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!