• Nenhum resultado encontrado

3 Ontologias

3.7 Ambientes para Raciocínio Automático com Ontologias

3.7.1 FaCT

FaCT (Fast Classification of Terminologies, Classificação Rápida de Ontologias) (HORROCKS, 1999) é um sistema de raciocínio automático para ontologias escrito em Lógica Descritiva que permite executar tanto a classificação de ontologias como a verificação de consistência de classes. Possui uma estenção chamada iFaCT que permite o raciocínio com propriedades inversas.

É um sistema cujo código fonte é disponível (licença pública geral GNU) e obtido gratuitamente a partir da URL http://www.cs.man.ac.uk/~horrocks/FaCT/. Este sistema foi preterido em relação ao RACER citado na SubSeção 3.7.2 pois, apesar de possuir plugin para o Protégé, durante a realização dos primeiros testes envolvendo instâncias da ontologia o mesmo não dispunha de alguns serviços de inferência que seriam utilizados.

3.7.2 Racer

RacerPro significa Renamed ABox and Concept Expression Reasoner

Professional. É a nova geração de sistemas de Lógica de Descrição (RACERPRO,

2000). O RacerPro é um sistema capaz de manipular ontologias baseadas em OWL. Suas caracteríticas são (COSTA et al., 2007):

• Raciocínio e Repositório: RacerPro processa documentos OWL Lite e OWL-DL tentando verificar a consistência e a satisfatibilidade da ontologia. Além disso, RacerPro implementa SWRL (Semantic Web Rule Language, Linguagem de Regras para Web Semântica);

• Sistema de Lógica de Descrição: RacerPro implementa lógica de descrição

SHIQ;

• Combinação de Lógica de Descriçãoo e Álgebras Relacionais Específicas:

RacerPro combina raciocínio em lógica de descrição com, por exemplo, raciocínio sobre relações espaciais (ou temporais) no contexto da linguagem de busca nRQL (New Racer Query Language, Nova Linguagem de Consulta

44

3.7.3 Pellet

Pellet é um mecanismo de inferência para OWL DL e desenvolvido em Java, com código aberto e podendo ser utilizado com o Framework Jena apresentado na Seção 3.7.5 deste capítulo. Pellet faz parte do conjunto de ferramentas disponibilizado pelo grupo de Web Semântica da Universidade de Maryland denominado MindSwap. Avalia ontologias desenvolvida na linguagem OWL DL.

Martimiano (2006) acrescenta ainda que a máquina de inferência Pellet utiliza jargões da lógica de descrição para analisar a expressividade e as características de uma ontologia, que são:

ABox ( Assertional Box) – contêm o conhecimento que específica os

indivíduos do domínio;

TBox (Terminological Box)- representa tanto os axiomas sobre os conceitos

da ontologia, como também as características gerais dos conceitos de um domínio;

KB (Knowledge Base) - representa a base de conhecimento. É a combinação

entre ABox e TBox.

A partir de uma máquina de inferência como Pellet é possível avaliar se a ontologia esta de acordo com serviços de inferência que são definidos pela lógica de descrição (DL), tais como:

• Consistência: garantir que a ontologia não possua fatos contraditórios avaliando a consistência de uma ABox com relação a um TBox.

• Classificação: determinar a hierarquia de conceitos da ontologia.

• Realização: encontrar as instâncias de um indivíduo na base de conhecimento. Por possuir análise de instâncias, dos tipos de dados e das restrições das ontologias é que Pellet foi utilizada na avaliação da CoreSec.

3.7.4 SPARQL

SPARQL (SPARQL, 2007) é uma linguagem de consulta para repositório RDF (Resource Description Framework) e possui sintaxe semelhante à linguagem SQL (Structured Query Language). Como RDF é um grafo rotulado e direcionado para representação de informações na Web, essa especificação define a sintaxe e semântica da linguagem de consulta SPARQL.

45

Um grafo RDF é um conjunto de triplas. Cada tripla consiste de sujeito (recurso), predicado (propriedade) e objeto (recurso ou literal). Sujeitos são recursos das quais deseja-se tratar. Por exemplo, Projeto de Pesquisa, Instituição e Pesquisador. Cada sujeito possui um identificador, uma URI (Universal Resource Identificator, Identificador de Recursos Universal). Esta URI pode ser uma URL (Unified Resource

Locator, Localizador Uniforme de Recursos) ou outro tipo de identificador. Predicados

descrevem relacionamentos entre os sujeitos. Por exemplo, ”pertence a” e ”possui”. Predicados também são identificados através de URIs.

A linguagem SPARQL provê facilidades como (MARTIMIANO, 2006):

• Extrair informações na forma de URIs, blank nodes, que são nós de um grafo RDF que não possuem URI além de plain e typed literals que são aqueles que não estão associados ao tipo de dados que armazenam;

• Construção de novos grafos RDF a partir das consultas realizadas.

Para exemplificar essas definições, considere a seguinte sentença: Ryan Ribeiro

de Azevedo participa do Projeto de Pesquisa CIN-UFPE. Essa sentença possui as

seguintes partes:

• Sujeito: ProjetoPesquisa; • Predicado: Participa; • Objeto: RyanAzevedo.

Em RDF, essa sentença seria descrita da seguinte forma: <rdf: RDF>

<rdf:Description about: "Projeto de Pesquisa CIN-UFPE"> <f: participa>

RyanAzevedo </f: participa> </rdf:Description> </rdf:RDF>

Um gráfico associado ao código acima pode ser observado na Figura 3.5.

46

Através da linguagem de consulta SPARQL é possível extrair informações sobre valores de atributos, extrair subgrafos RDF e construir novos grafos RDF baseados nos resultados de consultas. Os resultados das consultas podem ser ordenados e restringidos de diferentes formas (SPARQL, 2007).

Para responder a questão de competência “Qual Projeto Ryan Ribeiro de

Azevedo participa?”, a consulta em SPARQL deve ser definida como descrita abaixo:

SELECT ?ProjetoPesquisa WHERE

{?ProjetoPesquisa:Participa:RyanAzevedo}

Com intuito de validar a CoreSec ontologia proposta neste trabalho, foi desenvolvido um framework intitulado CoreEditor desenvolvido utilizando o framework

Jena. O CoreEditor permite a utilização da linguagem SPARQL para realizar consultas.

Detalhes a respeito do framework desenvolvido e da CoreSec serão apresentados nos Capítulos 4 e Capítulo 5 deste trabalho respectivamente.

3.7.5 JENA

Jena é um framework Java utilizado na construção de aplicações para Web Semântica. Provendo um ambiente programático para RDF, RDFS, OWL, SPARQL e ainda inclui um motor de inferência baseado em regras (JENA, 2006). Para (COSTA et al., 2007) este framework é utilizado por desenvolvedores na construção de sistemas baseado em conhecimento devido a possuir as seguintes características:

• Open-Source; • É escrito em Java;

• Existe um grande número de aplicações escritas utilizando Jena; • Possui vasta documentação explicando sua utilização;

• Possui listas de discussões e desenvolvedores trabalhando em novas versões. Além disso, Jena disponibiliza uma API para RDF e OWL. A API RDF possui diversas classes para criação e manipulação de grafos RDF. Da mesma forma, a API

OWL fornece uma interface para criar e manipular ontologias.

3.8 Engenharia de Ontologias

Engenharia é a aplicação de conhecimentos científicos e empíricos, e certas habilitações específicas, à criação de estruturas, dispositivos e processos para converter

47

recursos naturais em formas adequadas ao atendimento das necessidades humanas (FERREIRA, 1998). Através desta pode-se criar metodologias, métodos, processos, técnicas e ferramentas, para melhor atender a demanda dos usuários ou clientes por determinados produtos ou serviços.

Engenharia de Ontologias engenha os processos que envolvem as atividades exigidas para estabelecer termos, domínio e relacionamentos entre eles. Guizzardi (2000) ressalta que o surgimento da Engenharia de Ontologias se deu tanto devido à complexidade envolvida nas atividades que compõem este ciclo e como pelo surgimento de ferramentas computacionais que proporciona automatização ou pelo menos semi-automatização do processo.

De acordo com Freitas (2003) “a concepção de ontologias deve ser conduzida como qualquer outro projeto de software, no sentido de serem tomadas decisões de projeto que determinam sua qualidade baseada em critérios como eficiência, legibilidade, portabilidade, extensibilidade, interoperabilidade e reuso”.

A construção de uma ontologia é um processo complexo e custoso, independentemente de seu domínio, devido ao fato das ontologias serem criadas através de um consenso de diferentes visões em relação a uma área de conhecimento. Dessa forma, faz-se necessário que as atividades a serem executadas sejam descritas claramente através de um processo para que no futuro não apareçam complicações durante o desenvolvimento.

Documentos relacionados