Your SlideShare is downloading. ×
Web Semântica
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

Web Semântica

4,924
views

Published on

Com o crescente número de usuários da Internet, consequentemente o número de informações disponíveis na rede também cresce. Esse crescimento gera a necessidade de melhoria no sistema de busca de uma …

Com o crescente número de usuários da Internet, consequentemente o número de informações disponíveis na rede também cresce. Esse crescimento gera a necessidade de melhoria no sistema de busca de uma informação especifica, já que o fluxo de dados está cada vez maior. Uma das soluções para este problema é a Web Semântica, que propõe a aplicação de semântica ao conteúdo disponível na Internet, fazendo com que a máquina auxilie o homem, de forma autônoma, na tomada de decisões. Este trabalho se propõe a demonstrar a tecnologia básica da Web Semântica, seus problemas e suas aplicações práticas.

Published in: Technology

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,924
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
30
Comments
0
Likes
1
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. Web Semântica: Conceitos, Tecnologias e Aplicações Paulo Vitor Antonini Orlandin paulovitor_e@hotmail.comResumoCom o crescente número de usuários da Internet, consequentemente o número deinformações disponíveis na rede também cresce. Esse crescimento gera anecessidade de melhoria no sistema de busca de uma informação especifica, já queo fluxo de dados está cada vez maior. Uma das soluções para este problema é aWeb Semântica, que propõe a aplicação de semântica ao conteúdo disponível naInternet, fazendo com que a máquina auxilie o homem, de forma autônoma, natomada de decisões. Este trabalho se propõe a demonstrar a tecnologia básica daWeb Semântica, seus problemas e suas aplicações práticas.Palavras chave: Web Semântica. Ontologia. RDF. RDFS. OWL. Semantic Web.1. Introdução Com o crescente número de usuários da internet, consequentemente onumero de informações disponíveis na rede também cresce, dificultando muitoencontrar uma informação específica. Uma possível solução para este problema é aWeb Semântica, que propõe a aplicação de semântica ao conteúdo disponível nainternet. A Web atual foi projetada para ser entendida apenas pelos usuários, já com aWeb Semântica as informações são compreendias pelas máquinas, através deagentes computacionais, que tem a capacidade de processar informaçõesentendendo seu significado, auxiliando assim o usuário em suas decisões. A Web Semântica é um extensão da Web atual, na qual é dada a informação um significado bem definido, permitindo que computadores e pessoas trabalhem em cooperação.(BERNERS- LEE; HENDLER; LASSILA, 2001). Também será possível associar informações entre coisas que a princípiopoderiam não estar relacionadas. Para isso a informação deve estar estruturada 1
  • 2. (dados e metadados) e possuir conjuntos de regras de inferência para que amáquina seja capaz de compreender as informações. As regras de inferência sãoespecificadas através de ontologias, que permitem representar a semântica dosdados. Berners-Lee cita um exemplo do que a Web Semântica é capaz de fazer.Neste exemplo um usuário pede ao computador que agende uma consulta médicacom um ortopedista que faça parte do seu plano de saúde e que de preferência oconsultório seja perto de sua casa. O computador então navega pela rede eencontra algumas opções. De uma maneira automática e inteligente, ele deveverificar se a agenda do ortopedista e comparar com a do usuário, oferecendo assimopções de horários. O usuário apenas escolhe o horário que lhe agrada mais. Segundo Dziekaniak e Kirinus (2004), a Web Semântica proporciona novaspossibilidades para gestão do conhecimento como pesquisas inteligentes ao invésde pesquisas utilizando palavras-chave. Para viabilizar todas essas mudanças de forma gradativa reaproveitando aarquitetura existente da Internet, Tim Berners Lee propôs um modelo em camadas.A ideia principal deste modelo é de ao invés de propor uma nova arquitetura e porconsequência reestruturar a Internet, construir por cima do que já existe. A Figura 1representa estas camadas. Figura 1. Arquitetura proposta por Tim Berners Lee. Adaptado de Breitman (2005) 2
  • 3. O primeiro passo para a aplicação de semântica a uma informação é acriação de uma ontologia. Para Berners-Lee, Hendler e Lassila (2001), umaontologia para Web Semântica é composta de uma taxonomia e um conjunto deregras de inferência. “Taxonomia é uma classificação de entidades de informação deuma hierarquia, de acordo com relacionamentos que estabelecem com entidades domundo real que representam” (DACONTA apud BREITMAN,2005). Em outraspalavras, uma taxonomia tem como objetivo classificar informações em umahierarquia (arvore) utilizando o relacionamento pai-filho (BREITMAN, 2005). A Figura2 é um exemplo de taxonomia utilizada para classificação de humanos. Figura 2. Exemplo de taxonomia. Adaptado de Breitman (2005) Por meio das regras de inferência é possível expressar associações. Porexemplo, se um código de bairro estiver associado a uma cidade, então as casasque estiverem utilizando este código do bairro, automaticamente estão associadas aesta cidade. Para que as máquinas possam acessar e processar as informaçõesautomaticamente é necessário representá-la utilizando alguma tecnologia. O RDF eRDF-Schema são a base da Web Semântica. Posteriormente algumas linguagenspara ontologias baseadas em extensões RDFS foram criadas. São elas SHOE, Oil,DAML, DAML+Oil e OWL. 3
  • 4. 2. Metadados Podemos definir metadados como sendo dados sobre dados. São utilizadospara documentar e organizar de forma estruturada e padronizada as informações dedocumentos objetivando melhorar a busca e recuperação de dados na Web. Devepossuir elementos de descrição dos dados. Possui blocos de informações quedevem possuir, por exemplo, autor, titulo, data de publicação, etc. e em cada campopossuir informações como: nome do campo, tipo de dados, formato, etc. Com a necessidade de uma semântica para descrever recursosdisponibilizados na Internet foi criado o padrão de metadados Dublin Core. É opadrão recomendado pela W3C devido a sua simplicidade de utilização, pois nãoexige conhecimento de especialistas no momento de descrever recursos. O DublinCore apresenta uma estrutura a partir de um conjunto de descritores simples egenéricos que objetiva a descoberta e o gerenciamento de recursos na Web(DZIEKANIAK, KIRINUS,2004).3. Ontologias Ontologias são maneiras formais e explicitas de representar conceitualizaçõescompartilhadas. Servem como base para garantir uma comunicação livre deambigüidades, viabilizando o compartilhamento e reuso deste conhecimento. É degrande importância para a Web Semântica, pois proporciona a atribuição desemântica as informações, possibilitando que máquinas interpretem os dados(BREITMAN, 2005). Segundo Gruber (1993) apud Breitman (2005), “Ontologia é umaespecificação formal e explicita de uma conceitualização compartilhada”. Conceitualização representa um modelo abstrato de algum fenômeno queidentifica conceitos relevantes para o mesmo. Explicita significa que os elementos esuas restrições estão definidos de forma clara. Formal significa que a ontologia podeser processada automaticamente. Compartilhada significa que uma ontologia deveser capaz de obter o conhecimento consensual. (BREITMAN, 2005). Resumidamente uma ontologia tem o objetivo de prover descrições para osseguintes tipos de conceitos: • Classes ou objetos nos vários domínios de interesse. 4
  • 5. • Propriedades ou atributos que esses objetos devem possuir. • Relacionamentos entre esses objetos. A figura 3 demonstra uma ontologia para classificação de seres vivos. Aclasse homem, por exemplo, é uma subclasse das classes carnívoro e mamífero,que por sua vez é subclasse da classe animal que é subclasse da classe ser vivo. Figura 3. Exemplo de uma Ontologia de seres vivos. Adaptado de Breitman (2005)4. Resource Description Framework (RDF) O RDF é um padrão estabelecido pela W3C com o intuito de representarobjetos e seus relacionamentos, fornecendo semântica, podendo ser representadaatravés de XML. Metadados que são representados em RDF permitem que estessejam manipulados por maquinas, pois atribuem significado aos recursos. RDFprovê interoperabilidade, mas não fornece mecanismos para declaração e definiçãode propriedades e seus relacionamentos. Para isso foi formulado o RDF-Schema,que será apresentado na sessão 5. A estrutura básica do RDF possui três tipos de objetos fundamentais:recursos, propriedades e frases. Recurso é o objeto que queremos descrever, que édescrito através de uma expressão RDF. Cada recurso possui uma URI (UniversalResource Identifier), utilizada para identificar o recurso. Propriedade é utilizada paradescrever recursos e os relacionamentos entre recursos. Salientando que umrecurso pode possuir duas ou mais propriedades diferentes (BREITMAN, 2005). Podemos representar essas estruturas através de uma tripla que pode serrepresentada como <recurso, propriedade, valor>. O exemplo João criou a página 5
  • 6. http://www.faculdadescoc.com.br/rdf pode ser representado pela tripla <”João”,“criador”, http://www.faculdadescoc.com.br/rdf>. Podemos representar a tripla acima através de um grafo (Figura 4).Representamos um recurso por uma elipse e um terminal por um retângulo. Osarcos partem do recurso para o objeto e possui o nome da propriedade. Figura 4. Representação de um grafo RDF. Adaptado de Breitman (2005) A utilização de grafos é meramente ilustrativa, apenas utilizada para acompreensão humana. Para que a informação seja processada por máquinasdevemos representá-la através de um documento RDF escrito utilizando uma sintaxeXML (BREITMAN, 2005). 1. <rdf:RDF> 2. <rdf:Description about: http://www.faculdadescoc.com.br/rdf> 3. <x:criador> 4. João 5. </x:criador> 6. </rdf:Description> 7. </rdf:RDF> Trecho de código 4.1. Exemplo de uma sentença representada em RDF5. RDF-Schema (RDFS) Com o intuito de suprir as limitações apresentadas pelo RDF foi criado oRDFS. RDF não possibilita o desenvolvimento de classes e propriedadesparticulares, pois possui um numero limitado de elementos predefinidos. O RDFS é na verdade um framework que possibilita a descrição de classes epropriedades, ou seja, uma linguagem para descrição de ontologias. A definição declasse em um RDFS é similar a definição de classes no conceito de programaçãoorientada a objetos. Os recursos descritos no documento RDF que são associados auma classe tornam-se instancias ou subclasses da classe associada. Entende-sepor classe, como um tipo de recurso que queremos representar (BREITMAN, 2005). 6
  • 7. Algumas classes são essenciais para um documento RDFS, são elas: • rdfs:Resource – É a classe mãe de todos os recursos. Todos os objetos são instancias dessa classe. • rdfs:Class – É a classe que possui todas as classes. Todas as novas classes derivam dela. • rdfs:Literal – Possui todos os literais. • rdfs:Property – É a classe de todas as propriedades. Toda propriedade é uma instância dessa classe. As principais classes utilizadas para definir relacionamentos são: • rdfs:subClassof – Utilizada para definir um relacionamento de herança entre duas classes. • rdfs:subPropertyof – Utilizada para definir um relacionamento de herança entre duas propriedades. • rdfs:type – Relaciona um recurso a sua classe transformando o recurso como instancia dessa classe, indicando a qual classe este recurso pertence. No trecho de código 5.1, é apresentado um exemplo da utilização da classesubClassOf, onde a classe professor herda características da classe funcionário. 1. <?xml version=”1.0”?> 2. <rdf:RDF 3. xmlns:rdf=”http://www.w3.org/1999/02/22-rdf-syntax-ns#” 4. xmlns:rdfs=http://www.w3.org/2000/01/rdf-schema# 5. xml:base=”www.faculdadescoc.com.br/funcionarios”> 6. <rdfs:Class rdf:ID=”funcionario”/> 7. <rdfs:Class rdf:ID=”professor”> 8. rdfs:subClassOf rdf:resource=”#funcionario”/> 9. </rdfs:Class>10. </rdf:RDF> Trecho de código 5.1. Exemplo de uma utilização da classe rdfs:subClassOf Para que humanos possam compreender a informação foram desenvolvidasestas propriedades: • rdfs:comment – Utilizada para fazer comentários de um determinado recurso. • rdfs-label – Utilizada para atribuir nomes a recursos. Também podemos restringir um vocabulário utilizando estas classes: 7
  • 8. • rdfs:domain – Especifica o domínio de uma propriedade. Restringe o domínio de uma propriedade. • rdfs:range – Especifica o alcance da propriedade. Restringe o valor de uma propriedade. No trecho de código 5.2, é apresentado um exemplo da utilização da classerdfs:domain, onde a propriedade nome se aplicada a todos os funcionários.1. <?xml version=”1.0”?>2. <rdf:RDF3. xmlns:rdf=”http://www.w3.org/1999/02/22-rdf-syntax-ns#” 4. xmlns:rdfs=http://www.w3.org/2000/01/rdf-schema# 5. xml:base=”www.faculdadescoc.com.br/funcionarios”>6. <rdfs:Class rdf:ID=”funcionario”/>7. <rdf:Property rdf:ID=”nome”>8. <rdfs:domain rdfs:resource=”#funcionario”> 9. </rdf:Property>10. </rdf:RDF> Trecho de código 5.2. Exemplo de utilização da classe rdfs:domain6. Web Ontology Language (OWL) O RDFS proporciona a modelagem de ontologias simples, pois não possuiconectivos lógicos, disjunção e conjunção, resultando em baixa expressividade.Devido a essa limitação foram desenvolvidas varias linguagens que operam em umacamada de ontologia sobre a camada RDFS. Dentre essas linguagens encontra-se aOWL. A OWL é composta por três linguagens (OWL Lite, OWL DL e OWL Full) quese diferenciam pelos níveis de expressividade. • OWL Lite – Oferece suporte a criação de hierarquias simplificadas de classificação e suas restrições. Suporta cardinalidade de propriedades com valores 1 ou 0. Seu objetivo é oferecer suporte à migração de taxonomias e tesauros para o formato de ontologias (SMITH; WELTY; MCGUINNESS, 2004). • OWL DL – Oferece suporte a quem necessita de expressividade máxima, sem perder completude computacional (se garante tempo finito para todas as computações). Proporciona restrição de valores de propriedades e relação de disjunção entre classes (SMITH; WELTY; MCGUINNESS, 2004). 8
  • 9. • OWL Full – Oferece suporte a quem necessita de expressividade máxima e mais liberdade sintática, pois não possui restrições. Também não perde completude computacional (SMITH; WELTY; MCGUINNESS, 2004). Cada sub-linguagem possui um nível de restrições, sendo a OWL Lite commais restrições e a OWL Full que não possui restrições. Apesar dessas diferençastodas as sub-linguagens são compatíveis, pois estendem uma das outras. Segundo Smith (2004), são seis os elementos básicos para construção deontologias em OWL: Namespaces, cabeçalhos, classes, indivíduos, propriedades erestrições. A utilização de namespaces se dá a necessidade de indicar quaisvocabulários estão sendo utilizados e de evitar ambigüidades na interpretação dosidentificadores. No trecho de código abaixo é apresentado um exemplo de umconjunto de declarações de namespaces. 1. <rdf:RDF 2. xmlns = "http://www.w3.org/TR/2004/REC-owl-guide-20040210/wine#" 3. xmlns:vin = "http://www.w3.org/TR/2004/REC-owl-guide-20040210/wine#" 4. xml:base = "http://www.w3.org/TR/2004/REC-owl-guide-20040210/wine#" 5. xmlns:food= "http://www.w3.org/TR/2004/REC-owl-guide-20040210/food#" 6. xmlns:owl = "http://www.w3.org/2002/07/owl#" 7. xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" 8. xmlns:rdfs= "http://www.w3.org/2000/01/rdf-schema#" 9. xmlns:xsd = "http://www.w3.org/2001/XMLSchema#"> Trecho de código 6.1. Exemplo de declaração de namespaces As declarações xmlns e xmlns:vin identificam o namespace referente aontologia. Para a identificação do URI desta ontologia utilizamos a declaraçãoxml:base. Na quarta linha a ontologia food é importada. A declaração xmlns:owl éutilizada para introduzir o vocabulário suportado pelo documento owl localizado nonamespace correspondente. As declarações xmlns:rdf, xmlns:rdfs e xmlns:xsdreferem-se as primitivas definidas nas camadas inferiores. O cabeçalho é responsável por possuir descrições referentes a controle deversão, pela inclusão de conceitos e propriedades de outras ontologias e registro decomentários sobre a ontologia (SMITH; WELTY; MCGUINNESS, 2004). Classes são utilizadas para descrever conceitos de um determinado domínio.Uma classe é formada por indivíduos que tem mesmas características. Em OWLexiste uma classe chamada owl:Thing, de onde todos os indivíduos são membros. 9
  • 10. Ao definirmos uma classe ela obrigatoriamente será uma subclasse da classeowl:Thing. Uma classe vazia pode ser definida como owl:Nothing. Criamos umaclasse utilizando-se a tag owl:Class, como exemplificado no trecho de código 6.2(SMITH; WELTY; MCGUINNESS, 2004).1. <owl:Class rdf:ID=”Empregado”/>2. <owl:Class rdf:ID=”Professor”/> Trecho de código 6.2. Exemplo de declaração de uma classe em OWL No exemplo acima apenas foram definidas as classes, sem nenhumarestrição. Para definirmos restrições devemos criar novas classes e propriedadesreferentes a elas. Um exemplo seria definir a classe Professor como subclasse daclasse empregado, e a classe professor por sua vez, possui a propriedade sexomasculino como exemplificado no trecho de código 6.3. Podemos também definir indivíduos, que nada mais são do que objetos domundo. Indivíduos pertencem a classes e podem se relacionar a outros indivíduos eclasses. Propriedades são utilizadas para descrever fatos. Podem descrever um outodos os elementos de uma determinada classe.1. <owl:ObjectProperty rdf:ID=”masculino”>2. <rdfs:domain rdf:resource=”#Funcionario”/>3. <rdfs:range rdf:resource=”#Professor”/>4. </owl:ObjectProperty> Trecho de código 6.3. Exemplo de atribuição de uma propriedade6. Conclusão Concluímos que devido ao crescente número de dados trafegando na rede setorna clara a necessidade de uma nova forma de armazenar e buscar estainformação. É com base neste problema que a Web Semântica surge, buscandoaprimorar os mecanismos de armazenamento e busca de dados, tornando asbuscas inteligentes acessíveis a todos. Outro fator importante é que esta tecnologiabusca reaproveitar a arquitetura existente na Internet, tornando muito mais prática asua implementação. 10
  • 11. Referências Bibliográficas BERNERS-LEE, T.; HENDLER, J.; LASSILA, O. The semantic web, Maio 2001. Disponível em http://www.sciam.com/article.cfm?id=the-semantic-web. BREITMAN, K. Web Semântica a Internet do futuro. RJ: LTC,2005. DZIEKANIAK, G.; KIRINUS, J. Web Semântica, Junho 2004. Disponível em http://www.periodicos.ufsc.br/index.php/eb/article/view/155/0 SMITH, M.; WELTY, C.; MCGUINNESS, D. OWL Web Ontology Language Guide, Fevereiro 2004. Disponível em http://www.w3.org/TR/2004/REC-owl-guide- 20040210/. 11