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