Académique Documents
Professionnel Documents
Culture Documents
FACULDADE DE INFORMÁTICA
PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
Web Semântica:
O estado da arte
Por
Trabalho Individual I
Orientador
Sumário
1. Introdução .................................................................................................................4
Listas de Figura
5
1. Introdução
A maior parte do conteúdo da Web de hoje é utilizado para consumo humano, com
máquinas estando aptas apenas para capturar e manipulá-los sintaticamente. A idéia
central da iniciativa Web Semântica [01] é dar significado ao conteúdo web acessível e
processável por máquinas. Isso permite o desenvolvimento de ferramentas sofisticadas
que poderão proporcionar funcionalidades superiores no apoio as atividades humanas na
web. A Web semântica depende da combinação das seguintes tecnologias:
• Raciocínio lógico: Neste caso torna-se possível tirar conclusões a partir das
combinações dos dados (metadados) com ontologias.
6
Com o formato da web atual, há apenas duas formas de introduzir mais informações em
documentos disponíveis. Através do uso de portais temos um método de aplicar
conhecimento mesmo que ainda através do esforço humano e desta maneira manter uma
adequação categorizando as páginas e seus links associados. Estes portais são, hoje, de
grande importância pois o homem ainda é o grande gestor desta ferramenta introduzindo
conhecimento à informação e ainda será por alguns anos.
Os motores de busca, são ferramentas que dão atenção especial aos metadados nas
páginas da Web, pois estes os adicionam aos seus índices em suas bases de dados. Estes
metadados são de grande importância para as mais avançadas ferramentas de buscas
como o Google, que não só avalia a ocorrência de palavras-chave em uma página, mas
também os números de links existentes para outra página na Web.
Estes mecanismos de busca se esforçam menos com relação ao seres humanos, mas ainda
estão aquém de produzir índices eficientes que facilitam a busca. Em qualquer solicitação
as estes motores de busca é retornado informações que não se relacionam com o contexto
ou ainda que simplesmente não fazem parte do significado desta informação.
Diante destes fatores, a Web necessita de uma tecnologia que possa catalogar e classificar
os seus próprios conteúdos e possibilitar assim que sejam desenvolvidos agentes de
software [04] que poderia explorar a informação nas páginas da Web. O que facilitaria o
uso da Web sem ter de depender destas ferramentas de buscas ou mesmos de portais,
7
1
Agentes são programas autônomos que podem reagir a uma ação ou estímulos externos
8
A Web Semântica, a figura 2.0 demonstra uma visão inicial, deverá fornecer uma
estrutura ao conteúdo dos recursos da web em que é atribuído à informação um
significado bem definido. Desta forma a Web Semântica será capaz de suportar serviços
automatizados baseados nessas descrições onde é mantido serviços através da utilização
de metadados processáveis por máquinas.
Atualmente a Web é voltada apenas para o consumo humano e não para o computador.
Apesar de sabemos que a web é extensa e suficientemente madura com suas informações
e recursos automatizados [05].
As informações na Web devem ser definidas de tal forma que possa ser usado por
computadores, não somente para exibi-las, mas também para permitir a
interoperabilidade e a integração entre sistemas e aplicações. Uma forma para permitir
trocas de informações automatizadas de modo que os computadores possam entender.
Este é principal objetivo da Web Semântica tornar possível o processamento das
informações na Web por computadores.
• Dados legíveis por máquinas: a idéia de ter dados definidos na Web e ligados
de uma forma que ele pode ser usado por máquinas não apenas para mostrar
efeitos, mas para automação, integração e reuso de dados através de várias
aplicações.
Estas descrições são vistas como um fator-chave para encontrar uma saída para os
problemas crescentes por conta da expansão da Web, em que a maioria dos recursos web
atualmente só podem ser encontrados através de correspondências sintáticas.
Este cenário descrito é muito semelhante à situação que encontramos quanto tentamos
processar informações em uma página da web automaticamente através de um programa
de computador. O programa poderá contar facilmente as palavras-chave, baixar arquivos
de imagens, e seguir as ligações. No entanto, o nosso programa não terá uma
compreensão do conteúdo da página, e não poderemos fazer nada com esta informação
além de um aproveitamento apenas em análises estatísticas. No entanto, as limitações
desta abordagem de pesquisa da Web são evidentes.
Uma demonstração das limitações da Web atual pode ser obtida considerando o seguinte
exemplo: na web queremos determinar a melhor hora para se marcar uma consulta
médica. Nesse caso, as informações pertinentes podem ser encontradas na Web, e
podemos definir melhor fazendo comparações analíticas de qual o horário podemos
dispor.
12
Contudo, se não houver uma aplicação que seja capaz de realizar tal procedimento, o
computador será capaz de nos fornecer o resultado desejado. Pois as palavras-chave não
serão úteis, com exceção da possibilidade de encontrar uma grande lista de sites que
contenham as informações relacionadas à pesquisa efetuada. O computador não pode
analisar o horário possível da consulta com a agenda do usuário interessado nesta
pesquisa, uma vez que não tem conhecimento da informação encontrada na web. É
devido a esta falta de compreensão que o computador não é capaz de realizar qualquer
tipo de inferência automática com esta informação.
Estes problemas são fatores motivadores da Web Semântica que fará uma associação do
conhecimento à informação e então abrirá as portas para a construção de uma nova classe
de aplicações Web inteligentes. Vários autores têm delineado os seus conceitos sobre a
Web semântica e as aplicações que será possível criar e utilizar nesta nova web. Como
exemplo terá aplicações que farão pesquisas inteligentes, mineração de dados
automatizada, sistemas de e-learning, dispositivos inteligentes dentre outras aplicações.
Estes exemplos fornecem uma idéia do poder e flexibilidade de associar semântica ao
conhecimento com a informação existente na Web atual.
A Web Semântica não é somente para a Web3, ela representa um conjunto de tecnologias
que irão funcionar da mesma forma em ambientes internos das corporações em suas
intranets. Isto é correlacionado aos Web Services que não somente atuam na Web como
também internamente nas empresas. Desta forma a Web Semântica irá resolver vários
problemas que as tecnologias atuais não atendem.
A Web Semântica representa a evolução da Web atual. Ela visa fornecer estruturas e dar
significado semântico ao conteúdo das páginas web, criando um ambiente onde agentes
de software e usuários possam trabalhar de forma cooperativa [01]. A próxima sessão
trata de agentes de software e sua importância para a Web Semântica.
A Web Semântica é uma visão: é a idéia de se ter dados na Web bem definidos e
interligados de uma maneira tal que possam ser usados por máquinas não só com o
objetivo de apresentação, mas para automação, integração e reutilização dos dados entre
aplicações [10].
A visão da Web Semântica nos dá a noção de que os agentes primários são consumidores
do conhecimento. Estes agentes são programas que irão coletar conteúdo da Web de
diversas fontes, processarem as informações, bem como transacionar os resultados com
3
World Wide Web (WWW)
14
outros agentes. Agentes não são apenas programas com contexto arbitrários, são
programas com autonomia e comportamento racional que interagem uns com os outros
[11]. Esses comportamentos são necessários para o tipo de sistemas dinâmico que
queremos construir. Neste caso, poderemos definir agentes que podem sair para a Web e
executar tarefas como marcar consultas, verificar tempo, consultar produtos e etc. sem
que haja intervenções diretas em suas atividades.
Na Web Semântica, agentes de software são usados como entidades capazes de consumir
automaticamente conteúdos publicados. Assim, a Web Semântica pode ser vista como um
sistema multiagentes4 global formado pela relação de um grande número de sociedades
de agentes [12]. Atividades como a descoberta de recursos é desenvolvida não só por
usuários, mas, por meios automatizados como agentes de software.
4
Sistema multiagentes é uma arquitetura de agentes de software que fornece uma infraestrutura adequada
para o desenvolvimento de agentes.
15
Para criar a Web como está disponível atualmente, Tim Berners-Lee pesquisou e
desenvolveu tecnologias de hipertexto e construiu um sistema simples que era fácil de
entender, usar e de manter. Esta simplificação tornou-se um fator importante para o
rápido crescimento da Web. Apesar deste sucesso, as realidades da gestão da informação
são elucidativas alguns problemas de simplificação. Embora a Web continue a ser útil
para recuperar a informação a partir de páginas, portais ou organizações, é muito mais
difícil de usar se quisermos ganhar um amplo entendimento de um determinado assunto.
A Web Semântica identifica um conjunto de tecnologias, ferramentas, e padrões que
formam blocos de construções básicos de uma infra-estrutura para suportar a visão da
Web associada com significado. A arquitetura da Web Semântica é composta de uma série
de padrões organizados dentro de uma determinada estrutura que é uma expressão de
inter-relacionamentos. Esta arquitetura é frequentemente representada usando um
diagrama que primeiramente foi proposto por Tim Berners-Lee [Berners-Lee, Hendler et
al., 2001]. A figura 2.0 ilustra as diferentes partes de uma arquitetura para a Web
Semântica. Sua base é formada por URIs and Unicode. No topo que onde podemos
encontrar uma camada de interoperabilidade sintática na forma de XML [15], que se
segue das camadas formadas por RDF [16] e RDF Schema (RDFS) [17]. Linguagens
ontológicas para Web são construídas em cima da RDF(S). As três últimas camadas são
Lógica, Prova e Confiança, que ainda estão sendo pesquisadas. Algumas dessas camadas
contam com um componente de assinatura digital para garantir a segurança.
Nas seções seguintes serão descritos as camadas restantes desta estrutura arquitetural.
Embora estes conceitos apresentados foram simplificados, eles oferecem conceitos sobre
os diversos diversas componentes da Web semântica.
17
Xml – eXtensible Markup Language. Uma linguagem framework que é usada para
definir usada para definir quase todas as novas linguagens que são usadas para trocar
dados na Web.
Ontologia – Como descrito em seções anteriores, são linguagens usadas para definir
vocabulários e estabelecer o uso de palavras e termos no contexto de um vocabulário
18
Cada camada é vista como a base para a camada superior. Na camada base, a maioria dos
dados é criada no formato XML. Cada camada é progressivamente mais especializada e
também tendem a serem mais complexos que a camadas abaixo dela. Assim as camadas
podem ser desenvolvidas e se tornarem relativamente independentes operacionalmente e
garantir a interoperabilidade sintática.
As outras camadas ainda estão em desenvolvimento, e suas formas e direção são incertas
conforme subimos nos degraus desta arquitetura.
2.7. Padrões
URIs identificam recursos e portanto são importantes para a Web Semântica, usando uma
convenção mundial de nomes, porém arbitrária a sintaxe, fornece efeitos a rede global
que impulsionam os benefícios da Web. URIs tem um escopo global e são
consistentemente interpretados através de contextos. Associando uma URI com um
recurso significa que qualquer recurso pode criar link, referência ou retornar uma
representação dele mesmo.
Por diversas razões, a escolha atual da linguagem de marcação é a XML, porque, entre
outros motivos ela atende à dois requisitos de auto-definição e descrição de documentos
extensíveis. O XML é o elemento fundamental para a Web Semântica.
2.7.3.Dublin Core – DC
8. Tipo (type): a categoria do recurso, com a home page, relatório técnico, ensaio ou
dicionário.
Seis destes elementos são comuns à todos elementos Dublin Core, estes conjunto define
os elementos para o conteúdo (cobertura, descrição, tipo, relação, origem, e titulo) de um
documento. Há também elementos que descreve os direitos de propriedades intelectuais
(editor, criador, contribuinte, e direitos autorais) e instanciações concretas (data, formato,
identificador e linguagem).
Na figura 2.1 é exemplificado um cenário mais real e completo usando metadados DC. E
pode-se observar que mais de um par de valores predicado que pode ser indicado para um
recurso. Basicamente, ela expressa que o recurso “http://www.pucrs.br/~joao” tem o
título “Página na Web de João Silva,” e o assunto é “Home Page,” e foi criado por “João
Silva.”
O Dublin-Core foi projetado para ser simples e, para facilitar o uso pelos criadores e
mantenedores de documentos web, descritivo o suficiente para auxiliar na recuperação de
recursos na Internet.
2.7.4.Framework Warwick
O Framework Warwick [36], ilustrado na figura 2.4, foi desenvolvido com a realização
de workshops um ano depois da concepção do padrão Dublin Core, este framework foi
proposto com base nos resultados a fim de promover uma maior interoperabilidade entre
os fornecedores de conteúdo, catálogos e indexadores, e descoberta automática de
recursos e sistemas de descrição. Este padrão surgiu da necessidade de ampliar o Dublin
Core, considerado muito simples, pois só disponibiliza um formato para descrição de
recursos [37], como descrito na seção anterior.
em questão, com um aumento de novos elementos [37], que foram adicionadas ao Dublin
Core:
• Origem do fornecedor
Alguns problemas são evidentes, apesar da arquitetura ser bem definida, existe uma
dependência de sintaxe, cada um dos pacotes pode utilizar uma sintaxe diferente. Apesar
de aumentar a flexibilidade do modelo, não garante que dois pacotes poderão trocar
dados entre si. Também não há garantia de que dois conjuntos de metadados possam
estar utilizando um conceito com significados diferentes ou dois conceitos com um
mesmo significado. Diante destes problemas foi definido um novo padrão, o RDF, o qual
substitui o padrão Warwick que não foi aceito pela comunidade.
24
RDF normalmente utiliza XML na sua sintaxe e URIs para especificar entidades,
conceitos, propriedades e relações. O modelo se baseia na idéia de fazer declarações
sobre recursos sob a forma de um sujeito - predicado - objeto expressão conhecida como
tripla. Essencialmente, o sujeito é o recurso a ser descrito, o predicado é a descrição do
recurso ou aspecto que está sendo descritos, bem como o objeto é o valor desta descrição.
• Intercâmbio: que é obtida pela conversão em XML, a nova língua franca de troca
de informações na Web.
• Recursos são propriedades: o que significa que eles podem ter suas próprias
propriedades e podem ser encontrados e manipulados como qualquer outro
recurso.
25
• Os valores podem ser Recursos: o que significa que pode ser referenciado da
mesma forma que as Propriedades, têm as suas próprias propriedades, e assim por
diante.
A estrutura de descrição de recursos RDF é composta por três tipos de objetos: recursos,
propriedades e triplas. Um recurso é o que será descrito por uma expressão RDF. Todo
recurso é identificado por URI7. Uma propriedade é qualquer característica utilizada para
descrever um recurso. A representação do conhecimento como triplas, e a construção de
redes semânticas dessas triplas são os principais conceitos em RDF. É importante
entender que existem três visões equivalentes de uma tripla em RDF, são elas:
Cada uma destas visões tem um propósito distinto, a primeira visão é como nós
representamos triplas dentro do framework RDF, A segunda visão é como nós
construímos triplas de uma linguagem natural e a terceira é como uma tripla individual
refere-se a outras triplas em uma coleção definindo como estas triplas podem ser
combinadas em uma rede.
Uma tripla é formada por um recurso, uma propriedade e um valor para a propriedade de
um recurso. A estrutura da tripla possui as seguintes características <sujeito, predicado,
objeto>. Pode-se entender que o significado de uma tripla seja resumido como: “o recurso
(sujeito), que possui a propriedade (predicado) com determinado valor (objeto)”.
7
Uniform Resource Identifier, incluindo também o Uniform Resource Locator - URL
26
2.8. Ontologias
Ontologias são similares a taxonomias, mas usa relacionamentos semânticos mais ricos
entre os termos e atributos, bem como as regras mais estritas sobre como especificar
termos e relacionamentos. Elas têm sido geralmente associadas à inferência lógica e
recentemente começaram a ser aplicadas à Web Semântica.
Uma ontologia é tecnicamente uma modelo que se parece muito com modelos de
programação orientada a objetos que consiste de classes, heranças e propriedades [22].
Ontologias são elementos importantes para a Web Semântica, pois concebem as máquinas
a capacidade de compreensão e foram desenvolvidas pela inteligência artificial para
facilitar o compartilhamento e a reutilização do conhecimento. Desde o início de 1990, as
ontologias tornaram-se popular entre os pesquisadores sendo objetivos de estudos por
várias comunidades de inteligência artificial, incluindo o processamento lingüístico e a
representação do conhecimento. Recentemente, o uso de ontologias expandiu-se para
outros domínios como, por exemplo, a integração inteligente da informação, sistemas de
informação cooperativos, recuperação de informação, comércio eletrônico, gestão do
conhecimento e Web Semântica. A razão da ontologia de estar se tornando popular é, em
grande parte, devido aos seguintes fatores: uma compreensão comum e compartilhada de
um domínio que pode ser entre pessoas e sistemas de aplicação. O uso de ontologias e
ferramentas de apoio oferece uma oportunidade para melhorar significativamente a
gestão dos conhecimentos e capacidades em grandes organizações. A arquitetura da Web
Semântica baseia-se na gestão conhecimento e num conjunto de ferramentas inovadoras
para o tratamento semântico das informações.
28
2.8.3.Reuso de ontologias
29
Este esforço tem de ser considerado durante a concepção de uma ontologia, e comparado
com o esforço de reutilização, por exemplo, uma ontologia é construída a partir de
conceitos específicos pertencentes às respectivas aplicações. Para a Web Semântica que
se pretende conceber torna-se essencial a reutilização de ontologias existentes.
Ontologias têm demonstrado ser a melhor resposta para estes problemas de estruturação e
modelagem fornecendo uma conceitualização formal de um domínio específico que é
compartilhado por um grupo de pessoas. Assim, no contexto da Web Semântica,
ontologias descrevem domínios para a representação simbólica da semântica dos dados. A
Web Semântica baseia-se nestas formalidades ontológicas que disponibilizam estruturas
subjacentes permitindo a compreensão dos dados. Embora ferramentas com mecanismos
de ontologias tenham evoluído, a construção manual de ontologias ainda requer muito
trabalho.
2.9. Linguagens
A W3C viu a necessidade de uma linguagem para facilitar a legibilidade dos conteúdos
da WEB que eram suportados apenas por XML, RDF, e RDF Schema. A OWL foi
projetada para este propósito pela W3C Web Ontology Working Group. E a motivação
são, claramente, a seguinte:
30
Onde linguagens anteriores foram usadas para desenvolver ferras e ontologias para
usuários de comunidades específicas, especificamente nas científicas e em aplicações de
e-commerce específicos, que não foram definidas para ser compatível com a arquitetura
da Web e Web Semântica particularmente [LEUF 02].
• Abertura e extensibilidade
OWL tem mais facilidade para expressar significado e semântica do que XML, RDF e
RDFS e mais, OWL vai além dessas linguagens na habilidade de representar conteúdos
interpretados por máquinas na web. OWL adiciona mais vocabulário para descrever
propriedades e classes: relações entre classes, cardinalidade, igualdade, mais riqueza na
descrição de propriedade, características de propriedades e classes enumeradas. A OWL é
dividido em três sub-linguagens:
31
3. OWL Full – estende OWL DL, é a OWL completa. Permitindo que classes sejam
tratadas simultaneamente como coleções e instâncias. OWL Full permite uma
ontologia aumentar o significado de vocabulários pré-definidos em RDF ou
OWL.
Cada uma destas sub-linguagens é uma extensão da sua precedente. As linguagens menos
expressivas (OWL Lite) está contida nas mais expressivas (OWL DL e Full), de maneira
que uma ontologia definida numa linguagem menos expressiva é aceita por uma
linguagem mais expressiva: a recíproca não é verdadeira.
OIL apresenta uma abordagem em camadas para a linguagem de ontologia padrão. Cada
camada acrescenta funcionalidades e complexidade para a camada anterior. Isto é feito de
forma que agentes (pessoas ou máquinas), que possam somente processar a camada
inferior e ainda entender parcialmente as ontologias que são expressas em qualquer uma
das camadas superiores.
• Core OIL: esta camada coincide em grande parte com o RDF Schema, isto
significa que mesmo um simples agente RDF Schema são capazes de processar
ontologias OIL, e extrair o máximo de seu significado possível.
3.1. SHOE
A figura 3.0 mostra exemplos, um arquivo, de ontologias SHOE. Este arquivo inclui tags
que identificam a ontologia, estado de cada ontologia são extensíveis e definem vários
elementos da ontologia.
Figura 3.0: um exemplo de ontologia, fonte: Spinning the Semantic Web – MIT Press, 2002
3.2. OWL-S
OWL-S [26] é baseado em OWL especifica uma ontologia para Web Services, que
fornece serviços Web com um conjunto de linguagens de marcação para descrever as
36
propriedades e capacidades dos seus serviços em uma Web não ambígua. Define também
uma ontologia OWL de serviços que permite que os usuários e agentes de software
ajudem a automatizar os processos de descoberta, invocação, composição, e monitorar
recursos na Web que oferece determinados serviços e tenha determinadas propriedades.
3.3. OntoEdit
3.5. OilEd
3.6. Protègè
Esta ferramenta, figura 3.3, é projetada para permitir aos desenvolvedores o reuso de
domínios de ontologias e métodos para resolver problemas, assim reduzir o tempo
necessário para desenvolvimento e manutenção de programas.
3.7. OntoShare
3.8. OntoBroker
definir regras de inferência lógica usando conectores (And, Or, Not). O corpo da regra é
uma conjunção de expressões elementares [17] .
FOAF [39] é um mecanismo ontológico que descreve pessoas, suas atividades e seus
relacionamentos com outras pessoas e objetos. Qualquer um pode usar o FOAF para
descrever alguém ou a si mesmo. FOAF permite que grupos de pessoas possam descrever
um rede social sem a necessidade de uma base de dados centralizada. FOAF é uma
extensão do RDF e é definido usando OWL. Computadores podem usar os perfis para
encontrar, por exemplo, todas as pessoas vivendo no Brasil, ou uma lista de amigos ou
amigo de alguém. A seguir, um exemplo de um perfil FOAF escrito no formato XML
com email, homepage e imagem que são recursos e podem ser descritos utilizando RDF.
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:foaf="http://xmlns.com/foaf/0.1/"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
<foaf:Person rdf:about="#JW">
<foaf:name>Jimmy Wales</foaf:name>
<foaf:mbox rdf:resource="mailto:jwales@bomis.com" />
<foaf:homepage rdf:resource="http://www.jimmywales.com/" />
<foaf:nick>Jimbo</foaf:nick>
<foaf:depiction rdf:resource="http://www.jimmywales.com/aus_img_small.jpg" />
<foaf:interest>
<rdf:Description rdf:about="http://www.wikimedia.org" rdfs:label="Wikipedia" />
</foaf:interest>
<foaf:knows>
<foaf:Person>
<foaf:name>Angela Beesley</foaf:name> <!-- Wikimedia Board of Trustees -->
</foaf:Person>
</foaf:knows>
</foaf:Person>
</rdf:RDF>
3.10.Jena
45
Framework desenvolvido com linguagem JAVA para construção de aplicações para Web
Semântica, fornece um ambiente de programação para RDF, RDFS e OWL, SPARQL e
inclui regras baseada em mecanismo de inferência [31] cuja, estrutura geral do
mecanismo de inferência é demonstrada na figura 3.4. O Jena é fornecido como uma API
o que permite ao desenvolvedor utilizá-lo independentemente da ferramenta de
desenvolvimento para gerenciar ontologias OWL. Abaixo é listado algumas
características básicas do Jena:
include <OWL>.
[rule1:
(?cinema rdf:type http://www.inf.pucrs.br/~sales#Cinema)
(?cinema http://www.inf.pucrs.br/~sales#mostra ?filme)
(?filme http://www.inf.pucrs.br/~sales#tipo ?tipo)
(?pessoa rdf:type http://www.inf.pucrs.br/~sales#pessoa)
(?pessoa http://www.inf.pucrs.br/~sales#gostaDe ?filmeX)
(?filmeX http://www.inf.pucrs.br/~sales#tipo ?tipoX)
equal (?tipoX, ?tipo) -> (?Filme http://www.inf.pucrs.br/~sales#sugerir ?Pessoa)]
Figura 3.5: Exemplo de um arquivo de regras
46
O código demonstrado na figura 3.5 é utilizado para manipular as ontologias criadas pelo
aplicativo Protègè permitindo que seja possível dar significado ao conteúdo das
informações.
47
4.1. SemantiCore
A sua divisão em dois modelos (figura 4.2) é uma característica básica do framework que
são o modelo de agente e o modelo de domínio. E estes modelos são disponibilizados
com flexibilidade (hotspots) permitindo que o desenvolvedor associe diferentes padrões,
protocolos e tecnologias. A sua Plataforma de acordo com a arquitetura da figura acima
define o domínio (Semantic Domain) onde os agentes atuam. Cada domínio pode ser
48
• Sensor (Sensor): cada instância desta classe indica um tipo de sensor, que
reconhece um tipo de padrão. Pode-se ter, por exemplo, um sensor do tipo
“OWLSensor” que captura mensagens em OWL e reconhece como padrão o fato
da mensagem estar direcionada ao agente.
4.2. SESAME
O sistema Sesame [32], é uma arquitetura baseada na Web que permite armazenamento
persistente de dados RDF e informação de Schema. Para armazenamento persistente de
dados RDF é necessário um repositório escalável, como o Sesame foi projetado para ser
independente de um sistema de gerenciamento de banco de dados com o uso do RAL
(Repository Abstraction Layer). O RAL oferece métodos específicos RDF para seus
clientes e traduz estes métodos em chamadas para o seu banco de dados específico. Isto
permite então implementar para qualquer banco de dados sem alterar qualquer
componente do Sesame. Os principais componentes da arquitetura do Sesame é
demonstrada na figura 4.5.
Os módulos funcionais do Sesame são clientes do RAL. Atualmente, existem três destes
módulos:
UPML fornece dois tipos de adaptadores: bridges (pontes) e refiners (refinadores). Pontes
(bridges) são explicitamente modelos de relacionamentos entre duas partes específicas da
arquitetura, entre um domínio e uma tarefa ou uma tarefa e um método de solução de
problemas. Refinadores (refiners) podem ser usados para expressar uma adaptação
gradual de outros elementos da especificação, métodos de solução de problemas
genéricos e tarefas podem refinar para tarefas mais específicas aplicando a elas uma
seqüência de refinadores. A principal distinção entre pontes e refinadores é que a ponte
muda a entrada e saída dos componentes para torná-los aptos juntos. Refinadores podem
somente mudar detalhes internos, como as sub-tarefas dos métodos de soluções de
problemas.
PSM fornece componentes reusáveis para implementar o raciocínio que é parte de KBS e
refina mecanismos de inferência para permitir um maior controle direto do processo de
raciocínio de um sistema para realizar uma tarefa.
quando combinado, podem resolver problemas de usuários de acordo com o estado dos
requerimentos. A figura 4.2 ilustra o principal objetivo do broker IBROW que é
identificar os componentes necessários para resolver problemas e adaptar e configura-los
em um serviço de raciocínio em funcionamento. No contexto da Web, as tarefas do
broker incluem reutilização de componentes de terceiros disponíveis na Web e resolver
problemas operacionais e bases de conhecimentos num conjunto distribuído.
Este estudo de caso foi desenvolvido com base nos estudos de Blois [12] e Alemke [34] e
visa demonstrar as principais características do SemantiCore que foi projetado para suprir
as necessidades de modelagem de mecanismos de tomada de decisões dos agentes, que
são disponibilizados para implementação de acordo com a necessidade do programador.
O SemantiCore é um framework que visa promover uma camada de abstração sobre
plataformas ou serviços de distribuição computacional que facilite a implementação de
sistemas multiagentes para execução na Web Semântica [Blois e Escobar 01]. Este
capítulo apresenta um estudo de caso que demonstra um motorista usuário de serviços de
agentes para trafegar em um grande capital, neste exemplo teremos várias características
que serão descritas no tópico a seguir.
Este exemplo demonstra um motorista que trafega nas ruas de uma grande capital com
trânsito caótico. O motorista tem um agente pessoal (Agente Semântico) identificado
como AgMotorista que é utilizado para realizar tarefas especializadas.
Quando o motorista desejar dirigir pela cidade este interage com o AgMotorista que irá
executar seu plano de ação desenvolvido para o propósito que são as seguintes tarefas: (i)
descobrir se há engarrafamento no trânsito, (ii) verificar qual a melhor rota, verificando
tempo e combustível que será gasto, (iii) caso o motorista deseje ir a um local específico,
verificar a melhor rota para atingir o máximo de estabelecimentos, (iv) informação sobre
as condições climáticas.
5.2. A aplicação
O sistema multiagente desenvolvido para atender a este propósito será composto por
agentes que irão interagir entre si de forma que os mesmos possam recuperar informações
para serem utilizadas como base pelos agentes semânticos. Estes agentes serão
executados em diferentes máquinas podendo ser em um único domínio ou em múltiplos
57
Este agente tem apenas um tipo de Sensor que é uma instância de OWLSensor fornecido
pelo framework SemantiCore, possui um sistema decisório simples, que possui regras e
fatos relacionados ao histórico de recursos recebidos e a programação feita no agente
para a tomada de decisão, capaz de mapear cada consulta fato de uma ação de execução.
Esta ação é executada pela classe AcaoRetornaTransito, ela encapsula a heurística
somente descrita no ambiente e publica o resultado da consulta usando o OWLEffector
fornecido pelo SemantiCore.
O AgTransito tem como objetivo informar aos usuários do trânsito baseado nas
informações em seus registros. Para poder realizar este procedimento o agente deve
receber uma consulta retornando um nome com uma das avenidas da cidade. Então o
agente decide, com base nas características da avenida (bairro, número, CEP e o próprio
nome) em que registro procurar. Este resultado é obtido utilizando regras de decisão
simples do Componente de Decisão. Após encontrar o registro, o agente inicia um plano
de ação adequado AcaoRetornaInformacaoTransito. Estas informações serão enviadas ao
agente que solicitou, e associado a um schema OWL predefinido com instâncias de suas
classes e publicadas usando OWLEffector.
A definição do agente começa na configuração dos métodos onde 3 planos de ações são
declarados: AcaoRetornaTransito, AcaoRetornaTransitoLista e
AcaoRecuperaTransitoClassificacao.
6. Conclusão
A Web Semântica está no estágio inicial de seu desenvolvimento, mas, cada vez mais
surgem abordagens e tecnologias buscando melhorar sua capacidade de prover suporte à
identificação, localização, conhecimento e uso de seus recursos. A utilização de padrões e
arquiteturas extensíveis, capazes de se adaptarem à dinamicidade dos requisitos da Web,
vem trazendo novas perspectivas ao compartilhamento, intercâmbio e integração de
recursos, aumentando sua capacidade de automatização.
A Web Semântica foi abordada neste trabalho sob todos os aspectos de seu
desenvolvimento, abordando os conceitos que sustentam as visões desta tecnologia e sua
importância para o futuro da Web e sua arquitetura.
Este trabalho se concentrou, na maioria dos casos, nas recomendações da W3C para a
implementação da Web Semântica sob todos os aspectos. A viabilização da Web
Semântica só será possível com a adaptação das ferramentas que suportam a Web,
adicionando assim suporte a semântica. No entanto, será necessário que as novas
60
Apesar das tecnologias já desenvolvidas, o futuro da Web Semântica ainda requer muita
pesquisa e desenvolvimento. Mesmo com todos os desenvolvimentos e pesquisas acerca
da aplicação de ontologias nas tecnologias para a Web Semântica e com o avanço dos
agentes de softwares, ainda se tem muito a pesquisar e desenvolver com relação à
implementação de inteligência computacional, pois há ainda muitas dúvidas sobre a
capacidade desta tecnologia.
61
Referências Bibliográficas
[01] Berners-Lee, T.; Hendler, J.; Lassila, O. The Semantic Web, Scientific American,
2001, pp. 34-43.
[02] Cardoso, J. Semantic Web Services, Information Science Reference, 2006, pp. 04.
[03] D'Aubeterre, F.; Singh, R; S. Iyer, L. Semantic Knowledge Transparency in E-
Bussiness Processes, Idea Group Publishing, 2007, pp. 263
[04] Berners-Lee, T.; Hendler, J.; Lassila, O. The Semantic Web. Scientific
American, 2001, pp. 28-37.
[05] Reeve, L.; Han, H.; Chen, C. Information Visualization and the Semantic Web,
Visualization the Semantic Web.
[06] Grau, Bernardo C.. A Possible Simplification of the Semantic Web Architecture,
2004, WWW 2004, New York.
[07] Breitman, Karin K. Web Semântica, a Internet do Futuro, LTC Editora, pp. 5-9, Rio
de Janeiro, 2005.
[08] Passin, Thomas B. Explorer’s Guide to The Semantic Web, Manning Publications,
pp. 3-5, Greenwich, CT, 2004
[09] Cardoso, J. Semantic Web Services Theory Tools and Applications: The Syntact and
the Semantic Web, Information Science Reference, pp. 2, 2006.
[10] W3C, Semantic Web Activity, http://www.w3.org/2001/sw/, outubro/2007
[11] Hendler J., Agents and the Semantic Web. IEEE Intelligent Systems,
Issue 2, volume 16, pp. 30-37, mar/2001
http://portal.acm.org/citation.cfm?coll=GUIDE&dl=GUIDE&id=630623
[12] Blois et al, Using Agents and Ontologies for Application Development on the
Semantic Web, 2006.
[13] Davies, J.; Fensel D.; Harmelen, F. van, Towards the Semantic Web: A Vision of
Modern Knowledge Management, pp 247, John Wiley & Sons Inc, England, 2003.
[14] Heflin, Jeffrey D., Towards the Semantic Web: Knowledge Representation in a
Dynamic, Distributed Environment, pp 7-9, 2001
[15] W3C, XML
[16] RDF RDF SCHEMA
[17] Gandon, F. Distributed Artificial Intelligence and Knowledge Management:
Ontologies and Multi-Agent Systems for a Corporate Semantic Web, Universisty of
Nice, tese doutorado defendida em 01/11/2002.
[18] Leuf, B., The Semantic Web: Crafting Infrastructures for Agency, 2006
[19] Gruber, T.R, A Translation Approach to Portable Ontology Specifications:
Konwledge Acquisition, 1993
62
[20] Sheth, A. Security Ontology and Semantic Web Technical Exchange Meeting
MITRE, McLean, June 12, 2003 (http://lsdis.cs.uga.edu/lib/presentations/MITRE-0603-
Sheth.pdf)
[21] Cardoso, J. Semantic Web Services Theory Tools and Applications: The Syntact and
the Semantic Web, Information Science Reference, pp. 15, 2006.
[22] Fensel, D. Ontologies: Silver bullet for knowledge management and electronic
commerce. 2001,
http://www.cs.vu.nl/~dieter/ftp/paper/silverbullet.pdf., 16/10/2007
[23] Davies, J.; Fensel D.; Harmelen, F. van, Towards the Semantic Web: A Vision of
Modern Knowledge Management, pp 5-6, John Wiley & Sons Inc, England, 2003.
[24] Davies, J.; Fensel D.; Harmelen, F. van, Towards the Semantic Web: A Vision of
Modern Knowledge Management, pp 26, John Wiley & Sons Inc, England, 2003.
[25] Heflin, Towards the Semantic Web: Knowledge Representation in a Dynamic,
Distributed Environment, pp. 85-90, 2001.
[26] Davies, J.; Studer, R.; Warren, P. Semantic Web Technologies: trend and research in
ontology-based systems, pp 207-213, John Wiley & Sons Ltd, 2006.
[27] Cardoso, J. Semantic Web Services Theory Tools and Applications: editing tools for
ontology creation, Information Science Reference, pp. 75-76, 2006
[28] Manchester University, http://img.cs.man.ac.uk/oil/, 22/11/2007.
[29] Leuf, B. The Semantic Web – Crafting Infrastructures for Agency: application and
Tools, pp. 209-211, John Wiley & Sons Ltd, 2006.
[30] Heflin, Towards the Semantic Web: Knowledge Representation in a Dynamic,
Distributed Environment, pp. 198, 2001.
[31] HP, www.hp.com/semweb, 27/10/2007.
[32] J. Broekstra, Sesame RQL: a tutorial. http://sesame.aduna.biz/publications/rql-
tutorial.html, 22/11/2007
[33] IBROW, http://www.swi.psy.uva.nl/projects/ibrow/, 03/12/2007.
[34] Alemke, Ana P. Um Framework para a Organização do Conhecimento de Agentes de
Software, Dissertação de Mestrado, pp. 104-119, 2007.
[35] Dublin Core, www.dublincore.org, 30/10/2007.
[36] Warwick, http://www.dlib.org/dlib/july96/lagoze/07lagoze.html, 02/11/2007
[37] Breitman, Karin K. Web Semântica, a Internet do Futuro, LTC Editora, pp. 18-19,
Rio de Janeiro, 2005.
[38] Davies, J.; Duke, A.; Stonkus, A. OntoShare: Using Ontologies for Knowledge
Sharing, http://semanticweb2002.aifb.uni-karlsruhe.de/proceedings/Research/davies.pdf,
pp. 02, 01/12/2007.
[39] FOAF Project, http://www.foaf-project.org/, 05/12/2007
63