Your SlideShare is downloading. ×
Integrando a Web Social e a Web Semântica com PHP
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

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

5,821
views

Published on

A Web Semântica (ou Web 3.0), uma extensão da Web convencional, surgiu com o propósito de suprir a necessidade de processamento e interpretação do conteúdo presente na Web por computadores, através de …

A Web Semântica (ou Web 3.0), uma extensão da Web convencional, surgiu com o propósito de suprir a necessidade de processamento e interpretação do conteúdo presente na Web por computadores, através de processos automatizados. Proposta por Berners-Lee, Hendler e Lassila em 2001, a Web Semântica possui mecanismos para tratar semanticamente a informação. Os recursos presentes na Web são ligados através de links. Com a adição de semântica nessas ligações, cada uma pode representar uma forma de relacionamento entre dados, contextualizando-os. Os relacionamentos semânticos tornam possível o processamento do significado das palavras em seu contexto. Esta palestra destinasse a apresentar as características e conceitos da Web Semântica e como utiliza-la em conjunto com aplicações da Web Social (2.0), como Redes Sociais Online, através da linguagem PHP.


0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
5,821
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
45
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Integrando Web Social eWeb Semântica com PHPOtávio Calaça Xavierotaviocx@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.0Web 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 PHPComo 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 PHPComo 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 PHPComo 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 PHPComo 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 PHPComo 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 PHPComo 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 PHPComo 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 PHPComo 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 ArquiteturasSOAP e WSDL RESTArquitetura 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 WebContrato 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