Você está na página 1de 48

UNIVERSIDADE SO FRANCISCO CURSO DE ENGENHARIA DE COMPUTAO GUSTAVO COSTA DE FREITAS

PERSPECTIVAS E ANLISE DE VIABILIDADE SOBRE A WEB SEMNTICA

CAMPINAS 2011

UNIVERSIDADE SO FRANCISCO GUSTAVO COSTA DE FREITAS

PERSPECTIVAS E ANLISE DE VIABILIDADE SOBRE A WEB SEMNTICA

Monografia apresentada ao Curso de Engenharia de Computao da Universidade So Francisco, como requisito parcial para obteno do ttulo de Bacharel em Engenharia de Computao. Orientador: Prof. Ms. Eduardo F. Z. Santana

CAMPINAS 2011

AGRADECIMENTOS
A realizao deste trabalho s foi possvel graas a Deus e principalmente a dedicao e empenho de meus pais, Washington Ferreira de Freitas e Rosana Aparecida Costa de Freitas, que sempre me apoiaram durante a vida pessoal e acadmica. Tamanha gratido que possa ser explicada apenas em palavras. Agradeo tambm ao Prof. Ms. Eduardo Felipe Zambom Santana, por orientar este trabalho desde o incio e feito criticas construtivas para que este trabalho fosse realizado de maneira coesa e pragmtica, dedicando algumas horas de reviso e anlise. Ao Prof. Ms. Mrcio Henrique Zuchini fica o agradecimento pelas ideias trocadas, pelo apoio e por tambm sentir-se motivado pelo tema abordado neste trabalho. Por fim, agradeo a todos os meus familiares, amigos e colegas, que de alguma forma me apoiaram e ajudaram a construir um trabalho que pudesse colaborar e enriquecer no apenas o meu conhecimento, mas tambm de todos aqueles que um dia puderem l-lo.

The Semantic web is not a separate Web but an extension of the current one, in which information is given well-defined meaning, better enabling computers and people to work in cooperation. Tim Berners-Lee

FREITAS, Gustavo Costa de. Web Semntica: Perspectivas e Anlise de Viabilidade Sobre a Web Semntica. Universidade So Francisco, 2011, 46f. Monografia (Graduao em Engenharia de Computao). Orientador: Prof. Ms. Eduardo F. Z. Santana.

RESUMO
Este trabalho apresenta os desafios, conceitos tericos e prticos da Web Semntica que tem como objetivo ser um complemento da Web atual, possibilitando que os novos dados e os j existentes na Web tenham mais significado e permita que computadores e pessoas possam trabalhar colaborativamente. A ideia apresentar as diferentes perspectivas, tipos de dados semnticos e no semnticos e o relacionamento existente entre eles. Para verificar a viabilidade do tema foi desenvolvido um prottipo utilizando os conceitos semnticos explicados. Ao final deste trabalho so apresentadas as concluses e os resultados obtidos. Palavras-chave: Web. Web Semntica. Perspectivas. Tipos de dados.

ABSTRACT

This paper presents the challenges, theoretical and practical concepts of the Semantic Web that aims to be a complement to the current Web, enabling new and existing data on the Web have more meaning and allow computers and people to work collaboratively. The idea is to present different perspectives, data types - and not semantic and semantic relationship between them. To check the viability of the theme was developed a prototype using the semantic concepts explained. At the end of this paper presents the conclusions and results. Keywords: Web. Semantic Web. Perspectives. Data types.

LISTA DE FIGURAS

FIGURA 1 Dado no estruturado, semi-estruturado e estruturado........................................ 17 FIGURA 2 Exemplo de vocabulrio controlado....................................................................20 FIGURA 3 Simples representao de taxonomia.................................................................. 21 FIGURA 4 Camadas da arquitetura da Web Semntica ........................................................22 FIGURA 5 Representao de uma tripla RDF....................................................................... 26 FIGURA 6 Exemplo de RDFS...............................................................................................27 FIGURA 7 Consulta simples utilizando SPARQL.................................................................31 FIGURA 8 Grafo Open Data................................................................................................. 33 FIGURA 9 Viso geral ao suporte de inferncias.................................................................. 34 FIGURA 10 Criao de ontologias com Protg................................................................... 35 FIGURA 11 Busca pelo diretor Steven Spielberg..................................................................38 FIGURA 12 Atores e filmes dirigidos por Steven Spielberg................................................. 39 FIGURA 13 Review do filme pelo The New York Times..................................................... 39 FIGURA 14 Arquitetura do prottipo.................................................................................... 40 FIGURA 15 Performance da requisio IMDB..................................................................... 42

LISTA DE TABELAS

TABELA 1 Comparativo entre a Web atual e a Web Semntica............................................19

LISTA DE ABREVIATURAS E SIGLAS

Ajax Asynchronous JavaScript and XML API Application Programming Interface CERN European Organization for Nuclear Research DTD Document Type Definition HTML Hypertext Markup Language HTTP Hypertext Transfer IMDB Internet Movies Database JSON JavaScript Object Notation JSONP JSON with Padding OWL Web Ontology Language RDF Resource Description framework RDFS Resource Description framework Schema SPARQL Protocol and RDF Query Language URI Uniform Resource Identifier URL Uniform Resource Locator URN Uniform Resource Name W3C World Wide Web Consortium WWW World Wide Web XML Extended Markup Language

SUMRIO
1. INTRODUO .................................................................................................................. 11
1.1. Contextualizao..................................................................................................................... 12 1.2. Problema.................................................................................................................................. 12 1.3. Objetivo.................................................................................................................................... 13 1.4. Motivao................................................................................................................................. 13 1.5. Estrutura da Monografia........................................................................................................ 13

2. O ESTADO ATUAL DA WEB........................................................................................... 15 3. WEB SEMNTICA............................................................................................................ 16


3.1. Motivao para a Web Semntica.......................................................................................... 17 3.2. Tipos de Dados........................................................................................................................ 17 3.2.1. Dados no estruturados...................................................................................................... 17 3.2.2. Dados semi-estruturados.................................................................................................... 18 3.2.3. Dados estruturados............................................................................................................. 18 3.3. Organizao Semntica...........................................................................................................19 3.3.1. Vocabulrios controlados................................................................................................... 19 3.3.2. Taxonomias........................................................................................................................ 20 3.3.3. Tesauros............................................................................................................................. 21 3.3.4. Ontologias.......................................................................................................................... 21

4. ARQUITETURA................................................................................................................. 22
4.1. URI e Unicode.......................................................................................................................... 23 4.2. XML......................................................................................................................................... 23 4.3. XML Schema.......................................................................................................................... 24 4.4. RDF.......................................................................................................................................... 24 4.4.1. Recursos............................................................................................................................. 25 4.4.2. Declaraes........................................................................................................................ 25 4.5. RDF Schema............................................................................................................................ 26 4.6. Ontologias................................................................................................................................ 27 4.6.1. OWL.................................................................................................................................. 28 4.7. SPARQL................................................................................................................................... 30 4.8. Lgica, Prova e Confiana...................................................................................................... 31

5. FERRAMENTAS................................................................................................................ 32
5.1. Linked Open Data................................................................................................................... 32

5.2. Jena...........................................................................................................................................34 5.3. Protg...................................................................................................................................... 35

6. PROTTIPO.......................................................................................................................36
6.1. Proposta de Aplicao............................................................................................................. 36 6.2. Funcionamento........................................................................................................................ 37 6.3. Arquitetura.............................................................................................................................. 40 6.4. Resultados e Discusses........................................................................................................... 41

7. CONCLUSES................................................................................................................... 44
7.1. Trabalhos Futuros................................................................................................................... 44

BIBLIOGRAFIA.....................................................................................................................46

11

1. INTRODUO

A Web atual possibilita que diferentes perfis de usurio possam publicar e editar contedo na Internet, utilizando uma grande variedade de tcnicas e ferramentas disponveis. Este modo massivo de publicao trouxe um grande problema de organizao e classificao dos dados, ou seja, encontrar informaes de qualidade tem se tornado uma tarefa extremamente complicada. A maneira como os dados so disponibilizados na Web e as estratgias utilizadas para filtr-los ainda so bastante ineficientes, no possibilitando que mecanismos de busca trabalhem adequadamente de maneira automatizada. Para amenizar o problema e conseguir criar contedos mais relevantes e conectados para a Web Semntica, a comunidade cientfica juntamente com importantes organizaes tem reunido esforos para organizar os dados na Web, utilizando classificadores, metadados, ontologias, diretrios abertos e frameworks (ROCHA, 2004). Uma das principais ferramentas disponveis na Web atual que permite encontrar algum contedo, ainda que muitas vezes com baixa relevncia so os mecanismos de busca. Dentre os mecanismos de busca existentes, destacam-se: Google, Yahoo! e Bing da Microsoft. Os mecanismos de busca surgiram em meados da dcada de 90 para auxiliar na busca de informaes (LEDFORD, 2009). Este tipo de mecanismo utiliza os chamados robs de busca (Spider, Web Crawler ou robots) que visitam as pginas frequentemente e analisam todas as URLs (Uniform Resource Locator) existentes na pgina, coletando palavras-chave e indexando todo o contedo para que buscas futuras possam ser realizadas com maior agilidade. Um dos principais problemas enfrentados pelos mecanismos de busca o fato de no conseguirem entender o significado (semntica) do contedo das pginas. O conceito da Web Semntica 1 comeou a ser melhor difundido em meados de 2001 pelo W3C (World Wide Web Consortium), um conjunto de organizaes interessadas na definio de conceitos e no desenvolvimento de protocolos e padres para a Web, juntamente

1 The Semantic Web. Disponvel em: <http://www.scientificamerican.com/article.cfm?id=the-semantic-web>. Acesso em: 10 de Maro de 2011.

12 com Tim Berners-Lee, seu diretor, James Hendler e Ora Lassila, tendo como ideia central a legibilidade da informao tanto para humanos quanto para computadores. O W3C define a Web Semntica2 sob a seguinte tica:
sobre formatos comuns de integrao e a combinao de dados provenientes de diversas fontes, onde a Web original concentra-se principalmente na troca de documentos. tambm sobre a linguagem para gravao dos dados relacionados objetos do mundo real. Que permite que uma pessoa ou uma mquina, para comear em um banco de dados, e ento mover-se atravs de um conjunto interminvel de bases de dados que esto conectadas no por fios, mas por ser sobre a mesma coisa.

Para estudar a viabilidade do desenvolvimento de aplicaes baseadas na Web Semntica, foi desenvolvido um prottipo utilizando tecnologias e especificaes empregadas atualmente na Web.

1.1. Contextualizao
A Web foi criada de uma maneira no estruturada para que suportasse tudo o que publicado hoje e com isto diversas falhas surgiram. Os dados so bastante fragmentados e impossibilitam que aplicaes trabalhem integradas e a busca por informaes possa ser algo sutil.

1.2. Problema
A Web foi concebida para o consumo humano, isto significa que, atualmente os dados so meramente textuais e no apresentam uma maneira formal para que mecanismos automatizados utilizem esta informao. Um dos objetivos da Web Semntica resolver o problema da fragmentao de dados. Isto corresponde implementao da pilha de especificaes e tecnologias estabelecidas e mantidas pelo W3C.

2 W3C Semantics Web Activity. Disponvel em: <http://www.w3.org/2001/sw/>. Acesso em: 10 de Agosto de 2011.

13

1.3. Objetivo
Relacionar os aspectos gerais da Web Semntica com uma abordagem prvia sobre a Web atual e os diversos problemas enfrentados com a fragmentao dos dados, dificuldade para encontrar contedos relevantes e o esforo para a formao de conhecimento cruzado. A idealizao e construo do prottipo objetiva mostrar como possvel trabalhar com os mais diversos aspectos semnticos, utilizando as tecnologias que permitem criar e melhorar a j existente Web Semntica.

1.4. Motivao
Diversos motivos influenciaram na escolha do tema e na elaborao deste trabalho: Por ser um tema bastante atual e que apresenta um campo de pesquisa extremamente amplo, proporciona inmeras oportunidades de estudo e aprendizado. A Web Semntica um grande desafio para lidar com os dados existentes na Web hoje e com isto possibilita a criao dos mais diversos tipos de aplicaes. Com a criao de um prottipo a ideia justamente mostrar as possibilidades que os dados com caractersticas semnticas possibilitam na criao de aplicaes inteligentes e com o compartilhamento de conhecimento. Atualmente diversas empresas e organizaes j trabalham com dados semnticos, sendo uma realidade na Web. Isto permitiu que pudesse ser estudado e explorado de forma pragmtica todos os aspectos pertinentes ao assunto, seja pelas dificuldades ou pelas concluses obtidas. Oferece tambm oportunidades de trabalho e pesquisa existentes nesta rea.

1.5. Estrutura da Monografia


Este trabalho de concluso de curso divide-se em sete captulos, conforme descrito abaixo:

14 O captulo 1 uma introduo do trabalho, explicando seus objetivos, contexto e motivaes para o desenvolvimento. O captulo 2 faz um panorama da Web atual, desde sua criao, sua composio, uma viso geral sobre os mecanismos de busca e os problemas enfrentados devido a estrutura dos documentos e pginas existentes hoje. O captulo 3 introduz o conceito de Web Semntica, desde sua criao, sua composio a motivao. Retrata os tipos de dados existentes hoje bem como os tipos de semntica. O captulo 4 um dos mais importantes para a compreenso geral da Web Semntica. Inicia a discusso a respeito da arquitetura semntica, a proposta geral, pilha de tecnologias/especificaes e suas particularidades O captulo 5 lista algumas das muitas ferramentas disponveis para trabalhar de forma semntica. Ferramentas para criao de dados ou para auxiliar na criao de reasoners. O captulo 6 traz uma abordagem geral sob a tica da criao de um prottipo, com o intuito de mostrar a aplicabilidade da Web Semntica. Relata discusses e alguns detalhes tcnicos da implementao do prottipo, como arquitetura e tecnologias utilizadas. O captulo 7 relata as concluses do trabalho e as prospeces referentes ao prottipo e os estudos a serem desenvolvidos em um futuro breve.

15

2. O ESTADO ATUAL DA WEB

A WWW (World Wide Web) foi desenvolvida em 1989 na CERN (European Organization for Nuclear Research) em Genebra, Sua. O primeiro prottipo da World Wide Web foi desenvolvido por Tim Berners-Lee com a inteno de servir como um sistema de informao aos fsicos (CARDOSO, 2007). A Web atual composta por documentos criados e disponibilizados por seres humanos, que possuem URLs como identificao e so acessados por protocolo HTTP (Hypertext Transfer Protocol) utilizando-se um Web browser (e.g., Firefox, Chrome, Opera, Safari, Internet Explorer). A principal linguagem para criao dos documentos que compem a Web o HTML (Hypertext Markup Language), uma linguagem de marcao que utiliza tags para permitir produzir documentos na Web. Atualmente um dos meios mais utilizados para se buscar informaes na Web so os mecanismos de busca, dentre os principais esto: Google, Yahoo! e Bing da Microsoft. Esses mecanismos de busca so responsveis por indexar grande parte do contedo existente na Web, criando ndices pelo endereo das pginas, relacionamento entre os endereos e palavras-chave. A cada nova pesquisa o ndice consultado em um procedimento que torna a busca ainda mais rpida, a fim de retornar o resultado ao usurio de uma forma quase imediata. Um dos maiores problemas enfrentados pelos mecanismos de busca a falta de normalizao dos dados existentes na Web, potencializando uma grande dificuldade em retornar resultados de qualidade e que possuam relevncia. bastante comum ao efetuar uma busca por determinada palavra-chave, que o resultado retornado seja ambguo. Um exemplo que pode ilustrar facilmente este caso a busca pela palavra-chave So Paulo em um mecanismo de busca qualquer. Muito provavelmente o resultado trar informaes sobre a cidade de So Paulo, sobre um santo chamado Paulo ou mesmo a equipe de futebol So Paulo Futebol Clube. A grande maioria dos dados criados e os j existentes na Web hoje so apenas para propsito de exibio, isto , no esto em um formato que permita tanto pessoas quanto computadores l-los e consequentemente trabalhar de forma colaborativa.

16

3. WEB SEMNTICA

A Web Semntica simplesmente uma rede de dados descritos e ligados de maneira estabelecer contexto ou semntica que aderem gramtica definida e construes de linguagens (HEBELER, 2009). A Web atual carece de semntica, isto , significado. As pginas e documentos existentes na Web so escritos utilizando a linguagem HTML que de uma maneira simplificada permite adicionar algum significado. As pginas e documentos so definidos por tags que representam diretamente a marcao de um elemento HTML, por exemplo: a tag <h1>um ttulo qualquer</h1> define um marcador principal para um cabealho. Quando um mecanismo de busca efetua a anlise de uma pgina qualquer que possua esta tag e tenha um valor definido, saber que se trata de um ttulo de primeira ordem. Outro tipo de tag bastante utilizada so as meta tags <META></META>, que representam informaes de certa forma relevantes busca e indexao dos mecanismos de busca. Os mecanismos de busca so responsveis por lerem as meta tags existentes nas pginas e documentos e de alguma forma classific-los para que ao buscar por uma determinada palavra-chave o resultado seja timo. Normalmente as meta tags contm aspectos relacionados ao tema, assuntos gerais e a categoria em que a pgina classifica-se. O grande problema gerado nesta etapa do processo de indexao e classificao devido o contedo das meta tags serem definidos por pessoas, sendo muitas vezes genrica demais ou ambgua. Dado a maneira como os dados so classificados, de forma programtica torna-se impossvel classificar os dados existentes na Web, encontrando fortes restries, devido a quantidade e principalmente pelo fato das informaes serem criadas sem padro, fazendo com que os dados tornem-se fragmentados. Isto representa um isolamento no que se diz ao contexto dos dados, onde cada tipo de informao no consegue tirar proveito das j existentes.

17 A Web Semntica sendo uma extenso da Web atual, tem por objetivo resolver este problema, criando relacionamento entre os dados e permitindo que a ligao entre eles possa oferecer determinada vantagem representando um esforo pela desambiguao.

3.1. Motivao para a Web Semntica


A principal motivao para a Web Semntica criar uma maneira formal para representao dos dados e a criao de conhecimento cruzado, onde cada nicho de conhecimento possa colaborar entre si, possibilitando que indexadores automticos, mecanismos de busca e computadores em geral consigam trabalhar de forma automatizada para a obteno de informaes padronizadas sem permitir ambiguidade.

3.2. Tipos de Dados


Os dados podem ser divididos em 3 grandes categorias que permitem alguma ou nenhuma forma de organizao.

FIGURA 1 Dado no estruturado, semi-estruturado e estruturado. Fonte: (CARDOSO, 2007)

3.2.1. Dados no estruturados

18 Os dados no estruturados so apresentados de forma primitiva. A busca por estes dados meramente textual. Este tipo de dado normalmente encontrado nas pginas HTML e no possibilita que os mecanismos de busca possam indexar e encontrar contedos relevantes, seno apenas palavras-chave. Neste tipo de estruturao de dados, toda a inteligncia fica sob responsabilidade das aplicaes. 3.2.2. Dados semi-estruturados Os dados semi-estruturados figuram entre o no estruturado e o estruturado. Esto definidos de acordo com uma estrutura simplificada de organizao. A XML (Extended Markup Language) tambm uma linguagem de marcao assim como o HTML e uma forma bastante comum para dados semi-estruturados, pois divide um documento em sesses e permite que um determinado dado seja extrado com alguma facilidade. O uso mais comum da linguagem XML para tratar da integrao de dados business-to-business, pois permite um meio comum onde duas ou mais aplicaes so capazes de entender o significado de um dado.

3.2.3. Dados estruturados So normalmente utilizados em tabelas de bancos de dados relacionais, tendo como principal caracterstica uma forma de estruturao rgida. Descrevem objetos em forma de registros, onde todos os registros de uma determinada entidade possuem os mesmos atributos e relacionam-se por meio de chaves com outras entidades para conseguir relacionar os dados. uma forma eficiente de trabalhar com os dados, porm no permite uma maneira otimizada de integrar estes dados na Web, considerando-se a quantidade de dados existentes e o fator complicador que seria relacion-los. Mesmo com os tipos de dados estruturados, a comunicao entre diferentes domnios de conhecimento na Web complicada apenas com a utilizao do conceito de banco de dados e relacionamento de chaves, devido no padronizao na publicao desses dados e pela dimenso que a Web tem hoje.

19

3.3. Organizao Semntica


A Semntica refere-se ao significado das palavras, incide sobre a relao entre significantes, tais como palavras, frases, sinais e smbolos, e o que eles representam, a sua denotao. O elemento fundamental da Web Semntica so os recursos. A tabela abaixo representa as principais diferenas entre a Web atual e a Web Semntica.

TABELA 1 Comparativo entre a Web atual e a Web Semntica

Fonte: (HEBELER, 2009) 3.3.1. Vocabulrios controlados O tipo mais simples de semntica aplicado na Web e em diferentes tipos de dados so os vocabulrios controlados. Um vocabulrio controlado uma ferramenta de informao que contm palavras e frases padronizadas, utilizadas para referenciar ideias, caractersticas fsicas, pessoas, lugares, eventos e muitos outros conceitos. Permitem a categorizao, indexao e obteno de informao (HARPING, 2010).

20 O objetivo principal do vocabulrio controlado prevenir que usurios definam seus prprios termos, que muitas vezes podem ser ambguos, sem significado ou com erros ortogrficos.

FIGURA 2 Exemplo de vocabulrio controlado Fonte: <http://marciazeng.slis.kent.edu/Z3919/2principle.htm>

3.3.2. Taxonomias A taxonomia a classificao baseada em assunto que arranja os termos em um vocabulrio controlado (CARDOSO, 2007). Os primeiros a utilizarem taxonomia foram os bilogos e cientistas para classificar organismos. Empregaram este mtodo para classificar plantas e animais de acordo as relaes naturais (BAILEY, 2005). Uma taxonomia classifica os termos pela forma da hierarquia ou rvore. A hierarquia de uma taxonomia contm relacionamento pai-filho, como uma subclasse de ou uma superclasse de. Para compreender uma taxonomia necessrio analisar a relao existente entre a palavra e as palavras ao redor da hierarquia.

21

FIGURA 3 Simples representao de taxonomia Fonte: (Daconta, Obrst; et al., 2003)

3.3.3. Tesauros Tesauros uma lista de palavras com significados semelhantes, dentro de um domnio especfico de conhecimento. uma extenso da taxonomia por permitir que termos sejam arranjados de forma hierrquica e tambm permita outras declaraes e relacionamentos sobre os mesmos termos (CARDOSO, 2007).

3.3.4. Ontologias Na filosofia, uma ontologia uma teoria sobre a natureza da existncia, de quais tipos de coisas existem. uma disciplina que estuda estas teorias. A Inteligncia Artificial e os pesquisadores Web optaram por seu prprio jargo e para eles ontologia um documento ou arquivo que formalmente define relaes entre os termos (BERNERS-LEE, 2001). As ontologias so similares s taxonomias, mas utilizam uma semntica mais rica entre os termos e atributos assim como regras restritas em como especificar os termos, relacionamentos e um conjunto de regras de inferncias.

22

4. ARQUITETURA

A Web Semntica composta por diversas tecnologias, ferramentas e padres, utilizados para adicionar significado aos dados e principalmente permitir que mecanismos de busca possam trabalhar de maneira automatizada. So padres e tecnologias essenciais para que a Web Semntica continue a crescer com sucesso e possa oferecer resultados ainda melhores. Para isto divide-se a arquitetura da Web Semntica em dois grandes grupos: os dados e os agentes3 (YU, 2011). A arquitetura da Web Semntica (BERNERS-LEE, 2001) representada na figura abaixo, proposta em 2001 por Tim Berners-Lee, para que o entendimento e o desenvolvimento fosse feito em camadas.

FIGURA 4 Camadas da arquitetura da Web Semntica Fonte: (BERNERS-LEE, 2001)


3 Agentes so uma entidade computacional que funcionam de forma contnua e autnoma podendo reagir a uma ao ou estmulos externos.

23

4.1. URI e Unicode


O URI (Uniform Resource Identifier) uma cadeia de caracteres que identifica um recurso nico na Web, seja ele fsico ou abstrato. Alguns exemplos podem ser citados: ftp://ftp.qualquersite.com/test/xpto.txt http://www.qualquersite.com/index.html Um URI ainda pode ser classificado como um localizador URL (Uniform Resource Locator) ou um nome URN (Uniform Resource Name) ou ambos. O URN como o nome de uma pessoa e a URL seu endereo. O URN utilizado para definir a identidade de um recurso, enquanto a URL fornece um meio de encontr-lo na Web (URI, W3C). URIs so de extrema importncia para a Web Semntica, pois utilizam uma conveno de nomes, alm de assegurar que os conceitos no sejam apenas palavras escritas em um documento, mas sim um conceito nico na Web. Ao associar um URI com um determinado recurso na Web significa que qualquer recurso pode criar uma referncia a ele ou mesmo sua prpria representao.

4.2. XML
A linguagem de marcao XML bastante utilizada para a transferncia e interoperabilidade entre aplicaes e classificada como um tipo de dado semi-estruturado. O XML permite flexibilidade na comunicao e exibio dos dados utilizando metadados, mas no possibilita especificar o significado dos dados. Em relao ao HTML, o XML apresenta uma flexibilidade maior, permitindo a criao de tags. Um exemplo prtico seria criar uma tag qualquer chamada <cargo></cargo> que pode ser preenchida com um valor identificando o nome do cargo. Apesar de a tag possuir significado para quem a criou, um computador no consegue interpret-la e saber o seu significado.

24 A similaridade existente entre o XML e HTML a de no expressar significado e relacionamento dos dados, tendo apenas utilidade sinttica. Ainda que com as suas limitaes em expressar semntica, o XML faz parte do conjunto de tecnologias utilizadas na Web Semntica. Uma das principais razes para utilizao do XML na Web Semntica devido a possibilidade de auto-definio e descrio de documentos, mas apresenta limitao no que diz a respeito dos significados das informaes.

4.3. XML Schema


XML Schema uma linguagem baseada no formato XML para definio de regras de validao (esquemas) em documentos no formato XML. uma alternativa ao DTD (Document Type Definition), cuja sintaxe no baseada no formato XML (XML Schema, W3C).

4.4. RDF
O RDF (Resource Description Framework) um modelo padro para troca de dados na Web. Possui caractersticas que facilitam a integrao de dados, mesmo se os esquemas subjacentes forem diferentes e suporte a evoluo dos esquemas ao longo do tempo sem a necessidade que os consumidores de dados sejam alterados. O RDF amplia a estrutura da Web para utilizar URIs para nomear o relacionamento entre as coisas bem como duas extremidades do link (normalmente referido como uma tripla). Utilizando este modelo simples, permite que dados estruturados e semi-estruturados possam ser misturados, expostos e compartilhados entre aplicaes diferentes. A estrutura de links forma um grafo rotulado direto, onde as fronteiras representam o nome da ligao entre dois recursos, representadas pelos ns do grafo. A visualizao deste grafo o modelo mental mais simples possvel para o RDF e normalmente utilizada para uma explicao de fcil entendimento visual (W3C, RDF).

25 O RDF uma linguagem de propsitos gerais, criada para ser simples e representar metadados. Tem um papel fundamental no esforo para eliminar a ambiguidade contida nas informaes na Web, tendo como a chave a utilizao de URIs. Embora tenha o XML como base, h diferena de propsito entre o RDF e o XML. Diferentemente do XML, o modelo abstrato utilizado pelo RDF permite que a informao seja dividida em pequenas partes, utilizando regras simples de semntica (significado). O intuito do RDF especificar um mtodo geral que simples e suficientemente flexvel para expressar qualquer fato, permitindo que computadores possam process-los. O modelo de construo do RDF composto pelos seguintes elementos chave: Expresso Assunto e objetos recurso Predicado

4.4.1. Recursos

Para remover a ambiguidade o RDF classifica tudo como um recurso. Um recurso simplesmente qualquer coisa que possa ser identificado por um URI. Por design e definio qualquer coisa pode ter um URI atribudo. Os URIs so de extrema importncia por garantirem a unicidade dos identificadores. No h ambiguidade sobre o que representam e sero sempre a mesma coisa, independente do contexto em que se trata.

4.4.2. Declaraes Na terminologia do RDF as declaraes so o elemento bsico da arquitetura e representam uma pequena parte do conhecimento. A ordem de uma declarao semntica RDF nunca deve ser alterada, respeitando a ordem conforme a figura 5.

26

FIGURA 5 Representao de uma tripla RDF

Uma das maiores dificuldades no aprendizado da Web Semntica a grande quantidade de termos e jarges utilizados, apesar de conceitualmente serem bastante simples. As expresses so sempre formadas por 3 componentes fixos, mais conhecido como uma tripla. Na linguagem RDF cada expresso ou tripla representa um fato, sendo que um conjunto de triplas ou expresses formam um pedao de informao ou conhecimento e um conjunto de expresses chamado de grafo RDF. A diviso de uma tripla RDF feita da seguinte maneira: Assunto: utilizado para denotar recursos no mundo, deve ser identificado por um URI e tambm chamado de n ou n inicial em um grafo. Predicado: utilizado para identificar a relao entre o assunto e o objeto. Deve ser identificado por um URI, tambm chamado de aresta em um grafo. Objeto: utilizado para denotar recursos no mundo, deve ser identificado por um URI e tambm chamado de n ou n final no grafo.

4.5. RDF Schema


um conjunto de classes com determinadas propriedades utilizando a linguagem extensvel RDF para representao do conhecimento, fornecendo elementos bsicos para a descrio de ontologias, chamado de vocabulrios RDF.

27 O RDFS (RDF Schema) visa prover a construo de modelos para qual os dados fazem referncia e indicam o que realmente representam. Possibilita a criao de classes, propriedades e valores. O conceito de classes em RDF bem similar s classes em linguagens de programao orientadas a objetos, como Java4 e C++5. O exemplo mostrado na Figura 6 representa um modelo simples RDF onde mostrado as facilidades do RDFS.
<rdf:RDF xml:base="http://www.inria.fr/2007/04/17/humans.rdfs" xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns="http://www.w3.org/2000/01/rdf-schema#"> <Class rdf:ID="Man"> <subClassOf rdf:resource="#Person"/> <subClassOf rdf:resource="#Male"/> <label xml:lang="en">man</label> <comment xml:lang="en">an adult male person</comment> </Class> <rdf:Property rdf:ID="hasMother"> <subPropertyOf rdf:resource="#hasParent"/> <range rdf:resource="#Female"/> <domain rdf:resource="#Human"/> <label xml:lang="en">has for mother</label> <comment xml:lang="en">to have for parent a female.</comment> </rdf:Property> </rdf:RDF>

FIGURA 6 Exemplo de RDFS

4.6. Ontologias
Uma ontologia consiste de declaraes que definem conceitos, relacionamentos e regras. So responsveis por representar um modelo de domnio. Tem grande importncia para Web Semntica por permitirem a utilizao de domnios de conhecimento em diferentes aplicaes. (HEBELER, 2009) Atualmente existem ontologias ricas que podem ser utilizadas nas aplicaes. Uma aplicao pode utilizar uma dessas ontologias j disponveis ou adapt-las s necessidades
4 http://java.com/en/ 5 http://www2.research.att.com/~bs/C++.html

28 especficas. Pode estar relacionada s mais diversas reas de conhecimento, tais como: computao, medicina, finanas, fotografia. Uma definio bastante simples para o conceito de ontologia 6 dada pelo prprio W3C:
An ontology formally defines a common set of terms that are used to describe and represent a domain . . . An ontology defines the terms used to describe and represent an area of knowledge. 7

As ontologias so de grande importncia para Web Semntica, pois possibilitam que computadores compreendam o significado das informaes e reutilizem conhecimento.

4.6.1. OWL A OWL (Ontology Web Language) um dos componentes fundamentais da Web Semntica definido pelo W3C. a linguagem mais popular para criao de ontologias. A linguagem OWL Surgiu da necessidade de criar-se uma linguagem que facilitasse a legibilidade e expressividade de contedos que antes eram suportados apenas por XML, RDF e RDFS. uma extenso do RFDS e ambos tem o mesmo propsito: definir ontologias para descrever classes, propriedades e seus relacionamentos para domnios especficos de aplicaes (YU, 2011). O uso da OWL est ligado principalmente utilizao de inferncias complexas onde h relacionamento entre os dados, permitindo expressar e construir aplicaes com uma habilidade de raciocnio muito mais forte. A principal motivao 8 para utilizao da OWL definida pelo prprio W3C:
OWL adiciona mais vocabulrio para descrever propriedades e classes: ente outros, relacionar classes (e.g disjuno), cardinalidade (e.g exatamente um), igualdade,

6 OWL Web Ontology Language Use Cases and Requirements. Disponvel em: <http://www.w3.org/TR/webont-req/> Acesso em: 12 de Outubro de 2011. 7 Uma ontologia define formalmente um conjunto de termos comuns que so utilizados para descrever e representar um domnio... Uma ontologia define os termos utilizados para descrever uma rea de conhecimento. 8 OWL Ontology Web Language. Disponvel em: <http://www.w3.org/TR/2004/REC-owl-features20040210/#s1.2> Acesso em: 23 de Outubro de 2011.

29
digitao rica de propriedades, caractersticas de propriedades (e.g simetria) e classes enumeradas.

A linguagem passou por diversas revises ao longo dos anos, at a especificao feita pelo W3C, tendo um histrico de revises extenso. Durante as revises da linguagem foi observado que alguns requisitos pensados anteriormente e alguns nem mesmo levantados demandavam especificao ou uma reviso mais forte. Com isto surgiram trs sub-linguagens OWL (OWL, W3C), que dependendo do seu tipo, podem representar expressividade diferentes para propsitos diferentes. A diviso feita da seguinte forma: OWL Lite: suporta usurios/desenvolvedores que precisam de uma classificao hierrquica e restries simples. Embora suporte restries de cardinalidade, permite apenas valores de cardinalidade 0 ou 1. Permite que a migrao de outros tipos de semntica como tesauros e outras taxonomias seja feita mais facilmente. A complexidade formal da OWL Lite tambm menor compara OWL DL. OWL DL (Description Logic9): suporta usurios/desenvolvedores que necessitam de uma expressividade grande, enquanto mantm a computabilidade (todas as concluses sejam computveis) e decidibilidade (todas as computaes terminam em tempo finito). uma extenso da OWL Lite. nomeada desta maneira devido a correspondncia com a lgica descritiva, um campo de pesquisa que estuda as lgicas que formam a base formal da OWL. OWL Full: uma extenso da OWL DL e a mais completa das especificaes OWL. Criada para permitir a compatibilidade com RDFS. Permite que classes sejam tratadas simultaneamente como colees e instncias. Permite aumentar o significado de vocabulrios pr-definidos em RDF ou OWL. Um fator importante na construo de ontologias utilizando OWL a compatibilidade entre suas diferentes especificaes. Esta compatibilidade dada, da menos expressiva para a mais expressiva, isto significa que, a OWL Full suporta a OWL DL, que suporta a OWL Lite. A recproca no verdadeira.

9 Lgica de Descrio

30

4.7. SPARQL
Outro componente chave da pilha de aplicaes definidas pelo W3C para a Web Semntica a linguagem SPARQL (Simple Protocol and RDF Query Language) (SPARQL, W3C). Com o uso do RDF possvel criar dados em um formato que as mquinas possam interpret-los e trabalhar de forma automatizada. Alm do RDF, as ontologias possibilitam adicionar lgica a estes dados, permitindo que as mquinas no apenas interprete os dados, mas tambm possam realizar inferncias sobre eles. Toda esta pilha de especificaes e ferramentas criadas para a Web Semntica, permite que uma quantidade grande de dados seja publicado na Web e assim comece a ganhar forma. Atualmente os mecanismos de busca no conseguem fornecer resultados to exatos, por no saberem tirar proveito dos dados caracterizados por semntica. Muitas organizaes j esto trabalhando com os dados semnticos, para que mecanismos automatizados possam consult-los, porm preciso um esforo para que se consiga obter resultados satisfatrios. Uma melhoria possvel para a Web seria a criao ou adaptao dos mecanismos de buscas j existentes para que possam trabalhar na emergente Web Semntica. Partindo do princpio que a Web Semntica possvel de leitura s mquinas, os novos mecanismos de busca podero ter uma performance muito mais eficiente em relao s formas tradicionais existentes hoje, que trabalham sob o ambiente da Web tradicional (YU, 2011). Os mecanismos de busca que temos hoje no so capazes de retornar resultados exatos, mas sim listas com possveis resultados. com o intuito de retornar resultados exatos, dado que os dados j so semnticos, que a linguagem SPARQL foi criada. possvel que seja enviado consultas para obteno de uma resposta direta. Alguns benefcios que a linguagem de consulta SPARQL proporciona: Realizar consultas RDF para obter informaes especficas. Realizar consultadas agendas sob conjuntos RDF para gerao relatrios. Desenvolver aplicaes alto nvel que possam trabalhar com os resultados retornados pela SPARQL.

31

FIGURA 7 Consulta simples utilizando SPARQL Fonte: <http://www.w3.org/TR/rdf-sparql-query/>

4.8. Lgica, Prova e Confiana


Esta camada responsvel por prover caractersticas lgicas Web Semntica. A ideia permitir que computadores possam fazer inferncia lgica utilizando estes princpios. Um exemplo prtico : um estudante aprovado em determinada disciplina se a sua mdia semestral for maior ou igual 6. Um programa pode utilizar esta regra para fazer uma simples deduo: Se o aluno X possui mdia semestral 7,5, logo ele est aprovado.. A camada de lgica da Web Semntica composta pelas mquinas de inferncia, tambm conhecidas como reasoners. So aplicaes de software que derivam novos fatos ou associaes a partir de informaes existentes (CARDOSO, 2007). A Web Semntica devido a sua estruturao, permite que os reasoners consigam obter concluses baseadas em modelo. A utilizao das mquinas de inferncia na Web Semntica permite que as aplicaes provem o porqu da obteno de uma concluso particular, isto , as aplicaes semnticas podem dar provas de suas concluses. Confiana a ltima camada proposta pela arquitetura da Web Semntica. Prov autenticao de identidades e evidncia a confiabilidade de dados e servios. Ainda no um assunto muito explorado.

32

5. FERRAMENTAS

Para facilitar a compreenso de como a Web Semntica factvel nos dias atuais, existem diversas ferramentas que permitem desde a criao dos dados at aplicaes que utilizam-se dos dados semnticos para fazer algum tipo de anlise, gerao de relatrios, mashups10, entre outros. Os frameworks so um dos tipos de ferramentas mais importantes para a Web Semntica. Um framework pode ser entendido como um ambiente de desenvolvimento de software para suportar desenvolvimentos futuros. Frameworks de qualidade so compostos por cdigos e bibliotecas de cdigos reutilizveis. As principais caractersticas de um framework destinado Web Semntica so: Suporte para RDF, RDFS e OWL. Capacidade de realizar inferncias para ontologias RDF e OWL. Suporte para a linguagem de consulta SPARQL. A importncia dada aos frameworks deve-se principalmente facilidade

proporcionada para o desenvolvimento de aplicaes semnticas, onde as tecnologias complexas tornam-se por abstrao, bastante simples.

5.1. Linked Open Data


A ideia por trs do Linked Open Data simples: publicar dados onde as mquinas possam l-los, como documentos RDF na Web e de alguma forma todos estes documentos estarem conectados uns aos outros, ento permitindo que as mquinas possam process-los (YU, 2011). O conceito de Linked Open Data foi originalmente proposto por Tim Berners-Lee (BERNERS-LEE, 2006). Refere-se aos dados publicados na Web em uma forma legvel s
10 Website ou aplicao que utiliza contedo de mais de uma fonte para criar um novo servio completo.

33 mquinas, onde o significado explicitamente definido, conectado outros conjuntos de dados. Conceitualmente, Linked Data refere-se ao conjunto de melhores prticas para publicao e conexo de dados estruturados na Web. A proposta de Tim Berners-Lee feita em 2006, para que o Linked Open Data funcione, exige que algumas regras sejam seguidas: Utilizar URIs como nome para as coisas. Utilizar URIs HTTP para que um cliente (seja humano ou mquina) possa buscar por estes nomes. Quando algum buscar por um URI, informaes teis devero ser providas. Incluir links para URIs, para que um cliente possa descobrir mais coisas.

Os dados publicados de acordo com o Linked Open Data esto representados pela figura 8.

FIGURA 8 Grafo Open Data Fonte: <http://www.linkeddatatools.com/introducing-rdf>

34

5.2. Jena

um framework Java criado para auxiliar a criao de aplicaes para a Web Semntica. Prov um ambiente de programao para RDF, RDFS, OWL e SPARQL e inclui uma mquina de inferncia baseada em regras. O framework gratuito, open source e originou-se dentro do HP Labs Semantic Web Programmers 11. O Jena possibilita estabelecer os conceitos da Web Semntica, utilizando classes, relacionamento entre classes, objetos e mtodos, o que torna a abstrao mais simples. O mecanismo de inferncia baseado em regras utilizado pelo framework apresentado conforme a figura 9.

FIGURA 9 Viso geral ao suporte de inferncias Fonte: <http://jena.sourceforge.net/inference/>

11 http://www.hpl.hp.com/semweb/

35

5.3. Protg
A plataforma Protg12 uma plataforma gratuita, open source, framework de base de conhecimento e que permite criar e editar ontologias. Suporta dois tipos principais de modelagem de ontologias: via Protg-Frames e Protg-OWL. As ontologias criadas com o Protg podem ser exportadas em uma grande variedade de formatos, includo: RDF(S), OWL e XMLS. A base da plataforma Java, sendo extensvel para desenvolver prottipos e aplicaes semnticas.

FIGURA 10 Criao de ontologias com Protg Fonte: <http://protege.stanford.edu/overview/po-screenshots.html>

12 http://protege.stanford.edu/

36

6. PROTTIPO

Neste captulo ser apresentado um prottipo que utiliza tecnologias e especificaes da Web Semntica com a integrao de dados utilizando mashup, a metodologia de desenvolvimento e os resultados obtidos.

6.1. Proposta de Aplicao


A proposta da criao de um prottipo validar a criao de aplicaes para a Web Semntica e auxiliar desenvolvedores que queiram aplicar os conceitos detalhados neste trabalho. A aplicao desenvolvida, princpio como prottipo um mashup. Mashup uma aplicao que integra dados de outras aplicaes, criando um novo servio completo. Na maioria dos mashups os dados so provenientes de terceiros, normalmente com a publicao de um web service ou API (Application Programming Interface). Este tipo de aplicao caracteriza-se principalmente pelo uso das seguintes tcnicas e tecnologias: Uso de XML e Web Services. Ajax (Asynchronous JavaScript and XML). Widgets JavasScript. Com a crescente publicao de dados semnticos na Web, criar mashups tem se tornado ainda mais simples. O grande potencial em se criar este tipo de aplicao a flexibilidade de integrar dados e depender basicamente da criatividade. O prottipo utiliza dados de dois grandes provedores de dados na Web: IMDB 13 (The Internet Movie Database) e o The New York Times 14. Ambos disponibilizam seus dados em formato RDF e permite consult-los utilizando a linguagem de consulta SPARQL.
13 http://linkedmdb.org/ 14 http://data.nytimes.com/

37 O IMDB fornece uma base de dados para consulta, que agrega informaes de estrelas da msica, cinema, filmes, comerciais, programas de televiso, entre outros e atualmente pertence Amazon15. A ideia por trs do projeto do IMDB publicar dados semnticos na Web, sendo inclusive o primeiro a realizar este feito para seu propsito especfico. O The New York Times fornece diversas APIs de desenvolvimento, permitindo integrar os dados que so publicados de forma semntica, possibilitando a criao de diferentes tipos de mashups (NEW YORK TIMES, 2011). Dentre as muitas APIs fornecidas pelo The New York Times esto: The Article Search API: permite buscar dados desde 1981 at hoje, obtendo resumos, pargrafos, links associados mdia e outros metadados. The Best Sellers API: permite obter os dados da lista de best-sellers publicados, inclusive ranking. The Movie Reviews API: permite buscar crticas de filmes. Para poder utilizar a API fornecida pelo The New York Times preciso cadastrar-se no site e solicitar uma chave de API para desenvolvimento. Para cada API, utiliza-se uma chave diferente. H um limite de 5 mil requisies dirias por API, devido motivos de segurana e carga dos servidores que so disponibilizados para desenvolvimento. A integrao dos dados providos por ambos os provedores de dados, trata de atores, diretores e crticas de filmes. O IMDB permite buscar informaes detalhadas referentes aos diretores, atores, filmes dirigidos e estrelados. A API The Movie Reviews do The New York Times fornece crticas relacionada aos filmes, feito por especialistas.

6.2. Funcionamento
O prottipo integra dados de duas fontes distintas: IMDB e The New York Times. A ideia permitir que seja efetuado uma busca por nome de um diretor e retorne quais atores e filmes estiveram sob a direo do diretor informado.

15 http://www.amazon.com

38 A busca de informaes de atores, diretores e filmes realizada na base de dados semntica do IMDB.

FIGURA 11 Busca pelo diretor Steven Spielberg

Aps efetuar a busca, a aplicao retorna uma lista com todos os filmes dirigidos e os atores que estrelaram determinado filme, de acordo com o diretor informado. Esta busca realizada de forma semntica e possvel devido o formato dos dados publicados. Ao exibir todos os resultados de acordo com a busca informada no passo anterior, possvel consultar um review de determinado filme, fornecido pela API do The New York Times. A informao de review apenas uma das informaes fornecidas pela API. Pode-se consultar: data do review, nome de quem fez o review e o link para o review direto na pgina de filmes do The New York Times.

39

FIGURA 12 Atores e filmes dirigidos por Steven Spielberg

Para consultar o review do filme fornecido pelo The New York Times preciso clicar sobre o nome do filme.

FIGURA 13 Review do filme pelo The New York Times

40

6.3. Arquitetura
A arquitetura do prottipo inclui diferentes tecnologias e metodologias de desenvolvimento: HTML Javascript/Ajax/JSON Servlets Java Jena framework RDF SPARQL

FIGURA 14 Arquitetura do prottipo

O ponto central de controle da aplicao executado em um servlet Java que executado em um container Web, mais precisamente Apache Tomcat 716. O servlet uma
16 http://tomcat.apache.org/

41 classe Java responsvel por receber os parmetros da aplicao web, neste caso o nome de um diretor e redirecion-las de acordo com o resultado obtido. A busca por um nome de diretor dispara uma consulta RDF aos servidores do IMDB. Esta consulta feita utilizando a linguagem SPARQL atravs do framework Jena. O Jena oferece um conjunto de classes para a construo e execuo das consultas. Durante a construo de uma consulta SPARQL, h os chamados endpoints onde possvel testar cada consulta e efetuar os devidos ajustes. Para este caso, o endpoint utilizado foi o http://data.linkedmdb.org/sparql. Um endpoint nada mais que um web service, uma interface web para construo e testes de consultas SPARQL. O retorno da consulta SPARQL exibido em uma pgina HTML onde os dados esto classificados por ator e filme. A aplicao permite que um review do filme seja visualizado aps a exibio dos resultados, mas para que isto ocorra preciso clicar sobre o nome de um filme. O clique sobre o nome do filme dispara uma requisio Ajax para a API do The New York Times, que pode retornar ou no o review em formato JSON (JavaScript Object Notation).

6.4. Resultados e Discusses


Este captulo apresenta discusses levantadas durante o desenvolvimento do trabalho, problema encontrados e testes efetuados. Dado as limitaes j citadas anteriormente, em alguns casos a API pode retornar um status HTTP 500, mas na maioria dos casos o retorno da requisio obtido com sucesso, ou seja, HTTP 200 OK. A primeira requisio que o prottipo realiza, utilizando consulta SPARQL, leva em mdia 2s para ser realizada na base de dados do IMDB, conforme a figura 15. Pode se considerar um tempo curto para retornar os dados.

42

FIGURA 15 Performance da requisio IMDB

Aps retornar os resultados da consulta e efetuar uma requisio para obteno de um review pelo The New York Times, o tempo mdio de resposta foi de aproximadamente 2.2s conforme a figura 16.

FIGURA 16 Performance da requisio ao New York Times

Durante o desenvolvimento do trabalho, um dos problemas enfrentados foi a limitao da API do The New York Times. Atualmente a API suporta apenas o formato de requisies JSON e no JSONP (JSON with padding) como maioria dos servios na Web suportam hoje. O problema enfrentado de certa forma bastante conhecido e chamado de Same Origin Policy, ou poltica da mesma origem. A poltica da mesma origem diz a respeito da segurana das aplicaes web. um conceito de segurana importante, pois permite que scripts de um mesmo site acessem pginas do mesmo site, porm bloqueia o acesso de scripts provenientes de sites diferentes. Este poltica de segurana ajuda a garantir a confidencialidade das informaes na Web (MOZILLA, 2011).

43 Esta dificuldade exigiu que uma soluo de contorno fosse adotada, visando obter o retorno das requisies. Para isto, foi necessrio algumas discusses no frum 17 que o The New York Times disponibiliza e a resposta encontrada para contornar o problema, foi criar um web proxy para interceptar as requisies e as respostas. A criao do proxy tambm foi desenvolvida em Java, utilizando servlets. Um proxy nada mais que um intermedirio, que intercepta uma determinada requisio, faz algum tratamento, podendo redirecion-la ou retornando algum tipo de informao. Para este caso especfico, o servlet obtm a requisio, repassa para a API do The New York Times e o retorno obtido via JSON repassado ao prottipo. A soluo desenvolvida com proxy contorna o problema da poltica da mesma origem, pois ao invs de trabalhar com a requisio direto com o JavaScript, passa por uma etapa intermediria no servidor para realizar esta tarefa.

17 http://developer.nytimes.com/forum

44

7. CONCLUSES

Este trabalho apresentou os diversos conceitos que envolvem a Web Semntica e como trabalhar de forma padronizada na criao e busca dos dados, para criar uma Web ainda melhor, com informaes relevantes, bem descritas e principalmente com significado. O prottipo foi criado com base nas tecnologias padronizadas e discutidas pelo W3C, como RDF, SPARQL e o framework Jena. Com o prottipo ficou comprovado que possvel tornar a Web Semntica algo mais prtico, com aplicaes que realmente funcionam. Apesar da aplicao, a princpio no ter uma aplicao funcional, ficou evidente que a ideia por trs da Web Semntica no apenas terica. Aps executar diversos testes com o prottipo, foi possvel concluir que algo realmente simples pode fornecer bons resultados. A quantidade de linhas de cdigos utilizadas para criar o prottipo extremamente pequena. A ideia de trabalhar com mashups tambm bastante interessante, pois permite utilizar diferentes tipos e fontes de dados e manter o foco na criatividade. Atualmente diversas empresas, organizaes e governos tem provido fontes de dados semnticas, para que desenvolvedores e cidados comuns possam utiliz-las. Portanto, conclui-se que o a Web Semntica de fato algo prtico. O uso adequado das tecnologias e a realizao de um trabalho sob as especificaes definidas pelo W3C podem realmente tornar a Web um lugar melhor, no simplesmente ignorando o que existe hoje, mas sendo uma extenso.

7.1. Trabalhos Futuros


Abaixo algumas propostas para a continuidade do trabalho e melhorias no prottipo: Definir uma melhor diretiva para a coleta dos dados e integrao com mecanismos de inferncia para permitir maior confiabilidade nos dados.

45 Integrar a busca dos dados DBpedia 18, que uma base de dados semntica obtida e classificada a partir dos dados da Wikipedia 19.

18 http://dbpedia.org/About 19 http://www.wikipedia.org/

46

BIBLIOGRAFIA
BAILEY, Brian; GRANT, Martin; ANDERSON, Thomas. Taxonomies for The Development and Verification of Digital Systems. New York: Springer, 2005. 179 p. BERNERS-LEE, T . J.; HENDLER, J.; LASSILA, O. (2001). A new form of Web content that is meaningful to computers will unleash a revolution of new possibilities, Scientific American, Maio 2001. BERNERS-LEE, Tim. (2006). Linked Data: Design Issues. Disponvel em: <http://www.w3.org/DesignIssues/LinkedData.html>. Acesso em: 20 de Outubro de 2011. CARDOSO, Jorge. Semantic Web services: Theory, Tools and Applications. Portugal: Idea Group Inc (IGI), 2007. 353 p. DACONTA, Michael C.; OBRST, Leo J.; SMITH, Kevin T.. The Semantic Web: A Guide to the Future of XML, Web Services, and Knowledge Management. Indianapolis, In: Wiley, 2003. 281 p. HARPING, Patricia. Introduction to Controlled Vocabularies: Terminology for Art, Architecture, and Other Cultural Works. Los Angeles, California: Getty Publications, 2010. 245 p. HEBELER, John et al. Semantic Web Programming. Indianapolis, In: John Wiley & Sons, 2009. 616 p. LEDFORD, Jerri L. Search Engine Optimization Bible. 2. ed. Estados Unidos: John Wiley & Sons, 2009. 528 p. MOZILLA, 2011. Same Origin Policy for JavaScript. Disponvel em: <https://developer.mozilla.org/en/Same_origin_policy_for_JavaScript>. Acesso em: 18 de Outubro de 2011. NEW YORK TIMES. Times Developer Network: API Documentation and Tools. Disponvel em: <http://developer.nytimes.com/docs>. Acesso em: 20 de Outubro de 2011. OWL, W3C. Web Ontology Language. Disponvel em: <http://www.w3.org/TR/owl-features/>. Acesso em: 23 de Outubro de 2011. RDF, W3C. Semantic Web Standards. Disponvel em: <http://www.w3.org/RDF/>. Acesso em: 03 de Setembro de 2011. ROCHA, R. P. . Metadados, Web Semntica, Categorizao Automtica: combinando esforos humanos e computacionais para a descoberta e o uso dos recursos da web . Revista de Biblioteconomia e Comunicao, Porto Alegre, v. 10, n. 1, p. 109-122, 2004. SPARQL, W3C. SPARQL Working Group Wiki. Disponvel em: <http://www.w3.org/2009/sparql/wiki/Main_Page>. Acesso em: 25 de Outubro de 2011. URI, W3C. URI. Disponvel em: <http://www.w3.org/TR/chips/>. Acesso em: 11 de Setembro de 2011. XML Schema, W3C. XML Schema. Disponvel em <http://www.w3.org/XML/Schema>. Acesso em: 14 de Setembro de 2011. YU, Liyang. A Developer's Guide to the Semantic Web. Atlanta, Ga: Springer, 2010. 608 p.

Você também pode gostar