Padrões, Ferramentas e Boas Práticas no Desenvolvimento de Software para Web Semântica Ernesto F. Veiga, Márcio V. Oliveira Sena, Renato de F. Bulcão Neto ernestofonseca@inf.ufg.br marciovinicius@inf.ufg.br renato@inf.ufg.br Maio / 2015
Resumo do minicurso 8h Objetivo: enfoque prático no uso conjunto de ferramentas, especificações e boas práticas no desenvolvimento de software para Web Semântica Método: por meio de protótipos de aplicações criados pelos autores, são discutidas especificações do W3C quanto ao seu papel e o uso conjunto com ferramentas clássicas Resultados esperados: dotar cada participante de construir uma aplicação com as capacidades de armazenamento, consulta e inferência de dados com semântica explícita
O que é semântica? Semantic simply means meaning (Hebeler et al. 2011) Significado permite uso mais efetivo das coisas O que significa a cor branca para você? E para um chinês? E um indiano?
Por que semântica na Web?
Documento HTML: exemplo <h1>books</h1> <h2>semantic Web</h2> <p><b>table of Contents</b></p> <ol> <li>chapter 1 Why Semantics?</li> <li>chapter 2 Expressing Meaning</li> </ol> Books Semantic Web Table of Contents 1. Why Semantics? 2. Expressing Meaning
Por que semântica na Web? Documentos HTML não contêm informação estrutural (ou muito pouca) NÃO há relacionamentos entre partes do documento as tags são sempre as mesmas tags HTML definem apresentação: cores, fontes, tamanho de fontes HTML serve para exibir informação com formatação, i.e. o significado do conteúdo de documentos na Web não é acessível por software, apenas por humanos
Por que semântica na Web? Problemas com search engines Tag <META> carece de contexto, apenas precisão sintática Alta recuperação, mas baixa precisão Resultados muito sensíveis ao vocabulário/sintaxe Envolvimento humano é necessário para interpretar e combinar os resultados Sobrecarga cognitiva para usuários ao filtrar de vários sites
Por que semântica na Web? Semântica é obtida através de relacionamentos <meta name="keywords" content="building"> <a href= http://xxx.yyy.com > Significa que a página descreve informações sobre prédios ou sobre construção de uma outra coisa? E ela está interligada à página do arquiteto do prédio? E se houvesse uma linguagem ou um padrão formal com regras gramaticais que permitissem uma expressividade maior dos relacionamentos existentes entre documentos na Web?
Web Semântica Definições Extensão da Web atual em que os dados podem ser compreensíveis e, consequentemente, processados diretamente por software, o que pode facilitar a busca, o compartilhamento, o reuso e a combinação de informações na Web Uma Web de dados descritos e interligados de maneira a se estabelecer um contexto ou semântica que aderem a uma linguagem e regras gramaticais bem definidas
Cenário típico de e-commerce Usuário visita uma ou mais páginas de lojas online, navega pelas ofertas, seleciona-as e compra produtos Usuário, em geral, visita as principais lojas, mas isso cansa e leva muito tempo Mesmo com os shopbots, estes confiam demais em análise textual (nome, preço, ano, etc.)
Como seria na Web Semântica? Agentes de software interpretam informações do produto e os termos do serviço Informações específicas do produto, preço, políticas de privacidade e de entrega seriam interpretadas e comparadas aos requisitos de compra do usuário Informação sobre a reputação das lojas cruzada com relatos e/ou queixas de outros clientes Tudo isso podendo ser feito automaticamente
Palavra-chave isolada
Web Semântica de dados Palavra-chave isolada Núcleo: declarações (ou statements)
A riqueza semântica está... nos relacionamentos das declarações (statements) Denotam associações, agregações e restrições!!! Declarações que definem conceitos e seus relacionamentos formam uma ontologia ehamigointimode rdfs:subpropertyof ehamigode Pessoa rdf:type owl:class Declarações que se referem a indivíduos (objetos) formam instâncias de dados RenatoBulcaoNeto rdf:type Pessoa RenatoBulcaoNeto ehamigode ThiagoBaldez
Declarações que formam uma ontologia
Declarações que formam instâncias de dados Declaração criada explicitamente por uma aplicação
Declaração criada explicitamente por uma aplicação Declaração inferida a partir da semântica da ontologia
Web Atual vs. Web Semântica Página Web href Software href produz href Página Web Página Web Página Web href href Página Web depende Software Software versãode Página Web href Documento depende referencia href criador referencia href Página Web Documento assunto Página Web href Página Web Documento Documento Pessoa local Lugar
Buscas desafiadoras! Localize um hotel 3 estrelas com restaurante próprio, em Natal, próximo ao campus de Lagoa Nova da UFRN Localize um estabelecimento, que vende cartucho compatível com minha impressora HP 4635, pelo menor preço, e mais próximo de minha localização atual Sugira uma pizzaria mais próxima de minha residência, que ofereça pizza siciliana com preço inferior a R$ 20,00
Na Web Semântica... um software terá a capacidade de extrair e compreender o significado das informações na Web e, com base neste, derivar novas informações e/ou fornecer serviços de maneira mais precisa ou adaptada às necessidades de um usuário
Estudá-la é importante porque... o manterá atualizado quanto aos novos conceitos, metodologias, tecnologias, ferramentas e pesquisas relacionadas ao desenvolvimento de software para essa Web do futuro
Padrões, Ferramentas e Boas Práticas no Desenvolvimento de Software para Web Semântica Ernesto F. Veiga, Márcio V. Oliveira Sena, Renato de F. Bulcão Neto ernestofonseca@inf.ufg.br marciovinicius@inf.ufg.br renato@inf.ufg.br Maio / 2015