UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ LÓGICA PARA COMPUTAÇÃO ANDRÉ AUGUSTO DEQUESCH MARCOS HENRIQUE DA SILVA MAURICIO OKADA ONTOLOGIAS E WEB SEMÂNTICA (COM LÓGICAS DE DESCRIÇÃO) TRABALHO DE LÓGICA PARA COMPUTAÇÃO CURITIBA 2009 ANDRÉ AUGUSTO DEQUESCH MARCOS HENRIQUE DA SILVA MAURICIO OKADA ONTOLOGIAS E WEB SEMÂNTICA (COM LÓGICAS DE DESCRIÇÃO) Trabalho sobre ontologias e web semântica(com lógicas de descrição) da matéria de Lógica para Computação do curso de Engenharia de Computação da universidade tecnológica do Paraná com intuito de nota parcial sob orientação do Prof. Dr. Adolfo Gustavo Serra Seca Neto. CURITIBA 2009 2.1 Introdução Neste trabalho será abordado um breve comentário sobre ontologias e será explicado o que é a web semântica e o uso de lógicas de descrição, com intuito de esclarecer a razão de se querer criar a web semântica e o porque dela ser um projeto ambicioso nos dias de hoje. Também será abordado, de forma resumida, o porque da linguagem de programação XML (eXtensible Markup Language) ter sido a linguagem mais popular para a implementação da web semântica. Será mostrado também a diferença do uso de TAGS em XML e HTML. Também será demonstrado algumas das linguagens aplicadas em web semântica. 3.1 Ontologias De acordo com o dicionário Priberam da língua portuguesa: “Teoria Metafísica do ser.”(http://www.priberam.pt/dlpo/dlpo.aspx?pal=ontologia [consultado em 02-05-2009]) Para a área de computação, a ontologia é usada como forma de um modelo de dados representando um aglomerado de conceitos que pertencem dentro de um domínio e faz o relacionamento entre eles. “É utilizada para realizar inferência sobre os objetos do domínio.” (http://pt.wikipedia.org/wiki/Ontologia_(ciência_da_computação) [consultado em 0205-2009]) A ontologia usa classes (conceitos), que são grupos abstratos, que podem conter outras classes. Um exemplo seria um computador: o próprio computador seria uma classe, mas o fato dele existir faz com que exista um provável gabinete, que também seria considerado uma classe, e dentro do gabinete uma placa mãe que também seria considerada outra classe. É utilizado a ontologia como base conceitual para a web semântica. Afinal, com a ontologia é possível ter um reuso de conhecimentos, separar conhecimentos de domínio com conhecimentos operacionais, e até tornar explícitas hipóteses sobre um domínio. Um software muito utilizado para pesquisa, que utiliza ontologias, é o Protège. 3.2 Web Semântica A Web Semântica é uma evolução da Web atual. Ela irá organizar toda a informação de forma que seja mais fácil procurar e acessar os dados de internet, fazendo com que a maquina e o usuário tenha uma forma de cooperação. A Web poderá interligar o significado das palavras de modo que elas possam interagir entre si. Assim o computador poderá “entender” o que o usuário procura e processar da devida maneira. O objetivo não é criar maquinas que se comportem como pessoas e sim fazer com que as maquinas entendam a linguagem utilizada de uma melhor forma. A idéia da Web Semântica iniciou com a empresa W3C (World Wide Web Consortium) em 2001 quando Tim Berners-Lee, James Hendler e Ora Lassila publicaram um artigo na revista Scientific American, intitulado: “Web Semântica: um novo formato de conteúdo para a Web que tem significado para computadores vai iniciar uma revolução de novas possibilidades”. A Web Semântica utiliza de quatro principais tipos de linguagens: eXtensible Markup Language (XML), Resource Description Framework (RDF), Web Ontology Language (OWL) e a RDFS, entre outras como a utilização dos Metadados, que servem para incluir a informação sobre a informação na Web. A linguagem HTML foi totalmente popularizada e utilizada na maioria dos sites, a diferença é que essa linguagem não permite atribuir certo significado a informação, pois possui certo limite na utilização das tags, elas somente mostram a informação e descrevem como a pagina deve ser exibida. Já na Web Semântica as tags possuem maior liberdade e variabilidade tornando mais fácil sua utilização. A web semântica, por sua vez, estará presente na Web 3.0. pois será a base para a funcionalidade da Web 3.0. Essa nova web, por sua vez, não tem suas mudanças voltadas ao usuário em si, e sim nas máquinas e na reformulação estrutural da web. A idéia de quando ela for implementada, é de passar de World Wide Web para World Wide Database. Ela organizará e agrupará páginas por temas, assuntos, e outros assuntos conforme será pedido pelo usuário num momento de buscas. E ai está o conceito da web semântica, organizar os dados de uma maneira que o computador “entenda” o que o usuário pede. 3.3 Tags: Tags no seu significado em inglês significa rótulo ou etiqueta. Elas não aparecem no computador e servem para recolher informações para um computador. Elas são rótulos usados para informar ao navegador como deve ser apresentado o website. Na linguagem HTML as tags são pré-definidas e limitadas, ou seja, existe um certo tipo de tags usado somente na linguagem HTML. Existe dois tipos de tags, as tags de abertura <comando> e as tags de fechamento </comando>. Tudo que estiver entre essas tags (abertura e fechamento) será processado conforme o comando contido nela. Um exemplo: <title>Texto entre as tags </title>. Isso quer dizer que o titulo do seu website será “Texto entre as tags”. No HTML existe um tipo especifico de tags chamada Meta tags. É nela que o código escrito será destinado para sites de busca. Dentro dela você irá inserir as palavras chaves que facilitarão o usuário a encontrar o site que deseja. Também é nelas que você pode assinar seu site declarando autoria sobre o código fonte. As Meta tags devem ser incluídas dentro da tag <HEAD>. Exemplo: <HTML> <HEAD> <TITLE> Aprendendo sobre as meta tags </TITLE> <META NAME="author" CONTENT="Erika Sarti"> <META NAME="description" CONTENT="Meta Tags - O que são e como utilizá-las Um artigo para iniciantes"> <META NAME="keywords" CONTENT="sites, web, desenvolvimento"> </HEAD>( http://www.infowester.com/metatags.php [consultado em 30/04/2009]) Assim a forma de busca dos sites atuais utiliza um sistema desatualizado, pois os sites são achados quando palavras são encontradas dentro das Meta Tags, fazendo com que possa ser difícil encontrar um tipo de site que você deseja ou encontrar milhares de sites contendo informações inúteis para aquela ocasião. A Web Semântica não vem para substituir a HTML e sim para evoluir a mesma, tornando mais fácil esse sistema de busca. Imagine a situação abaixo e entenda melhor: Você precisa fazer uma viagem às pressas para a Tailândia, então você pede ao computador encontrar uma companhia aérea que siga as seguintes restrições: que tenha um voo para a manhã seguinte na classe econômica e seja a companhia com o preço mais barato. O computador, em poucos momentos lhe fornece o resultado da busca com a companhia que melhor se encaixa nas medidas impostas. Depois disso, você apenas tem o trabalho de reservar seu lugar. No exemplo acima houve uma ligação do significado de cada palavra e permitiu com que a informação fosse mais fácil de ser encontrada. Se a frase acima fosse digitada em um site com uma linguagem HTML a resposta seria milhares de sites com alguns até contendo “Vôo Livre” que seria uma informação inútil no momento. O uso da Ontologia na Web Semântica é essencial, pois o mesmo faz uma homogeneização de dados e da informação contida que facilita na forma de encontrar os dados. 3.4 Linguagens da Web Semântica: Existem quatro tipos principais de linguagens na Web Semântica mas serão abordados três delas. OWL (Web Ontology Language): Essa linguagem foi criada com o intuito de utilizar a Ontologia na Web. Ela foi baseada nas linguagens OIL e DAML+OIL da (WC3) e é essencial para as linguagens XML, RDF e RDFS. A OWL disponibiliza uma forma comum para o processamento de conteúdo semântico da informação na Web. Assim ela facilita as outras linguagens (como XML) para expressar o conteúdo semântico espalhado na Web, ou seja, ela relaciona a informação contida em um website com o outro tornando mais fácil a informação de ser trocada por diferentes tipos de computadores. A OWL é uma linguagem não muito fácil de ser lida por humanos, mas ela se utiliza de um framework (que seria um relacionamento de classes) para facilitar sua leitura. Existe três tipos de sub-linguagens do OWL: - A OWL Lite, que é a mais simples entre elas, utiliza-se de restrições e classificações simples. - A OWL DL, que é um pouco mais complexa, utiliza-se de uma máxima expressividade, contem toda a linguagem OWL, mas só podem ser usada com certas restrições como classe e subclasse. Ela possui forte relação com a lógica de descrição, que uma lógica que forma a base de OWL. - A OWL Full, que é a mais complexa das três, utiliza-se de uma máxima expressividade e a liberdade sintática. Ela permite que o uso da Ontologia aumente o vocabulário da OWL. É praticamente improvável que algum software venha a ser capaz de suportar cada elemento da OWL Full. Resource Description Framework (RDF): Essa linguagem permite criar um modelo de dados usando o vocabulário semântico do URI (uma cadeia de caracteres usados em recursos da internet) e a sintaxe da XML. eXtensible Markup Language (XML): Derivada das linguagens SGML e HTML a XML é a principal linguagem da Web Semântica. Criada, também, pela WC3, ela define um formato universal para os dados na Web e permite escrever documentos capazes de ser facilmente visível pelo computador. A XML permite que o usuário descreva os dados da sua maneira em categorias que o próprio usuário poderá escolher. A principal diferença entre a XML e a HTML é no uso das tags. Na HTML as tags são limitadas e podem ser executadas com erro (como uma tag pode ser executada sem ter seu comando fechado). Já a XML possui um uso ilimitado de tags que não podem ser executados se possuir erro (pois a aplicação para se ocorrer algum erro). O uso ilimitado pode ser explicado na utilização das tags. Em HTML existe tags especificas (como <HEAD>), já na XML as tags são utilizadas para representar blocos, assim uma tag <p> e </p> pode representar qualquer coisa que o usuário quiser que represente. <p> e </p> pode representar peso, pessoa, nome ou uma pizzaria. Assim você pode criar quantas tags desejar e as utilizar de maneira adequada. Quando se é criado uma tag ela é armazenada em um arquivo chamado DTD. Nele você pode definir qual tag você vai utilizar. Por exemplo se você criar uma tag <cadastro>, pode-se criar mais três tags como <idade>, <profissão> e <nome>. Exemplo: <email> <de> Departamento Financeiro </de> <para> Departamento Operacional </para> <assunto> Análise do Ano Fiscal </assunto> <mensagem> Favor comparecem à reunião que se realizará em 10/08/2005, às 8:00 horas, no auditório da empresa. </mensagem> </email> (http://www.infowester.com/lingxml.php[consultado em 22/04/2009]) Com o XML, junto com a idéia da web semântica, pode-se manipular as tags de uma forma mais organizada, que permite com que os robôs de busca possam procurar de forma mais eficaz para o cliente e, se fosse no exemplo dado a pouco tempo, o usuário não deveria fazer várias especificações sobre o que estava procurando não tendo um tempo perdido em vão na procura. Um utilitário para pesquisa de Web Semântica na Web é o SWOOGLE. Ele procura pela Web arquivos escritos em formato RDF (que é uma linguagem que define uma informação) buscando ontologicamente os mesmos. Ele busca termos da Web Semântica (isto é URIs) que são definidas como classes e provêem metadados utilizados nas mesmas. O SWOOGLE ainda esta em faze de teste e pode ser acessado no seguinte endereço: http://swoogle.umbc.edu/ 3.5 Lógica de Descrição: A Lógica de Descrição é utilizada junto da linguagem OWL. Esse tipo de lógica serve para escrever sintaticamente um documento e o tornar algo mais homogêneo para as lógicas de primeira ordem. 4.1 Conclusão A web hoje está num processo de transformação, e a web semântica veio como maneira de ajudar nisto. A Web 3.0 que está para vir é um modo de perceber como a web semântica irá funcionar, apesar do usuário não ver como o mecanismo funciona mas ver seu resultado quando fizer suas pesquisas. O conceito de web semântica, junto com ontologias, e com sua aplicação voltada à linguagem XML em breve substituirão, por fim, a linguagem HTML padrão para a web 3.0 se consolidar. 5.1 Referências http://www.comciencia.br/reportagens/internet/net08.htm [consultado em 02-052009] http://pt.wikipedia.org/wiki/OWL [consultado em 01-05-2009] http://www.tableless.com.br/a-web-semantica [consultado em 29-04-2009] http://www.infowester.com/metatags.php [consultado em 15-04-2009] http://www.priberam.pt/dlpo/dlpo.aspx?pal=ontologia [consultado em 02-05-2009] http://pt.wikipedia.org/wiki/Ontologia_(ciência_da_computação) 02-05-2009] [consultado em http://www.tableless.com.br/a-web-semantica [consultado em 25-04-2009] http://pt.wikipedia.org/wiki/Web_semântica [consultado em 14-04-2009] http://www.plugmasters.com.br/sys/materias/352/1/XML-e-a-Web-Sem%E2ntica [consultado em 22-05-2009] http://www.infowester.com/lingxml.php [consultado em 01-05-2009] http://www.cin.ufpe.br/~in1099/082/apresentacao.ppt [ consultado em 15-04-2009] http://en.wikipedia.org/wiki/Description_logic [consultado em 15-04-2009] http://www.otimizacao-sites-busca.com/art-tags/ [consultado em 17-04-2009] http://pt.wikipedia.org/wiki/Web_3.0 [consultado em 29-04-2009]