SlideShare uma empresa Scribd logo
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

PDF
Web Semântica e bancos de dados NoSQL
PDF
Web Semântica: Conceitos e Tecnologias
PPT
Web semantica
PPT
Web Semântica Apresentação de Slides
KEY
Introdução a web semântica e o case da globo.com
PDF
Linked Data Tutorial - Conferencia W3C Brasil 2011
PPT
Tópico 3 - RDF
PDF
Web Semântica, a terceira geração da Web
Web Semântica e bancos de dados NoSQL
Web Semântica: Conceitos e Tecnologias
Web semantica
Web Semântica Apresentação de Slides
Introdução a web semântica e o case da globo.com
Linked Data Tutorial - Conferencia W3C Brasil 2011
Tópico 3 - RDF
Web Semântica, a terceira geração da Web

Mais procurados (11)

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

Destaque (16)

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

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

ODP
Web Semântica: uma introdução
PPT
Web 3.0 - A Semântica na Rede
PDF
Planejamento para Serviços Web Semânticos
PDF
28/09/2011 - 16h às 18h - Convergência Digital - plataformas e conteúdo - Car...
PPT
DOC
Síntese Web Semântica U F P E Maio 2009
PPT
Websemantica
PDF
Web semântica e ontologias - um estudo de caso
PDF
Apresentação: CRIAÇÃO E CONSUMO DE DADOS NOS PADRÕES DA WEB SEMÂNTICA, UTILIZ...
PDF
web_semantica
PPT
Web 3 - A Web de Dados
PDF
Web Semântica e Ontologia
ODP
Apresentando web 1.0
PPT
Web 3.0 - A nova revolução da Internet
PPTX
O Futuro Da Web
PPT
Web_2.0 Web Standards Web Semântica
PDF
Web Semântica - RoadShow TI Senac SP
PPTX
IPC - Semantic Web
PDF
REST: Faça o Serviço Direito
PDF
O HTML 5 e o futuro da web
Web Semântica: uma introdução
Web 3.0 - A Semântica na Rede
Planejamento para Serviços Web Semânticos
28/09/2011 - 16h às 18h - Convergência Digital - plataformas e conteúdo - Car...
Síntese Web Semântica U F P E Maio 2009
Websemantica
Web semântica e ontologias - um estudo de caso
Apresentação: CRIAÇÃO E CONSUMO DE DADOS NOS PADRÕES DA WEB SEMÂNTICA, UTILIZ...
web_semantica
Web 3 - A Web de Dados
Web Semântica e Ontologia
Apresentando web 1.0
Web 3.0 - A nova revolução da Internet
O Futuro Da Web
Web_2.0 Web Standards Web Semântica
Web Semântica - RoadShow TI Senac SP
IPC - Semantic Web
REST: Faça o Serviço Direito
O HTML 5 e o futuro da web

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

PDF
Implementing Semantic Queries in Online Social Networks
PDF
Lógica Fuzzy aplicada à Sistemas de Apoio a Decisão
PDF
Abstração do banco de dados com PHP Doctrine
PDF
PHP: Atualidade e Tendências
PDF
Introdução às Redes Neurais com PHP
PDF
Classe V: Educação à distância com Videoconferência no Moodle
Implementing Semantic Queries in Online Social Networks
Lógica Fuzzy aplicada à Sistemas de Apoio a Decisão
Abstração do banco de dados com PHP Doctrine
PHP: Atualidade e Tendências
Introdução às Redes Neurais com PHP
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