Docstoc

Cosma Mihai

Document Sample
Cosma Mihai Powered By Docstoc
					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 într-
  un 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

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:5
posted:8/16/2012
language:
pages:36