SlideShare uma empresa Scribd logo
1 de 32
Baixar para ler offline
Integrando
  Web Social e
Web Semântica
       com PHP


Otávio Calaça Xavier
otaviocx@gmail.com
         @otaviocx
                       Foz do Iguaçu, 20 de Outubro de 2011
Grupo de Desenvolvedores
           PHP de Goiás
   Criado em dezembro de 2007;
   Lista de Discussão:
     −   Mais de 550 membros.
   Encontros:
     −   Palestras;
     −   Networking.
   Site:
     −   www.gophp.com.br
   Eventos:
     −   FLISOL, FGSL, Latinoware, Conisli, CONSOFT, PHP
         Conference Brasil, FISL ...
Integrando Web Semântica e Web Social com PHP


                     Roteiro
•   O que é a Web Semântica?
•   Como garantir Semântica na Web?
•   Como interpretar o significado dos dados?
•   Serviços Web;
       – Arquitetura SOAP/WSDL vs REST;
• Redes Sociais Online;
       – APIs e Aplicações Sociais;
• Ferramentas PHP;
• Conclusão.
                                                  3
Integrando Web Semântica e Web Social com PHP


 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
Integrando Web Semântica e Web Social com PHP


 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
Integrando Web Semântica e Web Social com PHP


 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?




                                                6
Integrando Web Semântica e Web Social com PHP


    O que é a Web Semântica?
Web 1.0             Web 2.0            Web 3.0

Web Sintática;      Web Social;        Web Semântica;




                                                        7
Integrando Web Semântica e Web Social com PHP


  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
Integrando Web Semântica e Web Social com PHP


 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;




                                                9
Integrando Web Semântica e Web Social com PHP


 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.


                                                10
Integrando Web Semântica e Web Social com PHP

Como interpretar o significado
        dos dados?

•   Identificação (URIs)
•   Definição (Ontologias em OWL)
•   Estrutura (RDF e RDFS ou Microformatos)
•   Consultas (SPARQL)
•   Interpretação (Agentes de Software)



                                                  11
Integrando Web Semântica e Web Social com PHP


Como interpretar o significado dos
            dados?
• Identificação
    – Cada coisa, recurso ou conceito deve ter um
      identificador único
          • São usados 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
                                                               12
Integrando Web Semântica e Web Social com PHP


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

                                                         13
Integrando Web Semântica e Web Social com PHP


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




                                                            14
Integrando Web Semântica e Web Social com PHP

Como interpretar o significado dos
            dados?
• Definição
      – 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>                                       15
Integrando Web Semântica e Web Social com PHP


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



                                                   16
Integrando Web Semântica e Web Social com PHP

Como Interpretar o significado dos
            dados?
Estrutura:
@prefix   : <http://www.exemplo.com/ontologias#>.
@prefix   f: <http://www.exemplo.com/ontologias/frutos#>.
@prefix   c: <http://www.exemplo.com/ontologias/cores#>.
@prefix   rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.

:SucoDeLaranja :hasIngredient f:laranja.
f:laranja rdf:type :Fruto.
f:laranja :hasColor c:laranja.
f:laranjaTerra rdf:type f:laranja.


  Triplas RDF



                                                                17
Integrando Web Semântica e Web Social com PHP


Como interpretar o significado dos
            dados?
 • Consulta
     – SPARQL: Simple 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 .
      }


                                                     18
Integrando Web Semântica e Web Social com PHP


                Serviços Web

    Aplicações capazes de receber requisições e
    gerar respostas para outras aplicações;

    Integração de Sistemas;

    Independência de Sistema Operacional e
    Linguagem de Programação.




                                                    19
Integrando Web Semântica e Web Social com PHP

                         Serviços Web
                               Arquiteturas
SOAP e WSDL                            REST
Arquitetura Orientada a Serviços;      Arquitetura Orientada a Recursos;
A Web é utilizada apenas como          Baseada no funcionamento da Web;
   camada de transporte;               Descrição sintática opcional;
Maior complexidade de implementação;   Utilização do protocolo padrão da Web
Contrato formal entre as partes.           para definição de interface uniforme.




                                                                            20
Integrando Web Semântica e Web Social com PHP


                 Serviços Web
   Arquitetura REST
       –   Descrição sintática pode ser feita com WADL ou HTML;
       –   Implementação simplificada e muito utilizada na Web Social;
       –   Interações de estado através de hyperlinks;
       –   Identificação de recursos através de URI;
       –   Mensagens auto-descritivas;
       –   Interface Uniforme.




                                                                 21
Integrando Web Semântica e Web Social com PHP


         Redes Sociais Online

    Relacionamentos entre pessoas, seus interesses
    e atividades em comum;

    Compartilhamento de conhecimento, experiência
    e recursos;

    Comunidades Virtuais;

    Aplicações e Serviços Sociais;

    Meio de Comunicação Interativo.


                                                    22
Integrando Web Semântica e Web Social com PHP


     Redes Sociais Online - APIs
   Application Programming Interfaces
        –   Disponibilizam as funcionalidades de uma rede social para
            outras aplicações;
        –   São Serviços Web;
        –   Arquitetura REST (também chamados de Serviços
            RESTful);
        –   Exemplos:
               • Facebook API;
               • Twitter API;
               • Flickr API;
               • OpenSocial;


                                                                  23
Integrando Web Semântica e Web Social com PHP

         Redes Sociais Online
                Aplicações Sociais
   Interação entre usuários;
   APIs de Redes Sociais Online como plataforma;
   Segurança com protocolos de autenticação e
    autorização, como OAuth;
   Utilizam JSON, principalmente, e XML para a
    representação dos dados;



                                                    24
Integrando Web Semântica e Web Social com PHP


       Ferramentas PHP
• Web Semântica
    – ARC
        • Sistema flexível para manipulação de
          modelos RDF para Web Semântica, feito
          em PHP;
    – RAP
        • RDF API for PHP: Sistema para análise,
          consulta, manipulação e provimento de
          modelos RDF;
    – pOWL
        • Editor OWL, em PHP, e API para OWL
          baseada no RAP.                          25
Integrando Web Semântica e Web Social com PHP


       Ferramentas PHP
• Web Semântica
    – Consulta SPARQL para Exemplos
     PREFIX foaf: <http://xmlns.com/foaf/0.1/> .
     SELECT ?name ?age WHERE {
       ?person a foaf:Person ;
               foaf:name ?name .
       ?person foaf:age ?age .
       FILTER (?age >= 18)
     }




                                                   26
Integrando Web Semântica e Web Social com PHP


          Ferramentas PHP
• Web Semântica
     – ARC - Exemplo
 include_once("path/to/arc/ARC2.php");
 $config = array(
      // configurações de banco de dados
 );
 $store = ARC2::getStore($config);
 if (!$store->isSetUp()) {
    $store->setUp();
 }
 $query = 'Consulta SPARQL';
 if ($people = $store->query($q, 'rows')) {
    foreach ($people as $person) {
      echo $person['name'] . ' - ' . $person['age'];
    }
 }                                                     27
Integrando Web Semântica e Web Social com PHP


          Ferramentas PHP
• Web Semântica
     – RAP - Exemplo
 require_once '/var/www/rap/rdfapi-php/test/config.php';
 $database = ModelFactory::getDbStore(
     // configurações de banco de dados
 );
 $strModel = "http://xmlns.com/foaf/0.1/";
 $dbModel = $database->getModel($strModel);

 $query = 'Consulta SPARQL';

 if ($result = $dbModel->sparqlQuery($query);) {
   foreach ($result as $person) {
     echo $person['?name'] . ' - ' . $person['?age'];
   }
                                                        28
 }
Integrando Web Semântica e Web Social com PHP


        Ferramentas PHP
• APIs de Redes Sociais Online
    – Existem bibliotecas em PHP para os mais
      diversos tipos de APIs;
    – Essas bibliotecas são comumente
      chamadas de SDK;
    – Alguns exemplos de APIs de Redes
      Sociais com SDK em PHP:
         •   Facebook Graph API;
         •   Twitter API;
         •   Flickr API;
         •   OpenSocial.                        29
Integrando Web Semântica e Web Social com PHP


            Ferramentas PHP
• APIs de Redes Sociais Online
      – Exemplo de Uso – Facebook:
  require_once('php-sdk/facebook.php');
  $config = array(
    'appId' => 'ID_da_App',
    'secret' => 'Código_Secreto_da_App',
  );
  $facebook = new Facebook($config);
  $user_id = $facebook->getUser();

  if($user_id) {
    try {
      $user_profile = $facebook->api('/me','GET');
      echo "Nome: " . $user_profile['name'];
    } catch(FacebookApiException $e) {
      $login_url = $facebook->getLoginUrl();
      echo 'Por favor, faça <a href="' . $login_url . '">login.</a>';
      error_log($e->getType());
      error_log($e->getMessage());
    }                                                                 30
  }
Integrando Web Semântica e Web Social com PHP


               Conclusão
• Com PHP é possível manipular os padrões
  fundamentais da Web Semântica;
• Por meio de SDKs criados em PHP, também é
  possível acessar os recursos disponibilizados por
  Redes Sociais Online de maneira simples;
• Através dos dados obtidos de recursos em Redes
  Sociais Online, é possível construir triplas RDF
  formando um repositório semântico;
• Desta forma, torna-se possível a realização de
  consultas semânticas, com SPARQL, em dados de
  Redes Sociais Online.
                                                 31
Integrando Web Semântica e Web Social com PHP


                 FIM

           Perguntas?
Otávio Calaça Xavier – otaviocx@gmail.com
                @otaviocx



            Obrigado!
                                             32

Mais conteúdo relacionado

Mais procurados

Web Semântica, a terceira geração da Web
Web Semântica, a terceira geração da WebWeb Semântica, a terceira geração da Web
Web Semântica, a terceira geração da WebOtávio Calaça Xavier
 
Perspectivas da web semântica para a biblioteconomia
Perspectivas da web semântica para a biblioteconomiaPerspectivas da web semântica para a biblioteconomia
Perspectivas da web semântica para a biblioteconomiaNaira Michelle Alves Pereira
 
Web Semântica no Domínio Bibliográfico
Web Semântica no Domínio BibliográficoWeb Semântica no Domínio Bibliográfico
Web Semântica no Domínio BibliográficoUNESP
 
Anotação Semântica de Conteúdo Web Utilizando Microformatos e RDFa
Anotação Semântica de Conteúdo Web Utilizando Microformatos e RDFaAnotação Semântica de Conteúdo Web Utilizando Microformatos e RDFa
Anotação Semântica de Conteúdo Web Utilizando Microformatos e RDFaLuiz Matos
 
Web Semântica e da modelagem ontológica
Web Semântica e da modelagem ontológica Web Semântica e da modelagem ontológica
Web Semântica e da modelagem ontológica Amaury Prates
 
Do Gopher, Web Crawler, Google, pagerank, sitemaps, ontologia, ao Big Data, W...
Do Gopher, Web Crawler, Google, pagerank, sitemaps, ontologia, ao Big Data, W...Do Gopher, Web Crawler, Google, pagerank, sitemaps, ontologia, ao Big Data, W...
Do Gopher, Web Crawler, Google, pagerank, sitemaps, ontologia, ao Big Data, W...Leandro Borges
 
Anotacao Semântica em Documentos Não Estruturados
Anotacao Semântica em Documentos Não EstruturadosAnotacao Semântica em Documentos Não Estruturados
Anotacao Semântica em Documentos Não EstruturadosCelso Fontes
 
Disciplina Sociedade da Informação Semântica e Ontologias
Disciplina Sociedade da Informação Semântica e OntologiasDisciplina Sociedade da Informação Semântica e Ontologias
Disciplina Sociedade da Informação Semântica e OntologiasSociedade da Informação
 
Tecnologias para bibliotecas
Tecnologias para bibliotecasTecnologias para bibliotecas
Tecnologias para bibliotecasAnderson Santana
 
Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011Regis Magalhães
 
SKOS: Interoperabilidade de linguagens documentais
SKOS: Interoperabilidade de linguagens documentaisSKOS: Interoperabilidade de linguagens documentais
SKOS: Interoperabilidade de linguagens documentaisFabrício Silva Assumpção
 

Mais procurados (11)

Web Semântica, a terceira geração da Web
Web Semântica, a terceira geração da WebWeb Semântica, a terceira geração da Web
Web Semântica, a terceira geração da Web
 
Perspectivas da web semântica para a biblioteconomia
Perspectivas da web semântica para a biblioteconomiaPerspectivas da web semântica para a biblioteconomia
Perspectivas da web semântica para a biblioteconomia
 
Web Semântica no Domínio Bibliográfico
Web Semântica no Domínio BibliográficoWeb Semântica no Domínio Bibliográfico
Web Semântica no Domínio Bibliográfico
 
Anotação Semântica de Conteúdo Web Utilizando Microformatos e RDFa
Anotação Semântica de Conteúdo Web Utilizando Microformatos e RDFaAnotação Semântica de Conteúdo Web Utilizando Microformatos e RDFa
Anotação Semântica de Conteúdo Web Utilizando Microformatos e RDFa
 
Web Semântica e da modelagem ontológica
Web Semântica e da modelagem ontológica Web Semântica e da modelagem ontológica
Web Semântica e da modelagem ontológica
 
Do Gopher, Web Crawler, Google, pagerank, sitemaps, ontologia, ao Big Data, W...
Do Gopher, Web Crawler, Google, pagerank, sitemaps, ontologia, ao Big Data, W...Do Gopher, Web Crawler, Google, pagerank, sitemaps, ontologia, ao Big Data, W...
Do Gopher, Web Crawler, Google, pagerank, sitemaps, ontologia, ao Big Data, W...
 
Anotacao Semântica em Documentos Não Estruturados
Anotacao Semântica em Documentos Não EstruturadosAnotacao Semântica em Documentos Não Estruturados
Anotacao Semântica em Documentos Não Estruturados
 
Disciplina Sociedade da Informação Semântica e Ontologias
Disciplina Sociedade da Informação Semântica e OntologiasDisciplina Sociedade da Informação Semântica e Ontologias
Disciplina Sociedade da Informação Semântica e Ontologias
 
Tecnologias para bibliotecas
Tecnologias para bibliotecasTecnologias para bibliotecas
Tecnologias para bibliotecas
 
Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011
 
SKOS: Interoperabilidade de linguagens documentais
SKOS: Interoperabilidade de linguagens documentaisSKOS: Interoperabilidade de linguagens documentais
SKOS: Interoperabilidade de linguagens documentais
 

Destaque

EXPLORANDO INFERÊNCIA EM UM SISTEMA DE ANOTAÇÃO SEMÂNTICA
EXPLORANDO INFERÊNCIA EM UM SISTEMA DE ANOTAÇÃO SEMÂNTICAEXPLORANDO INFERÊNCIA EM UM SISTEMA DE ANOTAÇÃO SEMÂNTICA
EXPLORANDO INFERÊNCIA EM UM SISTEMA DE ANOTAÇÃO SEMÂNTICACelso Fontes
 
Fuzzy RDF in the Semantic Web: Deduction and Induction
Fuzzy RDF in the Semantic Web: Deduction and InductionFuzzy RDF in the Semantic Web: Deduction and Induction
Fuzzy RDF in the Semantic Web: Deduction and InductionOtávio Calaça Xavier
 
Arquitetura de Software para a Entrega Continua
Arquitetura de Software para a Entrega ContinuaArquitetura de Software para a Entrega Continua
Arquitetura de Software para a Entrega ContinuaOtávio Calaça Xavier
 
Deep learning: a ficção em IA tem se tornado realizade
Deep learning: a ficção em IA tem se tornado realizadeDeep learning: a ficção em IA tem se tornado realizade
Deep learning: a ficção em IA tem se tornado realizadeOtávio Calaça Xavier
 
Object Calisthenics: relaxe e escreva códigos simples
Object Calisthenics: relaxe e escreva códigos simplesObject Calisthenics: relaxe e escreva códigos simples
Object Calisthenics: relaxe e escreva códigos simplesOtávio Calaça Xavier
 
Construção de ontologia com protégé owl
Construção de ontologia com protégé owlConstrução de ontologia com protégé owl
Construção de ontologia com protégé owlAndréa Bordin
 
DevOps: princípios e práticas para a Entrega Contínua
DevOps: princípios e práticas para a Entrega ContínuaDevOps: princípios e práticas para a Entrega Contínua
DevOps: princípios e práticas para a Entrega ContínuaOtávio Calaça Xavier
 
Introdução ao PHP Orientado a Objetos com Ajax
Introdução ao PHP Orientado a Objetos com AjaxIntrodução ao PHP Orientado a Objetos com Ajax
Introdução ao PHP Orientado a Objetos com AjaxOtávio Calaça Xavier
 
Internet das coisas (IoT) com Raspberry, Python e Node.js
Internet das coisas (IoT) com Raspberry, Python e Node.jsInternet das coisas (IoT) com Raspberry, Python e Node.js
Internet das coisas (IoT) com Raspberry, Python e Node.jsOtávio Calaça Xavier
 
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Desenvolvimento em três camadas com PHP 5, MVC e AJAXDesenvolvimento em três camadas com PHP 5, MVC e AJAX
Desenvolvimento em três camadas com PHP 5, MVC e AJAXOtávio Calaça Xavier
 
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at FlickrJohn Allspaw
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerLuminary Labs
 

Destaque (16)

EXPLORANDO INFERÊNCIA EM UM SISTEMA DE ANOTAÇÃO SEMÂNTICA
EXPLORANDO INFERÊNCIA EM UM SISTEMA DE ANOTAÇÃO SEMÂNTICAEXPLORANDO INFERÊNCIA EM UM SISTEMA DE ANOTAÇÃO SEMÂNTICA
EXPLORANDO INFERÊNCIA EM UM SISTEMA DE ANOTAÇÃO SEMÂNTICA
 
Fuzzy RDF in the Semantic Web: Deduction and Induction
Fuzzy RDF in the Semantic Web: Deduction and InductionFuzzy RDF in the Semantic Web: Deduction and Induction
Fuzzy RDF in the Semantic Web: Deduction and Induction
 
Arquitetura de Software para a Entrega Continua
Arquitetura de Software para a Entrega ContinuaArquitetura de Software para a Entrega Continua
Arquitetura de Software para a Entrega Continua
 
Deep learning: a ficção em IA tem se tornado realizade
Deep learning: a ficção em IA tem se tornado realizadeDeep learning: a ficção em IA tem se tornado realizade
Deep learning: a ficção em IA tem se tornado realizade
 
Object Calisthenics: relaxe e escreva códigos simples
Object Calisthenics: relaxe e escreva códigos simplesObject Calisthenics: relaxe e escreva códigos simples
Object Calisthenics: relaxe e escreva códigos simples
 
Padrões de Projeto Web e o MVC
Padrões de Projeto Web e o MVCPadrões de Projeto Web e o MVC
Padrões de Projeto Web e o MVC
 
Redes Neurais com PHP
Redes Neurais com PHPRedes Neurais com PHP
Redes Neurais com PHP
 
Construção de ontologia com protégé owl
Construção de ontologia com protégé owlConstrução de ontologia com protégé owl
Construção de ontologia com protégé owl
 
Introdução ao Framework CakePHP
Introdução ao Framework CakePHPIntrodução ao Framework CakePHP
Introdução ao Framework CakePHP
 
DevOps: princípios e práticas para a Entrega Contínua
DevOps: princípios e práticas para a Entrega ContínuaDevOps: princípios e práticas para a Entrega Contínua
DevOps: princípios e práticas para a Entrega Contínua
 
Introdução à Google Maps API
Introdução à Google Maps APIIntrodução à Google Maps API
Introdução à Google Maps API
 
Introdução ao PHP Orientado a Objetos com Ajax
Introdução ao PHP Orientado a Objetos com AjaxIntrodução ao PHP Orientado a Objetos com Ajax
Introdução ao PHP Orientado a Objetos com Ajax
 
Internet das coisas (IoT) com Raspberry, Python e Node.js
Internet das coisas (IoT) com Raspberry, Python e Node.jsInternet das coisas (IoT) com Raspberry, Python e Node.js
Internet das coisas (IoT) com Raspberry, Python e Node.js
 
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Desenvolvimento em três camadas com PHP 5, MVC e AJAXDesenvolvimento em três camadas com PHP 5, MVC e AJAX
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
 
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 

Semelhante a Integrando a Web Social e a Web Semântica com PHP

Congresso iv
Congresso ivCongresso iv
Congresso ivIP10
 
Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...
Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...
Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...Renato Bongiorno Bonfanti
 
Congresso iii unifacsv3
Congresso iii unifacsv3Congresso iii unifacsv3
Congresso iii unifacsv3IP10
 
Web semântica e html5 na recuperação de conteúdo informacional
Web semântica e html5 na recuperação de conteúdo informacionalWeb semântica e html5 na recuperação de conteúdo informacional
Web semântica e html5 na recuperação de conteúdo informacionalRichard Duchatsch Johansen
 
PHP - Capítulo 01
PHP - Capítulo 01PHP - Capítulo 01
PHP - Capítulo 01fdorado
 
Aplicacoes web semantica saude
Aplicacoes web semantica saudeAplicacoes web semantica saude
Aplicacoes web semantica saudeIvan Ricarte
 
Web Semântica - RoadShow TI Senac SP
Web Semântica - RoadShow TI Senac SPWeb Semântica - RoadShow TI Senac SP
Web Semântica - RoadShow TI Senac SPTalita Pagani
 
Road Show TI SENAC - Web Semântica - Pessoas e Máquinas Pensando Juntas - SEN...
Road Show TI SENAC - Web Semântica - Pessoas e Máquinas Pensando Juntas - SEN...Road Show TI SENAC - Web Semântica - Pessoas e Máquinas Pensando Juntas - SEN...
Road Show TI SENAC - Web Semântica - Pessoas e Máquinas Pensando Juntas - SEN...Renato Bongiorno Bonfanti
 
Web 3.0 - A Semântica na Rede
Web 3.0 - A Semântica na RedeWeb 3.0 - A Semântica na Rede
Web 3.0 - A Semântica na RedeElvis Fusco
 
28/09/2011 - 16h às 18h - Convergência Digital - plataformas e conteúdo - Car...
28/09/2011 - 16h às 18h - Convergência Digital - plataformas e conteúdo - Car...28/09/2011 - 16h às 18h - Convergência Digital - plataformas e conteúdo - Car...
28/09/2011 - 16h às 18h - Convergência Digital - plataformas e conteúdo - Car...Rio Info
 
Habilidades necessárias para integrar aplicativos e dados
Habilidades necessárias para integrar aplicativos e dadosHabilidades necessárias para integrar aplicativos e dados
Habilidades necessárias para integrar aplicativos e dadosJeison Barros
 
Tutorial de Web Semântica - CompSem 2015
Tutorial de Web Semântica - CompSem 2015Tutorial de Web Semântica - CompSem 2015
Tutorial de Web Semântica - CompSem 2015Bianca Pereira
 
Aula introdutória da disciplina de webdesign
Aula introdutória da disciplina de webdesignAula introdutória da disciplina de webdesign
Aula introdutória da disciplina de webdesignClaudia Bordin Rodrigues
 

Semelhante a Integrando a Web Social e a Web Semântica com PHP (20)

Linked Data
Linked DataLinked Data
Linked Data
 
Congresso iv
Congresso ivCongresso iv
Congresso iv
 
Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...
Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...
Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...
 
Congresso iii unifacsv3
Congresso iii unifacsv3Congresso iii unifacsv3
Congresso iii unifacsv3
 
Web semântica e html5 na recuperação de conteúdo informacional
Web semântica e html5 na recuperação de conteúdo informacionalWeb semântica e html5 na recuperação de conteúdo informacional
Web semântica e html5 na recuperação de conteúdo informacional
 
PHP - Capítulo 01
PHP - Capítulo 01PHP - Capítulo 01
PHP - Capítulo 01
 
Aplicacoes web semantica saude
Aplicacoes web semantica saudeAplicacoes web semantica saude
Aplicacoes web semantica saude
 
Web_2.0 Web Standards Web Semântica
Web_2.0 Web Standards Web SemânticaWeb_2.0 Web Standards Web Semântica
Web_2.0 Web Standards Web Semântica
 
Web Semântica - RoadShow TI Senac SP
Web Semântica - RoadShow TI Senac SPWeb Semântica - RoadShow TI Senac SP
Web Semântica - RoadShow TI Senac SP
 
Road Show TI SENAC - Web Semântica - Pessoas e Máquinas Pensando Juntas - SEN...
Road Show TI SENAC - Web Semântica - Pessoas e Máquinas Pensando Juntas - SEN...Road Show TI SENAC - Web Semântica - Pessoas e Máquinas Pensando Juntas - SEN...
Road Show TI SENAC - Web Semântica - Pessoas e Máquinas Pensando Juntas - SEN...
 
Web 3 - A Web de Dados
Web 3 - A Web de DadosWeb 3 - A Web de Dados
Web 3 - A Web de Dados
 
Cliente Servidor
Cliente ServidorCliente Servidor
Cliente Servidor
 
Web 3.0 - A Semântica na Rede
Web 3.0 - A Semântica na RedeWeb 3.0 - A Semântica na Rede
Web 3.0 - A Semântica na Rede
 
WEB 3.0
WEB 3.0WEB 3.0
WEB 3.0
 
28/09/2011 - 16h às 18h - Convergência Digital - plataformas e conteúdo - Car...
28/09/2011 - 16h às 18h - Convergência Digital - plataformas e conteúdo - Car...28/09/2011 - 16h às 18h - Convergência Digital - plataformas e conteúdo - Car...
28/09/2011 - 16h às 18h - Convergência Digital - plataformas e conteúdo - Car...
 
Habilidades necessárias para integrar aplicativos e dados
Habilidades necessárias para integrar aplicativos e dadosHabilidades necessárias para integrar aplicativos e dados
Habilidades necessárias para integrar aplicativos e dados
 
Webinar Portal Colaborativo
Webinar Portal ColaborativoWebinar Portal Colaborativo
Webinar Portal Colaborativo
 
Open Social
Open SocialOpen Social
Open Social
 
Tutorial de Web Semântica - CompSem 2015
Tutorial de Web Semântica - CompSem 2015Tutorial de Web Semântica - CompSem 2015
Tutorial de Web Semântica - CompSem 2015
 
Aula introdutória da disciplina de webdesign
Aula introdutória da disciplina de webdesignAula introdutória da disciplina de webdesign
Aula introdutória da disciplina de webdesign
 

Mais de Otávio Calaça Xavier

Implementing Semantic Queries in Online Social Networks
Implementing Semantic Queries in Online Social NetworksImplementing Semantic Queries in Online Social Networks
Implementing Semantic Queries in Online Social NetworksOtávio Calaça Xavier
 
Lógica Fuzzy aplicada à Sistemas de Apoio a Decisão
Lógica Fuzzy aplicada à  Sistemas de Apoio a DecisãoLógica Fuzzy aplicada à  Sistemas de Apoio a Decisão
Lógica Fuzzy aplicada à Sistemas de Apoio a DecisãoOtávio Calaça Xavier
 
Abstração do banco de dados com PHP Doctrine
Abstração do banco de dados com PHP DoctrineAbstração do banco de dados com PHP Doctrine
Abstração do banco de dados com PHP DoctrineOtávio Calaça Xavier
 
Introdução às Redes Neurais com PHP
Introdução às Redes Neurais com PHPIntrodução às Redes Neurais com PHP
Introdução às Redes Neurais com PHPOtávio Calaça Xavier
 
Classe V: Educação à distância com Videoconferência no Moodle
Classe V: Educação à distância com Videoconferência no MoodleClasse V: Educação à distância com Videoconferência no Moodle
Classe V: Educação à distância com Videoconferência no MoodleOtávio Calaça Xavier
 

Mais de Otávio Calaça Xavier (6)

Implementing Semantic Queries in Online Social Networks
Implementing Semantic Queries in Online Social NetworksImplementing Semantic Queries in Online Social Networks
Implementing Semantic Queries in Online Social Networks
 
Lógica Fuzzy aplicada à Sistemas de Apoio a Decisão
Lógica Fuzzy aplicada à  Sistemas de Apoio a DecisãoLógica Fuzzy aplicada à  Sistemas de Apoio a Decisão
Lógica Fuzzy aplicada à Sistemas de Apoio a Decisão
 
Abstração do banco de dados com PHP Doctrine
Abstração do banco de dados com PHP DoctrineAbstração do banco de dados com PHP Doctrine
Abstração do banco de dados com PHP Doctrine
 
PHP: Atualidade e Tendências
PHP: Atualidade e TendênciasPHP: Atualidade e Tendências
PHP: Atualidade e Tendências
 
Introdução às Redes Neurais com PHP
Introdução às Redes Neurais com PHPIntrodução às Redes Neurais com PHP
Introdução às Redes Neurais com PHP
 
Classe V: Educação à distância com Videoconferência no Moodle
Classe V: Educação à distância com Videoconferência no MoodleClasse V: Educação à distância com Videoconferência no Moodle
Classe V: Educação à distância com Videoconferência no Moodle
 

Integrando a Web Social e a Web Semântica com PHP

  • 1. Integrando Web Social e Web Semântica com PHP Otávio Calaça Xavier otaviocx@gmail.com @otaviocx Foz do Iguaçu, 20 de Outubro de 2011
  • 2. Grupo de Desenvolvedores PHP de Goiás  Criado em dezembro de 2007;  Lista de Discussão: − Mais de 550 membros.  Encontros: − Palestras; − Networking.  Site: − www.gophp.com.br  Eventos: − FLISOL, FGSL, Latinoware, Conisli, CONSOFT, PHP Conference Brasil, FISL ...
  • 3. Integrando Web Semântica e Web Social com PHP Roteiro • O que é a Web Semântica? • Como garantir Semântica na Web? • Como interpretar o significado dos dados? • Serviços Web; – Arquitetura SOAP/WSDL vs REST; • Redes Sociais Online; – APIs e Aplicações Sociais; • Ferramentas PHP; • Conclusão. 3
  • 4. Integrando Web Semântica e Web Social com PHP 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. Integrando Web Semântica e Web Social com PHP 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. Integrando Web Semântica e Web Social com PHP 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? 6
  • 7. Integrando Web Semântica e Web Social com PHP O que é a Web Semântica? Web 1.0 Web 2.0 Web 3.0 Web Sintática; Web Social; Web Semântica; 7
  • 8. Integrando Web Semântica e Web Social com PHP 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. Integrando Web Semântica e Web Social com PHP 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; 9
  • 10. Integrando Web Semântica e Web Social com PHP 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. 10
  • 11. Integrando Web Semântica e Web Social com PHP Como interpretar o significado dos dados? • Identificação (URIs) • Definição (Ontologias em OWL) • Estrutura (RDF e RDFS ou Microformatos) • Consultas (SPARQL) • Interpretação (Agentes de Software) 11
  • 12. Integrando Web Semântica e Web Social com PHP Como interpretar o significado dos dados? • Identificação – Cada coisa, recurso ou conceito deve ter um identificador único • São usados 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 12
  • 13. Integrando Web Semântica e Web Social com PHP 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 13
  • 14. Integrando Web Semântica e Web Social com PHP 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 14
  • 15. Integrando Web Semântica e Web Social com PHP Como interpretar o significado dos dados? • Definição – 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> 15
  • 16. Integrando Web Semântica e Web Social com PHP 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 16
  • 17. Integrando Web Semântica e Web Social com PHP Como Interpretar o significado dos dados? Estrutura: @prefix : <http://www.exemplo.com/ontologias#>. @prefix f: <http://www.exemplo.com/ontologias/frutos#>. @prefix c: <http://www.exemplo.com/ontologias/cores#>. @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. :SucoDeLaranja :hasIngredient f:laranja. f:laranja rdf:type :Fruto. f:laranja :hasColor c:laranja. f:laranjaTerra rdf:type f:laranja. Triplas RDF 17
  • 18. Integrando Web Semântica e Web Social com PHP Como interpretar o significado dos dados? • Consulta – SPARQL: Simple 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 . } 18
  • 19. Integrando Web Semântica e Web Social com PHP Serviços Web  Aplicações capazes de receber requisições e gerar respostas para outras aplicações;  Integração de Sistemas;  Independência de Sistema Operacional e Linguagem de Programação. 19
  • 20. Integrando Web Semântica e Web Social com PHP Serviços Web Arquiteturas SOAP e WSDL REST Arquitetura Orientada a Serviços; Arquitetura Orientada a Recursos; A Web é utilizada apenas como Baseada no funcionamento da Web; camada de transporte; Descrição sintática opcional; Maior complexidade de implementação; Utilização do protocolo padrão da Web Contrato formal entre as partes. para definição de interface uniforme. 20
  • 21. Integrando Web Semântica e Web Social com PHP Serviços Web  Arquitetura REST – Descrição sintática pode ser feita com WADL ou HTML; – Implementação simplificada e muito utilizada na Web Social; – Interações de estado através de hyperlinks; – Identificação de recursos através de URI; – Mensagens auto-descritivas; – Interface Uniforme. 21
  • 22. Integrando Web Semântica e Web Social com PHP Redes Sociais Online  Relacionamentos entre pessoas, seus interesses e atividades em comum;  Compartilhamento de conhecimento, experiência e recursos;  Comunidades Virtuais;  Aplicações e Serviços Sociais;  Meio de Comunicação Interativo. 22
  • 23. Integrando Web Semântica e Web Social com PHP Redes Sociais Online - APIs  Application Programming Interfaces – Disponibilizam as funcionalidades de uma rede social para outras aplicações; – São Serviços Web; – Arquitetura REST (também chamados de Serviços RESTful); – Exemplos: • Facebook API; • Twitter API; • Flickr API; • OpenSocial; 23
  • 24. Integrando Web Semântica e Web Social com PHP Redes Sociais Online Aplicações Sociais  Interação entre usuários;  APIs de Redes Sociais Online como plataforma;  Segurança com protocolos de autenticação e autorização, como OAuth;  Utilizam JSON, principalmente, e XML para a representação dos dados; 24
  • 25. Integrando Web Semântica e Web Social com PHP Ferramentas PHP • Web Semântica – ARC • Sistema flexível para manipulação de modelos RDF para Web Semântica, feito em PHP; – RAP • RDF API for PHP: Sistema para análise, consulta, manipulação e provimento de modelos RDF; – pOWL • Editor OWL, em PHP, e API para OWL baseada no RAP. 25
  • 26. Integrando Web Semântica e Web Social com PHP Ferramentas PHP • Web Semântica – Consulta SPARQL para Exemplos PREFIX foaf: <http://xmlns.com/foaf/0.1/> . SELECT ?name ?age WHERE { ?person a foaf:Person ; foaf:name ?name . ?person foaf:age ?age . FILTER (?age >= 18) } 26
  • 27. Integrando Web Semântica e Web Social com PHP Ferramentas PHP • Web Semântica – ARC - Exemplo include_once("path/to/arc/ARC2.php"); $config = array( // configurações de banco de dados ); $store = ARC2::getStore($config); if (!$store->isSetUp()) { $store->setUp(); } $query = 'Consulta SPARQL'; if ($people = $store->query($q, 'rows')) { foreach ($people as $person) { echo $person['name'] . ' - ' . $person['age']; } } 27
  • 28. Integrando Web Semântica e Web Social com PHP Ferramentas PHP • Web Semântica – RAP - Exemplo require_once '/var/www/rap/rdfapi-php/test/config.php'; $database = ModelFactory::getDbStore( // configurações de banco de dados ); $strModel = "http://xmlns.com/foaf/0.1/"; $dbModel = $database->getModel($strModel); $query = 'Consulta SPARQL'; if ($result = $dbModel->sparqlQuery($query);) { foreach ($result as $person) { echo $person['?name'] . ' - ' . $person['?age']; } 28 }
  • 29. Integrando Web Semântica e Web Social com PHP Ferramentas PHP • APIs de Redes Sociais Online – Existem bibliotecas em PHP para os mais diversos tipos de APIs; – Essas bibliotecas são comumente chamadas de SDK; – Alguns exemplos de APIs de Redes Sociais com SDK em PHP: • Facebook Graph API; • Twitter API; • Flickr API; • OpenSocial. 29
  • 30. Integrando Web Semântica e Web Social com PHP Ferramentas PHP • APIs de Redes Sociais Online – Exemplo de Uso – Facebook: require_once('php-sdk/facebook.php'); $config = array( 'appId' => 'ID_da_App', 'secret' => 'Código_Secreto_da_App', ); $facebook = new Facebook($config); $user_id = $facebook->getUser(); if($user_id) { try { $user_profile = $facebook->api('/me','GET'); echo "Nome: " . $user_profile['name']; } catch(FacebookApiException $e) { $login_url = $facebook->getLoginUrl(); echo 'Por favor, faça <a href="' . $login_url . '">login.</a>'; error_log($e->getType()); error_log($e->getMessage()); } 30 }
  • 31. Integrando Web Semântica e Web Social com PHP Conclusão • Com PHP é possível manipular os padrões fundamentais da Web Semântica; • Por meio de SDKs criados em PHP, também é possível acessar os recursos disponibilizados por Redes Sociais Online de maneira simples; • Através dos dados obtidos de recursos em Redes Sociais Online, é possível construir triplas RDF formando um repositório semântico; • Desta forma, torna-se possível a realização de consultas semânticas, com SPARQL, em dados de Redes Sociais Online. 31
  • 32. Integrando Web Semântica e Web Social com PHP FIM Perguntas? Otávio Calaça Xavier – otaviocx@gmail.com @otaviocx Obrigado! 32