• Nu S-Au Găsit Rezultate

aplicații Web aliniate problematicilor Web-ului semantic

N/A
N/A
Protected

Academic year: 2022

Share "aplicații Web aliniate problematicilor Web-ului semantic"

Copied!
110
0
0

Text complet

(1)

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

(2)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

„Toate erau laolaltă – după aceea, a venit mintea și le-a pus în ordine.”

Anaxagoras

(3)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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,…)

(4)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

Cum pot fi descrise la nivelul mașinii

aceste web-uri?

(5)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

necesităţi

o manieră de a atașa meta-date

date privitoare la date

„mai mult decât datele”

(6)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

necesităţi

o manieră de a atașa meta-date

vocabulare de termeni descriind „ceva”

(proprietăți, domenii, persoane, produse, lumi,...)

(7)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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)

(8)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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/

(9)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

necesităţi

modelarea & procesarea cunoștințelor

realizate sistematic, formalizat

ontologii

descrise riguros

(10)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

necesităţi

modelarea & procesarea cunoștințelor

create ad-hoc, manual, de către utilizatorii obișnuiți

folksonomii

(11)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

necesităţi

modelarea & procesarea cunoștințelor

create ad-hoc, manual, de către utilizatorii obișnuiți

folksonomii uzual, tagging

(12)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

necesităţi

Modelarea datelor trebuie să facă implicitul explicit

„java”  limbajul, insula ori sortimentul de cafea?

java

(13)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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++.”

(14)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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

(15)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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

(16)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

rdf

RDF (Resource Description Framework)

folosit la asocierea de meta-date resurselor Web și la specificarea relațiilor dintre resurse

(17)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

Titlu: Rattle That Lock Artist: David Gilmour Anul apariției: 2015

Formate: [ CD, Blu-ray, Vinil ] Audio: [ LPCM 2.0, LPCM 5.1,

DTS-HD Master Audio 5.1 ] Tip: album (LP)

Subtitrare: N/A

Detalii: www.davidgilmour.com

engleză

http://www.blu-ray.com/movies/David-Gilmour-Rattle-That-Lock-Blu-ray/136767/

(18)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

Titlu: Rattle That Lock Artist: David Gilmour Anul apariției: 2015

Formate: [ CD, Blu-ray, Vinil ] Audio: [ LPCM 2.0, LPCM 5.1,

DTS-HD Master Audio 5.1 ] Tip: album (LP)

Subtitrare: N/A

Detalii: www.davidgilmour.com

http://www.blu-ray.com/movies/David-Gilmour-Rattle-That-Lock-Blu-ray/136767/

subiect

obiect

predicat

(19)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

Anca

Bogdan

relația knows

owns

proprie- tatea givenName

album photo

twitter.com/pinkfloyd

tag clasa persoanelor

follows

owns

sameComposer

clasa albumelor

muzicale

(20)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

rdf

RDF (Resource Description Framework)

oferă suport pentru (re)considerarea Web-ului ca fiind o bază de date distribuită

(21)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

exemplu

ID 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)

(22)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

rdf

Via RDF, fiecare gazdă realizează managementul unui număr de celule dintr-un tabel

(23)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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

(24)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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

(25)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

rdf

Via RDF, fiecare gazdă realizează managementul unui 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

(26)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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

URI URI

(27)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

Subiect Predicat Obiect Apache produce Hadoop Mozilla produce Firefox

Firefox areStatut Deschis Windows areStatut Freeware

Amazon este Companie

Jena este Software

Jena este Oraș

Java este Limbaj

Sabin localizatÎn România Sabin localizatÎn Iași Sabin utilizează Firefox Adria cunoaștePe Sabin

un vocabular de termeni folosit în triplele RDF

Anyone can say Anything about Any topic (AAA)

(28)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

rdf: model

Subiect Mozilla

Predicat este

Obiect Organizație

(29)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

rdf: model

Subiect Sabin

Predicat utilizează

Obiect Firefox

(30)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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

(31)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

rdf: model – exemplu

Firebug extinde Firefox

Mozilla

produsDe

produce

Deschis

areStatut

areStatut

Hadoop Organizație

este Apache

produce este

Sabin

utilizează

Persoană

este

graful unui model conceptual referitor la un web:

Jena

(32)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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/

(33)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

În ce context ar putea fi utilizat practic

modelul RDF?

(34)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

rdf: utilizări

Uzual, aserțiunile RDF specifică meta-date privitoare la aspecte ce privesc caracteristicile

„externe” ale unei resurse

de exemplu:

autor, copyright, tag-uri asociate, data publicării, format,…

(35)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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,…

(36)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

rdf: utilizări

RDF poate fi folosit pentru a descrie resurse intangibile, abstracte

e.g., persoane, organizații, evenimente,

artefacte umane: opere de artă, software, specificații,…

(37)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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

(38)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

subiect

obiect(e):

URL-uri sau literali

predicat(e)

(39)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

Arhitectura aplicațiilor bazate pe RDF (Allemang & Hendler, 2011)

(40)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

Ce instrumente de procesare

a declarațiilor RDF putem folosi?

(41)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

necesităţi

Procesor (parser) RDF

preluarea datelor disponibile în diverse formate

și reprezentarea lor ca triple RDF

(42)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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

(43)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

necesităţi

Serializator (serializer) RDF

exprimarea modelului intern RDF în diverse formate

N-Triples, RDF/XML, Turtle (N3), TriX, RDFa, JSON-LD,...

(44)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

necesităţi

Convertor RDF

preluarea datelor din alte modele și transformarea lor în RDF

extragerea directă din documentele HTML via scrapers/harvesters

(45)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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

(46)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

necesităţi

Navigatoare RDF (hyperdata browsers)

redau utilizatorului (uman) o reprezentare

„frumoasă” a triplelor RDF, permitând

interacțiunea cu datele: vizualizare, filtrare,...

(47)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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

(48)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

necesităţi

Date stocate în sisteme de baze de date relaționale

date modelate cu RDF

asocieri directe – mappings (via schema bazei de date)

(49)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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)

(50)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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/

(51)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

Nu există posibilitatea de a utiliza un sistem

de stocare/interogare a triplelor RDF?

(52)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

sisteme de stocare rdf

Datele RDF sunt menținute persistent

în cadrul unui RDF store

(53)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

sisteme de stocare rdf

Intern, un RDF store poate stoca triplele într-o varietate de formate

baze de date (non-)relaționale versus

structuri de date speciale – eventual, în memorie

inclusiv, la nivel de cloud

(54)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

sisteme de stocare rdf

Intern, un RDF store poate stoca triplele într-o varietate de formate

dataset ≡ colecție de grafuri RDF

triple RDF + context desemnat de un URI

format standardizat: N-Quads (2014) https://www.w3.org/TR/n-quads/

(55)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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

(56)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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/

(57)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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/

(58)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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

(59)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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

(60)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

Există un limbaj de interogare

a seturilor de triple RDF?

(61)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

rdf

Interogarea datelor RDF

se 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

(62)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

sparql: protocol

exemplu: instrumentul YASGUI (Yet Another SPARQL GUI) – http://yasgui.org/ – pentru a accesa un serviciu SPARQL

aici, unul privitor la resurse cinematografice http://data.linkedmdb.org/

(63)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

Procesor SPARQL

HTML

bază de date relațională

RDBRDF

de datebază (e.g., NoSQL)

punctterminal SPARQL

triple store punct

terminal SPARQL

Aplicație

tehnici NLP

text nestructurat

XML/XHTML graf RDF

SPARQL – privire de ansamblu (Ivan Herman, 2012)

(64)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

La ce poate fi utilizat modelul RDF?

(65)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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”

(66)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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

(67)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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

(68)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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

(69)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

graful asociat interogării

rezultatele obținute

(70)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

aplicatii rdf: exemplificari

OAI-PMH (Open Archives Initiative Protocol for Metadata Harvesting)

(71)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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

(72)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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

(73)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

Pot fi organizate (structurate) datele

într-o manieră riguroasă?

(74)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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

(75)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

taxonomii: exemplu

exemplu:

bioinformatică UniProt Taxonomy

www.uniprot.org

(76)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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 standardized relationship indicators

(77)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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)

(78)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

tezaure: skos

explorarea diverselor modele conceptuale (taxonomii, lexicoane) din cadrul Wikidata

– aici, regnul vegetal – via instrumentul Web Reasonator https://tools.wmflabs.org/reasonator/

(79)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

rdf: skos

Diverse alte lexicoane exprimate via SKOS:

Cadastre and Land Administration Thesaurus Drug Administration Forms

International Virtual Observatory Alliance astronomy voc.

STW Thesaurus for Economics Thesaurus for the Social Sciences USA Library of Congress’ vocabularies

Wikipedia Article categories

www.w3.org/2001/sw/wiki/SKOS/Datasets

(80)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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)

(81)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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 persoanelor

relația plays între clasa muzicienilor și clasa cântecelor +

fapte privitoare la acestea

e.g., Roger Waters interpretează „Three Wishes”

(82)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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/

(83)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

inferenţe

Achiziționarea unui aparat foto digital

Aplicație Web recomandând

cumpărături online

„Trimite-mi catalogul de 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

(84)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

inferenţe

Achiziționarea unui aparat foto digital

aplicația Web consultă o ontologie privitoare la camere digitale 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

(85)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

inferenţe

Achiziționarea unui aparat foto digital

ontologiile exprimate în OWL pot conduce la descoperirea 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

(86)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

Cum se asigură interoperabilitatea,

consistența și refolosirea web-urilor?

(87)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

linked data

Inițiativă privind publicarea și reutilizarea datelor structurate disponibile liber pe Web

interconectare a resurselor descrise la nivel de Web http://linkeddata.org/

(88)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

http://lod-cloud.net/

martie 2009

(89)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ sept. 2011

(90)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/ august 2014

Linking Open Data cloud diagram 2014

(M. Schmachtenberg, C. Bizer, A. Jentzsch, R. Cyganiak)

(91)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

Câteva exemplificări concrete?

(92)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

augmentarea căutării (via microdate HTML5 și RDFa) Google Structured Datadevelopers.google.com/structured-data/

(93)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

adnotări explicite ale codului HTML5 bazate pe concepte specificate de schema.org – aici, WebPage și Person

testare cu Structured Data Testing Tool

https://developers.google.com/structured-data/testing-tool/

(94)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

Wikidata

vizualizarea datelor interogate cu SPARQL

query.wikidata.org

(95)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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

(96)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

recomandări personalizate via baze publice de cunoștințe

exemplificare: seevl.fm http://semanticweb.com/tag/seevl

(97)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

modelarea cunoștințelor cu aplicabilitate

în mass-media exemplu: BBC

www.bbc.co.uk/ontologies

(98)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

utilizarea tehnologiilor Web-ului semantic pentru monitorizarea poluării – e.g., proiectul OpenSense2

J.-P. Calbimonte et al., „Semantic Data Layers in Air Quality Monitoring for Smarter Cities”, ISWC 2015 – http://jeanpi.org/wp/publications/

(99)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

„Epilog”:

următorii (zeci de) ani…

(100)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

„concluzii”

constituirea unui Web of Data

„Web 3.0”?

„semantic

Web”?

(101)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

„concluzii”

constituirea unui Web of Data

acces pe baza protocolului HTTP

(102)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

„concluzii”

constituirea unui Web of Data

descriere de resurse și a relațiilor dintre ele via RDF

Referințe

DOCUMENTE SIMILARE

Dezvoltarea unei arhitecturi software ia în calcul:. cerințe funcționale impuse

combinarea – la nivel de client și/sau server – a datelor ce provin din surse (situri) multiple, oferindu-se o funcționalitate/experiență nouă conform „curentului”

Fowler, Patterns of Enterprise Application Architecture, Addison-Wesley (2003)..

(pot conține date textuale și/sau alte

tehnologiile Web-ului semantic apar în cerințe de

dezvoltarea de aplicații Web la nivel de server cu Node.js – caracteristici,

Invocarea unui serviciu Web public pe baza descrierii WSDL a acestuia..

Exemplu: clasa mamelor reprezintă intersecția clasei femeilor cu cea a persoanelor care au copii. restricția 1: clasa persoanelor care