Web Semântica
    a terceira geração da Web




 Otávio Calaça Xavier
 otaviocx@gmail.com
                        Porto Alegre, 21 de julho de 2010
Grupo de Desenvolvedores
           PHP de Goiás
   Criado em dezembro de 2007;
   Lista de Discussão:
     −   Mais de 450 membros.
   Encontros:
     −   Palestras;
     −   Networking.
   Site:
     −   www.gophp.com.br
   Eventos:
     −   FLISOL, FGSL, Latinoware, Conisli, CONSOFT, PHP
         Conference Brasil, FISL ...
Web Semântica, a terceira geração da Web


                     Roteiro
• O que é a Web Semântica?
     – Web 1.0 e Web 2.0
     – O Problema
     – A Solução (Web 3.0)
• Como garantir Semântica na Web?
     – Estrutura, Identificação e Definição
     – O RDF
     – Ontologias
     – SPARQL
     – RDFa e Micro formatos
• Quem já está usando?
                                                3
Web Semântica, a terceira geração da Web


 O que é a Web Semântica?
• Web 1.0
    – Documentos ligados por Hyperlinks pela
      Internet;
    – Sites pessoais, institucionais e
      informativos;
    – Preocupação com o conteúdo e as
      referências, não com a interface.


                                               4
Web Semântica, a terceira geração da Web


 O que é a Web Semântica?
• Web 2.0
    –   O Ajax virou tendência;
    –   Conteúdo em multimídia;
    –   Compartilhamento de fotos e vídeos;
    –   Redes Sociais;
    –   Wikis;
    –   Colaborativismo e interatividade.


                                              5
Web Semântica, a terceira geração da Web


O que é a Web Semântica?




                                            6
Web Semântica, a terceira geração da Web


 O que é a Web Semântica?
• O problema:
    – A Web é baseada no HTML;
    – O HTML define a estrutura, ou sintaxe, do
      conteúdo;
    – Mas e a semântica?




                                               7
Web Semântica, a terceira geração da Web


  O que é a Web Semântica?
• A Web 3.0
    – Se os computadores conseguirem
      interpretar o significado do conteúdo,
      serão capazes de “entender” a informação;
      informação = dados contextualizados
    – Buscas mais eficazes e inteligentes;
    – O resultado passa a ser a informação e
      não um suposto local para encontrá-la

                                               8
Web Semântica, a terceira geração da Web


O que é a Web Semântica?
“Eu tenho um sonho para a Web [em que os
computadores] irão tornar-se capazes de analisar
todos os dados na rede – o conteúdo, links e
transações entre pessoas e computadores. A 'Web
Semântica', que tornará isto possível, ainda não
surgiu, mas quando isso acontecer, o dia a dia dos
mecanismos de comércio, a burocracia e as nossas
vidas diárias serão manipulados por máquinas
falando com outras máquinas.”
                        Tim Berners-Lee em 1999

                                                9
Web Semântica, a terceira geração da Web


 Como garantir semântica na
          Web?
• De cima para baixo:
    – Análise da informação;
    – Processamento de linguagem natural;
    – Alta complexidade e possíveis falhas;




                                               10
Web Semântica, a terceira geração da Web


 Como garantir semântica na
          Web?
• De baixo para cima:
    – Encapsular semântica através de
      anotações, no conteúdo;
    – Descrevendo cada coisa;
    – Relacionando coisas;
    – Descrevendo relacionamentos.


                                               11
Web Semântica, a terceira geração da Web


Como interpretar o significado dos
            dados?
                   Estrutura
                       +
                 Identificação
                       +
                   Definição


                                                12
Web Semântica, a terceira geração da Web


Como interpretar o significado dos
            dados?
 • Estrutura
     – RDF: Resource Description Framework;
           •   Padrão W3C para descrever recursos Web;
           •   Identifica coisas através de URIs;
           •   Várias implementações;
           •   Triples: Formadas por 3 elementos:
               sujeito+predicado+objeto



                                                    13
Web Semântica, a terceira geração da Web


Como interpretar o significado dos
            dados?
 • Estrutura
     – Exemplo
       de RDF:




                                                 14
Web Semântica, a terceira geração da Web


Como interpretar o significado dos
            dados?
• Identificação
    – Cada coisa, recurso ou conceito deve ter um
      identificador único
          • São usadas URIs
          • Exemplo:
                  – Laranja1: http://www.exemplo.com/cor/laranja
                  – Laranja2: http://www.exemplo.com/fruta/laranja
          • Padrões:
                  – ISBN: Livros
                  – ISMN: Musicas
                  – CPF: Pessoas Brasileiras
                                                               15
Web Semântica, a terceira geração da Web


Como interpretar o significado dos
            dados?
 • Definição
     – Ontologias
          • Define e descreve coisas, conceitos,
            recursos, propriedades e relacionamentos;
          • Exemplo:
                –   Laranja1 é uma Cor
                –   Laranja2 é um tipo de Fruta
                –   Fruta é uma Coisa Comestível
                –   Uma Cor nunca poderá ser uma Coisa
                    Comestível

                                                         16
Web Semântica, a terceira geração da Web


Como interpretar o significado dos
            dados?
 • Definição
     – Ontologias
          • Exemplo:
                – Propriedades de Coisa Comestível:
                        » Sazonal – Sim/Não
                        » Calorias – # (número)
                        » Ingredientes (opcional) – outra Coisa
                          Comestível




                                                            17
Web Semântica, a terceira geração da Web



Desenhar é sempre bom...

   Sujeito

                  Predicado

                                    Objeto




                                             18
Web Semântica, a terceira geração da Web



Desenhar é sempre bom...
                              Coisa Comestível


                      SubClassOf

           Fruta                           TypeOf


             TypeOf                         Suco de Laranja


                   Laranja2          IngredientOf


                                                              19
Web Semântica, a terceira geração da Web



     Desenhar é sempre bom...
           Cor                          Coisa Comestível


    IsA                         SubClassOf

                     Fruta                           TypeOf

Laranja1
                       TypeOf                         Suco de Laranja


                             Laranja2          IngredientOf
           ColorOf

                                                                        20
Web Semântica, a terceira geração da Web


Implementando semântica na
          WEB
• RDF/XML




                                              21
Web Semântica, a terceira geração da Web


 Implementando semântica na
           WEB
• Notation3 (N3)
 @prefix dc: <http://purl.org/dc/elements/1.1/>.

 <http://en.wikipedia.org/wiki/Tony_Benn>
   dc:title "Tony Benn";
   dc:publisher "Wikipedia".




                                                   22
Web Semântica, a terceira geração da Web


  Implementando semântica na
            WEB
• RDFa: RDF nos atributos das tags XHTML;
 <div xmlns:dc="http://purl.org/dc/elements/1.1/"
   about="http://www.example.com/books/wikinomics">
   <span property="dc:title">Wikinomics</span>
   <span property="dc:creator">Don Tapscott</span>
   <span property="dc:date">2006-10-01</span>
 </div>

• Aplicação de Ontologias
     – FOAF: Friend of a Friend;
     – SIOC: Semantically-Interlinked Online Communities.

                                                      23
Web Semântica, a terceira geração da Web


 Implementando semântica na
           WEB
• Dublin Core (dc):

     1. Title               8. Type
     2. Creator             9. Format
     3. Subject             10. Identifier
     4. Description         11. Source
     5. Publisher           12. Language
     6. Contributor         13. Relation
     7. Date                14. Coverage
                            15. Rights

                                                24
Web Semântica, a terceira geração da Web


 Implementando semântica na
           WEB
• MicroFormats:

<div class="vcard">
  <div class="fn">Joe Doe</div>
  <div class="org">The Example Company</div>
  <div class="tel">604-555-1234</div>
  <a class="url" href="http://example.com/">http://example.com/</a>
</div>




                                                              25
Web Semântica, a terceira geração da Web


 Implementando semântica na
           WEB
• OWL: Ontology Web Language
<rdf:RDF xmlns:owl =http://www.w3.org/2002/07/owl#"
xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:xsd ="http://www.w3.org/2001/XMLSchema#">
<owl:Ontology rdf:about="">
   <rdfs:comment>An example OWL ontology</rdfs:comment>
   <owl:priorVersion
       rdf:resource="http://www.mydomain.org/uni-ns-old"/>
   <owl:imports
       rdf:resource="http://www.mydomain.org/persons"/>
   <rdfs:label>University Ontology</rdfs:label>
</owl:Ontology>
                                                      26
Web Semântica, a terceira geração da Web


Implementando semântica na
          WEB
• SPARQL: SPARQL Protocol and RDF
  Query Language
  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 .
  }


                                                      27
Web Semântica, a terceira geração da Web


 Quem já está usando?




                                           28
Web Semântica, a terceira geração da Web


 Quem já está usando?




                                           29
Web Semântica, a terceira geração da Web


     Quem já está usando?
• The Wall Street Journal




                                               30
Web Semântica, a terceira geração da Web


 Quem já está usando?




                                           31
Web Semântica, a terceira geração da Web


 Quem já está usando?




                                           32
Web Semântica, a terceira geração da Web


 Quem já está usando?




                                           33
Web Semântica, a terceira geração da Web


                  Referências

• Web 3.0: The Semântic Web
        – por Hatem Mahmoud
• There's no Semantic Web without content and data
        – por Rachel Lovinger
• The SPARQL Specification
        – http://www.w3.org/TR/rdf-sparql-query/
• Ontology Languages
        – por F. Corno e L. Farinetti

                                                     34
Web Semântica, a terceira geração da Web


                 FIM

           Perguntas?
Otávio Calaça Xavier – otaviocx@gmail.com
           http://poomax.com.br
                 @otaviocx



            Obrigado!
                                            35

Web Semântica, a terceira geração da Web

  • 1.
    Web Semântica a terceira geração da Web Otávio Calaça Xavier otaviocx@gmail.com Porto Alegre, 21 de julho de 2010
  • 2.
    Grupo de Desenvolvedores PHP de Goiás  Criado em dezembro de 2007;  Lista de Discussão: − Mais de 450 membros.  Encontros: − Palestras; − Networking.  Site: − www.gophp.com.br  Eventos: − FLISOL, FGSL, Latinoware, Conisli, CONSOFT, PHP Conference Brasil, FISL ...
  • 3.
    Web Semântica, aterceira geração da Web Roteiro • O que é a Web Semântica? – Web 1.0 e Web 2.0 – O Problema – A Solução (Web 3.0) • Como garantir Semântica na Web? – Estrutura, Identificação e Definição – O RDF – Ontologias – SPARQL – RDFa e Micro formatos • Quem já está usando? 3
  • 4.
    Web Semântica, aterceira geração da Web O que é a Web Semântica? • Web 1.0 – Documentos ligados por Hyperlinks pela Internet; – Sites pessoais, institucionais e informativos; – Preocupação com o conteúdo e as referências, não com a interface. 4
  • 5.
    Web Semântica, aterceira geração da Web O que é a Web Semântica? • Web 2.0 – O Ajax virou tendência; – Conteúdo em multimídia; – Compartilhamento de fotos e vídeos; – Redes Sociais; – Wikis; – Colaborativismo e interatividade. 5
  • 6.
    Web Semântica, aterceira geração da Web O que é a Web Semântica? 6
  • 7.
    Web Semântica, aterceira geração da Web O que é a Web Semântica? • O problema: – A Web é baseada no HTML; – O HTML define a estrutura, ou sintaxe, do conteúdo; – Mas e a semântica? 7
  • 8.
    Web Semântica, aterceira geração da Web O que é a Web Semântica? • A Web 3.0 – Se os computadores conseguirem interpretar o significado do conteúdo, serão capazes de “entender” a informação; informação = dados contextualizados – Buscas mais eficazes e inteligentes; – O resultado passa a ser a informação e não um suposto local para encontrá-la 8
  • 9.
    Web Semântica, aterceira geração da Web O que é a Web Semântica? “Eu tenho um sonho para a Web [em que os computadores] irão tornar-se capazes de analisar todos os dados na rede – o conteúdo, links e transações entre pessoas e computadores. A 'Web Semântica', que tornará isto possível, ainda não surgiu, mas quando isso acontecer, o dia a dia dos mecanismos de comércio, a burocracia e as nossas vidas diárias serão manipulados por máquinas falando com outras máquinas.” Tim Berners-Lee em 1999 9
  • 10.
    Web Semântica, aterceira geração da Web Como garantir semântica na Web? • De cima para baixo: – Análise da informação; – Processamento de linguagem natural; – Alta complexidade e possíveis falhas; 10
  • 11.
    Web Semântica, aterceira geração da Web Como garantir semântica na Web? • De baixo para cima: – Encapsular semântica através de anotações, no conteúdo; – Descrevendo cada coisa; – Relacionando coisas; – Descrevendo relacionamentos. 11
  • 12.
    Web Semântica, aterceira geração da Web Como interpretar o significado dos dados? Estrutura + Identificação + Definição 12
  • 13.
    Web Semântica, aterceira geração da Web Como interpretar o significado dos dados? • Estrutura – RDF: Resource Description Framework; • Padrão W3C para descrever recursos Web; • Identifica coisas através de URIs; • Várias implementações; • Triples: Formadas por 3 elementos: sujeito+predicado+objeto 13
  • 14.
    Web Semântica, aterceira geração da Web Como interpretar o significado dos dados? • Estrutura – Exemplo de RDF: 14
  • 15.
    Web Semântica, aterceira geração da Web Como interpretar o significado dos dados? • Identificação – Cada coisa, recurso ou conceito deve ter um identificador único • São usadas URIs • Exemplo: – Laranja1: http://www.exemplo.com/cor/laranja – Laranja2: http://www.exemplo.com/fruta/laranja • Padrões: – ISBN: Livros – ISMN: Musicas – CPF: Pessoas Brasileiras 15
  • 16.
    Web Semântica, aterceira geração da Web Como interpretar o significado dos dados? • Definição – Ontologias • Define e descreve coisas, conceitos, recursos, propriedades e relacionamentos; • Exemplo: – Laranja1 é uma Cor – Laranja2 é um tipo de Fruta – Fruta é uma Coisa Comestível – Uma Cor nunca poderá ser uma Coisa Comestível 16
  • 17.
    Web Semântica, aterceira geração da Web Como interpretar o significado dos dados? • Definição – Ontologias • Exemplo: – Propriedades de Coisa Comestível: » Sazonal – Sim/Não » Calorias – # (número) » Ingredientes (opcional) – outra Coisa Comestível 17
  • 18.
    Web Semântica, aterceira geração da Web Desenhar é sempre bom... Sujeito Predicado Objeto 18
  • 19.
    Web Semântica, aterceira geração da Web Desenhar é sempre bom... Coisa Comestível SubClassOf Fruta TypeOf TypeOf Suco de Laranja Laranja2 IngredientOf 19
  • 20.
    Web Semântica, aterceira geração da Web Desenhar é sempre bom... Cor Coisa Comestível IsA SubClassOf Fruta TypeOf Laranja1 TypeOf Suco de Laranja Laranja2 IngredientOf ColorOf 20
  • 21.
    Web Semântica, aterceira geração da Web Implementando semântica na WEB • RDF/XML 21
  • 22.
    Web Semântica, aterceira geração da Web Implementando semântica na WEB • Notation3 (N3) @prefix dc: <http://purl.org/dc/elements/1.1/>. <http://en.wikipedia.org/wiki/Tony_Benn> dc:title "Tony Benn"; dc:publisher "Wikipedia". 22
  • 23.
    Web Semântica, aterceira geração da Web Implementando semântica na WEB • RDFa: RDF nos atributos das tags XHTML; <div xmlns:dc="http://purl.org/dc/elements/1.1/" about="http://www.example.com/books/wikinomics"> <span property="dc:title">Wikinomics</span> <span property="dc:creator">Don Tapscott</span> <span property="dc:date">2006-10-01</span> </div> • Aplicação de Ontologias – FOAF: Friend of a Friend; – SIOC: Semantically-Interlinked Online Communities. 23
  • 24.
    Web Semântica, aterceira geração da Web Implementando semântica na WEB • Dublin Core (dc): 1. Title 8. Type 2. Creator 9. Format 3. Subject 10. Identifier 4. Description 11. Source 5. Publisher 12. Language 6. Contributor 13. Relation 7. Date 14. Coverage 15. Rights 24
  • 25.
    Web Semântica, aterceira geração da Web Implementando semântica na WEB • MicroFormats: <div class="vcard"> <div class="fn">Joe Doe</div> <div class="org">The Example Company</div> <div class="tel">604-555-1234</div> <a class="url" href="http://example.com/">http://example.com/</a> </div> 25
  • 26.
    Web Semântica, aterceira geração da Web Implementando semântica na WEB • OWL: Ontology Web Language <rdf:RDF xmlns:owl =http://www.w3.org/2002/07/owl#" xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:xsd ="http://www.w3.org/2001/XMLSchema#"> <owl:Ontology rdf:about=""> <rdfs:comment>An example OWL ontology</rdfs:comment> <owl:priorVersion rdf:resource="http://www.mydomain.org/uni-ns-old"/> <owl:imports rdf:resource="http://www.mydomain.org/persons"/> <rdfs:label>University Ontology</rdfs:label> </owl:Ontology> 26
  • 27.
    Web Semântica, aterceira geração da Web Implementando semântica na WEB • SPARQL: SPARQL Protocol and RDF Query Language 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 . } 27
  • 28.
    Web Semântica, aterceira geração da Web Quem já está usando? 28
  • 29.
    Web Semântica, aterceira geração da Web Quem já está usando? 29
  • 30.
    Web Semântica, aterceira geração da Web Quem já está usando? • The Wall Street Journal 30
  • 31.
    Web Semântica, aterceira geração da Web Quem já está usando? 31
  • 32.
    Web Semântica, aterceira geração da Web Quem já está usando? 32
  • 33.
    Web Semântica, aterceira geração da Web Quem já está usando? 33
  • 34.
    Web Semântica, aterceira geração da Web Referências • Web 3.0: The Semântic Web – por Hatem Mahmoud • There's no Semantic Web without content and data – por Rachel Lovinger • The SPARQL Specification – http://www.w3.org/TR/rdf-sparql-query/ • Ontology Languages – por F. Corno e L. Farinetti 34
  • 35.
    Web Semântica, aterceira geração da Web FIM Perguntas? Otávio Calaça Xavier – otaviocx@gmail.com http://poomax.com.br @otaviocx Obrigado! 35