Transcript Web 3.0

Web 3.0
Concepte şi Tehnologii
Cosma Mihai
Master ISC sem I
Evoluţia Web-ului




Pre-Web
Web 1.0
Web 2.0
Web 3.0
Web 3.0
 Mai multe tehnologii ajunse la
maturitate simultan
 Aceste tehnologii se ajuta
reciproc
 Date legate (Linked Data)
Tehnologii convergente ale Web 3.0





Conectivitatea universală
Calcul pe reţea
Tehnologii Deschise
Identitate deschisa
Web-ul inteligent
Conectivitatea universală
 Adoptarea broadband-ului
 Acces mobil la internet
 Dispozitive mobile
Calcul pe reţea
 Modele software-ca-serviciu
 Interoperabilitatea serviciilor Web
 Calculul distribuit (P2P, grid
computing, ferme de servere - „cloud
computing” cum ar fi Amazon S3)
Tehnologii Deschise
 APIuri si protocoale deschise
 Formate de date deschise
 Platforme software open-source
 Date publice
Identitate deschisa
 OpenID
 Reputaţie deschisa
 Portabilitatea identităţii şi a datelor
personale
Web-ul inteligent
 Tehnologii Semantic Web (RDF, OWL,
SWRL, SPARQL, Platforme de aplicaţii
semantice şi magazii de date bazaze
pe declaraţii)
 Baze de date distribuite
 Aplicaţii inteligente (procesarea
libajului natural, învăţarea maşinilor,
raţionamentul maşinilor, agenţi
autonomi)
Semantic Web
VS.
Syntactic Web
Metadata
 serveşte la indexarea paginilor Web şi
siturilor Web
 permite altor calculatoare să
recunoască despre ce este pagina
 Utilizarea tradiţională de metadata a
fost adesea limitată la puţine instituţii
Ontologie
 reprezinta conceptualizarea unui
domeniu de cunoastere intr‐un format
destinat a fi procesat de calculator,
format modeland entitati, atribute,
relatii si axiome
 Subiectul ontologiei este studiul
categoriilor de lucruri (things) care
exista sau pot exista intr‐un domeniu
de interes
Ontologie
 O ontologie reprezinta un set de definitii
formulate intr‐un limbaj formal pentru
termenii ce descriu un domeniu de interes
(Adam Pease, 2007)
 catalog de tipuri de lucruri care se
presupune că există într‐un domeniu de
interes D (domain) din perspectiva unei
persoane care utilizează un limbaj L cu
scopul de a discuta despre D
ontologii – tipuri
 Conform nivelului de descriere oferit:
 Vocabular (schema XML)
 Taxonomie – relatii de clasificare (is a) - vedere
ierarhica a conceptelor (clase, sub‐clase, supra‐clase)
 Tezaur = taxonomie + termeni inruditi (via relatii de
echivalenta, ierarhii, asocieri etc.)
 Sistem relational (schema de baze de date)
 Teorie axiomatica (constrangeri ≡ axiome)
axiomă ≡ enunț logic ce nu poate fi dedus din altele,
dar poate fi folosit pentru demonstrarea altora
ontologii – tipuri
 Ontologii specializate (specifice
diverselor industrii sau domenii de
activitate)
 Ontologii generale (Cyc, OpenCyc,
ontologia lui Sowa, SUMO Suggested Upper Merged Ontology)
 Ontologii intermediare – mid-level –
între cele anterioare MILO (MIdLevel
Ontology)
ontologii – specificare
O ontologie va include:
 categoriile, clasele, conceptele
fundamentale
 proprietatile conceptelor
 relatiile & distinctiile dintre concepte
Limbaje pentru descriere de
ontologii
Resource Description Framework
(RDF)
 RDF este un framework pentru
descrierea resurselor Web, cum ar fi
titlul, autorul, data modificării,
conţinutul şi informaţiile de copyright
ale unei pagini Web.
 Documentele RDF sunt scrise în XML.
XML -> RDF/XML.
RDF
 identifică lucrurile folosind
identificatori Web (URI)
 descrie resursele cu proprietăţi şi
 valori ale proprietăţilor
Exemplu RDF
Title
Artist
Country
Company
Price
Year
Empire Burlesque
Bob Dylan
USA
Columbia
10.90
1985
Hide your heart
Bonnie Tyler
UK
CBS Records
9.90
1988
Exemplu RDF
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">
<rdf:Description rdf:about="http://www.recshop.fake/cd/Empire Burlesque">
<cd:artist>Bob Dylan</cd:artist>
<cd:country>USA</cd:country>
<cd:company>Columbia</cd:company>
<cd:price>10.90</cd:price>
<cd:year>1985</cd:year>
</rdf:Description>
<rdf:Description rdf:about="http://www.recshop.fake/cd/Hide your heart">
<cd:artist>Bonnie Tyler</cd:artist>
<cd:country>UK</cd:country>
<cd:company>CBS Records</cd:company>
<cd:price>9.90</cd:price>
<cd:year>1988</cd:year>
</rdf:Description>
</rdf:RDF>
RDF Schema (RDFS)
 RDF Schema oferă un framework
pentru a descrie clasele şi
proprietăţile specifice unei aplicaţii.
 Clasele în RDF Schema sunt
asemănătoare cu clasele din
programarea orientată obiect.
 Permite resurselor să fie definite ca
instanţe ale claselor şi subclase ale
claselor.
Exemplu RDF-S
<?xml version="1.0"?>
<rdf:RDFxmlns:rdf= "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs=http://www.w3.org/2000/01/rdf-schema#
xml:base= "http://www.animals.fake/animals#">
<rdf:Description rdf:ID="animal">
<rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
</rdf:Description>
<rdf:Description rdf:ID="horse">
<rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
<rdfs:subClassOf rdf:resource="#animal"/>
</rdf:Description>
</rdf:RDF>
rdf:Description  rdfs:Class
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf= "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs=http://www.w3.org/2000/01/rdf-schema#
xml:base= "http://www.animals.fake/animals#">
<rdfs:Class rdf:ID="animal" />
<rdfs:Class rdf:ID="horse">
<rdfs:subClassOf rdf:resource="#animal"/>
</rdfs:Class>
</rdf:RDF>
Web Ontology Language (OWL)
 descrie clase, proprietăţi şi relaţii
între aceste obiecte conceptuale întrun mod care facilitează interpretarea
de către calculatoare a conţinutului
Web
 are o semantică mult mai bogată
OWL: niveluri
 OWL Lite – pentru exprimarea ierarhiilor de
clasificare si a unor constringeri simple
 OWL DL – ofera maximum de expresivitate,
fara pierderea completitudinii &
decidabilitatii
 OWL Full – maximum de expresivitate si
flexibilitate,fara a se pune problema
completitudinii
 OWL Lite ⊂ OWL DL ⊂ OWL Full (vocabular)
OWL
Constructii pentru descrierea proprietatilor si
claselor: relatiile dintre clase
disjunctia
 cardinalitatea – ex., “exact una”
 egalitatea/echivalenta (conceptelor,
proprietatilor,…)
 specificarea tipurilor de proprietati caracteristicile proprietatilor – ex. ,
simetria, inversa
OWL
 O ontologie OWL este compusa din:
clase
instante de clase
relatii intre instantele claselor
 nu se impune apriori o cunoastere completa
a domeniului de interes – ipoteza open
world
 fiecare ontologie va fi identificata de un URI
OWL
 Clase (concepte):
Class, rdfs:subClassOf, intersectionOf
 Proprietati:
rdfs:Property, rdfs:subPropertyOf, rdfs:domain, rdfs:range
 (In)egalitati:
equivalentClass, equivalentProperty,
sameAs, differentFrom, allDifferent
 Caracteristici ale proprietatilor:
inverseOf, TransitiveProperty, SymmetricProperty,
FunctionalProperty, InverseFunctionalProperty
 Restrictii de tip asupra proprietatilor:
allValuesFrom, someValuesFrom
 Restrictii de cardinalitate:
minCardinality, maxCardinality, cardinality
Semantic Web Rule Language
(SWRL)
 propunere pentru un limbaj de reguli
pentru Semantic Web
 combină sublimbaje ale OWL (OWL
DL şi Lite) cu cele ale Rule Markup
Language (Unary/Binary Datalog)
 Regulile sunt de forma unei implicaţii
între un antecendent (body) şi o
consecinţă (head).
hasParent(?x1,?x2) ^ hasBrother(?x2,?x3) => hasUncle(?x1,?x3)
<ruleml:imp>
<ruleml:_rlab ruleml:href="#example1"/>
<ruleml:_body>
<swrlx:individualPropertyAtom swrlx:property="hasParent">
<ruleml:var>x1</ruleml:var>
<ruleml:var>x2</ruleml:var>
</swrlx:individualPropertyAtom>
<swrlx:individualPropertyAtom swrlx:property="hasBrother">
<ruleml:var>x2</ruleml:var>
<ruleml:var>x3</ruleml:var>
</swrlx:individualPropertyAtom>
</ruleml:_body>
<ruleml:_head>
<swrlx:individualPropertyAtom swrlx:property="hasUncle">
<ruleml:var>x1</ruleml:var>
<ruleml:var>x3</ruleml:var>
</swrlx:individualPropertyAtom>
</ruleml:_head>
</ruleml:imp>
SPARQL
 pronunţat “sparkle”
 limbaj de interogare a RDF
 Simple Protocol abd RDF Query
Language
 interogare să fie formată din
paternuri triple, conjuncţii, disjuncţii
şi paternuri opţionale
Exemplu SPARQL
PREFIX abc: <http://example.com/exampleOntology#>
SELECT ?capital ?country
WHERE {
?x abc:cityname ?capital ;
abc:isCapitalOf ?y .
?y abc:countryname ?country ;
abc:isInContinent abc:Africa .
}
Aplicatii




Semantic desktop
Arta
Agenti software
Geospatial Semantic Web