Sunteți pe pagina 1din 51

Programarea Clientului Web

s.l. dr. ing. Simona Caraiman


mailto: sarustei@cs.tuiasi.ro

Universitatea Tehnica Gh. Asachi din Iasi


Facultatea de Automatica si Calculatoare

Web Semantic

De ce Web Semantic?
Coninutul
semantic
este accesibil
pentru
oameni dar
nu i pentru
calculatoare

Ce informaii vede un calculator?

Soluia: Web Semantic


o semnificaiile datelor pot fi
descoperite nu numai de
oameni, dar i de
calculatoare
o web-ul semantic implic o
viziune n care
calculatoarele (prin
software) ca i oamenii pot
gsi, citi, nelege i utiliza
date din World Wide Web
pentru a realiza obiective
utile oamenilor.

Web Semantic
o Tim Berners-Lee:
Web semantic = o reea de date care pot fi procesate
direct sau indirect de ctre maini

o Web-ul semantic = web al datelor

n permite mainilor s neleag semantica, sensul


informatiilor din spaiul WWW.
n extinde reeaua de pagini web (interpretabile de om)
prin inserarea de metadate (interpretabile de maini)
o despre pagini
o despre modalitatea prin care acestea relaioneaz unele
cu celelalte

n permite agenilor automai s acceseze spaiul web


ntr-un mod mult mai inteligent i s efectueze sarcini
n numele utilizatorilor.

Web Semantic - exemple


o Cautarea semantica
n publicarea datelor structurate extrase din
Wikipedia
n complex queries (Faceted Wikipedia
Search):
o Rivers that flow into the Rhine and are
longer than 50 kilometers
o French scientists who were born in the
19th century

Web Semantic - exemple


o Administrarea unei deplasari
Rezervare
zbor Geneva

Calendar
Nota: reprogrameaza
sedinta de acupunctura
de marti, 27.03

Agent Web
Semantic

Preferinte

Mancare: veggie
Zbor: loc la geam
Hoteluri: Ramada,..

Listare
documente
confirmare
Update
aplicatie
contabilitate

Plata card
Rezervare
hotel
Geneva

Plata card

Web Semantic - Caracteristici


Conform Tim BernersLee (2006):
o interoperabilitatea datelor intre aplicatii si organizatii (pt. IT)
o un set de standarde interoperabile pt. interschimbul de cunostinte
o o arhitectura pt. comunitati si vocabulare interconectate
Principii de independen a datelor:
o modelarea datelor trebuie s in cont de sintax, de semantic i
de pragmatic
o modelarea datelor face implicitul explicit
o modelarea datelor trebuie s se realizeze ntro manier
descentralizat & standardizat
o datele sunt mai importante dect aplicaiile
o valoarea datelor crete proporional cu numrul de conexiuni pe
care o resurs le are cu altele

Web Semantic - deziderate


o

asocierea de semantici legturilor dintre resurse, cu


posibilitatea extinderii acestor semantici;

posibilitatea de extindere si clasificare a resurselor Web


o

adoptatarea de specificaii conceptuale;

la nivel programatic, existenta unor entiti capabile s


proceseze n manier inteligent informaiile i s raioneze,
oferind oamenilor i mainilor servicii complexe;

partajarea de ctre utilizatori a cunotinelor, indiferent de


modul de stocare i de reprezentare a acestora.

C9-Plug-ins.Extensii

Stiva Web Semantic


XML

XML este un standard pentru descrierea structurii


documentelor

XML SCHEMA

XML Schema este un limbaj ce impune constrngeri


asupra structurii documentelor XML

RDF

Este model de date pentru obiecte (resurse) i


relaiile dintre ele utiliznd sintaxa XML

RDF SCHEMA

RDF Schema este un vocabular pentru descrierea


proprietilor i claselor resurselor RDF, cu o
semantic pentru generalizarea/ ierarhizarea
acestora

OWL

OWL adaug noi elemente de vocabular pentru


descrierea proprietilor i claselor: among others,
relaii ntre clase disjointness, cardinalitate - exactly
one, egalitate, simetrie, etc.

Metadate
Metadate date care descriu alte date (cine le-a produs, cnd, n
ce format se gsesc etc.)

Meta-limbajul XML - nivelul de baz pentru realizarea schimbului


de date n manier structurat sau semi-structurat, cu concursul
identicatorilor uniformi de resurse i a namespace-urilor;


Utilizri ale XML pentru Web-ul semantic:
o sintax serializat pentru alte limbaje de marcare - limbajul de
baz pentru Web-ul semantic;
o separarea formei de coninut un anumit vocabular XML poate
tradus n alte limbaje XML (XHTML) n vederea reprezentrii la
nivelul clientului (navigatorului);
o format universal de schimb de date ntre aplicaii distribuite,
aliniate Web-ului semantic, precum agenii software.

Metadate
Microformate

o Extind sintaxa HTML pt. a crea mark-up semantic


o Scop: procesarea automata a informatiilor
o Adauga metadate in paginile web pt. a descrie un
tip specific de informatie
n ex.: persoane, evenimente, produse, locatii
geografice, etc.

o Indicarea prezentei metadatelor:

n atributele (class, rel, id) elementelor HTML


(<div>, <span>)

o Exemple:

n hCard, hCalendar, hMedia, hResume, hRecipe,


hReview

<div>
<img src="www.example.com/bobsmith.jpg" />
<strong>Bob Smith</strong>
Senior editor at ACME Reviews
200 Main St Desertville, AZ 12345
</div>

Metadate

Microformate

o class="vcard">
Extind sintaxa HTML pt. a crea mark-up semantic
<div
class="photo"
src="www.example.com/bobsmith.jpg"
o<img
Scop:
procesarea
automata a informatiilor />
<strong class="fn">Bob Smith</strong>
o<span
Adauga
metadate in editor</span>
paginile web
a descrie un
class="title">Senior
at pt.
<span
tip specificReviews</span>
de informatie
class="org">ACME
<span
class="adr">
n ex.:
persoane, evenimente, produse, locatii
<span
class="street-address">200
Main St</span>
geografice,
etc.
<span class="locality">Desertville</span>, <span
o
Indicarea
prezentei metadatelor:
class="region">AZ</span>
n
atributele
(class, rel, id) elementelor HTML
<span
class="postal-code">12345</span>
(<div>, <span>)
</span>
</div>
o Exemple:
n hCard, hCalendar, hMedia, hResume, hRecipe,
hReview

RDF Resource Description Framework


o

o
o
o

meta-limbajul XML nu poate exprima semantici, ci doar


reflect o manier sintactic uniform de structurare a
datelor;
RDF: asocierea resurselor cu metadate
Recomandare W3C (www.w3.org/RDF/)
RDF mecanism de descriere a resurselor independent
de domeniul de folosire a datelor, fr a specifica a priori
vreo semantic.
o
o

descrierea resurselor trebuie s se realizeze ntr-o manier


neutr, general i extensibil;
folosete limbajul XML pentru reprezentarea sintactic a
metadatelor;

RDF Resource Description Framework


o Motivatie: distribuirea datelor pe Web
o
o

Web-ul = o baza de date distribuita


Requirements:
o
o

Uzual, datele sunt reprezentate in forma tabelara (modelul


relational)
o
o
o

o maniera de a atasa metadate datelor (vocabulare de termeni)


un mod de a specifica relatii intre resurse (structuri de
organizare a datelor)

un rand descrie un obiect specific (item)


o coloana reprezinta o proprietate a tuturor item-ilor
o celula desemneaza o valoare particulara a unei proprietati
asociate obiectului de interes

Fragmente de date vor fi disponibile pe calculatoare diferite,


accesate via tehnologii Web actuale

RDF Resource Description Framework


o Motivatie: distribuirea datelor pe Web
o
o

Web-ul = o baza de date distribuita


Requirements:
o
o

Uzual, datele sunt reprezentate in forma tabelara (modelul


relational)
o
o
o

o maniera de a atasa metadate datelor (vocabulare de termeni)


un mod de a specifica relatii intre resurse (structuri de
organizare a datelor)

un rand descrie un obiect specific (item)


o coloana reprezinta o proprietate a tuturor item-ilor
o celula desemneaza o valoare particulara a unei proprietati
asociate obiectului de interes

Fragmente de date vor fi disponibile pe calculatoare diferite,


accesate via tehnologii Web actuale

RDF
o
o
o
o

sistem de clase similar celui din programarea orientat obiect;


colecie de clase (dezvoltat pentru un anumit scop specic) =
schem;
clasele sunt organizate ierarhic extensibilitate prin ranarea subclaselor;
pentru crearea de noi scheme, se pleac de la o schem de baz
(clas abstract) reutilizarea deniiilor de metadate;


Tipuri de obiecte pentru modelul de baz RDF:
o resurse datele descrise de expresiile RDF (o pagin Web
complet, o parte a unei pagini sau un obiect care nu este direct
accesibil via Web - o carte tiprit);
o proprieti atribute sau relaii ce descriu o resurs;
o declaraii resurse mpreun cu proprieti ale sale.

RDF Schema
o

extinde modelul RDF pentru a oferi posibilitatea interpretrii la


nivel semantic a proprietilor exprimate prin intermediul
modelului RDF;

nu impune constrngeri n ceea ce privete modul de


exprimare sintactic a unei descrieri RDF asociate unei resurse.

definete unui vocabular particular privitor la datele exprimate


n RDF;

ofer un sistem de tipuri de baz pentru modelele exprimate n


RDF;

pune la dispoziie o sintax standardizat pentru specificarea


de ontologii i a unui set standard de primitive de modelare,
precum relaii de tipul subclas (subclass-of) sau instan
(instance-of).

RDF - Reguli
o Identificarea resurselor URI
o Descrierea resurselor proprietati si valori ale
proprietatilor
o Resursa orice are asociat un URI
o Proprietate resursa care are un nume (ex.
autor, homepage)
o Valoarea proprietatii ex. Ion Creanga (poate
fi o alta resursa)

RDF
o Ofera un model de specicare a triplelor (rand,
coloana, valoare de celula) via identicatori uniformi
de resurse URI

RDF - Statements
o combinatia dintre o resursa, o proprietate si valoarea
proprietatii formeaza o Declaratie (Statement)
n known as the subject, predicate and object of a
Statement.

RDF - Statements
o Subiect = rand: resursa despre care se spune ceva
o Predicat = coloana: o proprietate a subiectului
o Obiect = celula: valoare particulara a proprietatii

RDF - Statements
o combinatia dintre o resursa, o proprietate si valoarea
proprietatii formeaza o Declaratie (Statement)
n known as the subject, predicate and object of a
Statement.

Statement:
The author of http://users.cs.tuiasi.ro/~sarustei/ is Simona
Caraiman".
n Subiectul este: http://users.cs.tuiasi.ro/~sarustei/
n Predicatul este: author
n Obiectul este: Simona Caraiman

RDF - Statements
o combinatia dintre o resursa, o proprietate si valoarea
proprietatii formeaza o Declaratie (Statement)
n known as the subject, predicate and object of a
Statement.

Title

Artist

Country

Bob Dylan
USA
RDF - Statements

Empire Burlesque
Hide your heart

Bonnie Tyler

UK

Company

Price

Year

Columbia

10.90

1985

CBS Rec.

9.90

1988

<?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:RDF>

<?xml version="1.0"?>

RDF
Statements
<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#">
<rdf:Description rdf:ID="animal">
<rdf:type rdf:resource="http://www.w3.org/2000/01/rdfschema#Class"/>
</rdf:Description>
<rdf:Description rdf:ID="horse">
<rdf:type rdf:resource="http://www.w3.org/2000/01/rdfschema#Class"/>
<rdfs:subClassOf rdf:resource="#animal"/>
</rdf:Description>
</rdf:RDF>

Dublin Core
o set of predefined properties for describing
documents
n created by Dublin Core Metadata
Initiative (DCMI)
n original Dublin Core Metadata Element
Set consists of 15 metadata elements

Dublin Core
o set of predefined properties for describing
documents
n created by Dublin Core Metadata
Initiative (DCMI)
n original Dublin Core Metadata Element
Set consists of 15 metadata elements

Dublin Core
<?xml version="1.0"?>

o set of predefined properties for describing


<rdf:RDF
documents
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc=
"http://purl.org/dc/elements/1.1/">
n created
by Dublin Core Metadata
Initiative (DCMI)
<rdf:Description rdf:about="http://www.w3schools.com">
<dc:description>W3Schools
- Free Metadata
tutorials</dc:description>
n original Dublin Core
Element
<dc:publisher>Refsnes Data as</dc:publisher>
Set consists of 15 metadata elements
<dc:date>2008-09-01</dc:date>
<dc:type>Web Development</dc:type>
<dc:format>text/html</dc:format>
<dc:language>en</dc:language>
</rdf:Description>
</rdf:RDF>

OWL - Web Ontology Language


Necesitate :
o existena unui vocabular comun
n

elementele sintactice (cuvintele, marcatorii etc.) au acelai neles


att pentru transmitor, ct i pentru destinatar

o existena unui set comun de constrngeri


o existena unui cadru conceptual comun oferind relaii ntre
clase de informaii
o nelegerea informaiilor nu va fi influenat de
cunotinele iniiale nespecificate

Soluia :
o Modelarea cunotinelor via ontologii
o OWL proiectat pt. procesarea informatiilor

Ontologii
O ontologie reprezint conceptualizarea unui domeniu de
cunoatere ntrun format destinat a fi procesat de
calculator, format modelnd entiti, atribute, relaii i
axiome.
Ontologie catalog de tipuri de lucruri care se presupune c
exist ntrun domeniu de interes D (domain) din
perspectiva unei persoane care utilizeaz un limbaj L cu
scopul de a discuta despre D.
O ontologie cuprinde:
o categoriile, conceptele fundamentale
o proprietile conceptelor
o relaiile si diferenele dintre concepte

Ontologii
o Folosind ontologii, asociem semantici lucrurilor
despre care vorbim,
o descrierile semantice ajut calculatoarele s
par smart.
o Un program smart ar trebui sa fie capabil s
realizeze aceleai inferente pe care le fac oamenii.
o Ontologiile pot fi folosite pentru a conecta
informatiile la context intr-o maniera neambigua

Ontologii: exemple
A human is a living thing.
A person is a human.
A person may have a first name.
A person may have a last name.
A person must have one and only one date of birth.
A person must have a gender.
A person may be socially related to another person.
A friendship is a kind of social relationship.
A romantic relationship is a kind of friendship.
A marriage is a kind of romantic relationship.
A person may be in a marriage with only one other person at a time.
A person may be employed by an employer.
An employer may be a person or an organization.
An organization is a group of people.
An organization may have a product or a service.
A company is a type organization.

Ontologii: exemple
There exists a person x.
Person x has a first name Sue
Person x has a last name Smith
Person x has a full name "Sue Smith"
Sue Smith was born on June 1, 2005
Sue Smith has a gender: female
Sue Smith has a friend: Jane, who is another person.
Sue Smith is married to: Bob, another person.
Sue Smith is employed by Acme, Inc, a company.
Acme Inc. has a product, Widget 2.0.

Setul de declaratii de mai sus impreuna cu ontologia cu care sunt


conectate formeaza o baza de cunostinte care, daca este
reprezentata formal in limbaj OWL, poate fi inteleasa de orice
aplicatie care vorbeste OWL.

Ontologii: exemple
Crocodil reprezint un concept ai crui membri sunt animale de un
anumit tip.
Ierbivor este un concept ai crui membri sunt acele animale care
consum doar plante ori pri de plante.
Orice membru al clasei Crocodil este vorace (gurmand).
Un animal nu poate fi simultan Ierbivor si Carnivor.

Ontologii: exemple
Ontologii specializate:
-
-
-
-
-

Biologie (GO Gene Ontology)


Comert electronic (GoodRelations)
Muzica (MO Music Ontology)
Ontologia proceselor (serviciilor Web) OWL-S
Etc.

Niveluri OWL
OWL Lite (poate face o clasificare ierarhic i simpl a
caracteristicilor de constrngere)
OWL DL (DL Description Logic ofer maximum de
expresivitate, fr pierderea completitudinii &
decidabilitii)
OWL Full ( maximum de expresivitate i flexibilitate, fr
a se pune problema completitudinii)

OWL Lite OWL DL OWL Full

OWL - Sintaxa
O clas este:
o colecie de indivizi (obiecte, things,...)
o modalitate de a descrie o lume
reprezinta un obiect (thing) al lumii
O clas se specific prin owl:Class
Cea mai general clas va fi owl:Thing
Relaia de derivare a claselor se exprim prin rdfs:subClassOf
<owl:Class rdf:ID="Audio">
<rdfs:subClassOf rdf:resource="#Multimedia" />
</owl:Class>

OWL - Sintaxa
Expresii de clas:

reuniune <owl:unionOf>
intersecie <owl:intersectionOf>
complementara <owl:complementOf>
echivalenta<owl: equivalentClass>
un element <owl:oneOf>
toate elementele <owl:allValuesFrom>
unele elemente <owl:someValuesFrom>
cardinalul maxim <owl:maxCardinality>
cardinalul minim <owl:minCardinality>
disjuncie <owl:disjointWith>

OWL - Sintaxa
Elefantul nu este nici carnivor, nici omnivor

<owl:Class rdf:ID=Elefantul">
<rdfs:subClassOf rdf:resource="#Ierbivor" />
<owl:disjointWith rdf:resource="#Carnivor />
<owl:disjointWith rdf:resource="#Omnivor" />
</owl:Class>
Semantica operaiilor e conform cu teoria multimilor
Expresiile de clasa sunt asemenea constructorilor claselor

Sintaxa OWL

OWL - Sintaxa
Proprietile
relaii binare care pot specifica fapte privitoare la membrii
unei clase sau la indivizi
se refera la tipurile de date (datatype property)
se refera la obiecte (object property) vzute drept colecii de
relaii ntre indivizi (i date)
Elefantul mananca frunze,flori,iarba
<owl:ObjectProperty rdf:ID=mananca frunze,flori,iarba">
<rdfs:domain rdf:resource="#Ierbivor" />
</owl:ObjectProperty>

OWL - Sintaxa
Un individ (membru) al unei clase se declar ca aparinnd
clasei respective i reprezint un obiect al lumii (Thing).
Este nrudit cu alte obiecte sau valori de date via Proprieti.
<!-- definim individul -->
<owl:Thing rdf:ID=Simfonia 9">
<rdfs:comment>Compusa de Beethoven</rdfs:comment>
</owl:Thing>
<!-- ulterior, specificm tipul lui (eventual proprieti/metadate) -->
<owl:Thing rdf:about=#Simfonia 9 ">
<rdf:type rdf:resource="#Audio" />
</owl:Thing>

OWL Sintaxa abstracta


o Ontologie o secventa de adnotari, axiome si
fapte.
o Adnotari contin meta-date atat orientate-masina cat si
oameni.
o Informatiile despre clasele, proprietatile si indivizii ce compun
o ontologie sunt continute doar in axiome si fapte.
o Fiecare clasa, proprietate sau individ este fie anonim fie
identificat printr-un URI
o Faptele exprima date fie despre un individ sau despre o
pereche de identificatori ai indivizilor
o Axiomele specifica caracteristicile claselor si ale
proprietatilor

Exemple Altova SemanticWorks

Ontologii - exemple
o ontology of wine and food and
appropriate combinations of wine with
meals.
n can be used as a basis for some applications
in a suite of restaurant-managing tools:
o App: create wine suggestions for the menu of
the day or answer queries of waiters and
customers.
o App: analyze an inventory list of a wine cellar
and suggest which wine categories to expand
and which particular wines to purchase for
upcoming menus or cookbooks

Web semantic - exemple

Web semantic - exemple

Concluzii
Web-ul semantic ar trebui s permit ca datele,
localizate oriunde pe web, s fie accesibile i nelese
att de oameni, ct i de calculatoare.
Folosind ontologii, asociem semantici lucrurilor despre
care vorbim, descrierile semantice ajuta
calculatoarele s par smart. Un program smart ar
trebui sa fie capabil s realizeze aceleai inferene pe
care le fac (unii) oameni.
Owl cuprinde:
- categoriile, conceptele fundamentale
- proprietile conceptelor
- relaiile si diferenele dintre concepte

S-ar putea să vă placă și