SlideShare uma empresa Scribd logo
1 de 11
Baixar para ler offline
Web Semântica: Conceitos, Tecnologias e Aplicações


                              Paulo Vitor Antonini Orlandin
                               paulovitor_e@hotmail.com




Resumo

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.


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 o
numero de informações disponíveis na rede também cresce, dificultando muito
encontrar uma informação específica. Uma possível solução para este problema é a
Web Semântica, que propõe a aplicação de semântica ao conteúdo disponível na
internet.
       A Web atual foi projetada para ser entendida apenas pelos usuários, já com a
Web Semântica as informações são compreendias pelas máquinas, através de
agentes computacionais, que tem a capacidade de processar informações
entendendo 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ípio
poderiam não estar relacionadas. Para isso a informação deve estar estruturada

                                                                                 1
(dados e metadados) e possuir conjuntos de regras de inferência para que a
máquina seja capaz de compreender as informações. As regras de inferência são
especificadas através de ontologias, que permitem representar a semântica dos
dados.
      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édica
com um ortopedista que faça parte do seu plano de saúde e que de preferência o
consultório seja perto de sua casa. O computador então navega pela rede e
encontra algumas opções. De uma maneira automática e inteligente, ele deve
verificar se a agenda do ortopedista e comparar com a do usuário, oferecendo assim
opçõ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 novas
possibilidades para gestão do conhecimento como pesquisas inteligentes ao invés
de pesquisas utilizando palavras-chave.
      Para viabilizar todas essas mudanças de forma gradativa reaproveitando a
arquitetura 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 por
consequência reestruturar a Internet, construir por cima do que já existe. A Figura 1
representa estas camadas.




          Figura 1. Arquitetura proposta por Tim Berners Lee. Adaptado de Breitman (2005)

                                                                                            2
O primeiro passo para a aplicação de semântica a uma informação é a
criação de uma ontologia. Para Berners-Lee, Hendler e Lassila (2001), uma
ontologia para Web Semântica é composta de uma taxonomia e um conjunto de
regras de inferência. “Taxonomia é uma classificação de entidades de informação de
uma hierarquia, de acordo com relacionamentos que estabelecem com entidades do
mundo real que representam” (DACONTA apud BREITMAN,2005). Em outras
palavras, uma taxonomia tem como objetivo classificar informações em uma
hierarquia (arvore) utilizando o relacionamento pai-filho (BREITMAN, 2005). A Figura
2 é 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. Por
exemplo, se um código de bairro estiver associado a uma cidade, então as casas
que estiverem utilizando este código do bairro, automaticamente estão associadas a
esta cidade.
      Para que as máquinas possam acessar e processar as informações
automaticamente é necessário representá-la utilizando alguma tecnologia. O RDF e
RDF-Schema são a base da Web Semântica. Posteriormente algumas linguagens
para ontologias baseadas em extensões RDFS foram criadas. São elas SHOE, Oil,
DAML, DAML+Oil e OWL.




                                                                                  3
2. Metadados

      Podemos definir metadados como sendo dados sobre dados. São utilizados
para documentar e organizar de forma estruturada e padronizada as informações de
documentos objetivando melhorar a busca e recuperação de dados na Web. Deve
possuir elementos de descrição dos dados. Possui blocos de informações que
devem possuir, por exemplo, autor, titulo, data de publicação, etc. e em cada campo
possuir informações como: nome do campo, tipo de dados, formato, etc.
      Com    a   necessidade    de    uma   semântica     para    descrever    recursos
disponibilizados na Internet foi criado o padrão de metadados Dublin Core. É o
padrão recomendado pela W3C devido a sua simplicidade de utilização, pois não
exige conhecimento de especialistas no momento de descrever recursos. O Dublin
Core apresenta uma estrutura a partir de um conjunto de descritores simples e
gené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ções
compartilhadas. Servem como base para garantir uma comunicação livre de
ambigüidades, viabilizando o compartilhamento e reuso deste conhecimento. É de
grande importância para a Web Semântica, pois proporciona a atribuição de
semântica as informações, possibilitando que máquinas interpretem os dados
(BREITMAN, 2005).
      Segundo     Gruber   (1993)    apud   Breitman    (2005),   “Ontologia   é   uma
especificação formal e explicita de uma conceitualização compartilhada”.
      Conceitualização representa um modelo abstrato de algum fenômeno que
identifica conceitos relevantes para o mesmo. Explicita significa que os elementos e
suas restrições estão definidos de forma clara. Formal significa que a ontologia pode
ser processada automaticamente. Compartilhada significa que uma ontologia deve
ser capaz de obter o conhecimento consensual. (BREITMAN, 2005).
      Resumidamente uma ontologia tem o objetivo de prover descrições para os
seguintes tipos de conceitos:
                    •      Classes ou objetos nos vários domínios de interesse.

                                                                                     4
•       Propriedades ou atributos que esses objetos devem
             possuir.
                    •       Relacionamentos entre esses objetos.
      A figura 3 demonstra uma ontologia para classificação de seres vivos. A
classe 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 representar
objetos e seus relacionamentos, fornecendo semântica, podendo ser representada
através de XML. Metadados que são representados em RDF permitem que estes
sejam manipulados por maquinas, pois atribuem significado aos recursos. RDF
provê interoperabilidade, mas não fornece mecanismos para declaração e definição
de 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 (Universal
Resource Identifier), utilizada para identificar o recurso. Propriedade é utilizada para
descrever recursos e os relacionamentos entre recursos. Salientando que um
recurso pode possuir duas ou mais propriedades diferentes (BREITMAN, 2005).
      Podemos representar essas estruturas através de uma tripla que pode ser
representada como <recurso, propriedade, valor>. O exemplo João criou a página

                                                                                            5
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. Os
arcos 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 a
compreensão humana. Para que a informação seja processada por máquinas
devemos representá-la através de um documento RDF escrito utilizando uma sintaxe
XML (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 RDF



5. RDF-Schema (RDFS)


       Com o intuito de suprir as limitações apresentadas pelo RDF foi criado o
RDFS. RDF não possibilita o desenvolvimento de classes e propriedades
particulares, pois possui um numero limitado de elementos predefinidos.
       O RDFS é na verdade um framework que possibilita a descrição de classes e
propriedades, ou seja, uma linguagem para descrição de ontologias. A definição de
classe em um RDFS é similar a definição de classes no conceito de programação
orientada a objetos. Os recursos descritos no documento RDF que são associados a
uma classe tornam-se instancias ou subclasses da classe associada. Entende-se
por classe, como um tipo de recurso que queremos representar (BREITMAN, 2005).

                                                                                        6
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 classe
subClassOf, 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 desenvolvidas
estas 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
•      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 classe
rdfs:domain, onde a propriedade nome se aplicada a todos os funcionários.

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. <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:domain

6. Web Ontology Language (OWL)

       O RDFS proporciona a modelagem de ontologias simples, pois não possui
conectivos lógicos, disjunção e conjunção, resultando em baixa expressividade.
Devido a essa limitação foram desenvolvidas varias linguagens que operam em uma
camada de ontologia sobre a camada RDFS. Dentre essas linguagens encontra-se a
OWL.
       A OWL é composta por três linguagens (OWL Lite, OWL DL e OWL Full) que
se 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
•      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 com
mais restrições e a OWL Full que não possui restrições. Apesar dessas diferenças
todas 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 de
ontologias em OWL: Namespaces, cabeçalhos, classes, indivíduos, propriedades e
restrições.
       A utilização de namespaces se dá a necessidade de indicar quais
vocabulários estão sendo utilizados e de evitar ambigüidades na interpretação dos
identificadores. No trecho de código abaixo é apresentado um exemplo de um
conjunto 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 a
ontologia. Para a identificação do URI desta ontologia utilizamos a declaração
xml:base. Na quarta linha a ontologia food é importada. A declaração xmlns:owl é
utilizada para introduzir o vocabulário suportado pelo documento owl localizado no
namespace correspondente. As declarações xmlns:rdf, xmlns:rdfs e xmlns:xsd
referem-se as primitivas definidas nas camadas inferiores.
       O cabeçalho é responsável por possuir descrições referentes a controle de
versão, pela inclusão de conceitos e propriedades de outras ontologias e registro de
comentá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 OWL
existe uma classe chamada owl:Thing, de onde todos os indivíduos são membros.

                                                                                  9
Ao definirmos uma classe ela obrigatoriamente será uma subclasse da classe
owl:Thing. Uma classe vazia pode ser definida como owl:Nothing. Criamos uma
classe 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 nenhuma
restrição. Para definirmos restrições devemos criar novas classes e propriedades
referentes a elas. Um exemplo seria definir a classe Professor como subclasse da
classe empregado, e a classe professor por sua vez, possui a propriedade sexo
masculino como exemplificado no trecho de código 6.3.
      Podemos também definir indivíduos, que nada mais são do que objetos do
mundo. Indivíduos pertencem a classes e podem se relacionar a outros indivíduos e
classes.
      Propriedades são utilizadas para descrever fatos. Podem descrever um ou
todos 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 propriedade



6. Conclusão

      Concluímos que devido ao crescente número de dados trafegando na rede se
torna clara a necessidade de uma nova forma de armazenar e buscar esta
informação. É com base neste problema que a Web Semântica surge, buscando
aprimorar os mecanismos de armazenamento e busca de dados, tornando as
buscas inteligentes acessíveis a todos. Outro fator importante é que esta tecnologia
busca reaproveitar a arquitetura existente na Internet, tornando muito mais prática a
sua implementação.




                                                                                    10
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

Mais conteúdo relacionado

Destaque

Curso Padrões da Web Semântica e Dados Ligados - parte 2
Curso Padrões da Web Semântica e Dados Ligados - parte 2Curso Padrões da Web Semântica e Dados Ligados - parte 2
Curso Padrões da Web Semântica e Dados Ligados - parte 2Augusto Herrmann Batista
 
Interação entre usuário e catálogo: perspectivas junto à Web 2.0
Interação entre usuário e catálogo: perspectivas junto à Web 2.0Interação entre usuário e catálogo: perspectivas junto à Web 2.0
Interação entre usuário e catálogo: perspectivas junto à Web 2.0Fabrício Silva Assumpção
 
Tecnologias aplicadas à catalogação: a utilização de folhas de estilo XSLT na...
Tecnologias aplicadas à catalogação: a utilização de folhas de estilo XSLT na...Tecnologias aplicadas à catalogação: a utilização de folhas de estilo XSLT na...
Tecnologias aplicadas à catalogação: a utilização de folhas de estilo XSLT na...Fabrício Silva Assumpção
 
Reutilização de dados catalográficos: um olhar sobre o uso estratégico das te...
Reutilização de dados catalográficos: um olhar sobre o uso estratégico das te...Reutilização de dados catalográficos: um olhar sobre o uso estratégico das te...
Reutilização de dados catalográficos: um olhar sobre o uso estratégico das te...Fabrício Silva Assumpção
 
RDA como novo código de catalogação
RDA como novo código de catalogaçãoRDA como novo código de catalogação
RDA como novo código de catalogaçãoMarcelo Votto
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldabaux singapore
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting PersonalKirsty Hulse
 

Destaque (15)

Curso Padrões da Web Semântica e Dados Ligados - parte 2
Curso Padrões da Web Semântica e Dados Ligados - parte 2Curso Padrões da Web Semântica e Dados Ligados - parte 2
Curso Padrões da Web Semântica e Dados Ligados - parte 2
 
Wsdl e uddi
Wsdl e uddiWsdl e uddi
Wsdl e uddi
 
Web Services
Web ServicesWeb Services
Web Services
 
Serviços Web Semânticos
Serviços Web SemânticosServiços Web Semânticos
Serviços Web Semânticos
 
O nascimentos das primeiras universidades europeias
O nascimentos das primeiras universidades europeiasO nascimentos das primeiras universidades europeias
O nascimentos das primeiras universidades europeias
 
A Estrutura de um Web Service
A Estrutura de um Web ServiceA Estrutura de um Web Service
A Estrutura de um Web Service
 
Interação entre usuário e catálogo: perspectivas junto à Web 2.0
Interação entre usuário e catálogo: perspectivas junto à Web 2.0Interação entre usuário e catálogo: perspectivas junto à Web 2.0
Interação entre usuário e catálogo: perspectivas junto à Web 2.0
 
Vraptor 3
Vraptor 3Vraptor 3
Vraptor 3
 
Tecnologias aplicadas à catalogação: a utilização de folhas de estilo XSLT na...
Tecnologias aplicadas à catalogação: a utilização de folhas de estilo XSLT na...Tecnologias aplicadas à catalogação: a utilização de folhas de estilo XSLT na...
Tecnologias aplicadas à catalogação: a utilização de folhas de estilo XSLT na...
 
Reutilização de dados catalográficos: um olhar sobre o uso estratégico das te...
Reutilização de dados catalográficos: um olhar sobre o uso estratégico das te...Reutilização de dados catalográficos: um olhar sobre o uso estratégico das te...
Reutilização de dados catalográficos: um olhar sobre o uso estratégico das te...
 
Jquery fundamentals-book-pt-br
Jquery fundamentals-book-pt-brJquery fundamentals-book-pt-br
Jquery fundamentals-book-pt-br
 
RDA como novo código de catalogação
RDA como novo código de catalogaçãoRDA como novo código de catalogação
RDA como novo código de catalogação
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting Personal
 
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job? Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
 

Semelhante a Web Semântica: Conceitos e Aplicações

Web 3.0 - A Semântica na Rede
Web 3.0 - A Semântica na RedeWeb 3.0 - A Semântica na Rede
Web 3.0 - A Semântica na RedeElvis Fusco
 
Síntese Web Semântica U F P E Maio 2009
Síntese  Web  Semântica    U F P E Maio 2009Síntese  Web  Semântica    U F P E Maio 2009
Síntese Web Semântica U F P E Maio 2009gestao
 
GT4 - Tópicos de Programação e Evolução WEB
GT4 - Tópicos de Programação e Evolução WEBGT4 - Tópicos de Programação e Evolução WEB
GT4 - Tópicos de Programação e Evolução WEBJhonatas Bruno
 
Web Semântica Apresentação de Slides
Web Semântica Apresentação de SlidesWeb Semântica Apresentação de Slides
Web Semântica Apresentação de Slidesgestao
 
Descrição de recursos em wikis semânticos
Descrição de recursos em wikis semânticosDescrição de recursos em wikis semânticos
Descrição de recursos em wikis semânticosJaider Andrade Ferreira
 
Do Gopher, Web Crawler, Google, pagerank, sitemaps, ontologia, ao Big Data, W...
Do Gopher, Web Crawler, Google, pagerank, sitemaps, ontologia, ao Big Data, W...Do Gopher, Web Crawler, Google, pagerank, sitemaps, ontologia, ao Big Data, W...
Do Gopher, Web Crawler, Google, pagerank, sitemaps, ontologia, ao Big Data, W...Leandro Borges
 
Web Semântica: uma introdução
Web Semântica: uma introdução Web Semântica: uma introdução
Web Semântica: uma introdução Yasodara Cordova
 
Papel dos vocabulários no acesso e reuso de recursos digitais na web
Papel dos vocabulários no acesso e reuso de recursos digitais na webPapel dos vocabulários no acesso e reuso de recursos digitais na web
Papel dos vocabulários no acesso e reuso de recursos digitais na webmarco.dantas
 
Disciplina Sociedade da Informação Semântica e Ontologias
Disciplina Sociedade da Informação Semântica e OntologiasDisciplina Sociedade da Informação Semântica e Ontologias
Disciplina Sociedade da Informação Semântica e OntologiasSociedade da Informação
 
Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...
Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...
Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...Renato Bongiorno Bonfanti
 

Semelhante a Web Semântica: Conceitos e Aplicações (20)

WEB 3.0
WEB 3.0WEB 3.0
WEB 3.0
 
Web 3 - A Web de Dados
Web 3 - A Web de DadosWeb 3 - A Web de Dados
Web 3 - A Web de Dados
 
Web 3.0 - A Semântica na Rede
Web 3.0 - A Semântica na RedeWeb 3.0 - A Semântica na Rede
Web 3.0 - A Semântica na Rede
 
Síntese Web Semântica U F P E Maio 2009
Síntese  Web  Semântica    U F P E Maio 2009Síntese  Web  Semântica    U F P E Maio 2009
Síntese Web Semântica U F P E Maio 2009
 
Linked Data
Linked DataLinked Data
Linked Data
 
Tópico 3 - RDF
Tópico 3 - RDFTópico 3 - RDF
Tópico 3 - RDF
 
Web semântica: em busca da web inteligente
Web semântica: em busca da web inteligenteWeb semântica: em busca da web inteligente
Web semântica: em busca da web inteligente
 
GT4 - Tópicos de Programação e Evolução WEB
GT4 - Tópicos de Programação e Evolução WEBGT4 - Tópicos de Programação e Evolução WEB
GT4 - Tópicos de Programação e Evolução WEB
 
Websemantica
WebsemanticaWebsemantica
Websemantica
 
Web Semântica Apresentação de Slides
Web Semântica Apresentação de SlidesWeb Semântica Apresentação de Slides
Web Semântica Apresentação de Slides
 
Descrição de recursos em wikis semânticos
Descrição de recursos em wikis semânticosDescrição de recursos em wikis semânticos
Descrição de recursos em wikis semânticos
 
Do Gopher, Web Crawler, Google, pagerank, sitemaps, ontologia, ao Big Data, W...
Do Gopher, Web Crawler, Google, pagerank, sitemaps, ontologia, ao Big Data, W...Do Gopher, Web Crawler, Google, pagerank, sitemaps, ontologia, ao Big Data, W...
Do Gopher, Web Crawler, Google, pagerank, sitemaps, ontologia, ao Big Data, W...
 
web_semantica
web_semanticaweb_semantica
web_semantica
 
Web Semântica: uma introdução
Web Semântica: uma introdução Web Semântica: uma introdução
Web Semântica: uma introdução
 
Palestra Introdução a Linked Data
Palestra Introdução a Linked DataPalestra Introdução a Linked Data
Palestra Introdução a Linked Data
 
Metadados: dados a respeito de dados
Metadados: dados a respeito de dadosMetadados: dados a respeito de dados
Metadados: dados a respeito de dados
 
Web Semântica e Ontologia
Web Semântica e OntologiaWeb Semântica e Ontologia
Web Semântica e Ontologia
 
Papel dos vocabulários no acesso e reuso de recursos digitais na web
Papel dos vocabulários no acesso e reuso de recursos digitais na webPapel dos vocabulários no acesso e reuso de recursos digitais na web
Papel dos vocabulários no acesso e reuso de recursos digitais na web
 
Disciplina Sociedade da Informação Semântica e Ontologias
Disciplina Sociedade da Informação Semântica e OntologiasDisciplina Sociedade da Informação Semântica e Ontologias
Disciplina Sociedade da Informação Semântica e Ontologias
 
Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...
Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...
Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...
 

Web Semântica: Conceitos e Aplicações

  • 1. Web Semântica: Conceitos, Tecnologias e Aplicações Paulo Vitor Antonini Orlandin paulovitor_e@hotmail.com Resumo 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. 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 o numero de informações disponíveis na rede também cresce, dificultando muito encontrar uma informação específica. Uma possível solução para este problema é a Web Semântica, que propõe a aplicação de semântica ao conteúdo disponível na internet. A Web atual foi projetada para ser entendida apenas pelos usuários, já com a Web Semântica as informações são compreendias pelas máquinas, através de agentes computacionais, que tem a capacidade de processar informações entendendo 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ípio poderiam 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 a máquina seja capaz de compreender as informações. As regras de inferência são especificadas através de ontologias, que permitem representar a semântica dos dados. 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édica com um ortopedista que faça parte do seu plano de saúde e que de preferência o consultório seja perto de sua casa. O computador então navega pela rede e encontra algumas opções. De uma maneira automática e inteligente, ele deve verificar se a agenda do ortopedista e comparar com a do usuário, oferecendo assim opçõ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 novas possibilidades para gestão do conhecimento como pesquisas inteligentes ao invés de pesquisas utilizando palavras-chave. Para viabilizar todas essas mudanças de forma gradativa reaproveitando a arquitetura 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 por consequência reestruturar a Internet, construir por cima do que já existe. A Figura 1 representa 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 é a criação de uma ontologia. Para Berners-Lee, Hendler e Lassila (2001), uma ontologia para Web Semântica é composta de uma taxonomia e um conjunto de regras de inferência. “Taxonomia é uma classificação de entidades de informação de uma hierarquia, de acordo com relacionamentos que estabelecem com entidades do mundo real que representam” (DACONTA apud BREITMAN,2005). Em outras palavras, uma taxonomia tem como objetivo classificar informações em uma hierarquia (arvore) utilizando o relacionamento pai-filho (BREITMAN, 2005). A Figura 2 é 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. Por exemplo, se um código de bairro estiver associado a uma cidade, então as casas que estiverem utilizando este código do bairro, automaticamente estão associadas a esta cidade. Para que as máquinas possam acessar e processar as informações automaticamente é necessário representá-la utilizando alguma tecnologia. O RDF e RDF-Schema são a base da Web Semântica. Posteriormente algumas linguagens para 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 utilizados para documentar e organizar de forma estruturada e padronizada as informações de documentos objetivando melhorar a busca e recuperação de dados na Web. Deve possuir elementos de descrição dos dados. Possui blocos de informações que devem possuir, por exemplo, autor, titulo, data de publicação, etc. e em cada campo possuir informações como: nome do campo, tipo de dados, formato, etc. Com a necessidade de uma semântica para descrever recursos disponibilizados na Internet foi criado o padrão de metadados Dublin Core. É o padrão recomendado pela W3C devido a sua simplicidade de utilização, pois não exige conhecimento de especialistas no momento de descrever recursos. O Dublin Core apresenta uma estrutura a partir de um conjunto de descritores simples e gené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ções compartilhadas. Servem como base para garantir uma comunicação livre de ambigüidades, viabilizando o compartilhamento e reuso deste conhecimento. É de grande importância para a Web Semântica, pois proporciona a atribuição de semântica as informações, possibilitando que máquinas interpretem os dados (BREITMAN, 2005). Segundo Gruber (1993) apud Breitman (2005), “Ontologia é uma especificação formal e explicita de uma conceitualização compartilhada”. Conceitualização representa um modelo abstrato de algum fenômeno que identifica conceitos relevantes para o mesmo. Explicita significa que os elementos e suas restrições estão definidos de forma clara. Formal significa que a ontologia pode ser processada automaticamente. Compartilhada significa que uma ontologia deve ser capaz de obter o conhecimento consensual. (BREITMAN, 2005). Resumidamente uma ontologia tem o objetivo de prover descrições para os seguintes 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. A classe 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 representar objetos e seus relacionamentos, fornecendo semântica, podendo ser representada através de XML. Metadados que são representados em RDF permitem que estes sejam manipulados por maquinas, pois atribuem significado aos recursos. RDF provê interoperabilidade, mas não fornece mecanismos para declaração e definição de 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 (Universal Resource Identifier), utilizada para identificar o recurso. Propriedade é utilizada para descrever recursos e os relacionamentos entre recursos. Salientando que um recurso pode possuir duas ou mais propriedades diferentes (BREITMAN, 2005). Podemos representar essas estruturas através de uma tripla que pode ser representada 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. Os arcos 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 a compreensão humana. Para que a informação seja processada por máquinas devemos representá-la através de um documento RDF escrito utilizando uma sintaxe XML (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 RDF 5. RDF-Schema (RDFS) Com o intuito de suprir as limitações apresentadas pelo RDF foi criado o RDFS. RDF não possibilita o desenvolvimento de classes e propriedades particulares, pois possui um numero limitado de elementos predefinidos. O RDFS é na verdade um framework que possibilita a descrição de classes e propriedades, ou seja, uma linguagem para descrição de ontologias. A definição de classe em um RDFS é similar a definição de classes no conceito de programação orientada a objetos. Os recursos descritos no documento RDF que são associados a uma classe tornam-se instancias ou subclasses da classe associada. Entende-se por 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 classe subClassOf, 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 desenvolvidas estas 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 classe rdfs:domain, onde a propriedade nome se aplicada a todos os funcionários. 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. <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:domain 6. Web Ontology Language (OWL) O RDFS proporciona a modelagem de ontologias simples, pois não possui conectivos lógicos, disjunção e conjunção, resultando em baixa expressividade. Devido a essa limitação foram desenvolvidas varias linguagens que operam em uma camada de ontologia sobre a camada RDFS. Dentre essas linguagens encontra-se a OWL. A OWL é composta por três linguagens (OWL Lite, OWL DL e OWL Full) que se 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 com mais restrições e a OWL Full que não possui restrições. Apesar dessas diferenças todas 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 de ontologias em OWL: Namespaces, cabeçalhos, classes, indivíduos, propriedades e restrições. A utilização de namespaces se dá a necessidade de indicar quais vocabulários estão sendo utilizados e de evitar ambigüidades na interpretação dos identificadores. No trecho de código abaixo é apresentado um exemplo de um conjunto 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 a ontologia. Para a identificação do URI desta ontologia utilizamos a declaração xml:base. Na quarta linha a ontologia food é importada. A declaração xmlns:owl é utilizada para introduzir o vocabulário suportado pelo documento owl localizado no namespace correspondente. As declarações xmlns:rdf, xmlns:rdfs e xmlns:xsd referem-se as primitivas definidas nas camadas inferiores. O cabeçalho é responsável por possuir descrições referentes a controle de versão, pela inclusão de conceitos e propriedades de outras ontologias e registro de comentá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 OWL existe 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 classe owl:Thing. Uma classe vazia pode ser definida como owl:Nothing. Criamos uma classe 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 nenhuma restrição. Para definirmos restrições devemos criar novas classes e propriedades referentes a elas. Um exemplo seria definir a classe Professor como subclasse da classe empregado, e a classe professor por sua vez, possui a propriedade sexo masculino como exemplificado no trecho de código 6.3. Podemos também definir indivíduos, que nada mais são do que objetos do mundo. Indivíduos pertencem a classes e podem se relacionar a outros indivíduos e classes. Propriedades são utilizadas para descrever fatos. Podem descrever um ou todos 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 propriedade 6. Conclusão Concluímos que devido ao crescente número de dados trafegando na rede se torna clara a necessidade de uma nova forma de armazenar e buscar esta informação. É com base neste problema que a Web Semântica surge, buscando aprimorar os mecanismos de armazenamento e busca de dados, tornando as buscas inteligentes acessíveis a todos. Outro fator importante é que esta tecnologia busca reaproveitar a arquitetura existente na Internet, tornando muito mais prática a sua 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