92
PONTIFÍCIA UNVERSIDADE CATÓLICA DO RIO GRANDE DO SUL FACULDADE DE INFORMÁTICA PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Web Semântica: O estado da arte Por ALBERTO SALES E SILVA Trabalho Individual I Prof. Dsc. Marcelo Blois Ribeiro Orientador

Web Semântica - Estado Da Arte

Embed Size (px)

DESCRIPTION

Trabalho Individual - PUCRS\MESTRADO EM CIÊNCIA DA COMPUTAÇÃO

Citation preview

Page 1: Web Semântica - Estado Da Arte

PONTIFÍCIA UNVERSIDADE CATÓLICA DO RIO GRANDE DO SUL

FACULDADE DE INFORMÁTICA

PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO

Web Semântica:O estado da arte

Por

ALBERTO SALES E SILVA

Trabalho Individual I

Prof. Dsc. Marcelo Blois Ribeiro

Orientador

Page 2: Web Semântica - Estado Da Arte

Porto Alegre, janeiro de 2008.

Sumário

1. Introdução .................................................................................................................4

1.1. A Web atual........................................................................................................5

1.2. Estrutura do trabalho...........................................................................................6

2. Definições e padrões da Web Semântica...................................................................7

2.1. Definições da Web Semântica............................................................................7

2.2. Web Semântica: gerenciamento da informação ...............................................9

2.3. Porquê precisamos..............................................................................................11

2.4. Agentes de software ...........................................................................................11

2.5. Representação do conhecimento na Web ..........................................................12

2.6. Visão e arquitetura .............................................................................................13

2.6.1. As camadas da Web Semântica ..............................................................15

2.7. Padrões ...............................................................................................................16

2.7.1. Universal Resource Identifier.................................................................16

2.7.2. XML e XML Schema .............................................................................17

2.7.3. Dublin Core – DC ...................................................................................17

2.7.4. Framework Warwick ..............................................................................20

2.7.5. Resource Description Framework..........................................................21

2.8. Ontologias...........................................................................................................24

2.8.1. A função das ontologias...........................................................................25

2.8.2. Uma arquitetura da Web Semântica baseada na Ontologia.....................25

2.8.3. Reuso de ontologias ................................................................................26

2.9. Linguagens..........................................................................................................28

2.9.1. OWL – Ontology Web Language............................................................28

2.9.2. OIL – Ontology Inference Layer ............................................................30

2.9.3. DAML+OIL – Darpa Agent Markup Language + OIL...........................31

3. Propostas de ferramentas para uso na Web Semântica..............................................32

2

Page 3: Web Semântica - Estado Da Arte

3.1. SHOE .................................................................................................................32

3.2. OWL-S ...............................................................................................................33

3.3. OntoEdit .............................................................................................................34

3.4. OntoLingua Frame Editor – SHOE ...................................................................37

3.5. OilEd ..................................................................................................................37

3.6. Protègè................................................................................................................38

3.7. OntoShare ..........................................................................................................39

3.8. OntoBroker ........................................................................................................41

3.9. Projeto FOAF – Friend of a Friend ....................................................................42

3.10.............................................................................................................................. Jena ....................................................................................................................43

4 Principais componentes de software para a construção de aplicações para a Web Semântica .................................................................................................................45

4.1 SemantiCore........................................................................................................45

4.1.1 Ciclo de vida de um agente SemantiCore................................................46

4.1.2 O SemantiCore e a Web Semântica.........................................................48

4.2 Sesame ...............................................................................................................49

4.3 Framework UPML..............................................................................................50

4.4 IBROW – Internet BRokering Service for Knowledge-Component Reuse on the Web...53

4.4.1 Intermediando Componentes de Raciocínio na Web...............................53

5 Estudo de Caso SemantiCore....................................................................................55

5.1 Descrição do Problema ......................................................................................55

5.2 A aplicação..........................................................................................................55

6 Conclusão..................................................................................................................58

Referência Bibliográfica .................................................................................................60

3

Page 4: Web Semântica - Estado Da Arte

Listas de Figura

4

Page 5: Web Semântica - Estado Da Arte

1. Introdução

A Internet é uma grande conquista tecnológica com um número crescente de usuários e

fonte de informações. Entretanto, o aumento da complexidade na web afeta diretamente

os usuários deixando-os responsáveis por controlar acesso, extração, interpretação e

manutenção da informação. Apesar de ter grande influência nas atividades dos usuários,

muitas destas atividades desejadas não são suportadas por ferramentas automatizadas.

Atualmente o que está à disposição na Web são ferramentas que fazem uso de palavras-

chave que servem como base para, por exemplo, motores de busca. Estas ferramentas,

quando indispensáveis, têm sérias limitações em termos de pesquisas, precisão e

conteúdo, ao fazermos uma simples pesquisa teremos várias páginas retornadas e que

ainda não satisfazem o contexto da pesquisa.

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:

Metadados: permite que páginas da web possam demonstrar o significado sobre

suas próprias informações. Por exemplo, em uma página web pessoal,

metadados podem identificar nome, cargo, filiação, estudos, publicação e etc.

[02].

Ontologias: descrevem os principais conceitos de um domínio e os seus

relacionamentos. Por exemplo, uma ontologia pode conter conceitos como

pessoas, professores, cursos, e seus relacionamentos [03].

Raciocínio lógico: Neste caso torna-se possível tirar conclusões a partir das

combinações dos dados (metadados) com ontologias.

5

Page 6: Web Semântica - Estado Da Arte

O objetivo da Web Semântica é permitir desenvolver padrões e projetar tecnologias que

ajudam máquinas a compreender mais informações na Web, a fim de que eles possam

suportar descobertas, integração de dados, navegação e automatização de tarefas. Com a

Web Semântica, nós não só receberemos resultados mais exato na pesquisa de

informação, mas também saberemos quando é que podemos integrar informações de

diferentes fontes de informações para saber o que comparar, e podem fornecer todos os

tipos de serviços automatizados em diferentes domínios como as casa futurísticas,

bibliotecas digitais, o comércio eletrônico e aos serviços de saúde [01].

1.1 A Web Atual

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,

6

Page 7: Web Semântica - Estado Da Arte

tornando a informação adaptada à particularidade de cada usuário. Estes agentes podem

ainda aprender e responder as informações de outros agentes1 atuantes na web com a

utilização de conceitos de inteligência computacional.

1.2 Estrutura do trabalho

Este trabalho é dedicado aos desafios da WEB SEMÂNTICA, visando contextualizar os

conceitos, vantagens e aplicabilidade. Inicialmente será feita uma análise do estado atual

da web e quais as características que levarão a concretização dos objetivos pertinentes à

Web Semântica. Finalizando este trabalho teremos uma análise das ferramentas atuais

disponibilizadas bem como a realização de um estudo de caso utilizando as ferramentas

JENA e SEMANTICORE.

A estrutura deste trabalho será a seguinte:

O capítulo 2 terá o seu desenvolvimento acerca dos conceitos da Web Semântica,

suas características e aplicabilidade. Definições e padrões de web semântica

O capítulo 3 tratará das propostas de ferramentas para uso na web semântica

O capítulo 4 apresentará os principais componentes de software para a construção

de aplicações para a web semântica.

O capítulo 5 será a respeito de um estudo de caso no qual apresentará a utilização

das ferramentas JENA, PROTÈGÈ e SEMANTICORE.

O capítulo 6 concluirá os conceitos aplicados a este trabalho.

1 Agentes são programas autônomos que podem reagir a uma ação ou estímulos externos

7

Page 8: Web Semântica - Estado Da Arte

2. Definições e padrões de web semântica

2.1. Web Semântica: Visão

A Web Semântica é uma extensão da web atual, na qual é dado à informação um

significado bem definido permitindo que computadores e pessoas trabalhem em

cooperação [01]. Dando capacidade aos computadores de interpretar e processar

informações além de manter a web organizada.

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.

No entanto, é preciso reconhecer que o computador é, atualmente, utilizado como um

simples canal de envio de informações, e não como o consumidor da informação. Como

resultado, uma grande parte do potencial da Web ainda tem de ser desenvolvido. Este

potencial se refere a capacidade que os computadores tem de processar milhares de

informações e que está subutilizado. Contudo este potencial deve ser desenvolvido para

que os computadores possam utilizar as informações da mesma forma que os seres

humanos o fazem.

A grande vantagem dos computadores é a capacidade de processar informações

provenientes de várias páginas da Web, comparando-as em segundos. Apesar desta

8

Page 9: Web Semântica - Estado Da Arte

aparente simplicidade, há um grande número de questões que devem ser abordadas se

quisermos fazer um bom uso dessas informações.

Figura 2.0: Proposta original feita por Tim Berners-Lee

A nova geração da Web combinará as atuais tecnologias da Web com a representação

formal do conhecimento [06]. O conhecimento na Web Semântica deverá ser formado e

estruturado utilizando conceitos de metadados, agentes, ontologias, Web services,

linguagens e ainda outras tecnologias que irão definitivamente formalizar o conhecimento

oferecendo desta maneira novas opções para o processamento da informação [07].

Em breve a Web Semântica utilizará dados compreensíveis e acessíveis em qualquer

lugar, tanto para as pessoas e aplicações como para as máquinas. Isto é mais uma visão

do que tecnologia propriamente dita. Algumas das visões mais representativas sobre a

Web Semântica são as seguintes [08]:

9

Page 10: Web Semântica - Estado Da Arte

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.

Agentes inteligentes: o objetivo da Web Semântica é tornar a Web atual legível

para as máquinas, a fim de permitir que agentes inteligentes tenham a

capacidade de recuperar e manipular informações relacionadas.

Banco de dados distribuídos: o conceito da Web Semântica faz para os dados o

que o HTML fez para o sistema de informação textual, proporciona

flexibilidade suficiente para ser capaz de representar todos os banco de dados

e regras lógicas para interliga-los acrescentando mais valores.

Infra-estrutura automatizada: segundo Tim Berners-Lee2 a Web Semântica não

é uma aplicação e sim uma infra-estrutura.

Servente à humanidade: A Web semântica é uma visão da próxima geração da

web, permitindo que as aplicações web recolham documentos

automaticamente da web a partir de diversas fontes, integrem e processem

informações, e integrando com outras aplicações, a fim de executar tarefas

sofisticadas para os seres humanos.

Anotação melhorada: a idéia da Web Semântica é suprir a web que nós

conhecemos, com anotações expressas em uma forma que máquinas possam

processá-las e uni-las.

Pesquisa aperfeiçoada: o principal objetivo é criar uma estrutura de índices nos

sítios na Web, tornando o acesso aos recursos na Web por conteúdo não

somente por palavras-chave.

Web Services: a Web Semântica promete expandir os serviços da Web atual,

habilitando agentes de software a automatizar procedimentos que atualmente

são executados manualmente e por introduzir novas aplicações que hoje são

inviáveis.

2 Criador da World Wide Web e precursor da Web Semântica

10

Page 11: Web Semântica - Estado Da Arte

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.

2.2. Web Semântica: gerenciamento da informação

Para conhecermos os desafios do computador para consumir informação baseada na web,

podemos considerar o seguinte cenário. Suponha que estamos pesquisando da Web para

obter informações sobre uma determinada doença. Em resposta à nossa consulta, nós

encontramos uma página que contém as palavras-chave solicitadas, mas a informação

está fora da nossa compreensão. Podemos ler o documento detalhadamente, e procurar

qualquer palavra que nos é familiarizada em um dicionário.

Nós também podemos ir mais afundo, e examinar as referências apresentadas no

documento, ou ainda entrar em contato com o autor. No entanto, é provável que

venhamos a ter uma maior compreensão do conteúdo do documento logo no início da

leitura. O que nos faltará é o cenário do conhecimento que será necessário para

compreender a resposta, neste caso poderemos obter com alguns anos de estudo sobre

este cenário.

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.

11

Page 12: Web Semântica - Estado Da Arte

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.

A questão fundamental está relacionada com o clássico problema da informação versus

conhecimento. O que existe na Web na atualidade é a informação, essencialmente uma

grande coleção de fatos. Para fazer uso desta informação, precisamos analisar esses fatos

nos mais amplos contextos do conhecimento. Por isso, entende-se que a informação deve

interpretar conceitos, como verdades, perspectivas, raciocínio, metodologias, e

conhecimento. A Web atualmente é focada somente na utilização dos usuários que

inferem nas informações conhecimento para fazer uso destas informações [09].

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.

2.3. Por que precisamos?

A Web foi concebida, inicialmente, por Tim Berners-Lee visando disponibilizar

conteúdos publicados para consumo por seus usuários. O processo evolutivo da Web tem

permitido que conteúdos sejam utilizados por aplicações, com intensa troca de

informações. Esta troca tem dependido, em grande parte, dos usuários de modo que esta

interoperabilidade entre essas aplicações.

12

Page 13: Web Semântica - Estado Da Arte

A proposta da Web Semântica é buscar diminuir ou extinguir essa dependência,

aumentando a importância dos descritores associados aos recursos disponíveis,

permitindo automatizar a colaboração entre aplicações e entre as aplicações e os usuários.

Na Web atual os documentos são apenas interligados entre si, tornando o usuário

responsável por interpretar a natureza destas ligações, para a Web Semântica estas

ligações serão semanticamente interligadas dando suporte às aplicações em suas

interações.

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 sobrecarga de informação é um dos problemas mais evidentes para serem resolvidos

somados ao grande problema das informações ficarem retidas nas tecnologias geradoras

não podendo ser compartilhada por outros sistemas ou organizações.

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.

2.4. Agentes de Software

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)

13

Page 14: Web Semântica - Estado Da Arte

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.

2.5. Representação do conhecimento na Web

O conhecimento é chave para aproveitarmos o potencial das informações disponibilizadas

na web [13]. Com uma representação condizente deste conhecimento, podemos realizar

inferência sobre a informação, e, desta forma, poder obter novos conhecimentos. No

entanto, antes de se fazer quaisquer tipos de inferência, têm de considerar como é que

este conhecimento pode ser representado, de forma que ele possa ser processado e

compartilhado automaticamente. É necessário adotar determinadas convenções que

podem ser consistentemente interpretadas tanto pelo idealizador quando pelo cliente do

conhecimento.

A Web Semântica depende da habilidade de associar conhecimento formal ao conteúdo.

O campo da representação do conhecimento fornece um bom ponto de partida para a

concepção das linguagens da Web Semântica porque oferece raciocínio sobre a

concepção e utilização das linguagens que tentam formalizar o significado semântico das

informações. Contudo, a Web atual tem muitos desafios, pois a representação do

conhecimento é muito trabalhosa e nos obriga a ver os problemas sob uma nova

4 Sistema multiagentes é uma arquitetura de agentes de software que fornece uma infraestrutura adequada para o desenvolvimento de agentes.

14

Page 15: Web Semântica - Estado Da Arte

perspectiva [14]. O impacto de algumas das mais importantes características da Web é

discutido em seguida:

A Web é distribuida: um dos fatores que levam a proliferação da Web é o fato de

não ter uma autoridade centralizada. No entanto, uma vez que a Web é um

produto composto por vários indivíduos, a falta de controle centralizado

apresenta muitos desafios para dar significado às suas informações. Um

agente de software simplesmente não pode assumir que todas as informações

que ele coleta estão corretas, coerentes e consistentes.

A Web é dinâmica: a Web muda rapidamente, muito mais rápido que um usuário

possa assimilar ou agente inteligente na Web possa acompanhar. Enquanto

novas páginas são adicionadas, os conteúdos das páginas existentes estão

mudando. Algumas páginas são estáticas, outras dinâmicas. Estas mudanças

podem ter vários significados embora não mude de fato o conteúdo semântico

de um documento como, por exemplo, pontuação e ortografia, mas algumas

alterações podem mudar completamente o significado, ou mesmo eliminar

grandes quantidades de informação. Um agente na Web deve assumir que seus

dados podem muitas vezes ser invalidados. O ritmo acelerado das mudanças

das informações na Web representa um desafio a mais para qualquer tentativa

de criar vocabulários padrão e fornecer semântica formal. Como o

entendimento de um dado domínio muda, tanto o vocabulário quanto a

semântica podem ser refinados. É importante que tais modificações não

alterem negativamente os significados de conteúdo existentes.

A Web é abrangente: a web já ultrapassou os 100 milhões de sites em

funcionamento segundo a NetCraft5. Diante disso, mesmo que cada página

contenha um único agente inteligente colhendo conhecimento o acumulo de

informações seria grande o suficiente para se implementar conhecimento

semântico ao sistema.

2.6. Visão e Arquitetura

5 http://news.netcraft.com/archives/web_server_survey.html

15

Page 16: Web Semântica - Estado Da Arte

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.

16

Page 17: Web Semântica - Estado Da Arte

Figura 2.0: arquitetura da Web semântica

2.6.1. As Camadas da Web Semântica

A W3C definiu uma arquitetura para padronizar o desenvolvimento da Web Semântica e

estas camadas desempenham funções que interagem umas com as outras. Com a

finalidade de alinhar as comunidades científicas que estão envolvidas no progresso da

Web, a W3C liderada por Tim Bernes-Lee projetou esta arquitetura e definiu as camadas

da seguinte maneira:

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.

Xml-Schema - Uma linguagem usada para definir a estrutura de linguagens XML

RDF - Resource Description Framework. Uma linguagem flexível capaz de descrever

todo tipo de informações e metadados.

RDF-Schema – Um framework que proporciona um meio para especificar vocabulários

básicos para aplicações específicas RDF.

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

17

Page 18: Web Semântica - Estado Da Arte

específico. RDF-Schema é um framework para construção de ontologias e é usado por

frameworks de ontologias muito mais avançados. OWL é uma linguagem de ontologia

projetada para a Web Semântica.

Lógica e Provas – Raciocínio lógico é usado para estabelecer a consistência e correção

de conjuntos de dados e inferir conclusões que não são explicitamente declarados, mas

são requeridos pela consistência ou com um conjunto de dados conhecidos.

Confiança – Um meio de fornecer autenticação de identidade e evidenciar a

confiabilidade dos dados, serviços e agentes.

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.

Na Web do futuro, muitas camadas adicionais serão necessárias se quisermos que

programas de computadores tratem a propriedade semântica das informações sem a

intervenção humana.

2.7. Padrões

2.7.1. URI – Universal Resource Identifier

URI – Identificador de Recursos Universal - é um formato que serve como um meio de

identificação abstrata ou física de um recurso na Web. Um URI ainda pode ser

classificado com um localizador, um nome ou ambos. Uniform Resource Locator (URL)

refere-se a um sub-conjunto de URI que identifica recursos através de uma representação

dos seus principais mecanismos de acessos. Um Uniform Resource Name (URN) refere-

18

Page 19: Web Semântica - Estado Da Arte

se ao subconjunto de URI que é requerida para manterem-se globalmente únicos e

persistência quando os recursos deixar de existir ou se tornar indisponíveis. Por exemplo:

A URL http://www.pucrs.br/index.htm identifica a localização de onde a página

Web pode ser recuperada.

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.

De acordo com os objetivos da Web Semântica, queremos dar significado aos

relacionamentos, a URI fornece a base para as relações e sustentam a Web Semântica

permitindo que as máquinas processem os dados diretamente. Desta forma a Web

Semântica desloca a ênfase dos documentos para os dados. Uma grande motivação da

Web Semântica vem do fato de banco de dados relacionais terem seus dados bloqueados,

para que estes valores possam ser liberados, os objetos do banco de dados devem ser

exportados para a Web como objetos de primeira-classe e, assim, serem mapeados para

um sistema de URIs.

2.7.2. XML e XML Schema

Um componente sintático da Web Semântica é a linguagem de marcação que permite a

distinção entre a representação do conteúdo e os metadados que definem como interpretá-

los e processá-los.

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.

Para disponibilizar um formato de metadados capaz de trabalhar na web foi proposto o

XML (Extensible Markup Language). Conforme o W3C o XML é um modelo simples,

com um formato de texto muito flexível derivado do Standard Generalized Markup

19

Page 20: Web Semântica - Estado Da Arte

Language (SGML). É capaz de armazenar dados em unidades chamadas de entidades,

formando um documento com as informações armazenadas de forma comparada a uma

classe de dados, entretanto no XML não há declarações sobre o tipo dos dados

armazenados nem suas relações.

2.7.3. Dublin Core – DC

O Dublin Core [35] é um conjunto de metadados cujo objetivo é facilitar a descoberta de

recursos eletrônicos com 15 elementos – qualifiers - e foi originalmente desenvolvimento

para a melhoria dos recursos de pesquisa na Web transmitindo uma compreensão

semântica comum do elemento. Neste intuito, os elementos do DC foram principalmente

destinados para descrever documentos baseado na Web. Exemplos de metadados do

Dublin Core incluem:

1. Titulo (title): o título do recurso.

2. Assunto (subject): palavras-chave simples ou termos apartir de uma lista de

assuntos.

3. Descrição (description): uma descrição ou abstração.

4. Criador (creator): a pessoa ou organização principal responsável pelo conteúdo

intelectual do recurso.

5. Editor (publisher): o editor.

6. Contribuinte (contributor): um contribuinte secundário para o conteúdo

intelectual do recurso.

7. Data (date): uma data associada com a criação ou disponibilidade do recurso.

8. Tipo (type): a categoria do recurso, com a home page, relatório técnico, ensaio ou

dicionário.

9. Formato (format): o formato dos dados e opcionalmente como tamanho e duração

do recurso. [Breitman03], manifestação física do objeto. Exemplos são arquivos

executáveis, do tipo texto ou PDF.

20

Page 21: Web Semântica - Estado Da Arte

10. Identificador (identifier): um string ou número usados como identificador único

do recurso. Exemplos para recursos na web incluem URL’s. Um outro exemplo é

o ISBN para identificação de livros

11. Origem (source): informação sobre um segundo recurso a partir do qual o

presente recurso é derivado

12. Linguagem (language): a linguagem do conteúdo intelectual do recurso

13. Relação (relation): um identificador de um segundo recurso e seu relacionamento

com o recurso atual

14. Cobertura (coverage): características temporais e espaciais do conteúdo

intelectual do recurso

15. Direitos (rights): informação sobre os direitos do objeto

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.”

<? xml version=” .0” ?><RDF xmlns = “http://w .org/TR/ 999/PR-rdf-syntax- 9990 0 #”xmlns:DC = “ http://dublincore.org/ 00 /0 / / dces#”>

<Description about = “http://www.pucrs.br/~joao” ><DC:Title> Página na Web de João Silva </DC:Title><DC:Creator> João Silva </DC:Creator><DC:Date> 2007-11-30 </DC:Date>

</Description></RDF>

Figura 2.1 – Exemplo de código RDF usando DC

21

Page 22: Web Semântica - Estado Da Arte

O gráfico representando a figura 2.2 é expresso em RDF usando o namespace DC com as

seguintes sentenças:

Figura 2.2 – Gráfico representando um sentença RDF

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.

O resultado do Warwick Workshop6 é uma arquitetura conteiner, conhecido como

Framework de Warwick. O framework é um mecanismo que agregação logicamente, e

talvez fisicamente, pacotes distintos de metadados. Esta é a modularização de metadados

6 Realizado em abril de 1996 – Metadata II Workshop in Warwick U.K.

22

Page 23: Web Semântica - Estado Da Arte

em questão, com um aumento de novos elementos [37], que foram adicionadas ao Dublin

Core:

Descrições específicas do domínio do documento (objeto)

Termos e condições de uso do documento

Rótulos e gradação do documento

Informações de segurança, autenticidade, assinaturas

Origem do fornecedor

Conjunto de containers para documentos compostos e ponteiros para todas as

manifestações, instâncias ou versões do documento

Responsável por armazenar o documento, além do, conjunto de descritores do

Dublin Core

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.

Figura 2.4: Framework de Warwick

23

Page 24: Web Semântica - Estado Da Arte

2.7.5. RDF – Resource Description Framework

O RDF é uma linguagem para a representação de informações na Web. Trata-se de uma

especificação de framework comum para expressar documentos de metadados, ou seja, o

significado dos termos e conceitos utilizados para descrever recursos na Web, de uma

forma que os computadores possam processar. O objetivo do RDF é fornecer uma

codificação e um mecanismo de interpretação, a fim de que recursos possam ser descritos

de uma forma que um software específico possa entendê-lo. RDF é a principal tecnologia

para a Web Semântica. Além disso, as maiorias das representações de alto nível

dependem ou derivam do modelo RDF para expressar relações e definição de recursos.

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.

O RDF foi projetado para ter as seguintes características [18]:

Independência: qualquer organização independente (ou pessoa) pode inventar

uma propriedade que possam ser devidamente referenciadas e interpretadas por

outros como um recurso.

Intercâmbio: que é obtida pela conversão em XML, a nova língua franca de troca

de informações na Web.

Escalabilidade: registros em três partes (Recurso, Propriedade, valor), são fáceis

de manusear e servir de referência para outros objetos.

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.

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.

24

Page 25: Web Semântica - Estado Da Arte

As declarações podem ser Recursos: que lhes permite ter Propriedades

essenciais se quisermos ser capazes de fazer pesquisas baseadas em outros

metadados e avaliar corretamente as afirmações feitas.

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:

1. A tripla refere-se a um recurso para a propriedade

2. A tripla define uma sentença com um sujeito, objeto e predicado.

3. A tripla representa uma aresta dirigida e um par de nós em um gráfico.

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.

Um domínio de conhecimento em RDF é definido através de RDF Schema (RDFS).

Portanto, é no RDFS que se define a semântica e as características de uma propriedade.

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)”.

Como exemplo de sentenças RDF tem-se: João Silva é o dono da página

http://www.inf.pucrs.br/~joao poderia representado pela seguinte tripla: (“João Silva”,

http://www.owner.com/taxionomy/dono, http://www.inf.pucrs.br/~joao). A representação

desta tripla por grafos seria como é ilustrado na figura 2.5

7 Uniform Resource Identifier, incluindo também o Uniform Resource Locator - URL

25

Page 26: Web Semântica - Estado Da Arte

Figura 2.5: Declaração RDF

2.8. Ontologias

O uso de ontologias aborda a questão de como representar o conhecimento

na Web para que possa ser entendido por um computador [19]. Trata-se de uma condição

necessária no tratamento automatizado da informação na Web. A questão é como

podemos usar esse conhecimento eficazmente? Para responder a esta questão, devemos ir

além da representação, e considerar as tecnologias e aplicativos que serão utilizados para

reconhecermos os benefícios da Web Semântica. Ontologias são tentativas para definir

com mais cuidado partes dos dados e permitir que as interações entre dados sejam

realizadas entre diferentes formatos.

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.

Ontologias consistem na definição dos aspectos como um esquema de alto nível e

aspectos de asserções como entidades, atributos, inter-relacionamentos entre entidades,

vocabulário de domínio e conhecimento baseado em fatos, todos conectados em uma

maneira semântica [20].

Ontologias fornecem um entendimento comum de um domínio. Elas permitem que

pessoas, organizações e sistemas de aplicações se comuniquem. Fornecendo ferramentas

específicas para organizar e fornecer uma descrição completa de conteúdos heterogêneos.

Além do relacionamento estrutural hierárquico típico das taxonomias, as ontologias

permitem cruzar nó de relações horizontais entre as entidades, facilitando, assim, modelar

26

Page 27: Web Semântica - Estado Da Arte

requisitos de informações do mundo real. [21] identificaram três ontologias mais

utilizadas:

1. para ajudar na comunicação entre seres humanos

2. para alcançar interoperabilidade entre sistemas de software

3. para melhorar o projeto e a qualidade de sistemas de softwares

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].

2.8.1. A função das ontologias

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.

2.8.2. Uma arquitetura da Web Semântica baseada na Ontologia

A figura 2.1 mostra a arquitetura da Web Semântica baseada na gestão do conhecimento.

A arquitetura aborda todas as grandes etapas da construção do ciclo de vida do

gerenciamento do conhecimento.

27

Page 28: Web Semântica - Estado Da Arte

Figura 2.1 – Arquitetura da gestão de conhecimento

Dada a grande quantidade de informações não estruturadas e semi-estruturadas existentes

nas organizações a extração automática de conhecimento em dados não estruturados e

semi-estruturados em repositórios de dados externos é necessária e isso é mostrado na

camada inferior do diagrama [23].

2.8.3. Reuso de ontologias

Ontologias são desenvolvidas com a finalidade de reutilização e compartilhamento do

conhecimento e a reutilização está diretamente relacionada com a generalização. O

escopo desejado da reutilização é uma decisão muito importante que tem de ser tomada

antes de projetar uma ontologia. Embora conceitos genéricos sejam, em geral, mais

reutilizáveis, a reutilização de conceitos genéricos para aplicações específicas pode

28

Page 29: Web Semântica - Estado Da Arte

incluir, em certos casos, um grande esforço no sentido de traduzir os conceitos genéricos

em conceitos.

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.

2.8.4. Ontologia e Web Semântica

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

2.9.1. OWL - Web Ontology Language

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:

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].

29

Page 30: Web Semântica - Estado Da Arte

OWL é uma linguagem de marcação semântica para publicação e compartilhamento

ontologias na Web, usando notação URI e tecnologia RDF, adequada para aplicações que

necessitam de processar o conteúdo da informação, em vez de apenas apresentar

informações para os seres humanos.

Semântica formal padronizada e vocabulário suplementar permitem a OWL representar

explicitamente descrições de termos e as relações entre as entidades. Ela implementa uma

linguagem rica para descrever as classes e as relações entre elas, que são inerentes a

documentos e aplicações Web.

A intenção da OWL é permitir que desenvolvedores publiquem e compartilhem

conjuntos de termos (ontologias específicas) na Web de forma consistente. Publicando

ontologias com um modelo de estruturas consistentes pode, então, ser alçada para

fornecer pesquisa avançada na Web, agentes de software e gerenciamento de

conhecimento. As principais características de projetos em OWL são [LEUF 03]:

Habilidade para ser distribuida através de vários sistemas

Escalabilidade para as necessidades da Web

Compatibilidade com os padrões da Web para acessibilidade e

internacionalização

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:

1. OWL Lite – permite definir uma ontologia de classes e propriedades e as

instâncias dessas classes e propriedades, por exemplo, a cardinalidade máxima ou

mínima assume apenas os valores 0 ou 1. OWL Lite provê uma rápida migração

de tesauros e taxonomias.

30

Page 31: Web Semântica - Estado Da Arte

2. OWL DL - (Description Logic ou Lógica de Descrição) estende a OWL

Lite permitindo restrições de cardinalidade que não são limitadas em 0 ou 1.

Também define classes baseadas em valores específicos de propriedades usando

constructos como hasValue, class expression usando combinações booleanas

como unionOf, intersectionOf e complementOf.

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.

2.9.2. OIL – Ontology Inference Layer

O OIL é uma linguagem de representação e inferência para ontologias na WEB. Sendo

um formalismo baseado na RDFS o amplia usando descrição lógicas, conceitos e regras,

linguagens frames – propriedades são classes secundárias de entidades declaradas dentro

da definição de uma classe [40].

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.

As diferentes camadas, conforme a figura 2.5, são:

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.

31

Page 32: Web Semântica - Estado Da Arte

Standard OIL: é uma linguagem destinada a capturar os principais modelos

primitivos para a descrição de uma ontologia.

Instance OIL: é a integração de elementos com base em baanco de dados. Esta

camada tem o mesmo esquema do Standard OIL, mas apresenta descrição com

RDF.

Heavy OIL: irá incluir capacidades representacionais adicionais e raciocínio.

Figura 2.5: Camadas da OIL – fonte: Towards the Semantic Web

2.9.3. DAML+OIL – Darpa Agent Markup Language + OIL

A DAML+OIL é similar, e sucessor, do OIL em diversos aspectos, mas está bem

integrada com o RDFS que prevê apenas a especificação da linguagem e a sua única

serialização. Enquanto a dependência do RDFS tem algumas vantagens quanto ao reuso

da infra-estrutura de RDFS existente e a portabilidade das ontologias DAML+OIL,

usando RDFS para definir completamente a estrutura do DAML+OIL é muito difícil

porque, ao contrário do XML, RDFS não foi projetado especificar precisamente a

estrutura sintática. A dependência da DAML+OIL ao RDFS têm também conseqüências

para decidibilidade da linguagem. Por exemplo, não há uma maneira de RDFS afirmar

que uma restrição deve ser composta exatamente de uma propriedade e uma classe. A

32

Page 33: Web Semântica - Estado Da Arte

solução adotada pela DAML+OIL para este problema é definir as semânticas da

linguagem, de tal forma que eles dão significado para quaisquer ontologias ou partes dela

que estão em conformidade com a especificação RDFS [24].

33

Page 34: Web Semântica - Estado Da Arte

3. Propostas de ferramentas para uso na Web Semântica

3.1. SHOE

Todas as características e potencial da Web Semântica são demonstrados por esta

ferramenta, um protótipo de linguagem ontológica para Web. SHOE é usado para

desenvolver ontologias extensíveis compartilhadas e criar tipos de assertions que

confirmam determinadas ontologias [25].

SHOE combina linguagens de marcação, representação do conhecimento, datalogs e

ontologias numa tentativa de resolver os problemas exclusivos da semântica na Web.

Suporta aquisição de conhecimento pela Web com a ajuda de tags que fornecem

significado semântico. A estrutura básica consiste de ontologias, que definem as regras

que levam a tipos de afirmações (assertions) que podem ser feitas e que tipos de

conclusões podem ser tiradas a partir destas afirmações, bem como as que fazem

afirmações baseadas nestas regras.

Algumas características da linguagem SHOE que a fazem eliminar a possibilidade as

contradições entre afirmações de agentes, são listadas a seguir as quatros maneiras:

1. SHOE somente permite afirmações, não retração.

2. SHOE não permite negação lógica

3. SHOE não permite relações para especificar a cardinalidade e , assim, limitar

a quantidade de relações de um determinado tipo poder ser por uma única

instância.

4. SHOE não permite a especificação de classes disjuntas.

Claramente, estas restrições expressam a força desta linguagem. Poderíamos argumentar

que sem esses recursos agentes não podem reconhecer quando recursos são

intrinsicamente incompatíveis e nunca devem ser combinados [25]. SHOE usa ontologia

para definir elementos válidos que podem ser usados para descrever entidades. Cada

ontologia pode reusar outras ontologias como extensão delas.

34

Page 35: Web Semântica - Estado Da Arte

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

35

Page 36: Web Semântica - Estado Da Arte

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.

O tipo de serviço fornecido pelo OWL-S é um serviço de ontologia para classificação de

conhecimento, utilizando o OWL padrão. O OWL-S define quatro conceitos de nível

superior (figura 3.1). Um serviço é classificado pela ontologia em três categorias

principais: o perfil (profile), o modelo (model) e a base (grounding). O perfil descreve o

que o serviço faz, a fim de anunciar o serviço. O modelo detalha o funcionamento do

serviço para que se possa realizar composição. O serviço base especifica a forma de

acesso ao serviço de forma que a invocação possa ser realizada. Há duas restrições

associadas as esses conceitos. Um serviço pode ser descrito, por no máximo um modelo

e um único serviço base é necessário para cada serviço. Nenhuma dessas restrições é

colocada no perfil. Um serviço, neste caso, pode ser descritos por vários perfis, que

adapta o serviço a determinadas aplicações.

Figura 3.1: OWL-S, ontologias de nível superior

3.3. OntoEdit

Trata-se de um ambiente de engenharia ontológica, que permite criar, mostrar, manter e

gerenciar ontologias. O ambiente suporta o desenvolvimento colaborativo de ontologias

36

Page 37: Web Semântica - Estado Da Arte

[27]. Isto é conseguido através da arquitetura cliente/servidor onde ontologias são

gerenciadas em um servidor central e vários clientes podem acessar e modificar estas

ontologias. O OntoEdit foi desenvolvido para atingir dois objetivos, primeiro o editor foi

criado para ser independente e neutro de uma linguagem representação, segundo esta

ferramenta foi projetada para fornecer uma interface gráfica poderosa para representar

conceitos de hierarquias, relações, domínios, instâncias e axiomas, suportando RDF

Schema, OIL e lógica fuzzy (F-Logic). A arquitetura do OntoEdit é dividida em três

camadas, conforme a figura 3.2

Figura 3.2 – Arquitetura Ontoedit

O OntoEdit suporta explicitamente a metodologia OTK. O framework de plug-in aberto

permite a integração de uma série de extensões para o gerencialmente de serviços básicos

que o OntoEdit fornece. OntoEdit foi reimplementado baseado no framework Eclipse e

recentemente foi disponibilizado sob um novo nome OntoStudio, figura 3.3 . Esta

ferramenta teve incorporado em sua estrutura um reasoner conhecido como FaCT, que

tem como objetivo verificar a consistência da ontologia através de um classificador

SHIQ.

37

Page 38: Web Semântica - Estado Da Arte

Figura 3.3: Interface do OntoStudio

OntoStudio é o núcleo da arquitetura do projeto NEON que é a arquitetura referencia para

tecnologias semânticas. A figura 3.4 demonstra esta estrutura.

38

Page 39: Web Semântica - Estado Da Arte

Figura 3.4: arquitetura projeto NEON.

3.4. OntoLingua Frame Editor

O servidor OntoLingua foi desenvolvido para facilitar o desenvolvimento de ontologias

com interface Web. Inicialmente o servidor OntoLingua tinha como principal ferramenta

um editor de ontologia. O Ontology Editor é uma ferramenta que suporta distribuição,

edição colaborativa, navegação, e criação das ontologias da OntoLingua. Outros sistemas

que compõe esta ferramenta são Webster, Open Konwledge Base Connectivity (OKBC)

Server.

3.5. OilEd

OilEd, figura 3.5, é um editor gráfico de ontologia desenvolvida pela Universidade de

Manchester para descrever lógica em ontologias [28]. O principal propósito desta

ferramenta é fornecer uma edição de ontologias ou schemas, e sua interface foi

39

Page 40: Web Semântica - Estado Da Arte

fortemente influenciada por outra ferramenta, o Protègè Toolkit. A intenção inicial do

OilEd era fornecer um simples editor que demonstrava o uso da linguagem OIL

(Ontology Inference Layer) e no interesse de estimular o seu uso. Não seguindo nenhuma

metodologia o OilEd é internamente formado por DAML+OIL.

Figura 3.5: Painel de Classes do OilEd 3.0

3.6. Protègè

Ferramenta que permite construir um domínio de ontologias, customizar formas de

aquisição de conhecimento, e entrar com domínio de conhecimento. Desenvolvedores de

sistemas a usam o Protègè para criar sistemas baseados em conhecimento, e para projetar

aplicações para resolver problemas e tomar decisões em um domínio. Esta ferramenta

integra toda a gama do processo de desenvolvimento de ontologia [29]:

Modelando uma ontologia de classes descrevendo um determinado assunto.

Criando uma ferramenta de aquisição de conhecimento para coletar

conhecimento. Esta ferramenta é projetada para ser de domínio específico,

permitindo que experts entrem com seus conhecimentos de sua área facilmente e

naturalmente.

40

Page 41: Web Semântica - Estado Da Arte

Executando aplicações: o produto final criado quando se utiliza a base de

conhecimento para resolver problemas de usuários finais empregando métodos

apropriados.

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.

Figura 3.3: Protègè 3.1, fonte http://protege.stanford.edu/overview/pf-screenshots.html

3.7. OntoShare

OntoShare [38], a figura 3.4 demonstra a sua estrutura ontológica, é um ambiente de

compartilhamento de conhecimento para WEB baseado em ontologias que modela os

interesses dos usuários na forma de perfil de usuário. No OntoShare, perfis de usuários

41

Page 42: Web Semântica - Estado Da Arte

são um conjunto de tópicos ou conceitos ontológicos (classes declaradas em RDF

Schema) em que o usuário tenha manifestado interesse. OntoShare tem a capacidade de

sumarizar e extrair palavras-chave de páginas Web e outras fontes de informações

compartilhadas pelo usuário e então compartilha informação com outros usuários cujos

perfis prevêem interesses na informação.

Figura 3.3: Estrutura ontológica no OntoShare [38] pp. 04

O OntoShare é usado para armazenar, recuperar, sumarizar e informar outros usuários

sobre informações consideradas de alguma forma importante por um usuário da

comunidade. A Figura 3.5 demonstra a tela principal da aplicação OntoShare

42

Page 43: Web Semântica - Estado Da Arte

Figura 3.5: Tela principal do OntoShare.

3.8. OntoBroker

O OntoBroker é similar ao SHOE em muitos aspectos, inclui uma linguagem de definição

de ontologia, uma linguagem de anotação de página web, um rastreador web, um

mecanismo de inferência, e um conjunto de interfaces de consultas [30].

Sendo um dos primeiros projetos destinados a melhorar a recuperação da informação na

WWW, o OntoBroker usa FLogic8 (Frame Logic) como a representação do conhecimento

para representar a ontologia e expressar as anotações de documentos. Representa um

modo declarativo para a maioria dos aspectos estruturais da orientação a objetos e

linguagens baseadas em frames, como objeto identidade, objetos complexos, restrições de

valores de propriedades, herança, tipo polimórficos, métodos de consultas,

encapsulamento, e outros. Propriedades são declaradas dentro de classes. É possível

8 Flogic integra frames e cálculo de predicado de 1ª. Ordem.

43

Page 44: Web Semântica - Estado Da Arte

definir regras de inferência lógica usando conectores (And, Or, Not). O corpo da regra é

uma conjunção de expressões elementares [17] .

É um dos principais mecanismos de inferência para o processamento de ontologias e suas

lógicas. A arquitetura do OntoBroker foi distribuida com o foco nas consultas complexas

e se demonstrou escalável.

3.9. Projeto FOAF – Friend of a Friend

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:[email protected]" /><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

44

Page 45: Web Semântica - Estado Da Arte

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:

leitura e escrita de RDF em RDF/XML, N3 e N-Triples

suporte à RDQL (linguagem de consulta para RDF)

armazenamento em memória e persistente

é baseado em regras (figura 3.5)

Figura 3.4:mecanismo de inferência do Jena, estrutura geral

45

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)]

Page 46: Web Semântica - Estado Da Arte

Figura 3.5: Exemplo de um arquivo de regras

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.

46

Page 47: Web Semântica - Estado Da Arte

4. Principais componentes de software para a construção de aplicações para

a web semântica.

4.1. SemantiCore

O SemantiCore é um framework que provê uma camada de abstração sobre serviços de

distribuição e uma definição interna de agente capaz de oferecer aos desenvolvedores

uma abstração de alto nível para a construção de Sistemas Multi-agentes (SMAs) [12].

Desenvolvendo aplicações baseadas em agentes da Web Semântica o SemantiCore tem

procedimentos que permitem instanciar a ontologia que representa o agente semântico

com dados do agente e também procedimentos que permitem recriar o agente a partir de

uma instância dessa ontologia. A principal meta do SemantiCore é permitir o

desenvolvimento de agentes internos e ambientes multi-agentes, considerando que a Web

Semântica é povoada por domínios onde agentes “vivem” [12]. A arquitetura do

SemantiCore é demonstrada na figura 4.1.

Figura 4.1: arquitetura 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

47

Page 48: Web Semântica - Estado Da Arte

define o domínio (Semantic Domain) onde os agentes atuam. Cada domínio pode ser

pensado como um Sistema Multiagentes e cada domínio é conectado a outro através da

infra-estrutura da Internet. Um domínio pode ser distribuído através de diferentes

plataformas de hardware ou em um mesmo computador [12].

Figura 4.2: modelo de domínio fonte: mini-curso-blois

4.1.1. Ciclo de vida de um agente SemantiCore

Os agentes SemantiCore estendem da classe Semantic Agent e um agente do SemantiCore

possui um ciclo de vida demonstrado na figura 4.4. O agente começa a sua execução

chamando o método Setup (configuração). Durante esta chamada o desenvolvedor pode

criar sensores, fatos, regras, efetuadores, ações, planos de ações e objetivos para os

agentes [12]. Todo este processo é criado usando classes do SemantiCore e formam o

modelo de referência de um SemanticAgent (figura 4.3). O agente permanece ativo

sentindo novos conteúdos que chegam ao seu ambiente, podendo tomar decisões sobre o

que se segue com base nos conteúdos recebidos e no histórico de execução, este

repositório é somente das ações necessárias, e termina nas publicações das novas

mensagens e recursos no ambiente. Como no SemantiCore cada componente é executado

48

Page 49: Web Semântica - Estado Da Arte

em uma thread, desta forma não se pode afirmar este ciclo pois há autonomia na

execução de uma thread.

Figura 4.3: estrutura de um agente semântico (fonte:Blois)

Um agente SemantiCore está associado diretamente às classes Sensor, Effector, Rule e

Action, sendo que estas classes estão relacionadas a um dos componentes básicos da

estrutura de um agente respectivamente componente sensorial, componente efetuador,

componente decisório, e ao componente executor. No contexto da ontologia, esses

elementos podem ser descritos da seguinte maneira [Blois04]:

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.

Effector (Efetuador): aqui cada instância também indica o tipo de efetuador

utilizado pelo agente e que deve ser instanciado no momento que o agente for

reconstruído

Rule (Regra): são as regras explicitadas em função do conhecimento de domínio

e servem de entrada para o mecanismo de decisão do agente. No momento de

reconstrução do agente, essas regras devem ser carregadas no componente

decisório.

49

Page 50: Web Semântica - Estado Da Arte

Action (Ação): a classe Action é disparada após a ocorrência de um fato novo e

toda ação tem uma pré e uma pós-condição associada. O objetivo deste agente é

dividido em duas partes: o schema (ou estrutura) e os dados (ou indivíduos da

ontologia)

Figura 4.4: ciclo de vida de um Semantic Agent

No SemantiCore procedimentos podem instanciar a ontologia que representa o agente

semântico com dados do agente e também procedimentos que permitem recriar o agente a

partir de uma instância dessa ontologia. Agentes móveis em suas migrações de uma

máquina para outra deve ter uma instância da ontologia que o descreva. É essa instância,

em formato OWL, que irá trafegar pela rede e uma vez no instalado no destino o agente

deve ser recriado a partir da instância da ontologia devendo ser instanciados todos os

elementos necessários para que o agente continue a sua execução.

Os agentes no SemantiCore possuem uma estrutura orientada a componentes e, em cada

um dos componentes pode-se identificar uma entidade ou parte principal, que caracteriza

seu funcionamento [Alemke01].

4.1.2. O SemantiCore e a Web Semântica

Organização de componentes, diferentes instâncias de hotspots, diferentes formatos e

processamento nativo de OWL contribui para diferenciar o SemantiCore das outras

plataformas de Sistemas Multiagentes. O SemantiCore permite que componentes

distribuam agentes entre máquinas. Esse recurso exclusivo permite que o SemantiCore se

adapte aos requisitos de desempenho da Web Semântica.

50

Page 51: Web Semântica - Estado Da Arte

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:

Módulo de consulta RQL avalia perguntas feitas pelos usuários

Módulo de administração de RDF. Este módulo permite o upload incremental de

dados RDF e informação de schema, bem como a exclusão de informações.

Módulo de exportação de RDF. Este módulo permite a extração de esquemas

completos e/ou dados de um modelo em formato RDF.

51

Page 52: Web Semântica - Estado Da Arte

Figura 4.5: a arquitetura do Sesame

4.3. Framework UPML

UPML (linguagem de marcação para componente de conhecimento) é um software

framework especialmente projetado para descrever sistemas de conhecimento. A figura

4.6 mostra a arquitetura do UPML que consiste de seis diferentes tipos de elementos.

Uma tarefa define o problema para ser resolvido pelo sistema de conhecimento. O

método de solução de problema define o processo de raciocínio usado para resolver o

problema. O modelo de domínio define o domínio do conhecimento disponível para

resolver o problema. Cada um destes elementos é descrito independentemente para

permitir reuso das descrições das tarefas em diferentes domínios, métodos de soluções de

problemas para diferentes tarefas e domínios, e domínio de conhecimentos para

diferentes tarefas e métodos de soluções de problemas. Ontologias fornecem uma

terminologia usada em tarefas, métodos de soluções de problemas, e definições de

52

Page 53: Web Semântica - Estado Da Arte

domínios. Esta separação permite compartilhar conhecimento e reutilização. Como

exemplo, diferentes tarefas ou métodos de solução de problemas podem compartilhar de

alguns vocabulários e definições. Para mais elementos da especificação são adaptados,

que são necessários ajustar outros elementos reutilizáveis para cada outro elemento e para

um problema específico de uma aplicação.

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.

Figura 4.6: a arquitetura da UPML

53

Page 54: Web Semântica - Estado Da Arte

4.4. IBROW – INternet BRrokering Service for Knowledge-component Reuse on

the Web

O objetivo do projeto IBROW [33] é desenvolver um broker inteligente capaz de

configurar sistemas de conhecimento de componentes reutilizáveis na Web. Brokers

IBROW irão manipular requisições na Web de algumas classes de sistemas de

conhecimento, acessando bibliotecas de componentes de raciocínio na web selecionando,

adaptando e configurando-os de acordo com o domínio em questão. O projeto TBrow

integra pesquisa em banco de dados heterogêneos, interoperabilidade, e tecnologias Web

com sistemas conhecimento como ontologias e métodos de resolução de problemas.

Atualmente, ontologias [19] representam principalmente conhecimentos estáticos e

declarativos sobre um domínio específico. A forma de aplicar o conhecimento do

domínio para alcançar serviços de usuários, ou conhecimento dinâmico, é normalmente

usado em inferências de algoritmos, em razão do conteúdo do domínio ontológico. Fazer

este conhecimento dinâmico explícito e genérico e considerando-a um elemento

importante de todo o conhecimento contido em um sistema baseado em conhecimento

(KBS) é a lógica que está subjacente nos métodos de soluções de problemas (PSM) [22].

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.

PSMs codifica controles de conhecimento independentemente do domínio da

Decompondo a tarefa de raciocínio de sistemas baseados em conhecimento em um

número de sub-tarefas e ações de inferências, que estão conectados por conhecimento que

representando papéis que desempenham no processo de raciocínio.

Ontologias e PSM fornecem os componentes necessários para serem combinados com o

broker IBROW para configurar um determinado sistema de conhecimento baseado na

Web.

4.4.1. Intermediando Componentes de Raciocínio na Web

A missão do projeto IBROW é desenvolver um serviço inteligente de intermediação de

raciocínio capaz de retornar um conjunto de componentes de conhecimento da Web que,

54

Page 55: Web Semântica - Estado Da Arte

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.

Figura 4.2: O processo de intermediação no IBROW

55

Page 56: Web Semântica - Estado Da Arte

5. Estudo de caso - SemantiCore

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.

5.1. Descrição do problema

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

56

Page 57: Web Semântica - Estado Da Arte

domínios. Os agentes AgTransito desempenhará os serviços de fornecimento de catálogo,

executando serviços em uma base de catálogo das requisições de outros agentes

(AgMotoristaLista). Estas requisições são realizadas utilizando palavras-chave

representadas em uma ontologia. Este agente tenta encontrar a mais apropriada descrição

de serviço.

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.

O agente AgTransitoChecker certifica diferentes tipos de serviços de trânsito fornecidos

baseados em avaliações da qualidade de serviços pré-definidas, permitindo que outros

agentes consultem por fornecedores de serviços de trânsitos certificados. Este agente foi

implementado com um único Sensor para capturar requisição baseados nos registros da

Central de Trânsito. A informação do trânsito é passada para o mecanismo de decisão e,

em seguida, para o componente de execução a ser processado. Isto vai iniciar o plano de

ação AcaoRecuperaTransitoClassificacao.

57

Page 58: Web Semântica - Estado Da Arte

O agente pessoal do motorista, AgTransito, encapsula todos os elementos necessários

para coordenar diferentes requisições e decide se o trajeto pode ser utilizado ou não, com

bases em restrições do motorista.

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.

O primeiro permite a comunicação com o AgTransito para retornar informações gerais

sobre o trânsito. O segundo retorna uma lista das principais rotas. O Terceiro retorna uma

qualificação do trânsito para definir a situação do trânsito. Estes planos de ações são

associados com os objetivos dos agentes e deve ser executados quando seus pré-

requisitos são alcançados e/ou a inferência do agente indicá-lo. Algumas regras e fatos

são criadas para mapear essas pré-condições e cadeias de inferências. Por exemplo, o

AgTransito tem alguns fatos e regras que dizem respeito à localização e a melhor rota e

condições climáticas da seleção de sua lista como conseqüência do processamento da

inferência.

Na configuração do agente também tem a instanciação da flexibilidade (hotspot)

indicando que mecanismo de decisão será usado. No exemplo, AgMotorista indica

através do método setDecisionEngine o uso da classe InferenceEngine como

implementação do hotspot.

Esta implementação do hotspot é distribuida com o SemantiCore e integra mecanismo de

inferência do Jena com os agentes Semânticos. As regras e fatos definidos na

configuração são convertidos automaticamente para o formato usado pelo mecanismo de

inferência.

Para resolver o exemplo de uso usa-se CLASSIFICAÇÃO DA MINERAÇÃO DE DADOS.

58

Page 59: Web Semântica - Estado Da Arte

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 proporcionará um salto qualitativo sobre o potencial da Web atual. A

principal vantagem desta nova concepção da Web será o desenvolvimento de aplicações

com esquemas de dados comuns, fomento das transações entre empresas (comércio

eletrônico) e busca de informações com inferências. Para conseguir estes objetivos se faz

necessário unificar os conteúdos semânticos por meio de ontologias que formalizam estes

conhecimentos de forma consensual e reutilizável.

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.

Foram abordados todos os aspectos necessários para a estruturação e representação do

conhecimento através da explanação do conceito de ontologia e as respectivas

tecnologias que as implementam. Para a implementação do conhecimento na Web

Semântica foi feita apresentação de tecnologias tais como: RDF, XML, DC, RDFS.

Estas tecnologias em conjunto formam a base para que se possa inserir conhecimento na

Web.

No estudo elaborado da ontologia foram apresentadas algumas ferramentas que vão

permitir inserir conhecimento na Web, estas ferramentas de aprendizagem de ontologias

será um importante componente em aplicações para Web Semântica. Estas ferramentas

ainda são bastantes restritas devido a escassez destas ferramentas.

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,

59

Page 60: Web Semântica - Estado Da Arte

adicionando assim suporte a semântica. No entanto, será necessário que as novas

ferramentas sejam implementadas de acordo com as arquiteturas, padrões e linguagens

recomendadas pela W3C.

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.

60

Page 61: Web Semântica - Estado Da Arte

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

61

Page 62: Web Semântica - Estado Da Arte

[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

62

Page 63: Web Semântica - Estado Da Arte

[40] Gandon, F. Distributed Artificial Intelligence and Knowledge Management: Ontologies and Multi-Agent Systems for a Corporate Semantic Web, Universisty of Nice, pp. 131, tese doutorado defendida em 01/11/2002.

The Semantic Web is an extension of thecurrent Web in which information isgiven well-defined meaning, enablingcomputers and people to work in better

cooperation.

63