Nuno Miguel Cerqueira Costa
Licenciado em Engenharia Informática
OWL QL e Regras Não Monótonas
Dissertação para obtenção do Grau de Mestre em
Engenharia Informática
Orientadores : João Leite, Prof. Associado,
Universidade Nova de Lisboa
Matthias Knorr, Pós-Doc,
Universidade Nova de Lisboa
Júri:
Presidente: Prof. Doutor Pedro Medeiros
Arguente: Prof. Doutor Paulo Quaresma
Vogal: Prof. Doutor João Leite
Março, 2015
Resumo
Na representação de conhecimento, as lógicas de descrição e a programação em ló-
gica tornaram-se as linguagens padrão para muitos contextos. A Web Semântica reflecte
isso mesmo. Na sua pilha tecnológica já figura uma camada ontológica fundamentada
nas lógicas de descrição, a linguagem OWL, e uma camada de regras, o RIF, que su-
porta programação em lógica. Enquanto que as lógicas de descrição são monótonas e
permitem inferir subsunções, a programação em lógica permite não monotonia e assim,
a Assunção do Mundo Fechado - e limita as consequências lógicas a factos. A combina-
ção das duas permite uma maior expressividade, indispensável para representar certos
domínios. Para esse propósito já foram definidos alguns formalismos, entre os quais se
destaca o MKNF híbrido, que permite estender a semântica de ambas simultaneamente.
Com base nesse formalismo foi desenvolvido um sistema de processamento de queries
a bases de conhecimento constituídas por uma ontologia OWL e um programa em ló-
gica com semântica bem fundada, o NoHR. O sistema está integrado com o Protégé –
um editor ontológico importante – sob a forma de plug-in, e suporta, na sua versão ori-
ginal apenas o perfil EL do OWL 2. O propósito da presente dissertação é extensão do
sistema para OWL 2 QL. Ambos os perfis suportam raciocínio polinomial; o OWL 2 EL
é particularmente útil para em aplicações onde sejam necessárias ontologias com grande
número de axiomas; e o OWL 2 QL para aplicações que usem grandes volumes de dados
de instância, e onde responder a queries seja a tarefa de raciocínio mais importante.
Palavras-chave: representação de conhecimento; web semântica; lógicas de descrição;
programação em lógica; DL-LiteR ; OWL QL; regras não monótonas; MKNF; bases de
conhecimento híbridas MKNF.
ii
Abstract
In knowledge representation, description logics and the logic programing became the
standard languages in many contexts. The Semantic Web reflects that. In its technology
stack is already included an ontological layer, the OWL language, and a layer of rules,
the RIF, which supports logic programing. Whereas descriptions logics are monotonic
and can entail subsumption, logic programing support non monotonic reasoning – and
so, the Close World Assumption – and only entail facts. The combination of the two
allows for greater expressiveness, indispensable to represent certain domains. For this
purpose were defined some formalisms, among which stands out the hybrid MKNF, that
allows to extend the semantics of both simultaneously. Based on this formalism, a query
system to knowledge bases formed by an OWL ontology and a logic program with well
founded semantic was developed. The system is integrated with Protégé - an important
ontological editor - in the form of plug-in, and supports, in its original version, only
the OWL 2 EL profile. The propose of this dissertation is to extend the system to OWL
2 QL. Both profiles support polynomial reasoning; OWL 2 EL is particularly useful for
applications where it is necessary ontologies with large number of axioms; and the OWL
2 QL to applications that use large volumes of instance data, and where querying is the
most important reasoning task.
Keywords: Knowledge Representation; Semantic Web; Description Logics; Logic Pro-
graming; DL-LiteR ; OWL QL; Non-monotonic rules; MKNF; MKNF Hybrid Knowledge
Bases.
iii
Conteúdo
I Introdução 1
II Revisão de Literatura 11
1 Lógicas de Descrição 12
1.1 Sintaxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.2 Semântica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3 Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.4 EL+
⊥ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.5 DL-LiteR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2 Programação em Lógica 19
2.1 Modelos estáveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2 Modelos bem fundados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3 Bases de Conhecimento MKNF 24
3.1 Sintaxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2 Semântica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4 SLG(O) 32
4.1 SLG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.2 Oráculo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5 NoHR 39
5.1 Redução da TBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.2 Tradução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.3 Implementação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
iv
CONTEÚDO v
6 Raciocínio em DL-LiteR 47
6.1 Interpretação canónica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.2 Fecho negativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
6.3 Satisfazibilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
III Abordagem Teórica 56
7 Tradução com redução 57
7.1 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
7.1.1 Redução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
7.1.2 Tradução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
7.2 Análise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
7.2.1 Redução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
7.2.2 Tradução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
8 Tradução directa 76
8.1 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
8.2 Análise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
8.2.1 Derivações positivas . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
8.2.2 Propriedades do grafo . . . . . . . . . . . . . . . . . . . . . . . . . . 89
8.2.3 Derivações negativas . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
8.2.4 Oráculo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
8.3 Algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
IV Abordagem Prática 108
9 Implementação 109
9.1 Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
9.2 Funcionamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
10 Avaliação 115
10.1 Experiência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
10.2 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
10.3 Discussão de resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
V Conclusões 121
11 Conclusões e Trabalho Futuro 122
CONTEÚDO vi
A Normalizações 131
A.1 Expressões normais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
A.2 Expressões ignoradas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
A.3 Expressões normais em DL-LiteR . . . . . . . . . . . . . . . . . . . . . . . 133
A.4 Normalizações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Parte I
Introdução
1
chapterEnquadramento, Objectivos e Contribuições
Representação de conhecimento e raciocínio é uma área da inteligência artificial cujo o
objectivo é determinar como se pode representar conhecimento simbolicamente e manipulá-
lo automaticamente com programas de raciocínio. Por outra palavras, é o ramo da inte-
ligência artificial relacionado com o pensamento, e com o seu contributo para o compor-
tamento inteligente [7].
Muitas das linguagens de representação de conhecimento desenvolvidas até agora
podem ser classificadas em uma das duas seguintes famílias, que têm sido desenvolvidas
nos últimos 30 anos quase independentemente uma da outra [37]:
• a primeira inclui formalismos que tentam reconstruir abordagens populares como
os sistemas baseados em estruturas e redes semânticas, entre os quais as lógicas de
descrição são os mais proeminentes;
• a segunda família é centrada na ideia de modelar o conhecimento com regras e o
seu formalismo fundamental é fornecido pela programação em lógica.
O estudo das lógicas de descrição (DL) tem coberto não só os fundamentos teóri-
cos como também a implementação de sistemas de representação de conhecimento e o
desenvolvimento de aplicações em várias áreas, e tem-se revelado bem sucedido. O ele-
mento chave para esse sucesso é a metodologia de investigação baseada numa interação
próxima entre teoria e prática, havendo, por um lado, várias implementações de sis-
temas baseados em lógicas de descrição, que oferecem uma paleta de formalismos de
descrição com diferentes poderes expressivos, e aplicados em vários domínios, e por ou-
tro lado, um estudo detalhado das propriedades formais e computacionais do raciocínio
nesses formalismos. Esses estudos são normalmente motivados pelo uso de certos tipos
de construtores em sistemas implementados ou pela necessidade desses construtores em
aplicações específicas [4].
As lógicas de descrição representam o domínio de interesse em termos de conceitos,
que denotam conjuntos de objectos, e relações entre conceitos, sobre esses conjuntos de
objectos. Oferecem um conjunto de construtores para combinar conceitos, expressando,
desse modo, novos conceitos. As propriedades dos conceitos e relações são descritas
através axiomas de subsunção, que estabelecem que cada instância de um dado conceito
(resp., relação) é também instância de um outro conceito (resp., relação). As proprieda-
des dos objectos expressam-se recorrendo a asserções de pertença, que indicam de que
conceito um dado objecto é instância ou em que relações participa com outros objectos.
Em geral, são fragmentos da lógica de primeira ordem [9]. Os sistemas de representação
de conhecimento baseados em lógicas de descrição, podem suportar, além de queries, di-
versos serviços de raciocínio, como a classificação, na qual se estrutura o conjunto dos
axiomas da ontologia, numa hierarquia de subsunções, onde as subsunções implícitas,
i.e. implicadas por outras, são tornadas explicitas; ou verificação de consistência, no qual
se verifica se não existem conjuntos de axiomas e asserções contraditórios entre si.
2
Relativamente à programação em lógica, embora também lhe possa ser atribuída a se-
mântica da lógica de primeira ordem, semânticas não monótonas – onde adicionar nova
informação pode invalidar conclusões previamente derivadas – como a dos modelos es-
táveis e a dos modelos bem fundados, são habitualmente mais vantajosas. Ambas as
semânticas se baseiam no conceito de modelo canónico, onde a resposta para uma dada
query a um programa em lógica é determinada por um modelo canónico do programa,
que é seleccionado de acordo com uma certa definição de semântica, que pode, dessa
forma, estabelecer uma certa noção senso comum – algo essencial ao ser humano, que
o permite raciocinar com base em conhecimento incompleto ou ambíguo, e rever esse
conhecimento quando na presença de nova informação.
As lógicas de descrição e a programação em lógica exibem certas limitações, e as
limitações de uma podem ser compensadas pelas potencialidades de outra. Desta forma,
problemas de representação complexos requerem, frequentemente, ambas.
As limitações das lógicas de descrição são duas. Primeira, as restrições sintáticas
usadas para garantir decidibilidade no raciocínio, impedem axiomatizar certas relações
que contenham ciclos. Em segundo lugar, como a maioria das lógicas de descrição são
fragmentos da lógica de primeira ordem, não permitem introspecção nem inferências não
monótonas, o que as impede de:
• axiomatizar a assunção do mundo fechado, i.e. a assunção de que todos os factos rele-
vantes são conhecidos e que os que não o são são falsos, inerente às bases de dados
e formalizada, nesse contexto, por Reiter [40];
• suportar raciocínio com base em assunções por omissão, i.e. assumindo que algo é
verdadeiro, a menos que contradiga os factos conhecidos.
Quanto às regras, as limitações devem-se maioritariamente à impossibilidade de raci-
ocinar com domínios ilimitados ou infinitos, i.e. não é possível inferir conclusões acerca
de elementos arbitrários (ex.: de “todos os A são B e todos os B são C” derivar “todos
os A são C”). Sendo, consequentemente, tipicamente usadas em problemas centrados em
dados, como consultas, mas não para raciocinar acerca de esquematizações conceptuais
[37].
Os potenciais benefícios de integrar lógicas de descrição com regras tem sido reco-
nhecidos desde o inicio, e um corpo de investigação significativo tem-se dedicado a essa
problemática [37].
Uma combinação efectiva de regras não monótonas com ontologias em lógicas de des-
crição é vantajosa em vários cenários reais. Por exemplo, nos serviços fronteiriços a avali-
ação de factores de riscos das cargas importadas, como terrorismo, drogas, segurança de
consumidores e violação de tarifas, envolve conhecimento sobre matérias-primas, enti-
dades empresariais, sobre o comércio, as politicas governamentais e acordos comerciais.
Nesse cenário, a classificação das importações ou exportações de acordo com o conheci-
mento taxonómico inerente a esse domínio poderia processar-se recorrendo aos serviços
de raciocínio fornecidos pelas lógicas de descrição; as leis, regulamentos, e políticas de
3
classificação poderiam ser representadas com regras não monótonas. Em geral, qualquer
domínio em que a integração e acesso inteligente a dados e a representação e avaliação
de politicas de negócios, regulamentos, ou mapeamentos entre fontes de informação se-
jam necessários, pode beneficiar do uso dessa combinação de ontologias com regras – e
em alguns casos, essa poderá vir a ser a melhor solução.
Outro exemplo (adaptado de [30]), simplificado mas concreto, que será usado ao
longo da presente exposição para elucidar vários conceitos, é o seguinte.
Exemplo 1. Considere-se uma loja online de venda de música. Com o intuito de atrair
mais utilizadores e aumentar as vendas, decidiu-se introduzir ferramentas mais sofisti-
cadas para as recomendar e procurar.
Para esse propósito, foi usada uma ontologia para estruturar e manter os dados das
músicas. Cada uma tem um identificador único e pode ser associada com o artista, o
compositor, o género, e a origem da música.
Além disso, o sistema deve permitir expressar directrizes, tanto baseadas num critério
geral como nas especificações do utilizador. Por exemplo, a loja pode recomendar a todos
os clientes músicas que são mais vendidos. Ou algum cliente pode desejar que lhe se-
jam recomendados músicas que ainda não tenha e que, de acordo com algum critério de
preferência, provavelmente goste. Enquanto que a primeira directriz pode ser represen-
tada na ontologia, a segunda requer assunção do mundo fechado (e.g., para inferir "por
omissão", i.e., na ausência de evidencias em contrário, que o cliente não tem a música) e
podem ser representadas através de regras não monótonas.
Actualmente, foram já definidos alguns formalismos que permitem, de forma mais
ou menos limitada, essa combinação. Destacam-se, entre eles, pelas suas propriedades
ou meramente por motivos históricos, os seguintes: SWRL [23, 25], DLP [20], AL-log [11],
CARIN [34], DL + log [41], Horn-SHIQ [26], MKNF hibrido [30, 37], programas dl [13,
14], programas dl disjuntivos [16], lógica de equilíbrio quantificado para bases de conhecimento
híbridas [16], grafos de descrição [36] , esquemas nominais [31], regras híbridas sob semântica
bem fundada [12] e programas HEX [15]. O MKNF 1 híbrido apresenta algumas vantagens
importantes sobre as outras abordagens.
Motik e Rosati discutem em [37] essa proeminência do MKNF híbrido face às outras
abordagens, defendendo que um tal formalismo, que integre ontologias DL e programas
em lógica, deve satisfazer certos critérios, e constatando que, de entre os formalismos
na altura conhecidos, o MKNF híbrido é o único que os satisfaz a todos. Os critérios que
enunciou foram os seguintes:
1. fidelidade – a integração entre DL e regras deve preservar a semântica de ambos os
formalismos, i.e. a semântica de uma base de conhecimento híbrida na qual um dos
componentes é vazia deve ser a mesma que a do outro componente;
1
Do inglês, Minimal Knowledge and Negation as Failure
4
2. estreiteza – as regras não devem constituir uma camada sobre as DL nem o contrário;
em vez disso, a integração entre as duas deve ser estreita, no sentido que ambas
devem poder contribuir com consequências para o outro componente;
3. flexibilidade – o formalismo híbrido deve ser flexível e permitir que o mesmo predi-
cado seja visto sob a perspectiva do mundo aberto e do mundo fechado, enriquecendo
assim as DL com consequências não monótonas e as regras com capacidades de ra-
ciocínio taxonómico;
4. decidibilidade – o formalismo deve ser decidível, e, de preferência, de baixa comple-
xidade.
Além dessas propriedades, já de si vantajosas face às obtidas nas outras abordagens
a bases de conhecimento híbridas, é de notar, e é particularmente relevante no contexto
desta dissertação, a existência de um algoritmo, o SLG(O) (ver capítulo 4), para a semân-
tica a três valores de verdade apresentada em [30], que permite interrogar tais bases de
conhecimento com complexidade de dados polinomial, no caso de DLs onde as consul-
tas sejam polinomiais – como é o caso do OWL 2 QL. Esse algoritmo opera directamente
sobre as regras da base de conhecimento e delega o raciocínio relativo à ontologia a me-
canismos de inferência DL externos. Como as bases de conhecimento híbridas MKNF são
paramétricas quanto à DL usada, esse mecanismo de inferência é visto como um oráculo
– uma abstração dos referidos mecanismos, que define as propriedades que estes tem de
satisfazer para garantir a correcção e completude do algoritmo.
Embora quase todas as alternativas mencionadas alcancem, com algumas restrições,
a decidibilidade, os critérios da fidelidade, estreiteza, e flexibilidade, não são satisfeitos si-
multaneamente. Em traços gerais, as abordagens à combinação de ontologias DL com
regras, actualmente conhecidas, passam por: manter os dois componentes, ontologias
e regras, separados tanto sintática como semanticamente, i.e. os dois componentes se-
rem expressos em termos de vocabulários disjuntos e atribuir-se-lhes semânticas distin-
tas, integrando-se apenas por meio de uma interface (ex., introduzindo, no componente
das regras, predicados especiais que permitam consultar a ontologia, como é o caso nos
programas dl), o que impede que os critérios da estreiteza e da flexibilidade se verifiquem;
ter-se uma semântica unificadora, o que se traduz em estreiteza na integração, mas ter-se
ainda vocabulários disjuntos, não se verificando assim a flexibilidade; e finalmente, uma
integração completa, tendo-se um só vocabulário e uma só semântica para (a combinação
de) os dois componentes, onde esses critérios da estreiteza e flexibilidade são satisfeitos.
Entre as últimas, o MKNF híbrido é a única que garante fidelidade.
Um interesse renovado na integração das lógicas de descrição com regras tem sido im-
pulsionado pelo advento da Web Semântica [37]. De acordo com um dos seus principais
precursores, Tim Berners-Lee et al., a Web Semântica é uma extensão da Web onde se as-
socia à informação um significado preciso, i.e. inteligível não só para o utilizador como
para as próprias máquinas, de modo a permitir uma melhor cooperação entre computa-
dores e pessoas, e a proporcionar um ambiente onde agentes de software, transitando de
5
página em página, possam realizar tarefas sofisticadas para os seus utilizadores [5].
Desde o seu inicio até aos dias de hoje, essa concepção de Web Semântica tem vindo a
ser refinada, sendo actualmente possível mapeá-la numa arquitectura bem definida, em
que alguns dos componentes já foram desenvolvidos e já são recomendação da W3C 2
(ver figura 1).
Figura 1: Pilha tecnológica da Web Semântica (adaptado de [8])
Um dos componentes já desenvolvidos é o relativo às ontologias – i.e., colecções de
informação que especificam, formalmente, conceptualizações partilhadas, ou, por ou-
tras palavras, vocabulários de termos, definidos através das suas relações, mantidas em
documentos acessíveis na Web [5]. É nesta componente que as lógicas de descrição de-
sempenham um papel crucial, dando suporte teórico à linguagem OWL Web Ontology
Language – actual recomendação da W3C para a representação de ontologias.
A semântica formal e a existência de ferramentas de raciocínio eficientes e compro-
vadamente correctas, como Pellet, FaCT++ e RACER, têm feito da OWL a linguagem de
escolha para aplicação prática em diversos campos como biologia, medicina, geografia,
astronomia, agricultura e defesa. Essa extensiva experiência prática tem confirmado os
benefícios do uso das lógicas de descrição para a representação de conhecimento, mas
também tem realçado as suas limitações, já discutidas neste documento [37].
No que diz respeito às regras, cujo papel é descrever consequências de dadas infor-
mações, que tanto podem ser a derivação de planos de acção como a de novas informa-
ções [5], existem também alguns raciocinadores como os interpretadores Prolog, o XSB 3,
o clasp 4, o cmodels 5 e o DLV-complex 6. Há também um formato padrão, recomendado
2
http://www.w3.org/
3
http://xsb.sourceforge.net/
4
http://www.cs.uni-potsdam.de/clasp/
5
http://www.cs.utexas.edu/users/tag/cmodels/
6
https://www.mat.unical.it/dlv-complex/
6
pela W3C, para as representar, o RIF, que suporta ambos os tipos de regras mencionados
[6]. No entanto, ainda não existem muitas ferramentas de raciocínio que as suportem
de forma integrada com a camada ontológica. Uma dessas ferramentas, e aquela que
se considera a que apresenta melhores propriedades, precisamente por adoptar como
fundamento teórico o MKNF híbrido e implementar a resolução SLG(O), beneficiando
assim das vantagens já discutidas, é o NoHR.
Na sua versão original, o NoHR suporta apenas o perfil 7 OWL 2 EL do OWL. Definiu-
se em [28], para esse efeito, um oráculo SLG(O) para EL+
⊥
8, que se baseia na tradução
da ontologia para regras equivalentes, quanto às repostas obtidas para as queries, e res-
pectiva avaliação recorrendo ao próprio SLG(O). Deste modo, elimina-se a necessidade
de recorrer raciocinadores DL externos e reduz-se o SLG(O) a um algoritmo já imple-
mentado, de forma comprovadamente efectiva – o SLG, aplicado no XSB. A ontologia de
entrada é reduzida de modo a que os construtores que não podem ser expressos, ou não
têm significado, sob a forma de regras, possam ser ignorados, sem que se percam deri-
vações relevantes – para o que se recorre ao serviço de classificação do raciocinador DL
ELK 9; depois traduzida para regras Prolog, as quais são posteriormente utilizadas no
XSB Prolog, para responder se às queries.
Além do OWL 2 EL, é importante que o NoHR suporte os vários perfis do OWL, um
vez que, cada um deles se adequa a contextos distintos. Entre os três perfis da OWL 2
DL [19], merece particular destaque o OWL 2 QL, que tem suporte teórico na lógica de
descrição DL-LiteR (ver Secção 1.5), pelas seguintes características:
• suporta mecanismos de interrogação completos e consistentes com complexidade
LOGSPACE (AC0) quanto aos dados 10;
• permite expressar os principais elementos de modelos conceptuais como Diagra-
mas de Classes UML e Diagramas de Entidades e Relações;
• torna possível armazenar os dados em Bases de Dados relacionais padrão e poste-
riormente interrogá-los, através da ontologia, por meio de um simples mecanismo
de reescrita, em que a query é traduzida para SQL para ser lançada a um Sistema
de Gestão de Bases de Dados, sem qualquer mudança nos dados.
Tais características fazem dele um perfil adequado a grande parte das aplicações Web
actuais, e outras, que lidam com grandes volumes de dados e onde responder a queries
seja a tarefa de raciocínio mais importante.
Uma aplicação relevante do OWL 2 QL é o Acesso a Dados Baseado em Ontologias
(OBDA), que corresponde a uma combinação de uma camada de dados, como Bases de
7
Os perfis do OWL são versões reduzidas que sacrificam alguma da expressividade original para permitir
um raciocínio mais eficiente.
8
Um fragmento importante do EL++
.
9
Note-se que o raciocinador DL só é necessário na fase de tradução da ontologia; após traduzida, todas
as queries podem ser respondidas sem ele, recorrendo apenas ao XSB Prolog.
10
Isto é, quanto à ABox (ver secção 1.1)
7
Dados padrão ou documentos xml, e uma camada ontológica sobre a primeira, que abs-
trai o acesso a esses dados, permitindo assim um interação de mais alto nível com eles, e
ainda, integrar, de forma transparente, dados de várias fontes.
O propósito da presente dissertação é a extensão NoHR de modo a suportar o perfil
OWL 2 QL do OWL 2 11. Com isso espera-se dar um contributo relevante para a Web
Semântica, uma vez que, desse modo, se lhe fornecem ferramentas com as vantagens
decorrentes combinação do OWL 2 QL com regras não monótonas, que se discutiram ao
longo da presente introdução.
Tal propósito implica, num plano teórico, a definição de um oráculo SLG(O) para
DL-LiteR ; e, num plano prático, a implementação desse oráculo, a sua adaptação ao
OWL 2 QL, que embora não seja mais expressivo que o DL-LiteR , acrescenta alguns
construtores, e a sua integração com o NoHR.
Definem-se, na presente dissertação, dois oráculos SLG(O) distintos, ambos baseados
na tradução da ontologia para regras não monótonas, à semelhança do que acontece
no oráculo para EL+
⊥usado no NoHR. Num deles, a ontologia é reduzida, tal como no
oráculo para EL+
⊥, de modo a se eliminarem os construtores que não são directamente
expressáveis sob a forma de regras, e só depois traduzida. No outro oráculo, não se pro-
cede a qualquer redução, a ontologia é directamente traduzida, recorrendo a predicados
auxiliares – não fazem parte dos que são definidos na base de conhecimento, e não têm
significado no contexto da programação em lógica – para representar os construtores que
de outro modo não são expressáveis sob a forma de regras.
Na primeira abordagem, da tradução indirecta, como a classificação da ontologia é
essencial para a sua redução, torna-se indispensável recorrer a um raciocinador DL que
suporte classificação. Como não existe nenhum raciocinador dedicado ao DL-LiteR , que
escale bem quanto tamanho dos dados e que forneça a OWL API – necessária no NoHR e
no Protégé – ainda, de forma completa, a classificação de ontologias DL-LiteR , definem-
se algumas reduções preliminares, de modo a que ontologia possa ser convenientemente
tratada pelos raciocinadores existentes. 12 Na segunda abordagem, da tradução directa,
não há necessidade de recorrer a qualquer raciocinador DL, nem de se efectuar quaisquer
reduções, o que a torna, à partida, mais eficiente na fase tradução. Por esse motivo, foi
essa a abordagem adoptada na implementação.
Assim, os contributos da dissertação são, não só a extensão do NoHR para o perfil
OWL 2 QL, como a definição de dois oráculos SLG(O) para DL-LiteR ; e ainda a defi-
nição de uma redução da classificação em DL-LiteR à classificação em EL++
– a qual é
suportada de forma bastante efectiva em raciocinadores existentes, como o ELK, quando
comparada com o que acontece com outras DL, e em particular, com o DL-LiteR .
11
Esta dissertação foi elaborada no contexto do projecto ERRO: Efficient Reasoning with Rules and Onto-
logies (PTDC/EIA-CCO/121823/2010)
12
A definição e implementação de tais reduções é, em termos de custo (tempo necessário à concepção de
um algoritmo e à sua implementação) vs efectividade (eficácia e eficiência do resultado final), preferível à
implementação de um serviço de classificação completo para DL-LiteR .
8
O presente documento é constituído por cinco partes. A primeira, a presente introdu-
ção, apresenta o propósito da dissertação, as suas motivações e contribuições. A segunda
parte, apresenta todo o contexto necessário à sua compreensão. Apresentam-se também
alguns trabalhos científicos e tecnológicos com propósitos aproximados ao da presente
dissertação, e comparam-se com o formalismo adoptado, MKNF híbrido, e o sistema
estendido, o NoHR. 13 Na terceira parte, apresentam-se os resultados teóricos obtidos –
os dois oráculos SLG(O) e a redução aplicada no primeiro deles – bem como a sua ava-
liação analítica. Na quarta parte apresentam-se os resultados práticos – o sistema NoHR
estendido de modo a suportar OWL 2 QL – e a sua avaliação empírica. Na última parte,
discutem-se todos os resultados, tanto teóricos como práticos, e as suas implicações.
Detalhadamente, as contribuições da presente dissertação são as seguintes:
• apresentação do estado da arte relativamente às bases de conhecimento híbridas, e
dos conceitos a elas subjacentes (Capítulos 1-6);
• definição de uma redução da classificação DL-LiteR à classificação EL++
(Secção 7.1.1);
• demonstração da correcção dessa redução (Secção 7.2.1);
• definição de uma tradução (indirecta) de ontologias DL-LiteR reduzidas, i.e. sem
axiomas com existenciais do lado direito, para regras não monótonas (Secção 7.1.2);
• demonstração, para a semântica bem fundada, da fidelidade dessa tradução quanto
às respostas a queries (Secção 7.2.2), i.e. que as regras por ela obtidas, quando ava-
liadas sobre a semântica bem fundada, derivam as mesmas respostas a queries que
a ontologia original;
• definição de um oráculo SLG(O) DL-LiteR baseado na tradução (indirecta) de on-
tologias reduzidas para regras não monótonas (Secção 7.1.2);
• demonstração da correcção desse oráculo SLG(O) (Secção 7.2.2);
• definição de uma tradução (directa) de ontologias DL-LiteR (não reduzidas) para
regras não monótonas (Secção 8.1);
• demonstração, para a semântica bem fundada, da fidelidade dessa tradução quanto
às respostas a queries (Secção 8.2);
• definição de um oráculo SLG(O) DL-LiteR baseado na tradução (directa) de onto-
logias para regras não monótonas (Secção 8.1);
• demonstração da correcção desse oráculo (Subsecção 8.2.4);
13
Esse tópico não é abordado de forma mais aprofundada, por não se considerar que tal seja necessário
para a compreensão das decisões tomadas quanto às técnicas adoptadas; e por os trabalhos mencionados
serem, apesar de afins quanto aos propósitos gerais – visam também integrar, de alguma forma, ontologias
DL (em geral, e não DL-LiteR em particular) e programas em lógica – são pouco relacionados quanto aos
métodos aplicados e aos resultados obtidos.
9
• implementação da extensão do NoHR com suporte para OWL 2 QL (Capítulo 9);
• avaliação empírica dessa implementação (Capítulo 10).
O documente prossegue com os seguintes conteúdos. Na segunda parte introduzem-
se os conceitos preliminares subjacentes às lógicas de descrição (Capítulo 1) e à progra-
mação em lógica (Capítulo 2) – os principais formalismos estudados em representação
de conhecimento, e que se pretende combinar nesta dissertação. De seguida introduzem-
se as bases de conhecimento híbridas MKNF (Capítulo 3) e a resolução SLG(O) (Capítulo 4).
Depois, descreve-se o sistema NoHR (Capítulo 5), e o oráculo SLG(O) que se utiliza para
EL+
⊥. Finalmente, apresentam-se os resultados relativos ao raciocínio na lógica de des-
crição DL-LiteR (Capítulo 6), que serão utilizados para corroborar os resultados teóricos
apresentados na segunda parte.
Na terceira parte é elaborado o oráculo DL-LiteR indirecto, baseado na tradução com
redução da ontologia (Capítulo 7). É também ai elaborada a redução da classificação
DL-LiteR à classificação EL+
⊥ (Subsecção 7.1.1). Começa-se por apresentar os resultados
obtidos (Secção 7.1); apresentado-se posteriormente a avaliação analítica desses resulta-
dos (Secção 7.2). Depois, é elaborado o oráculo DL-LiteR directo, baseado na tradução
sem redução da ontologia (Capítulo 8). Mais uma vez, começa-se pelos resultados obti-
dos (Secção 8.1); que são seguidos pela sua avaliação analítica (Secção 8.2).
Na quarta parte, apresenta-se a implementação da extensão do NoHR para OWL 2 QL
(Capítulo 9), descrevendo-se a sua arquitectura (Secção 9.1), funcionamento (Secção 9.2),
e mostrado-a a sua utilização (Capítulo 9). Depois (Capítulo 10), descreve-se uma ex-
periência executada com essa implementação com o intuito de a avaliar (Secção 10.1);
apresentam-se os resultados dessa experiência (Secção 10.2); e discutem-se as virtudes e
deficiências que esses resultados sugerem (Secção 10.3).
Por fim, na última parte, descreve-se todo o trabalho efectuado; sugere-se algum tra-
balho futuro que poderá ser conduzido na mesma linha; e mencionam-se alguns traba-
lhos relacionados relevantes (Parte V).
10
Parte II
Revisão de Literatura
11
1
Lógicas de Descrição
As Lógicas de Descrição (DL) [4] são uma família de formalismos de representação de
conhecimento que representam o conhecimento de um domínio definindo, em primeiro
lugar, os conceitos do domínios (a sua terminologia), e depois usando esses conceitos
para especificar propriedades de objectos ou indivíduos do domínio (a “descrição do
mundo”). As Lógicas de Descrição suportam os padrões de inferência que ocorrem em
muitas aplicações de sistemas de processamento inteligente de informação, e que são
também usados pelos humanos para entender e estruturar o mundo: a classificação de
conceitos e indivíduos.
A classificação de conceitos determina as relações de subconceito/superconceito (ha-
bitualmente chamadas de subsunção, neste contexto) entre os conceitos da terminologia,
permitindo assim estruturá-los numa hierarquia de subsunções – o que não só fornece
informação útil sobre a relação entre esses conceitos, como contribui para outros servi-
ços de inferência. A classificação de indivíduos determina se um dado individuo é ne-
cessariamente instância de um certo conceito, i.e. se, da informação explicitada, se pode
concluir que o individuo é instância desse conceito, em todos os cenários que se coadu-
nem com essa informação, fornecendo assim novo conhecimento sobre as propriedades
desses indivíduos.
A decidibilidade e complexidade dos serviços de inferência, classificação e outros,
depende do poder expressivo da DL em causa. Por um lado, DLs demasiado expressivas
podem tornar tais serviços intratáveis, ou até mesmo indecidíveis. Por outro lado, DLs
com muito pouco poder expressivo – e assim, com serviços de raciocínio mais eficientes
– podem não ser suficientemente expressivas para representar conceitos importantes de
determinados domínios. Assim, o compromisso entre a expressividade das DLs e com-
plexidade dos respectivos serviços de inferência tem sido um dos aspectos mais centrais
12
1. LÓGICAS DE DESCRIÇÃO 1.1. Sintaxe
no estudo desses formalismos.
Uma base de conhecimento (KB), neste contexto, é constituída por dois elementos,
uma TBox e uma ABox. A TBox introduz a terminologia, i.e. é vocabulário do domínio,
e a ABox contém asserções sobre indivíduos, em termos dessa terminologia. A Secção 1.1
descreve com mais detalhe as bases de conhecimento DL.
O vocabulário é constituído por conceitos, que denotam conjuntos de indivíduos, e
relações, que denotam relações binárias entre esses conjuntos. Além dos conceitos e re-
lações atómicas (nomes de conceitos e de relações), todas as Lógicas de Descrição per-
mitem construir descrições complexas de novos conceitos ou relações. A TBox pode ser
usada precisamente para atribuir nomes a descrições dessa natureza. A linguagem para
construir tais descrições difere em cada DL. A semântica das Lógicas de Descrição é de-
finida em teoria de modelos. Os axiomas e asserções na TBox e ABox, respectivamente,
podem ser identificados com fórmulas de primeira ordem (ou ligeiras extensões dela). A
secção 1.2 descreve a semântica das Lógicas de Descrição.
Um sistema DL não só armazena terminologias e asserções, como também fornece
serviços para raciocinar sobre elas. Uma tarefa de raciocínio típica para uma ontologia
é a de determinar se é satisfazível, i.e. não contraditória e admite modelos. Outra tarefa,
sobre a TBox, é a de determinar se uma descrição é mais geral que outra – por outras pa-
lavras, se subsume outra. Quanto à ABox, os serviços habitualmente suportados são o de
determinar se o conjunto das asserções que contém é consistente, e o de testar se elas im-
plicam que um indivíduo particular é instância de um dado conceito. A verificação de
satisfazibilidade e de consistência são úteis para determinar se a base de conhecimento
têm algum significado inteligível. Com os testes de subsunção, podem organizar-se os
conceitos da terminologia numa hierarquia, de acordo com a sua generalidade - o que,
como se referiu, se entende por classificação. Uma descrição de conceito pode também
ser concebida como query, descrevendo o conjunto de objectos nos quais se está interes-
sado. Assim, com testes de instância pode obter-se os indivíduos que as satisfazem (ver
secção 1.3).
Entre as várias lógicas de descrição existentes, merecem particular destaque nesta
dissertação o EL+
⊥ e DL-LiteR . A primeira porque, como já se mencionou, é aquela que
é suportada na versão original do NoHR; a segunda porque é aquela que se pretendeu
suportar na extensão do NoHR a que a presente dissertação se propõe. As secções 1.4
e 1.5, respectivamente, apresentam essas duas lógicas de descrição.
1.1 Sintaxe
Como referido, uma ontologia DL representa o domínio de interesse em termos de duas
partes: uma TBox, habitualmente denotada por T , especificando o conhecimento in-
tencional, e uma ABox, habitualmente denotada por A, especificando o conhecimento
extensional.
13
1. LÓGICAS DE DESCRIÇÃO 1.1. Sintaxe
Uma TBox é formada por um conjunto finito de axiomas de subsução da forma:
C1 C2 (1.1)
R1 R2 (1.2)
que denotam que todas as instâncias de C1 também são instâncias de C2 e que todos os
pares (a, b) pertencentes à relação R1 também pertencem à relação R2, respectivamente.
Ci são conceitos – que denotam conjuntos de objectos – atómicos ou complexos. Os conceitos
complexos podem ser o complemento de um conceito, ¬C; a intersecção de dois conceitos,
C1 C2; a união de dois conceitos, C1 C2; uma quantificação existencial, ∃R.C; uma quan-
tificação existencial reflexiva, ∃R.self; uma quantificação universal, ∀R.C; ou uma restrição de
cardinalidade, ≤ nR.C ou ≥ nR.C (ver tabela 1.1). Ri são relações – denotam relações biná-
rias entre conceitos – atómicas ou complexas. As relações complexas podem ser: o inverso
de um relação, R−; a composição de duas relações, R1 ◦ R2; ou o complemento de uma rela-
ção, ¬R.
Uma ABox é formada por um conjunto finito de asserções de pertença da forma:
C(a) (1.3)
R(a, b) (1.4)
que denotam que o objecto representado pela constante a é uma instância de C e que
o par de objectos denotados pelo par de constantes (a, b) é uma instância da relação R,
respectivamente.
Exemplo 2. Considere-se novamente o senário da loja online do Exemplo 1. Os seguintes
axiomas e asserções poderiam ser parte da ontologia que a loja usa:
Piece ∃HasArtist (1.5)
∃HasArtist−
Artist (1.6)
∃HasComposed−
Piece (1.7)
HasComposed−
HasArtist (1.8)
Composer ∃HasComposed (1.9)
TopSeller Recommend (1.10)
LessSold ¬Recommend (1.11)
Artist ¬Piece (1.12)
HasArtist(BlueTrain, JohnColtrane) (1.13)
HasComposed(GeorgeGershwin, RhapsodyInBlue) (1.14)
Composer(GustavMahler) (1.15)
TopSeller(BlueTrain) (1.16)
14
1. LÓGICAS DE DESCRIÇÃO 1.2. Semântica
O axioma 1.5 assegura que cada música tem pelo menos um artista, enquanto que
o 1.6 restringe o contradomínio da relação HasArtist para Artist, e 1.7 o contradomínio de
HasComposed para Piece. O axioma 1.8 indica que se algo foi composto por um certo
indivíduo, essa composição tem-no como artista. O axioma 1.9 define Composer como
subconjunto dos indivíduos que compuseram algo.
Os axiomas 1.6-1.9, por si só, já permitem derivar que um compositor é um artista.
É de notar que essa conclusão é possível mesmo sem a presença de nenhum compositor
ou música. Tal é o efeito que se pretende quando se raciocina, com esquemas de conhe-
cimento, em domínios infinitos. Não obstante, é evidente que havendo informação espe-
cífica é possível usá-la para derivações acerca de indivíduos específicos. Por exemplo, na
presença da asserção 1.14 é possível derivar que GeorgeGershwin é um artista.
O axioma 1.10 expressa uma directiva de recomendação geral: CDs que sejam mais
vendidos são automaticamente recomendados aos clientes. O axioma 1.11 garante que
um CD entre os menos vendidos nunca é recomendado. Tal é particularmente útil para
restringir as recomendações específicas para cada cliente.
O axioma 1.12 é uma restrição de integridade, que garante que algum engano na
introdução dos dados em que um peça fique classificada como artista ou vice-versa é
detectado 1.
As asserções 1.13-1.16 indicam que Blue Train tem John Coltrane como artista, que
George Gershwin compôs Rhapsody In Blue, que Gustav Mahler é compositor, e que Blue
Train é um CD dos mais vendidos, respectivamente.
1.2 Semântica
A semântica das Lógicas de Descrição é dada em termos de interpretações, I = ∆I , .I ,
que consistem num domínio de interpretação não vazio ∆I e uma função de interpreta-
ção .I , que atribui a cada conceito C um subconjunto CI de ∆I , e a cada relação R uma
relação binária RI sobre ∆I – as extensões do conceito ou relação, respectivamente.
A tabela 1.1 2 especifica as principais expressões permitidas em Lógicas de Descrição
e respectiva semântica. As expressões permitidas em descrições de conceitos, aqui deno-
tados por C, e as descrições de relações, denotados por R, estão incluídas nessa tabela.
Uma interpretação I é um modelo de uma axioma de subsunção C1 C2 (resp.,
R1 R2), se C1
I
⊆ C2
I
(resp., R1
I
⊆ R2
I
).
1
É discutível o quão realista se poderia considerar a inclusão de um tal axioma numa ontologia aplicada
ao contexto prático descrito. O proposito deste axioma é principalmente permitir expor certas propriedades
em exemplos subsequentes (ver exemplo 60).
2
As expressões apresentadas nessa tabela, com a excepção do complemento de relações (¬R), correspon-
dem aquelas que são permitidas em SROIQ, [24] a DL na qual a linguagem OWL 2 DL se fundamenta [38].
Além dessas expressões também são permitidos axiomas de simetria, assimetria, transitividade, reflexivi-
dade, irreflexividade, e disjunção para as relações. São também impostas certas restrições nos axiomas de
subsunção de relações, de modo a preservar decidibilidade. Tal não é, no entanto, relevante para a presente
exposição.
15
1. LÓGICAS DE DESCRIÇÃO 1.2. Semântica
Tabela 1.1: Expressões permitidas nas Lógicas de Descrição
Expressão Semântica Tradução para Lógica de Primeira Ordem
C ou R π(C, x) ou π(R, x, y)
descrições de conceitos (C)
∆I
⊥ ∅ ⊥
A AI ⊆ ∆I A(x)
¬C ∆I  CI ¬π(C, x)
C1 C2 C1
I ∩ C2
I π(C1, x) ∧ π(C2, x)
C1 C2 C1
I ∪ C1
I π(C1, x) ∨ π(C2, x)
∃R.C {o | ∃o .(o, o ) ∈ RI ∧ o ∈ CI } ∃z(π(R, x, z) ∧ π(C, z))
∃R.Self {o | (o, o) ∈ RI } (π(R, x, x))
∀R.C {o | ∀o ((o, o ) ∈ RI ⇒ o ∈ CI )} ∀z(π(R, x, z) ⊃ π(C, z))
≥ nR.C {o | #{o | (o, o ) ∈ RI ∧ o ∈ CI } ≥ n} ∃y1, . . . , yn( i=j yi = yj ∧ i(π(R, x, yi) ∧ π(C, yi)))
≤ nR.C {o | #{o | (o, o ) ∈ RI ∧ o ∈ CI } ≤ n} ∃y1, . . . , yn+1( i=j yi = yj ⊃ i ¬(π(R, x, yi) ∧ π(C, yi)))
descrições de relações (R)
P PI ⊆ ∆I × ∆I P(x, y)
R− {(o2, o1) | (o1, o2) ∈ RI } π(R, y, x)
R1 ◦ R2 RI
1 ◦ RI
2 ∃z(π(R1, x, z) ∧ π(R2, z, y))
¬R1 ∆I × ∆I  R1
I ¬π(R1, x, y)
axiomas de subsunção
C1 C2 C1
I ⊆ C2
I ∀x(π(C1, x) ⊃ π(C2, x))
R1 R2 R1
I ⊆ R2
I ∀x, y(π(R1, x, y) ⊃ π(R2, x, y))
asserções de pertença
C(a) aI ∈ CI π(C, a)
R(a, b) (aI , bI ) ∈ RI π(R, a, b)
16
1. LÓGICAS DE DESCRIÇÃO 1.3. Queries
Para especificar a semântica das asserções de pertença, estende-se a função de in-
terpretação para constantes, atribuindo a cada constante a um objecto aI ∈ ∆I . Uma
interpretação I é um modelo de uma asserção C(a) (resp., R(a, b)), se aI ∈ CI (resp.,
(aI , bI ) ∈ RI ).
Dado um axioma de subsunção ou uma asserção de pertença α, e uma interpretação
I, denota-se por I |= α o facto de I ser um modelo de α. Dado um conjunto (finito) de
asserções K, denota-se por I |= K o facto de I ser um modelo de todas as asserções em
K. Um modelo de uma KB O = T , A é uma interpretação I tal que I |= T e I |= A.
Diz-se que uma KB é satisfazível se tiver pelo menos um modelo; e que uma asserção
α é consequência lógica de uma KB K, o que se denota por O |= α, se todos os modelos
de K forem também modelos de α.
1.3 Queries
Define-se união de queries conjuntivas q do seguinte modo
q = {x |
i=1,...,n
∃yi. conji(x, yi)} (1.17)
onde cada conji(x, yi) é uma conjunção de átomos e igualdades, com variáveis livres x e
variáveis fechadas yi. Dada uma interpretação I, qI é o conjunto de tuplos de elementos
do domínio que, quando atribuídos às variáveis livres da fórmula i=1,...,n ∃yi. conji(x, yi),
a tornam verdadeira em I. Uma união de queries conjuntivas sobre uma ontologia O é uma
união de queries conjuntivas cujos os átomos são da forma A(z) ou P(z1, z2), onde A e P
denotam, respectivamente, um conceito atómico e uma relação atómica de O, e z, z1, z2
são constantes em O ou variáveis.
1.4 EL+
⊥
O EL+
⊥ é um fragmento da lógica de descrição EL++ [3], na qual o perfil OWL 2 EL se
baseia [19]. O conjunto de expressões permitidas em EL+
⊥é dado pela seguinte gramática:
C → A | | ⊥ | C C | ∃R.C
R → P | R ◦ R
T → C C | R P
U → C(a) | R(a, b)
onde A denota um conceito atómico; P uma relação atómica; C uma descrição de conceito; R
uma descrição de relação; T um axioma de subsunção; e U uma asserção de pertença.
Um dos resultados interessantes da DL EL++
– e assim, do EL+
⊥– é o da subsunção
17
1. LÓGICAS DE DESCRIÇÃO 1.5. DL-LiteR
poder ser decidida em tempo polinomial, o que a torna adequada a problemas onde a
hierarquização de muitos conceitos é necessária.
1.5 DL-LiteR
O conjunto de expressões permitidas em DL-LiteR é dado pela seguinte gramática:
B → A | ∃Q (1.18)
C → B | ¬B (1.19)
Q → P | P−
(1.20)
R → Q | ¬Q (1.21)
T → B C | Q R (1.22)
U → A(a) | P(a, b) (1.23)
onde A denota um conceito atómico; P uma relação atómica; P− o inverso de uma relação
atómica P; B um conceito básico, i.e. um conceito que pode ser um conceito atómico ou
uma quantificação existencial não qualificada ∃Q 3; ¬B o complemento de um conceito básico
B; Q uma relação básica, i.e. uma relação que pode ser uma relação atómica ou o inverso
de uma relação atómica; ¬Q o complemento de um relação básica Q; C um conceito geral,
que pode ser um conceito básico ou o seu complemento; R uma relação geral, que pode
ser uma relação básica ou o seu complemento; T um axioma de subsunção de conceitos
ou relações; e U uma asserção de pertença. Além disso, denota-se por Q− a relação P, se
Q = P−, e a relação P−, se Q = P. Designam-se por axiomas de subsunção positivos os
axiomas da forma B1 B2 ou Q1 Q2, onde B1 e B2 são conceitos básicos e Q1 e Q2
são relações básicas; e por axiomas de subsunção negativos os axiomas da forma B1 ¬B2
ou Q1 ¬Q2. Designa-se também TBox positiva uma TBox que só contenha axiomas
positivos e TBox negativa uma TBox que só contenha axiomas negativos. No que se segue,
e sempre que se trate da lógica de descrição DL-LiteR , serão adoptadas as definições e a
notação apresentadas.
3
Equivale a ∃Q. .
18
2
Programação em Lógica
Programação em Lógica é um paradigma de programação declarativo – de que o Prolog
é, talvez, a linguagem mais conhecida – e também um formalismo de representação de
conhecimento importante.
Um programa em lógica é um conjunto de regras da forma 1
H ← A1, · · · , Am, not Bm+1, · · · , not Bn (2.1)
com 0 ≤ m ≤ n, onde H e cada Ai e Bj são átomos 2, e a cada not Bj se chama literal. H é
o consequente da regra, e A1, · · · , Am, not Bm+1, · · · , not Bn o antecedente. Informalmente,
uma regra (na forma de 2.1) pode ser lida como “tem-se H se se tem A1,..., e Am e não
se tem Bm+1,..., e Bn”.
A avaliação de um programa em lógica pode ser definida de uma forma operacional,
como acontece no Prolog, ou atribuindo-lhe uma semântica bem definida. Tal semântica
pode ser dada em teoria de modelos, tendo como universo os termos formados pelos
símbolos de função e constantes que ocorrem no programa – o universo de Herbrand 3, e,
como função de interpretação, uma que mapeie cada termo em si mesmo. Partindo de tais
estruturas de interpretação é possível definir, de diversas formas, quais são os modelos
do programa – os modelos de Herbrand. Assim, torna-se útil definir um modelo canónico
– o modelo, entre os vários possíveis, que captura o significado exacto pretendido para
o programa. Duas semânticas, intimamente relacionadas entre si, e definidas de acordo
1
Esta não é a forma mais geral ou a única para regras em programação em lógica, mas para o propósito
da presente exposição é suficiente.
2
Neste contexto átomo tem o mesmo significado que na lógica de primeira ordem.
3
Se a aridade das funções não for superior a 0 o universo de Herbrand é finito, e é contável infinito caso
contrário, pelo que, em aplicações práticas restringe-se os termos às constantes.
19
2. PROGRAMAÇÃO EM LÓGICA 2.1. Modelos estáveis
com essa ideia de modelo canónico, são apresentadas nas secções 2.1 e 2.2.
2.1 Modelos estáveis
Como mencionado, o universo de Herbrand de um programa em lógica P é o conjunto, HP,
de todos os termos formados pelos símbolos de função que ocorrem nesse programa
(incluindo constantes). Um átomo (resp., regra ou programa) instanciado obtém-se subs-
tituindo todas as variáveis livres desse átomo (resp., regra ou programa) por termos
do universo de Herbrand. A base de Herbrand de P é o conjunto, ˆHP, dos átomos ins-
tanciados, P(t1, · · · , tn), formados por um símbolo de predicado, P, que ocorrem no
programa e os termos, t1, · · · , tn, pertencentes a HP. Uma interpretação de Herbrand,
I, de um programa P é um subconjunto de ˆHP, e associa a cada símbolo de predi-
cado n-ário em P uma única relação n-ária em HP – para um predicado P, a relação
{(t1, . . . , tn) | P(t1, . . . , tn) ∈ I}.
Uma interpretação de Herbrand, I, é modelo de Herbrand de α, denotado por I |= α,
se:
1. α é um átomo instanciado P(t1, · · · , tn) e P(t1, · · · , tn) ∈ I;
2. α é um literal instanciado negativo not A e A ∈ I;
3. α é uma regra instanciada H ← A1, · · · , Am, not Bm+1, · · · , not Bn e I não é modelo
de algum literal Ai ou not Bj ou I é modelo de H; ou
4. α é um programa instanciado P e I é modelo de todas as regras contidas em P.
Define-se ainda modelo mínimo de Herbrand de um programa P, least(P): um modelo
de Herbrand de P, M, tal que, para qualquer modelo de Herbrand M de P, M ⊆
M . Um programa positivo, i.e. no qual não ocorrem literais negativos, tem um único
modelo mínimo de Herbrand. Por causa dessa univocidade, e por ser um modelo que
atribui uma semântica compatível com o senso comum – é razoável assumir que com um
programa, assim como com outras formas de representação de conhecimento, se pretende
expressar apenas o que é necessariamente verdadeiro, em vez de tudo o que pode, ou não,
ser verdadeiro – é esse o modelo canónico para programas positivos.
Já num programa negativo, tal não possível, uma vez que este pode ter vários mode-
los mínimos de Herbrand. Assim, em [18] define-se, para um dado programa instanciado
P e um subconjunto M, de ˆHP, o programa PM, obtido de P removendo:
1. cada regra na qual ocorra um literal negativo not B no seu antecedente, se B ∈ M;
2. todos os literais negativos nos antecedentes das restantes regras.
Assim definido, PM é um programa positivo, pelo que tem um único modelo minimo
de Herbrand, least(PM). Se least(PM) = M então M é o conjunto estável ou modelo
estável de P.
20
2. PROGRAMAÇÃO EM LÓGICA 2.2. Modelos bem fundados
Os conjuntos estáveis de um dado programa P podem ser entendidos como “os pos-
síveis conjuntos de crenças que um agente racional pode ter se lhe são dadas como pre-
missas o programa P” [18].
Se M é o conjunto de factos que se considera verdadeiros, então qualquer regra que
contenha no antecedente um literal not B tal que B ∈ M, é nesse ponto e vista, inútil; e
que contenha no antecedente not B com B ∈ M, trivial. Assim, as premissas de P podem
ser substituídas por PM. Se um conjunto de átomos M escolhido é precisamente aquele
que segue logicamente do conjunto simplificado de premissas PM, então essa escolha é
racional.
A semântica dos modelos estáveis é definida para um program P, se P tem exacta-
mente um modelo estável, e estabelece esse modelo como o modelo canónico de P.
Esta semântica dos modelos estáveis é aplicada na Answer Set Programming – um pa-
radigma de programação orientado para problemas de procura.
2.2 Modelos bem fundados
Em [17] desenvolve-se o conceito de conjuntos infundados. Define-se do seguinte modo.
Seja P um programa em lógica, com base de Herbrand ˆHP, e I uma interpretação de P.
U ⊆ ˆHP é um conjunto infundado (de P) relativamente a I se cada regra instanciada r de
P, cujo o átomo do consequente, H, está contido em U, H ∈ U, satisfaz uma das seguintes
condições:
(i) I |= A ou I |= not B, para algum A ou not B do antecedente de r; ou
(ii) algum literal positivo do antecedente de r, A, pertence a U, A ∈ U.
Intuitivamente, I corresponde ao que é conhecido de antemão acerca do modelo pre-
tendido para P. As regras que satisfazem a condição (i) não permitem novas derivações,
uma vez que as suas hipóteses já são conhecidas como falsas. A condição (ii) é a condição
de não fundamentação: a derivação de um dado literal, A, de U depende da derivação
de outros literais também contidos em U, pelo que, nenhum literal em U pode ser esta-
belecido como verdadeiro pelas regras de P, e partindo de I, em primeiro lugar. Deste
modo, se se estabelecer como falsos todos os átomos em U, não há nenhuma forma de
derivar posteriormente a sua verdade.
21
2. PROGRAMAÇÃO EM LÓGICA 2.2. Modelos bem fundados
Exemplo 3. Considere-se o programa consistindo nas seguintes regras (instanciadas) [17]:
p(a) ← p(c), not p(b). (2.2)
p(b) ← not p(a). (2.3)
p(e) ← not p(d). (2.4)
p(c). (2.5)
p(d) ← q(a), not q(b). (2.6)
p(d) ← q(b), not q(c). (2.7)
q(a) ← p(d). (2.8)
q(b) ← q(a). (2.9)
Os átomos {p(d), q(a), q(b), q(c)} formam um conjunto infundado relativamente ao
conjunto ∅. Em particular, {q(c)} é infundado pela condição (i) – não existe nenhuma re-
gra que possa ser usada para estabelecer a sua verdade. O conjunto {p(d), q(a), q(b)} é
infundado pela condição (ii) – não há forma de estabelecer p(d) sem primeiro estabelecer
q(a) ou q(b) (embora se possa estabelecer ¬q(b), para suportar a primeira regra com con-
sequente p(d), tal é irrelevante quanto à obtenção dos conjuntos infundados). De modo
similar, não existe forma de estabelecer q(a) sem primeiro estabelecer p(d), e não existe
forma de estabelecer q(b) sem primeiro estabelecer q(a). Claramente q(c) nunca pode ser
provado, mas além disso, pode também constatar-se que entre p(d), q(a), e q(b), nenhum
pode ser provado em primeiro lugar.
Contrariamente, {p(a), p(b)} não constitui um conjunto infundado apesar de cada ele-
mento depender do outro, pois as dependências dão-se apenas "através"da negação. Se-
ria tentador afirmar que tentativas de provar p(a) e p(b) também falhariam, mas tal afir-
mação é errónea.
A diferença entre os conjuntos {p(d), q(a), q(b)} e {p(a), p(b)} é a seguinte: declarar
um dos átomos p(d), q(a), q(b) como falso não permite provar a verdade de nenhum dos
outros atámos. Contudo, uma vez que um dos átomos p(a) ou p(b) se declare falso,
torna-se possível provar que o outro é verdadeiro; e se ambos foram declarados como
falsos, tem-se uma inconsistência.
A semântica bem fundada usa as condições (i) e (ii) para obter as conclusões negati-
vas: estabelece todos os átomos em U como negativos.
A semântica bem fundada de um dado programa é definida pelo menor ponto fixo
de uma sequência transfinita obtida pela aplicação sucessiva de uma transformação de
conjuntos de literais. Essa transformação é definida do seguinte modo. Considere-se
um programa P. Seja TP(I) o conjunto dos átomos dos consequentes das regras cujos
literais do antecedente são verdadeiros em I e UP(I) o maior conjunto infundado de P
relativamente a I, i.e. a união de todos os conjuntos que são infundados relativamente a
I. A transformação é definida por WP(I) = TP(I) ∪ {not B | B ∈ UP(I)}; e a sequência
22
2. PROGRAMAÇÃO EM LÓGICA 2.2. Modelos bem fundados
por:
I0 = ∅ (2.10)
In+1 = WP(In) (2.11)
Iδ =
α<δ
Iα (2.12)
Denote-se por M o menor ponto fixo dessa sequência. A semântica bem fundada de um
programa P é o “significado” representado por M. A ∈ M denota que A é verdadeiro;
not B ∈ M, que B é falso. Para os literais da base de Herbrand para os quais nenhuma
dessas condições se verifique, a semântica não atribui nenhum valor de verdade (ou atri-
bui o valor indefinido). Se M inclui todos os átomos da base de Herbrand, então é um
modelo total e é designado modelo bem fundado; caso contrário é designado modelo parcial
bem fundado.
Dois resultados importantes, que relacionam os modelos bem fundados com os mo-
delos estáveis são os seguintes: se um dado program P tem um modelo total bem fun-
dado então esse modelo é o único modelo estável; e, um modelo parcial bem fundado de
um programa P é um subconjunto de qualquer o modelo estável de P.
A semântica bem fundada tem complexidade de dados, i.e. complexidade computa-
cional de decidir uma resposta para uma query atómica instanciada (neste caso, decidir
qual o valor de verdade de um dado átomo, de acordo com o modelo parcial bem fun-
dado), em função do número de factos, PTIME.
Entre os vários algoritmos existentes para avaliação de queries a programas em lógica,
merece particular destaque o SLG [10] (Linear resolution with Selection function for Gene-
ral logic programs), uma vez que este permite computar a semântica bem fundada com
complexidade temporal de dados polinomial, havendo, contrariamente a outros, a ga-
rantia de terminação 4; e é independente da estratégia de controlo, i.e. a ordem pela qual
os literais surgem nas regras não afecta o resultado – opostamente ao que acontece com o
SLD, que é, nesse aspecto, menos declarativo. O SLG é definido com base numa série de
transformações que transformam, passo a passo, cada query num conjunto de regras de
resposta (ver capitulo 4). Este algoritmo é aplicado no XSB [10] – um sistema dedutivo
para programas em lógica, comprovadamente efectivo.
4
Em programas limitados na profundidade dos termos.
23
3
Bases de Conhecimento MKNF
MKNF (Minimal Knowledge and Negation as Failure) é uma lógica epistêmica não monótona
que estende a lógica de primeira ordem com um operador de introspecção – permite fazer
referência ao que é conhecido, i.e. à própria KB – e o operador de negação por omissão.
Essa lógica permite representar teorias de primeira ordem e programas em lógica não
monótona, preservando a sua semântica – a dos modelos estáveis ou a modelos bem
fundados, no caso dos programas em lógica.
Baseando-se nessas características da lógica MKNF, em [37] Motik e Rosati definem
bases de conhecimento híbridas MKNF. Tais bases de conhecimento integram completa-
mente ontologias DL e programas em lógica não monótonas, e, além de satisfazerem
os critérios da estreiteza, e da flexibilidade, satisfazem o da fidelidade – a semântica que lhes
é atribuída preserva a semântica clássica, na componente da ontologia DL, e dos mode-
los estáveis, na componente das regras. Com algumas restrições (segurança DL), que não
afectam significativamente a expressividade, garante-se a decidibilidade.
Em [30] estende-se a semântica originalmente definida para as bases de conhecimento
híbridas MKNF de [37], com modelos a dois valores de verdade, para uma de mode-
los a três valores. Essa semântica permite não só aproximar a semântica dos modelos
estáveis como também aplicar a noção de modelos bem fundados da programação em
lógica às bases de conhecimento híbridas. Além disso, o seu modelo canónico – o mo-
delo MKNF bem fundado – é computável com complexidade de dados menor ou igual à
modelos MKNF a dois valores.
Além dos quatro critérios enumerados anteriormente a abordagem das bases de co-
nhecimento híbridas MKNF tem algumas propriedades importantes. Em bases de conhe-
cimento consistentes, é coerente no sentido de [39], i.e. se uma fórmula ϕ é falsa clas-
sicamente na ontologia, então a interpretação não monótona de ϕ nas regras é forçada
24
3. BASES DE CONHECIMENTO MKNF 3.1. Sintaxe
a ser também falsa; permite detectar inconsistências sem nenhum esforço de computa-
ção adicional substancial, além da verificação de consistência da ontologia apenas; e, a
complexidade computacional de dados da abordagem depende da complexidade da DL
aplicada, sendo que, se a DL tiver complexidade polinomial, a combinação com as regras
mantém-se polinomial.
Nas próximas secções deste capitulo introduz-se a lógica MKNF e definem-se bases de
conhecimento híbridas MKNF (Secção 3.1) e a sua semântica (Secção 3.2).
3.1 Sintaxe
A lógica de conhecimento mínimo e negação por falha (MKNF) [30] estende a lógica de pri-
meira ordem com os operadores modais K e not . Informalmente, K ϕ pode ser lido
como “sabe-se ϕ” e not ϕ como “não se sabe ϕ”. O operador not permite inferências
com base em ausência de informação, de forma semelhante à negação por omissão da
programação em lógica.
As fórmulas MKNF são definidas do seguinte modo. Seja Σ = (Σc, Σf , Σp) uma assi-
natura de primeira ordem, onde Σc é um conjunto de constantes, Σf é o conjunto de sím-
bolos de função, e Σp é o conjunto de predicados contendo o predicado de igualdade ≈.
Um átomo de primeira ordem P(t1, · · · , tn), onde P é um predicado e ti são termos de pri-
meira ordem, é uma fórmula MKNF. Se ϕ é uma fórmula MKNF, então ¬ϕ, ∃x : ϕ, K ϕ
e not ϕ são fórmulas MKNF, assim como ϕ1 ∧ ϕ2, para fórmulas MKNF ϕ1 e ϕ2. Além
disso, ϕ1 ∨ ϕ2, ϕ1 ⊃ ϕ2, ϕ1 ≡ ϕ2, ∀x : ϕ, t, f, t1 ≈ t2, e t1 ≈ t2 são abreviações, respecti-
vamente, para ¬(¬ϕ1 ∧ ϕ2), ¬ϕ1 ∨ ϕ2, (ϕ1 ⊃ ϕ2) ∧ (ϕ2 ⊃ ϕ1), ¬(∃x : ¬ϕ), a ∨ ¬a, a ∧ ¬a,
≈ (t1, t2), e ¬(t1 ≈ t2).
As bases de conhecimento hibridas MKNF são essencialmente fórmulas MKNF res-
tritas e consistem em dois componentes: uma ontologia DL expressável em lógica de
primeira ordem e um conjunto finito de regras. Constituem, desse modo, uma possí-
vel abordagem à combinação de Lógicas de Descrição com programas em lógica, e são
aplicáveis a qualquer lógica de descrição DL que seja um fragmento de primeira ordem
e satisfaça as seguintes condições 1:
1. cada base de conhecimento O ∈ DL pode ser traduzida (ver tabela 1.1) para uma
fórmula π(O) de primeira ordem sem funções com igualdade;
2. DL suporta asserções de pertença da forma P(a1, · · · , an), onde P é um predicado
e cada ai é uma constante de DL; e
3. a verificação de satisfazibilidade e verificação de instanciação (i.e verificação de
consequências lógicas da forma O |= P(a1, ..., an)) são decidíveis.
Uma regra MKNF r, com átomos de primeira ordem sem funções H, Ai e Bi, tem a
1
As lógicas de descrição subjacentes à OWL satisfazem estas condições.
25
3. BASES DE CONHECIMENTO MKNF 3.1. Sintaxe
forma 2 :
K H ← K A1, · · · , K An, not B1, · · · , not Bm (3.1)
onde K H, K A1, · · · , K An, e not B1, · · · , not Bm são denominados consequente, antece-
dente positivo e antecedente negativo, respectivamente. Uma regra MKNF é positiva se m = 0
e é um facto se n = m = 0; é DL-segura se toda a variável que nela ocorre, ocorre em
pelo menos um átomo não DL, i.e. que não ocorre na ontologia DL em causa, do seu
antecedente positivo. Um programa MKNF P é um conjunto finito de regras MKNF.
Uma base de conhecimento híbrida MKNF K é um par (O, P), onde O é uma ontolo-
gia DL expressável em lógica de primeira ordem e P um programa MKNF. K diz-se
DL-segura se todas as regras em K são DL-seguras. A semântica das bases de conheci-
mento MKNF híbridas é dada pela semântica das fórmulas MKNF com as quais se pode
representá-las, havendo a garantia que, se forem MKNF-consistentes e DL-seguras, têm
um e um só modelo bem fundado MKNF (ver secção 3.2).
Para expressar uma base de conhecimento híbrida K = (O, P), tal como definida,
numa fórmula MKNF válida, estende-se a transformação π do seguinte modo, onde r é
uma regra MKNF na forma 3.1 e x é o vector de variáveis livres de r:
π(r) = ∀x : (K A1 ∧ · · · ∧ K An ∧ not B1 ∧ · · · ∧ not Bm ⊃ K H) (3.2)
π(P) =
r∈P
π(r) (3.3)
π(K) = K π(O) ∧ π(P) (3.4)
As bases de conhecimento hibridas MKNF, mesmo sem símbolos de função, são, em
geral, indecidíveis, a menos que restringidas de alguma forma. Isto acontece porque as
regras podem ser aplicadas a todos os objectos de um domínio infinito. Para recuperar
a decidibilidade, basta então restringir a aplicação das regras a apenas indivíduos que
apareçam na base de conhecimento, respeitando a segurança DL, anteriormente definida.
Enquanto que a segurança DL garante que as regras são aplicadas apenas aos indivíduos
que ocorrem numa dada base de conhecimento hibrida MKNF, a sua instanciação (abaixo
definida) garante que são aplicadas a todos eles.
A instanciação3 de uma base de conhecimento hibrida MKNF K = (O, P), é a KB
KG = (O, PG) onde PG é obtido de P por substituição de cada regra r de P com o
conjunto de regras obtido substituindo cada variável em r com constantes de K, de todas
as maneiras possíveis.
Exemplo 4. Considere-se novamente o cenário do Exemplo 1, juntamente com os axio-
mas e asserções do Exemplo 2. Esses axiomas podem ser parte de uma ontologia O de
uma base de conhecimento híbrida MKNF (O, P). Em P pode expressar-se directivas de
recomendação adicionais, em particular aquelas que requeiram a assunção do mundo
2
Apenas se consideram regras não disjuntivas, i.e. sem disjunções no consequente, porque é para essas
que os resultados de tratabilidade computacional de [30] se verificam.
3
Em Inglês, ground instantiation.
26
3. BASES DE CONHECIMENTO MKNF 3.1. Sintaxe
fechado. Por exemplo, imagine-se que se pretende recomendar aos clientes CDs inte-
ressantes que não possuam e cuja avaliação não seja baixa. Tal pode ser representado
através das seguintes regras 4:
K Recommend(x) ←K Piece(x), not owns(x), not LowEval(x),
K interesting(x). (3.5)
K interesting(x) ←K Piece(x), K Piece(y), K owns(y)
not owns(x), K similar(x, y) (3.6)
K similar(x, y) ←K Piece(x), K Piece(y), K Artist(z),
K HasArtist(x, z), K HasArtist(y, z).
(3.7)
K HasArtist(EnConcert, JackJohnson) ← (3.8)
K HasArtist(ToTheSea, JackJohnson) ← (3.9)
K HasArtist(Summertime, GeorgeGershwin) ← (3.10)
K onwns(EnConcert) ← (3.11)
K onwns(Summertime) ← (3.12)
Note-se que a assunção do mundo fechado é aplicada aos predicados owns e LowEval
– recorde-se que este último na ontologia só poderia ser visto sob a perspectiva do mundo
aberto. No caso do predicado owns, é razoável assumir que o conhecimento sobre as
músicas possuídas está completamente disponível. Assim, se não existe nenhum facto
assertando que se possui uma dada música, pode assumir-se que não se a possui. No
caso do predicado LowEval pode acontecer que não exista ainda nenhuma avaliação, e
no entanto, pretende-se a recomendação na mesma: uma música não é considerada para
recomendação apenas quando realmente existe uma avaliação (conhecida) baixa para ela.
Uma tal avaliação pode ter sido atribuída por outros clientes ou pode estar disponível
numa página web de crítica. Por simplicidade, mantém-se essa parte do processo de
raciocínio implícita.
Pelas regras anteriores, uma música é interessante se o cliente possui outro que é
similar 3.6, e duas músicas são similares se tem em comum um mesmo artista 3.7. Note-se
que o predicado Piece é usado para assegurar segurança DL.
Com isto, ao adicionarem-se os factos 3.8- 3.12, pode derivar-se Recommend(ToTheSea),
pois não é conhecida nenhuma avaliação baixa para ToTheSea. Além disso, pode igual-
mente derivar-se, aplicando a regra 3.5, Recommend(RhapsodyInBlue). Note-se como a
componente ontológica contribui com as suas derivações; neste caso, com a derivação de
HasArtist(GeorgeGershwin, RhapsodyInBlue).
Este exemplo mostra que as bases de conhecimento híbridas MKNF permitem obter
4
Assume-se, por simplicidade, que a parte das regras da base de conhecimento são especificas para cada
cliente. Desse modo evita-se a representação explicita de vários clientes, da relação que expressa que CDs
são possuídos por que clientes
27
3. BASES DE CONHECIMENTO MKNF 3.2. Semântica
consequências dos predicados “definidos” tanto na ontologia como nas regras. O resul-
tado pode ainda ser aplicado para derivar consequências subsequentes e acrescentá-las
em qualquer uma das partes da base de conhecimento.
3.2 Semântica
Embora a lógica MKNF tenha sido originalmente definida em [35], e as bases de conheci-
mento híbridas MKNF em [35], com uma semântica com dois valores de verdade, para o
propósito da dissertação interessa apenas, tal como discutido no início do presente capí-
tulo, a semântica apresentada em [30], com três valores de verdade, pelo que, apenas se
apresenta a semântica ai definida 5. À semelhança do que acontece da programação em
lógica, quando se adoptam modelos a três valores de verdade no lugar de dois obtêm-se
modelos mais "cépticos", no sentido em que há menos compromisso com a verdade ou
falsidade dos factos, e portanto, mais fracos do ponto de vista do conhecimento derivá-
vel, mas, em contrapartida, o raciocínio torna-se computacionalmente menos complexo.
De acordo com a referida semântica, o valor de verdade de uma fórmula MKNF é
definido com base numa estrutura de avaliação. Os valores possíveis são t, f ou u, e
têm a ordenação f < u < t 6. Uma estrutura MKNF é um triplo (I, M, N) constituído
por uma interpretação de primeira ordem I e dois pares M = M, M1 e N = N, N1 de
conjuntos de interpretações de primeira ordem, onde M1 ⊆ M e N1 ⊆ N. Tal estrutura
MKNF diz-se total se M = M, M e N = N, N e parcial caso contrário. Uma dada
estrutura MKNF avalia uma fórmula MKNF de acordo com a figura 3.1.
Note-se que é ao impor-se M1 ⊆ M e N1 ⊆ N na definição de estrutura MKNF
garante-se que nenhum fórmula MKNF é avaliada por nenhuma estrutura MKNF como
verdadeira e falsa simultaneamente.
É de notar também, que, embora as estruturas MKNF permitam avaliar fórmulas
MKNF com três valores de verdade, isso só acontece com as que não sejam de primeira
ordem, i.e. nas quais ocorram os operadores modais K ou not . As restantes são avali-
adas apenas com dois valores de verdade, e exactamente com o mesmo valor com que
seriam valoradas na lógica de primeira ordem, dada a interpretação I. Tal é desejável,
uma vez que se pretende satisfazer o critério da fidelidade e, consequentemente, preservar
a semântica das lógicas de descrição, que, como mencionado, são geralmente fragmentos
da lógica de primeira ordem.
Uma interpretação MKNF consiste num par (M, N) de conjuntos não vazios de inter-
pretações de primeira ordem, M e N, com ∅ ⊂ N ⊆ M. Se M = N, então a interpretação
5
Todas as definições subsequentes dizem-lhe respeito, pelo que não se faz a distinção entre modelos a
dois valores e modelos a três valores, que se faz no artigo original.
6
Do Inglês, true, false e undefined, respectivamente. Subsequentemente denota-se por max(C) e min(C),
de acordo com essa ordenação, como o maior, menor, respectivamente, valor de verdade contido em C.
28
3. BASES DE CONHECIMENTO MKNF 3.2. Semântica
(I, M, N)(P(t1, · · · , tn)) =
t sse (tI
1 , · · · , tI
n) ∈ PI
f sse (tI
1 , · · · , tI
n) ∈ PI
(3.13)
(I, M, N)(¬ϕ) =



t sse (I, M, N)(ϕ) = f
u sse (I, M, N)(ϕ) = u
f sse (I, M, N)(ϕ) = t
(3.14)
(I, M, N)(ϕ1 ∧ ϕ2) = min{(I, M, N)(ϕ1), (I, M, N)(ϕ2)} (3.15)
(I, M, N)(ϕ1 ⊃ ϕ2) =
t sse (I, M, N)(ϕ2) ≥ (I, M, N)(ϕ1)
f caso contrário
(3.16)
(I, M, N)(∃x : ϕ) = max{(I, M, N)(ϕ[α/x]|α ∈ ∆)} (3.17)
(I, M, N)(K ϕ) =



t sse (J, M, M1 , N)(ϕ) = t para todo J ∈ M
f sse (J, M, M1 , N)(ϕ) = f para algum J ∈ M1
u caso contrário
(3.18)
(I, M, N)(not ϕ) =



t sse (J, M, N, N1 )(ϕ) = f para algum J ∈ N1
f sse (J, M, N, N1 )(ϕ) = t para todo J ∈ N
u caso contrário
(3.19)
Figura 3.1: Avaliação das fórmula MKNF
(M, N) é denominada total, caso contrário, parcial. Uma interpretação MKNF (M, N) sa-
tisfaz uma fórmula fechada7 ϕ, o que se denota por (M, N) |= ϕ, se e só se:
(I, M, N , M, N )(ϕ) = t
para todo I ∈ M. Se existe uma interpretação que satisfaça ϕ, então ϕ diz-se consistente.
Uma interpretação MKNF é um modelo MKNF de um dada fórmula MKNF fechada ϕ
se:
(i) (M, N) |= ϕ e
(ii) para cada interpretação MKNF (M , N ) com M ⊆ M e N ⊆ N , onde pelos menos
uma das inclusões é estrita e (M , N ) é total se (M, N) é total, existe I ∈ M tal
que (I , M , N , M, N )(ϕ) = t.
Intuitivamente, pode considerar-se uma interpretação MKNF como uma avaliação
hipotética da fórmula considerada, e que a condição (ii) verifica, tendo fixado a avaliação
dos átomos modais not , se a avaliação dos átomos modais K é mínima relativamente à
ordenação dos valores de verdade. Ilustra-se no exemplo seguinte como essa minimiza-
ção é obtida [30].
7
Sem variáveis livres, i.e. não quantificadas.
29
3. BASES DE CONHECIMENTO MKNF 3.2. Semântica
Exemplo 5. Considere-se a fórmula MKNF ϕ (correspondente a duas regras):
(not p ⊃ K q) ∧ (not q ⊃ K p)
Um par de interpretação MKNF (M, N) que satisfaça a condição (i) da definição an-
terior tem de avaliar ambas os conjunctures como verdadeiros. O par de interpreta-
ção MKNF ({{p}, {p, q}}, {{p, q}}) que avalia K p como t e K q como u satisfaz a pri-
meira condição mas não é um modelo MKNF de ϕ uma vez que não satisfaz a condi-
ção (ii) (considere-se (M , N ) = ({∅, {p}, {q}, {p, q}}, {{p, q}}), por exemplo – na ver-
dade, esse par de interpretação MKNF é um modelo MKNF). O operador not é sem-
pre avaliado relativamente ao par de interpretação MKNF (M, N), mesmo quando se
considera a condição (ii). Portanto, para N = {{p, q}}, as duas implicações são, de qual-
quer forma, verdadeiras; e M tem de ser o conjunto de todas as interpretações possíveis,
{{∅, {p}, {q}, {p, q}}, para satisfazer a condição (ii). Assim, obtém-se o par de interpreta-
ção MKNF que avalia K p e K q como u. Tal mostra que o par de interpretação MKNF
inicial não era minimal relativamente à avaliação dos átomos K . De modo similar à mi-
nimização da avaliação de K p de t para u, mudanças de u para f também são possíveis:
mantém-se M = {{p}, {p, q}} e coloca-se N = M. Agora a avaliação de K q é minimi-
zada de u para f, e é fácil verificar que o par de interpretação MKNF resultante é de facto
um modelo MKNF de ϕ.
Uma dada fórmula MKNF fechada ϕ diz-se MKNF-consistente se admite modelo MKNF
e MKNF-inconsistente caso contrário.
Uma fórmula MKNF fechada ψ é consequência lógica de outra fórmula MKNF fechada
ϕ se, para todos os modelos MKNF (M, N) de ϕ, (I, M, N , M, N )(ψ) = t, o que se
denota por ϕ |=3
MKNF ψ.
Em [30] define-se também um modelo canónico, o modelo MKNF bem fundado, que,
similarmente ao que é habitual na programação em lógica, corresponde ao menor modelo
relativamente ao conhecimento derivável.
Um modelo MKNF (M, N) de uma dada fórmula fechada MKNF ϕ é o modelo MKNF
bem fundado de ϕ, se M1 ⊆ M e N1 ⊇ N, para todos os modelos MKNF de (M1, N1) de ϕ.
Como numa base de conhecimento híbrida MKNF arbitrária com domínio contável
infinito existem infinitos modelos MKNF, trabalhar directamente sobre os eles torna-se
inexequível. Portanto, é necessária uma representação finita. A solução, apresentada
em [30], é representar o modelo MKNF através de uma fórmula de primeira ordem cujo
conjunto de modelos (de primeira ordem) correspondem ao próprio modelo MKNF. In-
tuitivamente, uma tal fórmula é obtida primeiro dividindo os átomos modais ocorrendo
na base de conhecimento híbrida MKNF instanciada em átomos verdadeiros e falsos, e
depois construindo a fórmula de primeira ordem com base nos átomos verdadeiros e na
ontologia. Parte-se do conjunto dos átomos K da base de conhecimento instanciada, que
corresponde ao menor conjunto contendo todos os átomos K ocorrendo nela, e, para
30
3. BASES DE CONHECIMENTO MKNF 3.2. Semântica
cada átomo modal not ϕ, um átomo K ϕ. Uma partição parcial (T, F) desse conjunto con-
siste em dois subconjuntos disjuntos entre si, onde, intuitivamente, T contém todos os
átomos modais verdadeiros, F todos os átomos modais falsos, e um terceiro conjunto,
formado pelos elementos do conjunto dos átomos K que não estão nem em T nem em
F, habitualmente denotado por U, corresponde ao que é considerado indefinido. A cada
interpretação MKNF (M, N) pode fazer-se corresponder uma partição parcial (T, F), a
partição parcial induzida por essa interpretação, de acordo com o seguinte:
1. K ϕ ∈ T implica que, para toda a interpretação I em M, (I, M, N)(K ϕ) = t;
2. K ϕ ∈ F implica que, para toda a interpretação I em M, (I, M, N)(K ϕ) = f; e
3. K ϕ ∈ T e K ϕ ∈ F implica que, para toda a interpretação I em M, (I, M, N)(K ϕ) =
u.
As fórmulas de primeira ordem correspondentes à ontologia e aos átomos em T são satis-
feitas exactamente pelas interpretações de M; as fórmulas correspondentes à ontologia e
aos elementos do conjunto de átomos K que não estão em F são satisfeitas exactamente
pelas interpretações de N. É por tal se verificar que é possível representar qualquer mo-
delo MKNF por meio de uma partição parcial.
Em [30] é apresentada uma computação bottom-up sobre os átomos K de uma dada
KB que permite obter a partição parcial correspondente ao seu modelo MKNF bem fun-
dado. Nessa computação são aplicados, sucessivamente, e de forma cumulativa, dois
operadores – um que faz derivações com base na ontologia e outro com base nas regras
– a duas transformações da KB instanciada, que à semelhança do que acontecia com a
transformação apresentada na Secção 2.1, a tornam positiva – uma similar a essa última e
outra que na qual se tem adicionalmente em conta a negação clássica, de modo a garantir
coerência com a negação por omissão. Em [2] é apresentada uma computação bottom-up
alternativa na qual se aplica uma só transformação a uma versão duplicada da base de
conhecimento (ver Secção 4.2), na qual o algoritmo top-down SLG(O) se baseia.
31
4
SLG(O)
Em [1] é apresentada uma extensão do SLG para bases de conhecimento híbridas MKNF
consistente com a semântica bem fundada, o SLG(O) . No caso de queries DL-seguras, é
decidível com complexidade de dados PC, onde C é a complexidade de responder a uma
query na DL usada na KB em causa.
O algoritmo SLG é introduzido, através de um exemplo, na Secção 4.1. Uma defini-
ção detalhada das operações do SLG pode ser consultada em [42]. A Secção 4.2 descreve
a operação que estende o SLG para bases de conhecimento híbridas MKNF, a Resolução
com Oráculo , que incorpora as derivações da ontologia por meio de um oráculo – um
função que, para uma dada query, um dado conjunto de factos, anteriormente derivados,
devolve um conjunto de factos que em conjunto com os anteriores e a ontologia, é sufici-
ente para provar a query. Além disso, essa secção descreve também uma transformação
de duplicação da base de conhecimento – toda a ontologia e cada regra – que é necessá-
ria aplicar previamente à avaliação SLG(O) de modo a garantir coerência, e para permitir
detectar possíveis inconsistências.
4.1 SLG
Uma avaliação SLG corresponde a uma sequência de florestas de árvores de derivação,
obtidas pela aplicação sucessiva de uma conjunto de operações que criam um novo nó,
uma nova árvore, ou marcam uma certa árvore como completamente avaliada. O se-
guinte exemplo clarifica a ideia exposta [1].
32
4. SLG(O) 4.1. SLG
Exemplo 6. Considere-se a seguinte base de conhecimento híbrida MKNF com O vazio:
p(b) ← (4.1)
p(c) ← not p(a) (4.2)
p(X) ← t(X, Y, Z), not p(Y ), not p(Z) (4.3)
p(a) ← p(b), p(a) (4.4)
t(a, a, b) ← (4.5)
t(a, b, a) ← (4.6)
Figura 4.1: Floresta final para a query p(c) a P1. [1]
Considere-se uma query p(c) a K na qual nenhum dos átomos é DL, i.e. nenhum orá-
culo necessita ser usado. A figura 6 mostra a floresta SLG no fim da avaliação. Nela, cada
nó é etiquetado com um número indicando a ordem no qual foi criado na avaliação SLG.
Um nó consiste ou no símbolo fail, ou numa regra formada por um consequente que re-
presenta um dado subgolo atómico e as substituições nele efectuas e por um antecedente
constituído por um conjunto de Adiamentos, seguidos do símbolo |, seguido pelos Golos
ainda a serem examinados. A avaliação começa com a criação da árvore inicial da query
com raiz p(C) ← |p(C) no nó 1. Filhos de nós raiz são criados através da operação Resolu-
ção de Clausulas do Programa tal com na resolução SLD do Prolog. Assim, a avaliação usa a
33
4. SLG(O) 4.2. Oráculo
regra 4.2 para criar o nó 2. O (único possível) literal not p(a) no nó 2 é seleccionado. Este
literal tem um nó subjacente p(a) que não corresponde à raiz de nenhuma árvore na flo-
resta. Assim, a operação SLG Novo Subgolo cria a nova árvore para p(a) (nó 3), cujo filho,
nó 4, é criado por Resolução de Clausulas do Programa usando a regra 4.3. A operação Novo
Subgolo é novamente usada para criar a nova árvore para o literal seleccionado t(a, X, Y )
(nó 5), e nós filhos 6 e 7 são criados pela Resolução de Clausulas do Programa partindo das
regras 4.5 e 4.6. Os últimos nós não têm Golos e são denominadas respostas; além disso,
como também não têm Adiamentos, são respostas incondicionais. Qualquer átomo na ins-
tanciação de uma resposta incondicional é verdadeiro no modelo MKNF bem fundado.
A operação SLG Retorno Positivo é usada para resolver a primeira destas respostas com
o literal seleccionado do nó 4, produzindo o nó 9. O literal seleccionado deste último nó
tem p(a) como seu subgolo subjacente, mas ainda existe uma árvore para p(a) na floresta
e não existem respostas para p(a) retornar. Como existe outra resposta incondicional para
t(a, X, Y ) (nó 7), Retorno Positivo pode ser usado para produzir o nó 10. O subgolo sub-
jacente p(b) é seleccionado, por Novo Subgolo a árvore para p(b) é criada, e determina-se a
certo momento que o subgolo p(b) tem uma resposta incondicional (nó 12); assim, usando
a operação Falha de Negação , o nó falha, nó 14, é criado. Então, a computação, através
de Resolução de Clausulas do Programa e a regra 4.4, produz outro filho para p(a), nó 15,
e resolve p(b) (nó 16). Nesta fase o subgolo p(a) não é nem verdadeiro, já que nenhum
resposta incondicional foi derivada para ele, nem é falso, pois uma das suas possíveis
derivações, nó 9, efectivamente tem um ciclo através da negação. Contudo, no SLG é
possível aplicar a operação Atraso ao literal negativo seleccionado, movendo-o dos Golos
para a direita do símbolo | para os Adiamentos à esquerda do símbolo |. Essa operação
de Atraso produz o nó 17, que é designado resposta condicional, e tem Adiamentos mas não
Golos. Atraso também produz o nó 18 cujo novo literal not p(b) agora falha (dada a res-
posta incondicional do nó 12), produzindo o nó falha 19. Nesta fase, todas as possíveis
operações para nós não reposta em p(a) e nas árvores na qual ele depende foram efec-
tuadas, pelo que esse literal p(a) pode marcar-se como completo (passo 20). O subgolo
completo P(a) não tem respostas, e é então dito falhado e é falso no modelo MKNF bem
fundado de K. Este literal falhado pode ser movido da lista de adiamentos do nó 18 pela
operação de Simplificação produzindo a resposta incondicional nó 21.
O SLG não difere particularmente de outros formalismos de tabulação do tipo Prolog
no caso de programs que não usam negação por omissão (not). Contudo, para a negação
ele introduz o conceito de adiar literais de modo a ser possível encontrar testemunhas
de falha em qualquer parte de uma regra, juntamente com o conceito de simplificar esses
literais adiados sempre que o seu valor de verdade se torna conhecido.
4.2 Oráculo
Como o SLG(O) é aplicado a bases de conhecimento que contém, além de um programa
em lógica, uma ontologia DL, é necessário ter em conta certos aspectos que não são tidos
34
4. SLG(O) 4.2. Oráculo
em conta no SLG. Um deles é a coerência: ao introduzir-se a negação clássica com a com-
ponente ontológica, têm de garantir-se que a negação por omissão é coerente com ela. Se
uma KB têm como consequência lógica que um dado átomo A é falso, então deve inferir-
se também que a sua negação por omissão, not A, é verdadeira. Assim, o SLG(O) tem
de proceder de modo a que a derivação de not A não assente apenas na falha em derivar
A, como acontece na programação em lógica. Para isso, transforma-se a base de conheci-
mento, duplicando-a com novos predicados, de modo a ter-se a verdade e a não falsidade
dos predicados originais representadas por predicados distintos, garantindo-se que os
que representam a não falsidade não são deriváveis quando a negação clássica dos pre-
dicados originais que lhes correspondem o for.
Essa transformação é definida do seguinte modo. Seja K = (O, P) uma base de conhe-
cimento hibrida MKNF. Introduz-se um novo predicado Ad e NA para cada predicado A
que ocorre em K e construtivamente define-se:
1. Od substituindo cada predicado A em O por Ad; e
2. Pd transformando cada regra
K H(tH) ← K A1(tA1 ), · · · , K An(tAn ), not B1(tB1 ), · · · , not Bm(tBm ) (4.7)
ocorrendo em P em duas regras:
(i)
K H(tH) ← K A1(tA1 ), · · · , K An(tAn ), not Bd
1(tB1 ), · · · , not Bd
m(tBm )
e
(ii) (a)
K Hd
(tH) ← K Ad
1(tA1 ), · · · , K Ad
n(tAn ), not B1(tB1 ), · · · , not Bm(tBm ),
not NH(tH), se H(tH) é um átomo DL;
(b)
K Hd
(tH) ← K Ad
1(tA1 ), · · · , K Ad
n(tAn ), not B1(tB1 ), · · · , not Bm(tBm )
se H(tH) é um átomo não DL.
Define-se a base de conhecimento híbrida MKNF duplicada Kd = (O, Od, Pd).
Intuitivamente, na base de conhecimento duplicada A representa a verdade de A na
base de conhecimento original, enquanto que Ad representa a não falsidade de A na base
de conhecimento original. Os átomos da forma NH(tH) são introduzidos para distinguir
as regras que podem ser afectadas pela derivação da negação clássica do seu consequente
35
4. SLG(O) 4.2. Oráculo
das que não podem. Todas as operações SLG(O) anteriormente apresentadas são apli-
cáveis às bases de conhecimento híbridas MKNF duplicadas (e não às bases de conheci-
mento originais a que correspondem).
Outro aspecto em que SLG(O) difere do SLG é o de que para suportar bases de co-
nhecimento híbridas MKNF (em vez de apenas programas em lógica), a avaliação tem de
aplicar não só as regras do programa como também os axiomas e asserções da ontologia.
Para isso, o SLG(O) recorre a mecanismos de inferência DL exteriores, aos quais lança as
queries que se revelem necessárias. Como as bases de conhecimento hibridas MKNF são
paramétricas quanto à DL usada, esse mecanismo de inferência é visto em SLG(O) como
um oráculo. Sempre que o SLG(O) seleccione um literal que esteja definido na ontolo-
gia, o mecanismo de inferência do oráculo é chamado se esse literal não for consequência
das regras isoladamente. Como pode dar-se o caso de um tal literal também não ser
consequência da ontologia isoladamente, mas sim da combinação da ontologia com as
regras, define-se o oráculo de modo a devolver um conjunto de factos cuja derivação seja
suficiente para o provar, dados os factos anteriormente derivados.
Numa base de conhecimento híbrida MKNF, um átomo S é verdadeiro se é derivável
das regras ou da ontologia DL. O SLG define uma operação Resolução de Clausulas do
Programa que trata o primeiro caso. Agora introduz-se a operação Resolução com Oráculo
que trata o último.
A próxima definição caracteriza o comportamento de um oráculo abstracto, que com-
puta derivações de acordo com a ontologia DL O, ao qual a operação Resolução com Orá-
culo recorre. Define-se uma função de transição oráculo que, dada a interpretação indu-
zida pela floresta SLG(O) , computa num único passo todos os átomos possivelmente re-
queridos para provar um golo S. Por outras palavras, um tal oráculo, quando perante S
e a floresta F, não deterministicamente devolve num passo um conjunto de átomos ins-
tanciados L tal que: para cada L ∈ L existe pelo menos uma regra com L no consequente
no programa instanciado PG, e se L for adicionado a O aumentado com IF , a teoria es-
tendida imediatamente deriva S. Apenas se tem de ter em conta interrogar, apropriada-
mente, O ou o seu duplicado Od na base de conhecimento híbrida MKNF duplicada, e
estender O apenas com a parte positiva de IF .
Definição 7. Seja Kd = (O, Od, Pd) uma base de conhecimento hibrida MKNF dupli-
cada, S um subgolo instanciado, L um conjunto de átomos instanciados tal que cada
L ∈ L é unificável com pelo menos um consequente de uma regra em Pd, e I+
F =
IF  {not A | not A ∈ IF }. O oráculo completo para O, denotado por compTO, é defi-
nido por
compTO(IF , S, L)
se e se se
O ∪ I+
F ∪ L |= S, ou
Od
∪ I+
F ∪ L |= S
36
4. SLG(O) 4.2. Oráculo
Considere-se uma base de conhecimento híbrida MKNF K contendo a ontologia O =
{C F E}, {C(a)} . Assuma-se que IF é vazia, e que existe pelo menos uma regra cujo
consequente unifica com F(a). Considere-se a query a E(a). Assim, compTO(∅, E(a), {F(a)})
verifica-se porque O ∪ {F(a)} |= E(a). Portanto, derivar F(a) das regras seria suficiente
para concluir que E(a) é verdadeiro em todos os modelos MKNF bem fundados.
Os oráculos completos são usados para definir a operação Resolução com Oráculo ,
que não tem correspondência no SLG. Seja Kd = (O, Od, Pd) uma base de conhecimento
híbrida MKNF duplicada. Dada uma floresta Fn de uma avaliação SLG(O) de Kd, Fn+1
pode ser produzido do seguinte modo.
Definição 8. Contenha Fn uma árvore com nó raiz N = S ← |S, e suponha-se que se tem
compTO(IFn
, S, G). Assuma-se que N não contém nenhum filho N = S ← |G em Fn.
Então adicione-se N como filho de N.
O conjunto O ∪ I+
F ∪ L (e, de modo semelhante, Od ∪ I+
F ∪ L) pode ser inconsistente
mesmo que o modelo MKNF bem fundado de K exista. Consequentemente, um tal orá-
culo completo potencialmente permite obter grande número de derivações inúteis para
derivar S se K é MKNF-consistente. Veja-se o seguinte exemplo [1].
Exemplo 9. Considere-se a base de conhecimento híbrida MKNF contendo a ontologia
O = {C ¬D, E F}, {C(a)} . Assuma-se que IF é vazio e considere-se a query
E(a). Se O fosse estendida com D(a), O ficaria inconsistente, e assim, todos as afirmações
seriam deriváveis de O, inclusivamente E(a). Ou seja, tem-se compTO(∅, E(a), {D(a)})
por O ∪ {D(a)} ser inconsistente. Contudo, como K é MKNF-consistente, D(a) não pode
ser derivada, pelo que a árvore correspondente acaba por falhar em qualquer avaliação
SLG(O) .
A complexidade de todo o procedimento SLG(O) depende da complexidade do orá-
culo e do número de resultados devolvidos por cada chamada ao oráculo. Mesmo que
computação de um resultado do oráculo, i.e. a chamada ao mecanismo exterior de raci-
ocínio DL, seja tratável, a complexidade (de dados) do SLG(O) pode ainda ser exponen-
cial, se a quantidade soluções geradas pelo oráculo for exponencial (e.g. se se retornam
todos os superconjuntos de uma solução). Tal sucede porque a definição de oráculo,
anteriormente apresentada, é demasiado geral. Para se obterem resultados de complexi-
dade mais interessantes, algumas assunções tem de ser feitas relativamente ao oráculo.
Define-se, de acordo com isso, o oráculo parcial correcto.
Definição 10. Seja Kd = (O, Od, Pd) uma base de conhecimento hibrida MKNF dupli-
cada, S um subgolo, e L um conjunto de átomos instanciados tal que cada L ∈ L é unifi-
cável com pelo menos um consequente de regra em Pd (designados átomos do programa).
Um oráculo parcial para O, denotado por pTO, é a relação pTO(IF , S, L) tal que se
pTO(IF , S, L)
37
4. SLG(O) 4.2. Oráculo
então
O ∪ I+
F ∪ L |= S e O ∪ I+
F ∪ L consistente, ou
O ∪ I+
F ∪ L |= S e Od
∪ I+
F ∪ L consistente.
Um oráculo parcial pTO é correcto relativamente a compTO se e só se, para qualquer KB
MKNF-consistente Kd, ao se substituir compTO por pTO, o SLG(O) sucede exactamente
para o mesmo conjunto de queries.
Note-se que, como mencionado, o oráculo completo gera muitas respostas desneces-
sárias, e pode ser substituído por um oráculo parcial que assegure correcção. Por exem-
plo, considere-se o oráculo que não devolva superconjuntos de de outros resultados. Um
tal oráculo parcial é evidentemente correcto. Uma outra melhoria na eficiência, seria a
restrição a conjuntos consistentes O ∪ I+
Fn
∪ L e a Od ∪ I+
Fn
∪ L. Se a base de conheci-
mento é MKNF-consistente, então procurar por derivações baseadas em inconsistências
é, de qualquer modo, inútil: apenas se criam, nas árvores da floresta de avaliação, um
número potencialmente grande de filhos que não resultam em respostas incondicionais.
Nesse sentido, os oráculos parciais estão limitados a apenas derivação que façam sentido.
Fazendo assunções na complexidade e número de resultados de um oráculo, o se-
guinte resultado de complexidade é obtido. Seja Kd uma base de conhecimento híbrida
MKNF duplicada, e pTO um oráculo parcial correcto para O, tal que para cada golo S,
a cardinalidade de pTO(IF , S, L) é limitada por um número polinomial de átomos do
programa. Além disso, assuma-se que computar cada elemento de pTO é decidível com
complexidade de dados C. Então, a avaliação SLG(O) de uma query a Kd é decidível com
complexidade de dados PC.
38
5
NoHR
Embora já tenham sido formalizadas várias outras abordagens às bases de conhecimento
híbridas além do MKNF híbrido, poucas delas foram implementadas. Entre as menciona-
das na introdução, apenas para programas dl, programas HEX e regras híbridas sob semântica
bem fundada se conhecem implementações: NLP-DL 1 e DReW [43], dlhex 2, e HD-rules 3,
respectivamente.
O NLP-DL implementa os programas dl sob a semântica dos modelos estáveis e bem
fundados. A ideia essencial dos programas dl é incluir queries à ontologia nas regras,
sendo o fluxo de informação entre os dois componentes, ontologia e programa, bidirec-
cional – pode fornecer-se dados de entrada às queries e as respostas às queries afectam o
que pode ser inferido nas regras. A implementação integra os raciocinadores DLV [33] e
RACER [22] – a utilização do RACER, torna-a compatível com o OWL, e permite raciocí-
nio sobre os construtores da DL SHIQ.
O DReW reescreve um programa dl sobre uma ontologia expressável em Datalog 4 num
programa Datalog com negação e chama um raciocinador baseado em regras, o DLV, para
efectuar o raciocínio. Deste modo mitiga-se o custo adicional de se recorrer a um racioci-
nador DL externo. Nesse aspecto, é similar ao NoHR, que também reescreve a ontologia
em regras e recorre ao um raciocinador de regras para as avaliar. Note-se contudo que a
abordagem dos programas dl está entre as que mantém os dois componentes da KB sepa-
rados tanto sintática como semanticamente, i.e. são expressos em termos de vocabulários
1
http://www.kr.tuwien.ac.at/research/systems/semweblp/
2
http://www.kr.tuwien.ac.at/research/systems/dlvhex/
3
http://www.ida.liu.se/hswrl/
4
Tal é o caso do EL+
⊥e DL-LiteR .
39
5. NOHR
disjuntos e é-lhes atribuída semânticas distintas, o que impede que os critérios da estrei-
teza e flexibilidade sejam satisfeitos, contrariamente ao que acontece com o MKNF híbrido,
em que o NoHR se baseia. Presentemente, o DReW suporta o OWL 2 RL, e o OWL 2 QL,
e implementa apenas a semântica bem fundada.
Os programs HEX são uma extensão dos programas em lógica não monótonos sob
semântica dos modelos estáveis com o suporte para átomos externos de ordem superior.
Os átomos externos são uma forma genérica de built-in que permite não só aceder a
raciocinadores DL, como a módulos de software externos genéricos. O dlvhex é uma
implementação de um grande fragmento dos programas HEX. A implementação inclui
diversos plug-in para a avaliação dos átomos externos. O plug-in que diz respeito às DL
utiliza o raciocinador DL RACER, é compatível com o OWL e suporta a DL SHOIN(D).
O HD-rules implementa as regras híbridas sob semântica bem fundada. Nesta abordagem
as variáveis e constantes das regras podem ser restringidas a determinados conceitos da
ontologia. Um modelo bem fundado do programa, respeitando as restrições, é depois
computado para cada modelo da ontologia. A implementação usa XSB e o raciocinador
DL Pellet 5.
As vantagens das bases de conhecimento híbridas MKNF face às outras abordagens,
nomeadamente às que são subjacentes ao sistemas mencionados, foram já discutidas,
pelo que se dispensa uma análise mais profunda dos sistemas referidos e se opta por
estudar mais aprofundadamente apenas o sistema NoHR [28].
O NoHR é um plug-in do Protégé que permite adicionar um conjunto de regras (tal
como se conhecem na programação em lógica) não monótonas a uma ontologia EL+
⊥, e in-
terrogar a base de conhecimento combinada. O formalismo subjacente é a semântica bem
fundada para as bases de conhecimento híbridas MKNF. Portanto, nenhuma restrição
além do segurança-DL é imposta nas regras que podem ser escritas. A ferramenta baseia-
se no procedimento SLG(O) e, com o auxilio do raciocinador OWL 2 EL ELK, traduz a
ontologia para regras, e submete o resultado, juntamente com as regras não monótonas,
ao sistema de querying top-down XSB. Com o plug-in resultante, mesmo queries a onto-
logias de grande dimensão, como as SNOMED CT, aumentadas com grande quantidade
de regras, podem ser processadas com num tempo de resposta interactivo, após o breve
período de pré-processamento inicial. Algumas funcionalidades e características adicio-
nais do NoHR são: carregamento e edição programas em lógica, e definição predicados
com aridade arbitrária; opção por uma ou várias respostas para cada query; terminação
da resposta às queries; e a robustez relativamente a inconsistências entre a ontologia e as
regras.
Dado que no SLG(O) a definição de oráculo é abstracta, para implementar esse al-
goritmo foi necessário definir-se previamente um oráculo SLG(O) para a DL suportada,
EL+
⊥. Do ponto de vista teórico, esse oráculo corresponde à tradução da ontologia para re-
gras não monótonas equivalentes quanto às respostas a queries, e a sua avaliação através
5
Embora utilize um raciocinador DL que suporta completamente o OWL-DL, a implementação é ainda
um protótipo, e não é claro quais os construtores sobre os quis raciocina correctamente.
40
5. NOHR 5.1. Redução da TBox
do próprio SLG(O) . Deste modo, eliminou-se a necessidade de recorrer raciocinadores
DL externos e reduziu-se o SLG(O) a um algoritmo já implementado, de forma compro-
vadamente efectiva – o SLG, aplicado no XSB. Como a ontologia de entrada pode conter
construtores que não podem ser expressos ou não têm significado sob a forma de regras,
ela é previamente reduzida de modo a esses construtores serem, sem perda de informa-
ção relevante, eliminados – é com esse propósito que se recorre ao serviço de classificação
do raciocinador DL ELK. Essa redução é descrita na Secção 5.1. A tradução propriamente
dita é apresentada na Secção 5.2. Por fim, na Secção 5.3, descreve-se o sistema implemen-
tado.
5.1 Redução da TBox
Para obter as regras correspondentes à ontologia o sistema efectua o seguinte preproces-
samento. Em primeiro lugar o algoritmo implementado no ELK é usado para tornar
explicito o conhecimento implícito da base de conhecimento, i.e. acrescentam-se axio-
mas e asserções que não estão incluídas na ontologia, mas que podem, de alguma forma,
derivar-se dela. Depois disso, removem-se alguns axiomas redundantes quanto às res-
postas a queries.
Como mencionado, a ideia base do oráculo é traduzir a ontologia para regras não
monótonas semanticamente equivalentes. Um dos aspectos a ter em conta num tal pro-
cedimento é a impossibilidade de se traduzir directamente certos axiomas. Tal é o caso
de axiomas de subsunção de conceitos que contenham existenciais ∃R.C do lado direito.
Ora, esses axiomas nunca podem, por si só, contribuir para as derivações do oráculo.
Considere-se, por exemplo, a KB híbrida dos Exemplos 2 6 e 4. Um oráculo não po-
deria derivar nenhuma asserção com base no axioma Composer ∃HasComposed e
na asserção Composer(GustavMahler). No entanto, os axiomas ∃HasArtist−
Artist,
HasComposed−
HasArtist e Composer ∃HasComposed em conjunto, já permitem,
indirectamente, concluir que com Composer(GustavMahler) se pode derivar Artist(Gus
tavMahler). Assim, a classificação é aplicada, antes da tradução propriamente dita, para
tornar explicita tais ligações implícitas, e com isso, todas as subsunções de conceitos com
∃R.C poderem ser reescritas ou removidas.
O procedimento para a classificação de TBox EL+
⊥ é descrito em [29]. Primeiro, um
conjunto inicial input é definido de modo a conter uma anotação init(A) para cada con-
ceito atómico A em O. Depois, um conjunto de regras de inferência EL+
⊥ é aplicado exaus-
tivamente a input, originando Closure como resultado final, o qual contém os axiomas
deriváveis de O e anotações da forma init(C) e C →R D, onde a última representa o
facto de, para dois conceitos (inicializados) C e D, C ∃R.D ser também derivável.
As regras de inferência EL+
⊥ são definidas apenas para os axiomas da TBox. Contudo,
6
Note-se que a ontologia desse exemplo não está em EL+
⊥. No entanto, serve os propósitos da presente
exposição.
41
5. NOHR 5.2. Tradução
as asserções de conceitos também tem de ser consideradas. Por exemplo, ∃R.C(a) jun-
tamente com ∃R.C D, torna D(a) derivável. A solução adoptada, adaptada de [29],
foi aplicar uma transformação N que reescreve asserções de conceitos C(a) na forma de
axiomas de subsunção de conceitos Na C, assumindo um conjunto fixo de conceitos
atómicos Na, que não ocorrem em O, para cada constante a de O. Note-se que esta trans-
formação não se aplica a asserções de relação, uma vez que não ocorrem nelas conceitos
da forma ∃R.C. Tem-se finalmente que, para uma dada ontologia consistente O e um
certo axioma α não contendo nenhum conceito atómico da forma Na, O |= α se e só se
N(O) |= N(α).
A ontologia reduzida é definida do seguinte modo.
Definição 11. Seja O uma ontologia EL+
⊥, input um conjunto expressões init(A) para
cada conceito atómico A de O, e Closure o fecho de input relativamente a N(O) conforme
as regras de inferência EL+
⊥. A ontologia reduzida de O é obtida de O = N(O) ∪ Closure
do seguinte modo.
1. removem-se todas as anotações da forma init(C), C →R D, e os axiomas da forma
C ∃R.D de O ;
2. removem-se todos os subconceitos da forma ∃R.D do lado direito de qualquer axi-
oma C D1 D2 ∈ O ; se nenhum conjuntor restar, remove-se completamente o
axioma;
3. substituem-se todos os axiomas de subsunção de conceito da forma Na C que
restarem por C(a), para cada constante a de O.
Note-se que input contém uma anotação init(Na) para cada constante a. Além disso,
os passos 1. e 2. removem todos os subconceitos da forma ∃R.D dos axiomas que repre-
sentam asserções de conceitos, resultantes da transformação N. Portanto, a ontologia
reduzida não contém existenciais, nem em asserções nem no lado direito de axiomas.
Mostra-se em [28] que a ontologia reduzida de O deriva as mesmas asserções atómicas
que O.
Lema 12. Seja O uma ontologia EL+
⊥, O a ontologia reduzida O, A um conceito atómico e P uma
relação atómica. Então O |= A(a) se e só se O |= A(a) e O |= P(a, b) se e só se O |= P(a, b).
Com esse resultado, é mostrado que O pode ser substituída pela ontologia reduzida
e ainda se obtém um oráculo parcial correcto.
5.2 Tradução
Após a redução da ontologia pode proceder-se à sua tradução para regras. As únicas
questões ainda em aberto são a coerência e a detecção de inconsistências MKNF. Recorde-
se que a coerência assegura que quando se infere uma negação clássica também se infere
42
5. NOHR 5.2. Tradução
a correspondente negação por omissão. Desse modo é possível, por exemplo, derivar
de C ⊥, C(a) ← not D(a), e D(a) ← not C(a) que C(a) é falso e D(a) é verdadeiro.
No SLG(O) recorre-se à noção de base de conhecimento duplicada, e os átomos especiais
NH(ti) são usados para representar uma query ¬H(ti) ao oráculo. Portanto, ao traduzir-
se uma ontologia onde ocorra ⊥, deve também ter-se em conta o efeito pretendido para
esses predicados. Evidentemente, se ⊥ não ocorrer em O então considerar a KB original,
sem duplicação, é suficiente, e pode ignorar-se completamente os mencionados predica-
dos especiais.
De modo a circunscrever os casos a considerar pela tradução, são assumidas as se-
guintes simplificações. Primeiro, na ontologia reduzida os conceitos C ocorrendo em
asserções C(a) ou axiomas C D são todos da forma C1 · · · Cn, com n > 0. Tais as-
serções ou axiomas podem repartir-se por um conjunto equivalente de n asserções Ci(a)
ou axiomas C Ci, respectivamente, para 1 ≤ i ≤ n. Além disso, assume-se, sem perda
de generalidade, que ⊥ não ocorre no lado esquerdo de nenhum axioma de subsunção.
Sabe-se que ⊥ C e ∃R.⊥ são ambos equivalentes a ⊥, e que ⊥ C é sempre verdadeiro,
pelo que não é necessário considerer tais casos. Finalmente, para , apenas os axiomas
da forma C e subconceitos da forma ∃R. merecem atenção. Os axiomas (a),
C , são irrelevantes; C D corresponde simplesmente a C D. Assim, não
é considerado em asserções, nem lado direito de axiomas, e nem em conjunções no lado
esquerdo de axiomas.
Conceitos arbitrários são traduzidos para os conjuntos de átomos correspondentes,
do seguinte modo.
Definição 13. Seja C um conceito EL+
⊥ sem ocorrências de ⊥, x uma variável, e X um
conjunto de variáveis com x ∈ X. Define-se tr(C, x) do seguinte modo:
tr(C, x) =



{A(x)} sse C = A
∅ sse C =
tr(C1, x) ∪ tr(C2, x) sse C = C1 C2
{R(x, y)} ∪ tr(D, y) sse C = ∃R.D
(5.1)
onde y ∈ X é uma nova variável não usada anteriormente. Obtém-se tr(C, x)d de tr(C, x)
substituído todos os predicados P em tr(C, x) com Pd, e, dado um conjunto de átomos
S, ¯S é a sequência de todos os átomos contidos em S separada por “,”.
Com base na função tr, define-se a tradução da ontologia para regras, do seguinte
modo.
Definição 14. Seja K = (O, P) uma base de conhecimento hibrida MKNF com O redu-
zido e consistente. Define-se Pd
O de O, onde A é um conceito atómico, C um conceito,
D um conceito não atómico, R, Ri, S relações, e a, b indivíduos, como o menor conjunto
contendo:
43
5. NOHR 5.2. Tradução
(a1) para cada A(a) ∈ O:
A(a) ←
Ad(a) ← not NA(a)
(a2) para cada R(a, b) ∈ O:
R(a, b) ←
Rd(a, b) ← not NR(a, b)
(t1) para cada A ∈ O:
A(x) ←
Ad(x) ← not NA(x).
(c1) para cada C A ∈ O:
A(x) ← tr(C, x)
Ad(x) ← tr(C, x)d, not NA(a)
(c2) para cada R S ∈ O:
S(x, y) ← R(x, y)
Sd(x, y) ← Rd(x, y), not NS(x, y)
(r1) para cada R1 ◦ · · · ◦ Rk S ∈ O:
S(x1, y) ← R1(x1, x2), · · · , Rk(xk, y)
Sd(x1, y) ← Rd
1(x1, x2), · · · , Rk
d(xk, y), not NS(x1, y)
(i1) para cada A ⊥ ∈ O:
NA(x) ←
(i2) para cada D ⊥ ∈ O:
{NA(y) ← tr(D, x)  {A(y)} | A(y) ∈ tr(D, x)} ∪
{NR(y, z) ← tr(D, x)  {R(y, z)} | R(y, z) ∈ tr(D, x)}
Criam-se em Pd
O as regras que representam O e Od. Novamente, se ⊥ não ocorre nelas
podem dispensar-se todas as regras com predicados duplicados e (i1) e (i2) em nada con-
tribuem. Os literais not NA(x) e not NS(x, y) são adicionados às regras duplicadas de
acordo com a ideia de duplicação expressa na definição de base de conhecimento híbrida
MKNF duplicada, apresentada na secção 4.2: assegura-se que sempre que dado átomo
A(a) é classicamente falso se pode derivar, das regras resultantes da tradução, que Ad(a)
é falso, mas não necessariamente que A(a) é falso, o que permite detectar inconsistências
MKNF. Essa é também a razão pela qual (i1) e (i2) não produzem regras duplicadas: áto-
mos baseados em predicados da forma NCd ou NRd nunca são utilizados.
É também demonstrado em [28] que os programas resultantes da aplicação da tra-
dução apresentada derivam as mesmas asserções atómicas que as KB duplicadas que os
originam.
44
5. NOHR 5.3. Implementação
Lema 15. Seja O uma ontologia reduzida EL+
⊥, A um conceito atómico e P uma relação atómica.
O |= A(a) se e só se Pd
O |= A(a) e Od |= Ad(a) se e só se Pd
O |= Ad(a); e, de modo semelhante,
O |= P(a, b) se e só se Pd
O |= P(a, b) e Od |= Pd(a, b) se e só se Pd
O |= Pd(a, b).
Assim, pode definir-se um oráculo parcial correcto baseado em Pd
O, do seguinte modo.
Definição 16. Seja Kd = (O, Od, Pd) uma base de conhecimento MKNF duplicada, onde
O é uma ontologia EL+
⊥. Seja O a ontologia reduzida de O. Define-se o oráculo EL+
⊥de
O, denotado por pTEL
O , como o oráculo parcial tal que pTEL
O (I, S, L) se só se Pd
O ∪ I ∪
L |=WF S, onde I e L são os conjuntos das regras correspondentes aos literais de I e L,
respectivamente.
Com o último resultado, sabe-se que em vez de usar dois raciocinadores, um para a
ontologia e outro para as regras, pode simplificar-se todo o processo integrando ambas as
fases, a resolução propriamente dita e a computação do oráculo, num único raciocinador
de regras. É também demostrado que tal abordagem é decidível com complexidade de
dados polinomial.
5.3 Implementação
Figura 5.1: Arquitectura do sistema NoHR [28]
Os dados de entrada do plug-in consistem num ficheiro OWL, que pode ser manipulado,
como habitualmente, no Protégé, e um ficheiro de regras. Para o último, é fornecido um
separador etiquetado “NoHR Rules” que permite carregar, guardar e editar ficheiros de
regras num painel de texto. A sintaxe segue as convenções do Prolog, pelo que a primeira
regra do Exemplo 4, por exemplo, pode ser escrita do seguinte modo
Recomend(X) :- Piece(X), not owns(X), not LowEval(X), interesting(X).
Um separador “NoHR Query” (ver a figura 9.3 do Capítulo 9) também permite visu-
alizar as regras, mas o seu principal propósito é lançar as queries à base de conhecimento
(constituída pela ontologia e as regras carregadas). Sempre que uma primeira query é
45
5. NOHR 5.3. Implementação
lançada, o tradutor é iniciado, chamando o raciocinador ELK, para classificar a ontologia
e retornar os axiomas inferidos para o tradutor. Depois, é verificado se alguma disjun-
ção ocorre na ontologia para determinar se a tradução deve ou não incluir a duplicação
das regras. As regras reunidas, tanto resultantes da tradução da ontologia como as do
programa de entrada, são reformatadas (para, por exemplo, serem permitidos predica-
dos capitalizados, tanto na ontologia como nas regras, apesar do XSB não os permitir).
O programa resultante é transferido para o XSB através do InterProlog, que é front-end
open-source para Java, e permite a comunicação entre Java e Prolog.
Seguidamente, a query é lançada, através do InterProlog, ao XSB e as repostas são de-
volvidas ao processador de queries, que as recolhe e constrói uma table mostrando para
que substituições de variáveis se obtém valorações verdadeiras, indefinidas, ou inconsis-
tentes. Essa tabela pode ser visualizada no separador “Result” do painel “Output” (ver a
figura 9.3 do Capítulo 9).
Uma vez que uma query tenha sido respondida, outras podem ser lançadas sem que
o sistema repita o preprocessamento. Se os dados da ontologia ou das regras forem al-
terados, então o sistema oferece a opção de recompilação, mas sempre restrita à parte
alterada.
A versão original do NoHR está disponível em http://centria.di.fct.unl.
pt/nohr.
46
6
Raciocínio em DL-LiteR
Em [9] estudam-se algumas técnicas de raciocínio DL para DL-LiteR . Nomeadamente
investiga-se a satisfazibilidade de ontologias DL-LiteR e as suas consequências lógicas
(ver Secção 6.3). Mostra-se que é possível reduzir a verificação de subsunção – i.e. que um
dado axioma de subsunção é consequência lógica da ontologia – e verificação de pertença
– i.e. que uma dada asserção de pertença é consequência lógica da ontologia – à satis-
fazibilidade. Mostra-se também que é possível verificar a satisfazibilidade de uma dada
ontologia, com TBox positiva, através de uma interpretação canónica (ver Secção 6.1) dela.
Quando a sua TBox tem axiomas negativos, recorre-se à interpretação correspondente ao
modelo minimal da ABox (ver definição 23) e a um fecho negativo da TBox (secção 6.2).
No contexto desta dissertação, dado o seu desenvolvimento teórico, esses resultados são
particularmente relevantes, e amplamente aplicados.
6.1 Interpretação canónica
Começa-se por introduzir a noção de interpretação canónica de uma ontologia, i.e. de uma
interpretação que é representante de qualquer possível modelo dela, no sentido em que
qualquer modelo tem de definir extensões (de conceitos e relações) que contenham as
extensões definidas nessa interpretação. Tal interpretação é particularmente importante,
porque permite determinar se uma ontologia é satisfazível.
Para simplificar a exposição é adoptada a seguinte função, que mapeia uma relação
47
6. RACIOCÍNIO EM DL-LiteR 6.1. Interpretação canónica
básica e duas constantes numa asserção de pertença:
ga(Q, a, b) =



P(a, b), se Q = P
P(b, a), se Q = P−
(6.1)
Para obter a interpretação canónica, define-se um operador que computa um conjunto
de asserções de pertença que representa a interpretação canónica. Nesse conjunto, cada
asserção A(a) (resp., P(a, b)) indica que, na interpretação canónica, a (resp., (a, b)) está na
extensão de A (resp., P). Tal computação é baseada na noção da aplicabilidade de uma
subsunção a uma asserção – i.e. de um certo axioma poder ser aplicado a uma asserção,
da ABox ou obtida por aplicações anteriores, para inferir uma nova asserção – definida
do seguinte modo.
Definição 17. Seja S um conjunto de asserções DL-LiteR e Tp um conjunto de subsunções
positivas DL-LiteR . Então uma subsunção α diz-se aplicável em S a uma asserção f ∈ S se
• α = A1 A2, f = A1(a) e A2(a) ∈ S;
• α = A ∃Q, f = A(a), e não existe nenhuma constante b tal que ga(Q, a, b) ∈ S;
• ∃Q A, f = ga(Q, a, b), e A(a) ∈ S;
• ∃Q1 ∃Q2, f = ga(Q, a, b), e não existe nenhuma constante c tal que ga(Q1, a, c) ∈
S;
• Q1 Q2, f = ga(Q1, a, b), e ga(Q, a, b) ∈ S.
Os axiomas aplicáveis podem ser usados (aplicados) para construir o resultado do ope-
rador anteriormente mencionado, passo a passo, partindo da ABox. Em cada passo da
construção, um axioma da TBox é aplicado a uma asserção do conjunto de asserções já
obtidas. Aplicar uma axioma significa, assim, obter um novo conjunto de asserções (que
estende o anteriormente obtido) onde o referido axioma já não seja aplicável. Em alguns
casos, tal obriga a que a nova asserção utilize novas contantes, que não ocorram nas
restantes asserções. Assim, este processo depende da ordem em que são selecionados
os axiomas a ser aplicados, das asserções a que os últimos são aplicados, e das cons-
tantes que são introduzidas, em cada passo. Portanto, vários conjuntos sintaticamente
distintos poderiam resultar dele. Como se pretende que o resultado seja único para cada
ontologia, fixa-se um conjunto de constantes, ordenadas lexicograficamente, e assume-se
que se selecionam os axiomas, as asserções e as constantes por ordem lexicográfica. Mais
precisamente, dada uma ontologia O = T , A , denota-se por ΓA o conjunto de símbolos
de constante que ocorrem em A. Assume-se também a existência de um conjunto infi-
nito, ΓN , de constantes que não ocorrem em A, tal que o conjunto ΓC = ΓA ∪ ΓN está
totalmente ordenado lexicograficamente.
48
6. RACIOCÍNIO EM DL-LiteR 6.1. Interpretação canónica
Definição 18. Seja O = T , A uma ontologia DL-LiteR , Tp o conjunto de subsunções
positivas em T , n o número de asserções de A, e ΓN o conjunto de constantes anterior-
mente definido. Assuma-se que as asserções de A estão numeradas de 1 a n segundo a
sua ordem lexicográfica, e considere-se a seguinte sequência.
• S0 = A
• Sj = Sj ∪ {fnew}, onde fnew é uma asserção numerada com n + j + 1 em Sj+1 e
obtida do seguinte modo.
– Seja f a primeira asserção de Sj tal que existe uma subsunção α ∈ Tp aplicável
em Sj a f.
– Seja α a primeira subsunção, lexicograficamente, aplicável em Sj a f.
– Seja anew uma constante de ΓN que segue lexicograficamente todas as cons-
tantes ocorrendo Sj.
A asserção fnew é obtida de acordo com seguintes regras:
(cr1) se α = A1 A2 e f = A1(a) então fnew = A2(a);
(cr2) se α = A ∃Q e f = A(a) então fnew = ga(Q, a, anew);
(cr3) se α = ∃Q A e f = ga(Q, a, b) então fnew = A(a);
(cr4) se α = ∃Q1 ∃Q2 e ga(Q1, a, b) então fnew = ga(Q2, a, anew);
(cr5) se α = Q1 Q2 e f = ga(Q1, a, b) então fnew = ga(Q2, a, b).
Define-se chase(O) como o conjunto de asserções obtidas da união infinita de todos os
Sj:
chase(O) =
j∈N
Sj
Na definição anterior, cr1, cr2, cr3, cr4, cr5 indicam as cinco regras que são usada na
construção de chase, cada uma correspondendo a uma diferente aplicação de um axioma
positivo. Tais regras são chamadas regras chase, e diz-se que uma regra chase é aplicada
a uma dada asserção se o correspondente axioma positivo for aplicado a essa asserção.
Observe-se que as asserções negativas não são usadas na construção de chase. Chase de-
pende apenas da ABox e dos axiomas positivos da TBox.
No que se segue denota-se por chasei(O) o conjunto de asserções obtido após i apli-
cações de regras chase, selecionadas de acordo com a ordenação estabelecida:
chasei(O) =
j∈{0,...,i}
Sj = Si
A proposição seguinte indica que a noção de chase é fiel.
Preposição 19. Seja O = T , A uma ontologia DL-LiteR e α uma subsunção positiva em
T . Se existe i ∈ N tal que α é aplicável em chasei(O) a uma asserção f ∈ chasei(O), então
49
6. RACIOCÍNIO EM DL-LiteR 6.1. Interpretação canónica
existe j ≥ i tal que chasej+1(O) = chasej(O) ∪ f , onde f resulta da aplicação de α a f em
chasej(O).
Com base no operador chase define-se finalmente a interpretação canónica.
Definição 20. Seja O = T , A uma ontologia DL-LiteR . Define-se a interpretação canónica
de O denotada por can(O), como a estrutura de interpretação ∆can(O), .can(O) , onde
1. ∆can(O) = ΓC;
2. acan(O) = a, para cada constante a ocorrendo em chase(O);
3. Acan(O) = {a | A(a) ∈ chase(O)}, para cada conceito atómico A; e
4. Pcan(O) = {(a1, a2) | P(a1, a2) ∈ chase(O)}, para cada relação atómica P.
Em [9] demonstra-se que o a interpretação canónica é sempre modelo da parte posi-
tiva da TBox de uma dada ontologia e sua ABox.
Lema 21. Seja O = T , A uma ontologia DL-LiteR , Tp o conjunto de subsunções positivas em
T . Então, can(O) é um modelo de Tp, A .
Exemplo 22. Considere-se ontologia do exemplo 2. Computa-se chase(O), do seguinte
modo.
Inicialmente tem-se S0 = {Composer(GustavMahler), HasArtist(BlueTrain, John
Coltrane), HasComposed(GeorgeGershwin, RapsodyInBlue), TopSeller(BlueTrain)}. A
primeira asserção, assumindo a ordenação lexicográfica seguida neste exemplo – recorde-
se que na construção de chase(O) se selecionam as asserções e os axiomas pela sua or-
dem lexicográfica – para qual existe um axioma aplicável é Composer(GustavMahler),
à qual pode ser aplicado Composer ∃HasComposed. Por (cr2) obtém-se S1 = S0 ∪
{HasComposed(GustavMahler, a1)}. Depois, o axioma ∃HasArtist−
Artist é apli-
cado a HasArtist(BlueTrain, JohnColtrane) e tem-se, por (cr3), S2 = S1 ∪{Artist(John
Coltrane). Seguidamente, por (cr5), aplica-se HasComposed HasArtist−
a HasCompo
sed(GeorgeGershwin, RhapsodyInBlue), obtendo-se S3 = S2 ∪ {HasArtist(Rhapsody
InBlue, GeorgeGershwin). A essa última asserção é aplicado o axioma ∃HasArtist−
Artist, que, por (cr2), dá origem a S4 = S3 ∪ {Artist(GeorgeGershwin)}. De modo simi-
lar, aplica-se HasComposed Artist−
a HasComposed(GustavMahler, a1), obtendo-se
S5 = S4 ∪ {HasArtist(a1, GustavMahler); e ∃HasArtist−
Artist à asserção adicio-
nada, originando-se S6 = S5 ∪ {Artist(GustavMahler)}. Depois, aplica-se ∃HasCompo
sed−
Piece a HasComposed(GeorgeGershwin, RhapsodyInBlue), por (cr2), obtendo-
se S7 = S6 ∪ {Piece(RhapsodyInBlue)}; e, de modo semelhante, aplica-se esse axi-
oma a HasComposed(GustavMahler, a1), obtendo-se S8 = S7 ∪ {Piece(a1)}. Final-
mente, aplica-se TopSeller Recommend a TopSeller(BlueTrain), obtendo-se S9 =
S8 ∪ {Recommend(BlueTrain)}. Tem-se então chase(O) = {Composer(GustavMahler),
HasArtist(BlueTrain, JonhColtrane), HasComposed(GeorgeGershwin, RapsodyInBl
50
6. RACIOCÍNIO EM DL-LiteR 6.2. Fecho negativo
ue), TopSeller(BlueTrain), HasComposed(GustavMahler, a1), Artist(JohnColtrane),
HasArtist(RhapsodyInBlue, GeorgeGershwin), Artist(GeorgeGershwin), HasArtist(a1,
GustavMahler), Artist(GustavMahler), Piece(RhapsodyInBlue), Piece(a1), Recommend
(BlueTrain)}.
Assim, as extensões da interpretação canónica desta ontologia são: Artistcan(O) =
{GeorgeGershwin, GustavMahler, JohnColtrane}; Composercan(O) = {GustavMahler};
HasArtistcan(O) = {(a1, GustavMahler), (BlueTrain, JonhColtrane), (RhapsodyInBlue,
GeorgeGershwin)}; HasComposedcan(O) = {(GustavMahler, a1), (GeorgeGershwin, Rha
psodyInBlue)}; Piececan(O) = {a1, RhapsodyInBlue}; Recommendcan(O) = {BlueTrain};
e TopSellercan(O) = {BlueTrain}.
Note-se a presença da asserção Artist(GustavMahler) em chase(O), que como men-
cionado, é uma das derivações possíveis. As asserções Artist(GeorgeGershwin), Artist(
JohnColtrane), HasArtist(RhapsodyInBlues, GeorgeGershwin), Piece(RhapsodyInBl
ue) e Recommend(BlueTrain) constam de chase(O), e facilmente se constata que são, de
facto, deriváveis de O. Com efeito, chase(O) obtém exactamente as asserções positivas
que são consequência lógica da ontologia (ver lemas 66 e 67), i.e. que são verdadeiras em
todos seus modelos.
Constate-se também que, tal como se enuncia no lema 21, todas as subsunções positi-
vas da ontologia são satisfeitas pelo modelo canónico. Por exemplo, na ontologia tem-se
Composer ∃HasComposed e Composer(GustavMahler), e embora não se tenha nela
nenhuma asserção que relacione Gustav Mahler com algum peça, chase(O) adiciona
uma, HasComposed(GustavMahler, a1), para uma peça indefinida, representada pela
nova constante introduzida, a1, garantindo desse modo que a interpretação canónica sa-
tisfaz o axioma mencionado. O mesmo verifica-se para os restantes axiomas.
Outra interpretação relevante, também usada nos resultados apresentados, que cor-
responde ao modelo mínimo de uma dada ABox é a seguinte.
Definição 23. Seja A uma ABox DL-LiteR . Denota-se por db(A) = ∆db(A), .db(A) a
interpretação definida do seguinte modo:
• ∆db(A) é um conjunto não vazio constituído por todas as contantes de A;
• adb(A) = a, para cada constante a;
• Adb(A) = {a | A(a) ∈ A}, para cada conceito atómico A; e
• Pdb(A) = {(a1, a2) | P(a1, a2) ∈ A}, para cada relação atómica P.
6.2 Fecho negativo
Considerando os axiomas negativos, interessa obter uma propriedade análoga à enunci-
ada no lema 21. No caso dos axiomas negativos, mesmo que db(A) satisfaça os axiomas
51
6. RACIOCÍNIO EM DL-LiteR 6.2. Fecho negativo
negativos de uma ontologia O = T , A , pode ainda dar-se o caso de can(O) não satisfa-
zer O. Por exemplo, se T contém os axiomas A1 A2 e A2 ¬A3, e A contém as asser-
ções A1(a) e A3(a), é fácil constatar que db(A) |= A2 ¬A3 mas can(O) |= A2 ¬A3.
Como sugerido pelo exemplo apresentado, para obter a propriedade desejada, é ne-
cessário ter em conta a interação entre axiomas positivos e axiomas negativos. Para esse
propósito constrói-se uma TBox especial fechando os axiomas negativos relativamente
aos positivos.
Definição 24. Seja T uma TBox DL-LiteR . Denomina-se fecho de subsunções negativas de
T , denotado por cln(T ), a TBox definida indutivamente do seguinte modo:
(cln1) todos os axiomas de subsunção negativos de T estão em cln(T );
(cln2) se B1 B2 está em T e B2 ¬B3 ou B3 ¬B2 estão em cln(T ), então também
B1 ¬B3 está em cln(T );
(cln3) se Q1 Q2 está em T e ∃Q2 ¬B ou B ¬∃Q2 estão em cln(T ), então também
∃Q1 ¬B está em cln(T );
(cln4) se Q1 Q2 está em T e ∃Q2
−
¬B ou B ¬∃Q2
−
estão em cln(T ), então
também ∃Q1
−
¬B está em cln(T );
(cln5) se Q1 Q2 está em T e Q2 ¬Q3 ou Q3 ¬Q2 estão em cln(T ), então também
Q1 ¬Q3 está em cln(T );
(cln6) se um dos axiomas ∃Q ¬∃Q, ∃Q− ¬∃Q−, ou Q ¬Q está em cln(T ), então
todos os três axiomas estão em cln(T ).
O seguinte exemplo mostra a aplicação do fecho definido.
Exemplo 25. Considere-se a TBox formada pelos axiomas do exemplo 2. O fecho de sub-
sunções negativas dessa TBox é obtido do seguinte modo. Primeiro, aplica-se (cln1) a
LessSold ¬Recommend e Artist ¬Piece, adicionado esses axiomas ao fecho. De-
pois 1, aplica-se (cln2) a ∃HasArtist−
Artist e Artist ¬Piece e obtém-se o axioma
∃HasArtist−
¬Piece. Seguidamente, aplica-se (cln2) a TopSeller Recommend
e LessSold ¬Recommend e obtém-se TopSeller ¬LessSold. Subsequentemente
aplica-se (cln4) a HasComposed−
HasArtist e ∃HasArtist−
¬Piece e obtém-se
∃HasComposed ¬Piece. Finalmente, aplica-se (cln2) a Composer ∃HasComposed e
∃HasComposed ¬Piece, e obtém-se Composer ¬Piece.
1
Note-se que a ordem dos primeiros passos poderia ser outra.
52
6. RACIOCÍNIO EM DL-LiteR 6.3. Satisfazibilidade
O fecho de subsunções negativas da TBox mencionada é então formado pelos seguin-
tes axiomas:
LessSold ¬Recommend (6.2)
Artist ¬Piece (6.3)
∃HasArtist−
¬Piece (6.4)
TopSeller ¬LessSold (6.5)
∃HasComposed ¬Piece (6.6)
Composer ¬Piece (6.7)
Note-se que com estes axiomas negativos e as asserções da ontologia, pode inferir-se
exactamente as mesmas asserções negativos que com a ontologia original: ¬Artist(Rhaps
odyInBlue), ¬Composer(RhapsodyInBlue), ¬Piece(GeorgeGershwin), ¬Piece(Gustav
Mahler), ¬Piece(JohnColtrane), e ¬LessSold(BlueTrain), ¬∃HasArtist−
(RhapsodyIn
Blue), ¬∃HasComposed(RhapsodyInBlue).
Com a definição anterior, é então possível obter a propriedade pretendida.
Lema 26. Seja O = T , A uma ontologia DL-LiteR . Então can(O) é um modelo de O se e só
se db(A) é um modelo de cln(T ), A .
Além disso, é também demonstrado que a TBox obtida através do fecho cln deriva
exactamente os mesmos axiomas negativos que a TBox original.
Corolário 27. Seja T uma TBox DL-LiteR e α um axioma de subsunção negativo. Então
cln(T ) |= α se e só se T |= α.
6.3 Satisfazibilidade
Relativamente à satisfazibilidade, sabe-se que para a estabelecer se pode recorrer à cons-
trução da interpretação canónica.
Lema 28. Seja O = T , A uma ontologia DL-LiteR . Então can(O) é um modelo de O se e só
se O é satisfazível.
Intuitivamente, a computação de chase(O) corresponde a uma tentativa de construir
uma interpretação que satisfaça todos os axiomas da TBox e todas as asserções da ABox
– um modelo da ontologia. As asserções da ABox são incluídas no primeiro passo da
computação; nos passos seguintes podem adicionar-se sucessivamente novas asserções
até todas os axiomas positivos serem também satisfeitos na interpretação resultante, tal
como se mostrou na secção anterior. No entanto, os axiomas negativos não podem ser
tidos em conta nesta construção, i.e. não é possível remover as asserções que os não sa-
tisfaçam (ao fazê-lo alguns axiomas positivos deixariam de ser respeitados). Assim, se
53
6. RACIOCÍNIO EM DL-LiteR 6.3. Satisfazibilidade
algum axioma negativo não for satisfeito pelo resultado da computação descrita, tal sig-
nifica que não é possível construir nenhuma interpretação que satisfaça a ontologia, ou
seja, que ela não admite nenhum modelo.
Outro resultado relevante de [9] é que os serviços relacionados com a consequência
lógica, instanciação e subsunção, em ontologias DL-LiteR podem ser reduzidos à satisfa-
zibilidade.
Relativamente à instanciação para expressões de conceito é apresentado o seguinte
resultado.
Teorema 29. Seja O uma ontologia DL-LiteR , C um conceito, d uma constante que ocorre em
O, e ˆA um conceito atómico que não ocorre em O. Então O |= C(d) se e só se a ontologia
O = T ∪ { ˆA ¬C}, A ∪ { ˆA(d)}
é insatisfazível.
De modo semelhante, é apresentado o seguinte resultado para expressões de relações.
Teorema 30. Seja O uma ontologia DL-LiteR , R uma relação, a e b das constantes ocorrendo
em O, e ˆP uma relação atómica que não ocorre em O. Então O |= R(a, b) se e só se a ontologia
O = T ∪ { ˆP ¬R}, A ∪ { ˆP(a, b)}
é insatisfazível.
Com efeito, raciocinado por contradição, se se tem que ao acrescentar a negação de
uma certa asserção à ontologia 2 ela deixa de ser satisfazível, tal significa que não existe
nenhum modelo no qual essa asserção seja falsa, ou seja, ela é forçosamente verdadeira
em todos os modelos. Por outro lado, se a ontologia já era insatisfazível antes da adição
da negação da asserção, então todos as asserções já eram dela deriváveis, e, em particular,
a asserção considerada.
Relativamente à subsunção de conceitos tem-se o resultado seguinte.
Teorema 31. Seja T uma TBox DL-LiteR , C1 e C2 dois conceitos, ˆA um conceito atómico que
não ocorre em T , e d uma constante. Então T |= C1 C2 se e só se a ontologia
O = T ∪ { ˆA C1, ˆA ¬C2}, { ˆA(d)}
é insatisfazível.
O último resultado endereça subsunção de relações.
2
Note-se que o conceito ˆA (resp., relação ˆP) são utilizados porque, em DL-LiteR , não é possível adicionar
a negação de outro modo. Recorde-se que só se permitem asserções atómicas na ABox.
54
6. RACIOCÍNIO EM DL-LiteR 6.3. Satisfazibilidade
Teorema 32. Seja T uma TBox DL-LiteR , R1 e R2 duas relações, ˆP um conceito atómico que
não ocorre em T , e a e b duas constantes. Então T |= R1 R2 se e só se a ontologia
O = T ∪ { ˆP R1, ˆP ¬R2}, { ˆP(a, b)}
Mais uma vez, se se tem que ao acrescentar a negação de um certo axioma à ontolo-
gia 3 ela deixa de ser satisfazível, tal significa que não existe nenhum modelo no qual
esse axioma não seja satisfeito. Por outro lado, se a ontologia já era insatisfazível an-
tes da adição da negação do axioma, então todos os axiomas já era dela deriváveis, e, em
particular, o axioma considerado.
3
Note-se que o conceito ˆA (resp., relação ˆP) só são utilizados para permitir que C1 seja um conceito
complexo (resp., R1 seja uma relação complexa). A asserção ˆA(d) (resp., ˆP(a, b)) garante que a extensão de
C1 (resp., ˆR1) não é vazia, e assim, que a inconsistência pretendida é detectada.
55
Parte III
Abordagem Teórica
56
7
Tradução com redução
Como já mencionado na introdução desta dissertação, define-se para DL-LiteR um orá-
culo SLG(O) no qual, à semelhança do que acontece no apresentando para EL+
⊥, se reduz
a ontologia, de modo a eliminar certos construtores que não são directamente expressá-
veis sob a forma de regras; traduz-se a ontologia reduzida para regras não monótonas
semanticamente equivalentes; e aplica-se a resolução SLG sobre essas regras.
Nesta abordagem, a redução da ontologia visa, tal como na tradução apresentada
para ontologias EL+
⊥, a não ocorrência de quantificações existenciais no lado direito dos
axiomas positivos. Para esse efeito, também se classifica a TBox para, sem perda de
derivações relevantes, se remover os referidos axiomas.
De modo a permitir aplicar ferramentas de classificação, à partida, mais eficazes,
apresenta-se também uma redução da classificação em DL-LiteR à classificação em EL.
Actualmente, não se conhecem raciocinadores dedicados exclusivamente ao DL-LiteR ,
que suportem completamente a sua classificação 1. Além disso, até onde se sabe, o ra-
ciocinador ELK, que é dedicado ao OWL 2 EL, é, em geral, mais eficiente que qualquer
raciocinador genérico, que suporte todos os perfis do OWL 2. Por isso, supõe-se que uma
tal redução poderia melhorar o desempenho da classificação. Remete-se para estudos fu-
turos a avaliação empírica dessa hipótese; aqui apenas se a estabelece do ponto de vista
teórico.
A técnica de redução da classificação em DL-LiteR à classificação em EL, que se pre-
tende sugerir, com os resultados apresentados subsequentemente, procede do seguinte
modo. Removem-se da TBox todos os axiomas negativos, e rescrevem-se os restantes
1
Habitualmente entende-se por classificação a obtenção dos axiomas de subsunção de conceitos atómicos
(resp., de relações atómicas) que são consequência lógica de uma dada ontologia. Neste contexto, entende-se
esse conceito a todos os axiomas de subsunção, incluindo entre conceitos e relações complexas.
57
7. TRADUÇÃO COM REDUÇÃO 7.1. Resultados
sem inversos, recorrendo, para esse efeito, a novos símbolos de relação que representam,
de forma univoca, cada relação inversa, e que, nessa rescrição, as substituem. A TBox
resultante está em EL e pode assim ser classificada aplicando um algoritmo destinado
a essa DL. Após classificada a TBox, recuperam-se os inversos, substituindo todos os
símbolos de relação introduzidos pelas relações inversas correspondentes. Finalmente,
aplica-se o fecho das subsunções negativas relativamente às positivas (cln) à TBox origi-
nal e adiciona-se o resultado à TBox positiva obtida nos passos anteriores.
Evidentemente, o último passo penaliza bastante o desempenho geral da técnica, uma
vez que aumenta drasticamente o tamanho da TBox (note-se que o número de axiomas
por ele introduzidos é, no pior caso, na ordem da quantidade de axiomas negativos mul-
tiplicada pela quantidade de axiomas positivos). Também por esse motivo, procurou-se
uma abordagem alternativa, e estudou-se a tradução apresentada no capitulo 8. No en-
tanto, a potencial superioridade da técnica de classificação descrita, em termos de eficiên-
cia, continuaria a verificar-se para TBox positivas. E, além disso, poder-se-ia ainda pro-
curar alternativas para o tratamento dos axiomas negativos. Tal não foi feito no contexto
desta dissertação, por se ter optado pela abordagem alternativa, à partida, considerada
mais viável em geral.
Na Secção 7.1 apresentam-se os resultados relativos à abordagem descrita, come-
çando pela redução da ontologia, que inclui a redução da classificação DL-LiteR à clas-
sificação EL+
⊥ (Subsecção 7.1.1); e apresentando depois a tradução da ontologia reduzida
e o oráculo com ela definido, e finalmente, enunciado a correcção desse oráculo (Sub-
secção 7.1.2). Na Secção 7.2 elabora-se a avaliação analítica dos mencionados resultados,
começando pelos relativos à redução (Subsecção 7.2.1) e concluindo com os que são rela-
tivos à tradução e oráculo propriamente dito (Subsecção 7.2.2).
7.1 Resultados
7.1.1 Redução
Relativamente à rescrição sem inversos da TBox positiva, anteriormente mencionada, o
seguinte exemplo é elucidativo.
Exemplo 33. Considere-se a TBox formada pelos axiomas positivos do exemplo 2. Essa
TBox, a menos das relações inversas, está em EL. Portanto, é necessário modificar os
axiomas 1.6-1.8. Uma alteração simples, que dispensa o uso de inversos, é criar novas re-
lações atómicas, que não ocorram na ontologia, e possam ser identificada com as relações
inversas HasArtist−
e HasComposed−
, para as substituir. Assumindo que HasArtist
e HasComposed não ocorrem na ontologia, pode substituir-se o inverso de HasArtist e
58
7. TRADUÇÃO COM REDUÇÃO 7.1. Resultados
HasComposed, respectivamente, por essas relações atómicas, obtendo-se:
Piece ∃HasArtist (7.1)
∃HasArtist Artist (7.2)
∃HasComposed Piece (7.3)
HasComposed HasArtist (7.4)
Composer ∃HasComposed (7.5)
TopSeller Recommend (7.6)
Para obter os axiomas originais, bastaria efectuar a substituição inversa.
Note-se, no entanto, que, ao se classificar a ontologia original, acrescentar-se-iam
os axiomas Composer ∃HasArtist−
e Composer Artist, enquanto que na onto-
logia rescrita não se obteriam os axiomas rescritos correspondentes. Isto acontece por-
que na ontologia original pode inferir-se HasComposed HasArtist−
, enquanto que
na ontologia rescrita, sendo HasArtist e HasArtist , respectivamente, HasComposed e
HasComposed , relações atómicas sem qualquer relação entre si, não é possível inferir os
correspondentes axiomas rescritos.
Uma solução é acrescentar o axioma que se perde após as substituições, HasComposed
HasArtist−
, antes de as efectuar. Deste modo, a ontologia rescrita conterá, além
de 7.1-7.6, um axioma HasComposed HasArtist , derivando assim os axiomas pre-
tendidos, Composer ∃HasArtist e Composer Artist. Ao classificar-se a ontologia
rescrita deste modo, e, após isso, recuperarem-se os inversos, obtém então a classificação
da ontologia original. Esta técnica funciona em geral, tal como se demonstra subsequen-
temente (ver corolário 46).
A rescrição sem inversos de uma dada ontologia é então obtida por meio da aplicação
da seguinte função. A recuperação dos inversos, pode ser efectuada através da aplicação
do inverso dessa função.
Definição 34. Seja Σ um alfabeto contendo nomes de conceitos e relações DL-LiteR ,
tal que, para cada relação atómica P ∈ Σ, existe uma relação atómica P com P ∈ Σ.
Define-se, para expressões DL-LiteR sem complementos sobre Σ, a função de reescrita sem
inversos, ρ, do seguinte modo:
ρ(E) =



A se E = A
P se E = P
P se E = P−
∃ρ(Q) se E = ∃Q
ρ(B1) ρ(B2) se E = B1 B2
ρ(Q1) ρ(Q2) se E = Q1 Q2
(7.7)
59
7. TRADUÇÃO COM REDUÇÃO 7.1. Resultados
Estende-se a função ρ para TBox DL-LiteR positivas, do seguinte modo:
ρ(T ) = {ρ(α) | α ∈ T } (7.8)
Denota-se por ρ−1 o inverso da função ρ, i.e. a função que substitui as ocorrências de
relações P por P−.
Tal como se mostrou no exemplo anterior, embora, após se aplicar a função de rescrita,
seja possível recuperar os inversos, substituindo as relações atómicas introduzidas pelas
respectivas relações inversas que representam, a TBox rescrita não é equivalente, em ter-
mos de consequências lógicas, e a menos da rescrição, à TBox original. Enquanto que na
TBox original P1 P2 tem como consequência lógica P−
1 P−
2 , e vice-versa, na TBox
rescrita, tal não acontece entre os axiomas P1 P2 e P1 P2. Assim, para que a clas-
sificação seja completa, aplica-se à TBox, antes da sua rescrição sem inversos, o seguinte
fecho.
Definição 35. Seja T uma TBox DL-LiteR . Define-se o fecho de T relativamente aos inversos,
denotado por cli(T ), do seguinte modo.
cli(T ) = T ∪ {Q1
−
Q2
−
| Q1 Q2 ∈ T }
O primeiro resultado teórico desta dissertação, cuja demonstração se apresenta na
secção 7.2.1, é o de que rescrição sem inversos da TBox fechada relativamente aos inver-
sos tem como consequência lógica os mesmos axiomas positivos que a TBox original, a
menos da rescrição. Ou seja, é possível representar uma TBox DL-LiteR positiva, possi-
velmente contendo relações inversas, sem recorrer ao construtor do inverso de relações.
Corolário 46. Seja T uma TBox DL-LiteR positiva e α um axioma de subsunção positivo. Então
T |= α se e só se ρ(cli(T )) |= ρ(α).
Dado o resultado apresentado, sabe-se que pode classificar-se uma TBox positiva
DL-LiteR recorrendo a um serviço de classificação para EL, seguindo os seguintes passos:
obtendo-se a TBox positiva fechada relativamente aos inversos; rescrevendo-se sem in-
versos; classificando-se com um serviço de classificação para EL 2; e finalmente, recuperando-
se os inversos.
Em TBox DL-LiteR que contenham complementos, pode obter-se uma redução com-
pleta – i.e. um conjunto de axiomas nos quais não ocorram existenciais no lado direito,
que deriva exactamente os mesmos axiomas, positivos e negativos, que a TBox original
– aplicando a técnica descrita ao conjunto dos axiomas positivos, e o fecho dos axiomas
negativos relativamente aos positivos, cln, à TBox – o corolário 27 garante que se obtêm
todos os axiomas negativos pretendidos – e removendo os axiomas com existenciais no
lado direito.
2
Note-se que a linguagem do DL-LiteR sem relações inversas e sem complementos de conceitos ou rela-
ções corresponde a um subconjunto da linguagem do EL.
60
7. TRADUÇÃO COM REDUÇÃO 7.1. Resultados
7.1.2 Tradução
Como mencionado anteriormente, define-se uma tradução de uma ontologia DL-LiteR ,
na qual não ocorrem quantificações existenciais no lado direito dos axiomas, para regras
não monótonas. As descrições de conceitos ou relações são traduzidas para átomos de
acordo com a seguinte função.
Definição 36. Sejam C um conceito e R uma relação DL-LiteR , x e y variáveis, e X um
conjunto de variáveis com x, y ∈ X. Define-se tr(C, x) e tr(R, x, y) do seguinte modo:
tr(C, x) =



A(x) se C = A
tr(Q, x, z) se C = ∃Q
NA(x) se C = ¬A
tr(¬Q, x, z) se C = ¬∃Q
(7.9)
tr(R, x, y) =



P(x, y) se R = P
P(y, x) se R = P−
tr(NQ, x, y) se R = ¬P
tr(NQ, y, x) se R = ¬P−
(7.10)
onde z ∈ X é uma nova variável ainda não utilizada. Obtém-se tr(C, x)d e tr(R, x, y)d de
tr(C, x) e tr(R, x, y), respectivamente, substituindo todos os predicados S em tr(C, x) e
tr(R, x, y), respectivamente, por Sd.
Note-se que tal tradução de conceitos e relações para átomos não é novidade, aproxima-
se bastante da função de tradução π apresentada na tabela 1.1. Recorde-se que ∃Q equi-
vale a ∃Q. ; que ∃z(π(Q, x, z) ∧ ) – o resultado da aplicação de π a esse axioma – equi-
vale a ∃z(π(Q, x, z)); e que todas as variáveis que ocorrem no antecedente de uma regra
e não no seu consequente, estão quantificadas existencialmente. Além disso, a negação é
representada com os predicados especiais, usados nas KB duplicadas para esse efeito, ao
em vez de com o construtor de negação ¬ habitual.
Aplicando a função anterior, a tradução da ontologia para regras não monótonas é
definida do seguinte modo.
Definição 37. Seja O, P uma KB híbrida MKNF. Define-se Pd
O, como o menor conjunto
contendo:
(a1) para cada A(a) ∈ O:
A(a) ←
Ad(a) ← not NA(a);
61
7. TRADUÇÃO COM REDUÇÃO 7.1. Resultados
(a2) para cada P(a, b) ∈ O:
P(a, b) ←
Pd(a, b) ← not NP(a, b);
(c1) para cada B A ∈ O:
A(x) ← tr(B, x)
Ad(x) ← tr(B, x)d, not NA(x);
(r1) para cada Q1 Q2 ∈ O:
tr(Q2, x, y) ← tr(Q1, x, y)
tr(Q2, x, y)d ← tr(Q1, x, y)d, not tr(¬Q2, x, y);
(i1) para cada B1 ¬B2 ∈ O:
tr(¬B2, x) ← tr(B1, x)
tr(¬B1, x) ← tr(B2, x)
(i2) para cada Q1 ¬Q2 ∈ O:
tr(¬Q2, x, y) ← tr(Q1, x, y)
tr(¬Q1, x, y) ← tr(Q2, x, y)
Note-se que, efectivamente, a tradução anterior não está definida para axiomas cujo o
lado direito seja uma quantificações existencial. Ora, uma vez que se pretende tratar qual-
quer ontologia DL-LiteR , é necessário um mecanismo que de alguma forma elimine tais
axiomas, mantendo as propriedades necessárias à correcção do oráculo baseado nessa
tradução. As reduções apresentadas na subsecção anterior tem precisamente esse propó-
sito. No entanto, para que o oráculo seja independente delas, i.e. para que seja possível
recorrer a técnicas de redução alternativas sem o comprometer, define-se, abstractamente,
a noção de redução 3, fixando não a forma como é obtida, mas as propriedades que deve
satisfazer.
Definição 38. Sejam O = T , A e O = T , A duas ontologias DL-LiteR com a mesma
assinatura. Diz-se que O uma redução de O se as seguintes propriedades se verificam,
onde A denota um conceito atómico, B um conceito básico , e Q, Q1 e Q2 relações básicas:
1. A = A;
2. T é satisfazível se e só se T é satisfazível;
3. T |= B A se e só se T |= B A;
4. T |= Q1 Q2 se e só se T |= Q1 Q2;
5. T |= B1 ¬B2 se e só se T |= B1 ¬B2;
3
Tomou-se tal opção por, no momento da definição deste oráculo, haverem duas técnicas de redução em
aberto: uma recorrendo à técnica descrita na subsecção anterior; e outra usando o serviço de classificação do
raciocinador Ontop, e aplicando o fecho negativo da TBox.
62
7. TRADUÇÃO COM REDUÇÃO 7.1. Resultados
6. T |= Q1 ¬Q2 se e só se T |= Q1 ¬Q2;
7. T não contém nenhum axioma da forma B ∃Q.
Além disso, diz-se que O = T , A está reduzida relativamente aos existenciais se T não
contém nenhum axioma da forma B ∃Q.
É fácil constatar que pode obter-se a redução de uma dada ontologia O = T , A ,
aplicando os resultados da subsecção anterior. Primeiro, rescrevendo-se a TBox po-
sitiva Tp, T1 = ρ(cli(Tp)). Depois, classificando-se a TBox obtida no passo anterior,
T2 = {B1 B2 | T1 |= B1 B2} ∪ {Q1 Q2 | T1 |= Q1 Q2}. Seguidamente,
recuperando-se os inversos, T3 = ρ−1(T2). Acrescentando-se o fecho dos axiomas ne-
gativos relativamente aos positivos, T4 = T3 ∪ cln(T ). E finalmente, removendo-se os
axiomas com existenciais do lado direito, T5 = T4  {B ∃Q ∈ T4}. Os corolários 46 e 27
garantem que a ontologia constituída pela TBox resultante e pela ABox original, T5, A ,
é uma redução da ontologia original O.
O seguinte exemplo, mostra a aplicação do método de tradução descrito.
Exemplo 39. Considere-se a ontologia do Exemplo 2. Veja-se como são obtidas as regras
monótonas que lhe correspondem, de acordo com o método descrito.
Após fecho relativamente aos inversos, cli, e a aplicação da função de rescrição, obtêm-
se os axiomas apresentados no Exemplo 33. A classificação da ontologia resultante adici-
ona os axiomas HasComposed HasArtist , ∃HasComposed ∃HasArtist, Composer
∃HasArtist e Composer Artist. Depois de se recuperarem os inversos, tem-se o re-
sultado da classificação de T , que é composto pelos os axiomas originais de T e pelos
axiomas HasComposed HasArtist−
, ∃HasComposed−
∃HasArtist, Composer
∃HasArtist−
e Composer Artist. Seguidamente aplica-se o fecho dos axiomas negati-
vas relativamente aos axiomas positivos, obtendo-se os axiomas apresentados no exem-
plo 25, e adicionado-se tais axiomas à TBox obtida nos passos anteriores. Finalmente,
obtém-se uma redução de T removendo os axiomas Piece ∃HasArtist, Composer
63
7. TRADUÇÃO COM REDUÇÃO 7.1. Resultados
∃HasComposed e Composer ∃HasArtist−
e ∃HasComposed−
∃HasArtist. A redu-
ção obtida é então constituída pelos seguinte axiomas:
∃HasArtist−
Artist (7.11)
HasComposed−
Piece (7.12)
HasComposed−
HasArtist (7.13)
HasComposed HasArtist−
(7.14)
Composer Artist (7.15)
TopSeller Recommend (7.16)
Artist ¬Piece (7.17)
LessSold ¬Recommend (7.18)
∃HasArtist−
¬Piece (7.19)
TopSeller ¬LessSold (7.20)
∃HasComposed ¬Piece (7.21)
Composer ¬Piece (7.22)
A tradução procede do seguinte modo. (c1) é aplicado aos axiomas 7.11, 7.12, 7.15
e 7.16, originando as regras 7.23-7.30. Depois, (r1) é aplicado aos axiomas 7.13 e 7.14,
originando as regras 7.31-7.34. Seguidamente (i1) é aplicado aos axiomas 7.17-7.22, origi-
nado 7.35-7.46. Finalmente, (a1) e (a2) são aplicados às asserções da ontologia, originando
as regras 7.47-7.54. O programa resultante da tradução, Pd
O, é constituído pelas seguintes
64
7. TRADUÇÃO COM REDUÇÃO 7.1. Resultados
regras:
Artist(x) ← HasArtist(z, x) (7.23)
Artistd
(x) ← HasArtistd
(z, x), not NArtist(x) (7.24)
Piece(x) ← HasComposed(y, x) (7.25)
Pieced
(x) ← HasComposedd
(y, x), not NPiece(x) (7.26)
Artist(x) ← Composer(x) (7.27)
Artistd
(x) ← Composerd
(x), not NArtist(x) (7.28)
Recommend(x) ← TopSeller(x) (7.29)
Recomendd
(x) ← TopSellerd
(x), not NRecommend(x) (7.30)
HasArtist(x, y) ← HasComposed(y, x) (7.31)
HasArtistd
(x, y) ← HasComposedd
(y, x), not NHasArtist(x, y) (7.32)
HasArtist(y, x) ← HasComposed(x, y) (7.33)
HasArtistd
(y, x) ← HasComposedd
(x, y), not NHasArtist(y, x) (7.34)
NPiece(x) ← Artist(x) (7.35)
NArtist(x) ← Piece(x) (7.36)
NRecommend(x) ← LessSold(x) (7.37)
NLessSold(x) ← Recommend(x) (7.38)
NPiece(x) ← HasArtist(y, x) (7.39)
NHasArtist(y, x) ← Piece(x) (7.40)
NLessSold(x) ← TopSeller(x) (7.41)
NTopSeller(x) ← LessSold(x) (7.42)
NPiece(x) ← HasComposed(x, y) (7.43)
NHasComposed(x, y) ← Piece(x) (7.44)
NPiece(x) ← Composer(x) (7.45)
NComposer(x) ← Piece(x) (7.46)
65
7. TRADUÇÃO COM REDUÇÃO 7.1. Resultados
Composer(GustavMahler) ← (7.47)
Composerd
(GustavMahler) ←
not NComposer(GustavMahler) (7.48)
TopSeller(BlueTrain) ← (7.49)
TopSellerd
(BlueTrain) ←
not NTopSeller(BlueTrain) (7.50)
HasArtist(BlueTrain, JohnColtrane) ← (7.51)
HasArtistd
(BlueTrain, JohnColtrane) ←
not NHasArtist(BlueTrain, JohnColtrane) (7.52)
HasComposed(GeorgeGershwin, RapsodyInBlue) ← (7.53)
HasComposedd
(GeorgeGershwin, RapsodyInBlue) ←
not NHasComposedd
(GeorgeGershwin, RapsodyInBlue) (7.54)
Note-se que de facto é possível inferir as mesmas asserções positivas inferidas pela
ontologia, já mencionadas anteriormente, nomeadamente: Artist(GustavMahler), usando
as regras 7.47 e 7.27; Artist(GeorgeGershwin), recorrendo às regras 7.53, 7.31 e 7.23;
Artist(JohnColtrane), com as regras 7.51 e 7.23; HasArtist(RapsodyInBlue, GeorgeGer
shwin), com 7.51 e 7.31; Piece(RhapsodyInBlue), com 7.53 e 7.25; e Recommend(BlueTra
in).
Note-se também que se inferem igualmente as asserções negativas que a ontologia
deriva. Por exemplo, a asserção NLessSold(BlueTrain) é obtida pelas regras 7.49 e 7.41,
e representa ¬LessSold(BlueTrain).
O oráculo SLG(O), baseado na redução e na tradução apresentada, define-se do se-
guinte modo.
Definição 40. Seja Kd = (O, Od, Pd) uma base de conhecimento MKNF duplicada, onde
O é uma ontologia DL-LiteR . Seja O uma redução de O. Define-se oráculo DL-LiteR
indirecto de O por O , denotado por pTO
O , como o oráculo parcial tal que pTO
O (I, S, L) se
só se Pd
O ∪ I ∪ L |=WF S, onde I e L são os conjuntos das regras correspondentes aos
literais de I e L, respectivamente.
O segundo resultado desta dissertação é o de que o oráculo descrito é correto, i.e.
ao usá-lo numa avaliação SLG(O), obtém-se todas, e apenas, as respostas correctas, de
acordo com a semântica do MKNF híbrido.
Teorema 78. Seja Kd = (O, Od, Pd) uma base de conhecimento MKNF duplicada, onde O é
uma ontologia DL-LiteR . Seja O uma redução de O. Então pTO
O é um oráculo parcial correcto
relativamente a compTO.
66
7. TRADUÇÃO COM REDUÇÃO 7.2. Análise
7.2 Análise
Na presente secção avaliam-se analiticamente os resultados apresentados na secção ante-
rior, através das respectivas demonstrações.
7.2.1 Redução
Quanto à técnica de redução apresentada, importa apenas verificar que o seu resultado
satisfaz as propriedades que definem uma redução. No que toca à parte de positiva da
TBox, tal corresponde a demonstrar o corolário 46. Os lemas e teoremas que se apre-
sentam subsequentemente, constituem passos intermédios dessa demonstração. No pri-
meiro deles, mostra-se que o fecho relativamente aos inversos, cli, deriva os mesmos
axiomas de subsunção de relações que os que são derivados pela TBox.
Lema 41. Seja T uma TBox DL-LiteR positiva, e Q1 e Q2 duas relações básicas. Então T |=
Q1 Q2 se e só se cli(T ) |= Q1 Q2.
Demonstração. (→) Trivial.
(←) A única diferença entre a TBox original, T , e o seu fecho relativamente aos
inversos, cli(T ), é que cli(T ) possivelmente contém axiomas de subsunção da forma
Q1
−
Q2
−
, tais que Q1 Q2 ∈ T , que não estão contidos em T . Ora, dado qual-
quer axioma Q1 Q2 ∈ T , é evidente que T |= Q1
−
Q2
−
. Logo, cli(T ) não tem como
consequência lógica nenhum axioma que não seja consequência lógica de T .
No passo seguinte, estabelece-se uma correspondência entre as sequências de axio-
mas de subsunção de relações que se podem formar a partir do fecho relativamente aos
inversos, cli, e os axiomas de subsunção de relações que se podem derivar desse fecho.
Formaliza-se, deste modo, a noção de transitividade entre as subsunções de relações.
Lema 42. Seja T uma TBox DL-LiteR positiva, e Q1 e Qn duas relações básicas. Então cli(T ) |=
Q1 Qn se e só se existe uma sequência Q1 Q2, Q2 Q3, . . . , Qn−1 Qn formada por
axiomas de subsunção de cli(T ).
Demonstração. (←) Trivial.
(→) Suponha-se, por contradição, que cli(T ) |= Q1 Qn, mas não existe nenhuma
sequência de axiomas Q1 Q2, Q2 Q3, . . . , Qn−1 Qn tal que, cada axioma Qi Qi+1,
com 1 ≤ i < n, está contido em cli(T ).
Pelo teorema 31, cli(T ) |= Q1 Qn se e só se a base de conhecimento OQ1 Qn
=
cli(T ) ∪ { ˆP Q1, ˆP ¬Qn}, { ˆP(a, b)} , onde ˆP é uma relação atómica e a e b duas
constantes que não ocorrem em cli(T ), é insatisfazível . Pelo lema 28, tem-se então
que OQ1 Qn
é insatisfazível se e só se can(OQ1 Qn
) |= OQ1 Qn
. Como, pelo lema 21,
can(OQ1 Qn
) |= {cli(T ) ∪ { ˆP Q1}, { ˆP(a, b)} , e dado que ˆP
can(OQ1 Qn
)
só contém
o par de indivíduos (a, b), conclui-se que cli(T ) |= Q1 Qn se e só se can(OQ1 Qn
) |=
67
7. TRADUÇÃO COM REDUÇÃO 7.2. Análise
ˆP ¬Qn. Portanto, cli(T ) |= Q1 Qn se e só se (a, b) ∈ Q
can(OQ1 Qn
)
n , ou seja, se e só se
Qn(a, b) ∈ chase(OQ1 Qn
).
No entanto, dado que a única asserção de pertença contida em OQ1 Qn
é ˆP(a, b) e
que, nessa KB, o único axioma de subsunção positivo em que a relação ˆP ocorre é apenas
ˆP Q1, é fácil constatar, pela definição de chase (definição 18), e pela definição de cli(T ),
que se não existe nenhuma sequência de axiomas Q1 Q2, Q2 Q3, . . . , Qn−1 Qn
contidos em cli(T ) então Qn(a, b) ∈ chase(OQ1 Qn
) – note-se que a única regra de chase
aplicável é a (cr5); e que, se por um lado tal regra pode também ser aplicada a um axioma
de subsunção (Qi)−
(Qi+1)−
; por outro lado, se cli(T ) contém (Qi)−
(Qi+1)−
, que
não é capturado pela sequência descrita, também contém Qi Qi+1, que já faz parte da
sequência – de onde se obtém a contradição.
Seguidamente, transpõe-se a correspondência referida anteriormente para a rescrição
sem inversos, ρ, do fecho relativamente aos inversos, cli, da TBox.
Lema 43. Seja T uma TBox DL-LiteR positiva, e P1 e Pn duas relações atómicas em ρ(cli(T )).
Então ρ(cli(T )) |= ρ(P1 Pn) se e só se existe uma sequência P1 P2, P2 P3, . . . , Pn−1
Pn formada por axiomas de subsunção de ρ(T ).
Demonstração. (→) Trivial.
(←) O argumento é semelhante ao usado no lema 42, com a diferença de que o que ga-
rante agora que há correspondência entre as sequências de axiomas da forma enunciada
e as sequências que são realmente capturadas pela regra (cr5), é o facto de não ocorrer
em ρ(T ) nenhuma relação inversa.
Mostra-se agora que a rescrição sem inversos, cli, do fecho relativamente aos inversos,
ρ, da TBox, deriva as mesmas subsunções de relação, a menos da rescrição, que o fecho
sem a rescrição.
Teorema 44. Seja T uma TBox DL-LiteR positiva, e Q1 e Qn relações básicas. Então cli(T ) |=
Q1 Qn se e só se ρ(cli(T )) |= ρ(Q1 Qn).
Demonstração. Pelo lema 42 cli(T ) |= Q1 Q2 se e só se existe uma sequência Q1
Q2, Q2 Q3, . . . , Qn−1 Qn de axiomas de cli(T ) – denote-se o conjunto de tais sequên-
cias por Scli(T ); e, pelo lema 43, ρ(cli(T )) |= ρ(Q1 Qn) se e só se existe uma sequência
ρ(Q1 Qn+2), ρ(Qn+2 Qn+3), . . . , ρ(Qm Qn) de axiomas de ρ(cli(T )) – denote-se o
conjunto de tais sequências por Sρ(cli(T )). Ora, dado que a única diferença entre ρ(cli(T ))
e cli(T ) é a substituição de cada relação inversa P− por uma relação atómica P , que não
ocorre em cli(T ), é fácil constatar que existe uma sequência em Scli(T ) se e só se existe
uma sequência Sρ(cli(T )), donde se conclui que a propriedade enunciada se verifica.
Mostra-se igualmente que a rescrição sem inversos, cli, do fecho relativamente aos in-
versos, ρ, também deriva as mesmas subsunções de conceitos que o fecho sem a rescrição.
68
7. TRADUÇÃO COM REDUÇÃO 7.2. Análise
Teorema 45. Seja T uma TBox DL-LiteR positiva e B1 e B2 conceitos básicos. Então cli(T ) |=
B1 B2 se e só se ρ(cli(T )) |= ρ(B1 B2).
Demonstração. Dado que a transformação ρ só altera relações (e conceitos onde elas ocor-
rem, especificamente, os que tem a forma ∃Q), e que para subsunções entre relações a
propriedade correspondente já foi demonstrada, no teorema 44, é fácil constatar que a
propriedade enunciada, para subsunções entre conceitos, também se verifica (note-se que
se por um lado T |= Q1 Q2 permite inferir T |= ∃Q1 ∃Q2 e T |= ∃Q1
−
∃Q2
−
; por
outro lado o teorema 44 mostra que se cli(T ) |= Q1 Q2 então ρ(T ) |= ρ(∃Q1 ∃Q2) e
ρ(T ) |= ρ(∃Q1
−
∃Q2
−
)).
Finalmente, obtém-se, com base nos passos apresentados, o primeiro resultado pre-
tendido.
Corolário 46. Seja T uma TBox DL-LiteR positiva e α um axioma de subsunção positivo. Então
cli(T ) |= α se e só se ρ(cli(T )) |= ρ(α).
Demonstração. Este resultado segue directamente do lema 41 – note-se que não é neces-
sário enunciar o lema correspondente para as subsunções de conceitos, porque o fecho
relativamente aos inversos, cli, contém exactamente os mesmos axiomas de subsunção
de conceitos que a TBox original – e dos teoremas 44 e 45.
Quanto aos axiomas negativos, o corolário 27, garante que ao se adicionar os axiomas
no fecho cln, se satisfazem as propriedades da redução que lhes dizem respeito.
7.2.2 Tradução
Recorde-se que um oráculo SLG(O) define, essencialmente, o conjunto de asserções de
pertença que se podem derivar da junção de uma ontologia com os conjuntos de lite-
rais que o parametrizam. Assim, demonstrar a correcção do oráculo baseado na redução
e tradução anteriormente definidas, corresponde a mostrar que as regras resultantes da
tradução de uma qualquer redução de uma dada ontologia, juntamente com os referidos
conjuntos de literais, derivam exactamente os factos correspondentes às referidas asser-
ções. Para tal, demonstra-se, por um lado, que uma redução de uma dada ontologia de-
riva exactamente o mesmo conjunto de asserções que essa ontologia; e, por outro lado,
que as regras resultantes da tradução de certa ontologia também derivam exactamente
os factos correspondentes às asserções que ela deriva.
Começa-se por mostrar que a tradução definida permite derivar os factos correspon-
dentes às asserções de pertença derivadas pela ontologia original, se a última for satisfa-
zível e estiver reduzida.
Lema 47. Seja O, Od, P uma base de conhecimento híbrida MKNF duplicada, onde O =
T , A é uma ontologia DL-LiteR satisfazível e reduzida. Seja A um predicado unário, P um pre-
dicado binário, a e b duas constantes. Então O |= A(a) se e só se Pd
O |= A(a) e Od |= Ad(a) se e
69
7. TRADUÇÃO COM REDUÇÃO 7.2. Análise
só se Pd
O |= Ad(a), e, de modo semelhante, O |= P(a, b) se e só se Pd
O |= P(a, b) e Od |= Pd(a, b)
se e só se Pd
O |= Pd(a, b).
Demonstração. Considere-se o caso dos predicados originais. Apenas as asserções de per-
tença formadas pelos predicados originais, i.e. asserções da forma A(a) ou P(a, b), e axi-
omas de subsunção positivos (que não sejam da forma B ∃Q – note-se que a ontologia
está reduzida relativamente aos existenciais) de O podem contribuir para a derivação
das asserções consideradas, que na definição 64 são tratados nos casos (a1), (a2), (c1)
e (r1), e cujas regras resultantes, para os predicados originais, são as únicas que podem
contribuir para a derivação (em regras) de tais asserções. Sabe-se que as regras mencio-
nadas, nos casos (a1), (a2) e (c1), são traduções logicamente equivalentes [20]. No caso
(r1) é fácil constatar que o mesmo se verifica. Veja-se. P1 P2 corresponde, de facto, a
P2(x, y) ← P1(x, y); P1 P2
−
a P2(y, x) ← P1(x, y); P1
−
P2 a P2(x, y) ← P1(y, x); e
P1
−
P2
−
a P2(y, x) ← P1(y, x). Assim, conclui-se que O |= A(a) se e só se Pd
O |= A(a) e
O |= P(a, b) se e só se Pd
O |= P(a, b).
Considere-se agora as asserções com predicados especiais, i.e. da forma NH(ti), onde
H é um conceito atómico ou uma relação atómica, e que representam uma query a ¬H(ti).
Pretende-se demonstrar que O |= ¬H(ti) se e só se Pd
O |= NH(ti). Apenas as asserções de
pertença formadas pelos predicados originais, e axiomas de subsunção de O podem con-
tribuir para a derivação de tais asserções. Como já se demonstrou que as traduções das
asserções com predicados originais e dos axiomas de subsunção positivos de O derivam
exactamente as mesmas asserções que a ontologia original O, basta mostrar então que o
mesmo é verdade para as negações clássicas derivadas através dos axiomas de subsun-
ção negativos de O, que correspondem aos casos (i1) e (i2) cujas as regras resultantes são
as únicas que podem contribuir para a derivação (em regras) de tais asserções. É fácil
constatar que tais regras são de facto logicamente equivalentes aos axiomas descritos.
Veja-se. No caso (i1), NA2(x) ← A1(x) e NA1(x) ← A2(x) correspondem, de facto, a
A1 ¬A2; NA2(x) ← P(x, z) e NP(x, z) ← A2(x) a ∃P ¬A; e NA2(x) ← P(z, x)
e P(z, x) ← A2(x) a ∃P− ¬A – representando os literal ¬A(x) pelos átomos NA(x).
O outro axioma capturado em (i1), B ¬∃Q, corresponde à fórmula de primeira ordem
∀x(tr(B, x) ⊃ ¬∃y(tr(Q, x, y))), que é equivalente a ∀x, y(tr(B, x) ⊃ ¬tr(Q, x, y)), ou às
regras, tr(¬Q, x, y) ← tr(B, x) e tr(¬B) ← tr(Q, x, y). No caso (i2), NP2(x, y) ← P1(x, y)
e NP1(x, y) ← P2(x, y) corresponde, de facto, a P1 ¬P2; NP2(y, x) ← P1(x, y) e
NP1(x, y) ← P2(y, x) a P1 ¬P2
−
; NP2(x, y) ← P1(y, x) e NP1(y, x) ← P2(x, y) a
P1
−
¬P2; e NP2(y, x) ← P1(y, x) e NP1(y, x) ← P2(y, x) a P1
−
¬P2
−
. Assim,
conclui-se que O |= NH(ti) se e só se Pd
O |= NH(ti).
Considere-se agora as asserções com predicados duplicados, i.e, da forma Ad(a) ou
Pd(a, b). O argumento é semelhante ao usado para os as asserções com os predicados ori-
ginais, mas agora aplicada aos predicados duplicados. Tem de considerar-se adicional-
mente apenas os literais negativos auxiliares not NA(x) e not tr(Q, x, y), acrescentados
ao corpo das regras, para os predicados duplicados, nos casos (a1), (a2), (c1) e (r1), com o
70
7. TRADUÇÃO COM REDUÇÃO 7.2. Análise
intuito garantir a coerência entre literais com duplicados negativos e negações clássicas.
Dado que Pd
O |= NH(ti) se e só se O |= ¬H(ti), e que se assume que O é consistente, tem-
se que Pd
O |= NH(ti) só se Od |= H(ti), e portanto, os literais negativos auxiliares apenas
podem invalidar regras (instanciadas) cujo o consequente também não se possa derivar
de Od. Logo, também se tem Od |= Ad(a) se e só se Pd
O |= Od |= Ad(a) e Od |= Pd(a, b) se
e só se Pd
O |= Pd(a, b).
Mostra-se então, que a redução de uma ontologia deriva as mesmas asserções que
essa ontologia. O primeiro passo, para tal, é mostrar que, na derivação das asserções
de pertença a conceitos, a partir de uma ontologia satisfazível, estão sempre envolvidas
uma asserção da ABox e uma subsunção de conceitos derivada pela TBox (i.e. que pode
ser explicita ou implícita).
Lema 48. Seja O = T , A uma ontologia DL-LiteR , An um conceito atómico, e a uma cons-
tante. Então O |= An(a) se e só se alguma das seguintes condições se verifica:
1. existe A0(a) ∈ A tal que T |= A0 An;
2. existe ga(Q0, a, b) ∈ A tal que T |= ∃Q0 An, para alguma constante b;
3. O é insatisfazível.
Demonstração. (←) Trivial.
(→) Suponha-se então que O |= An(a). Assuma-se também que O é satisfazível
– se não o for, a condição 3 verifica-se imediatamente, e a propriedade enunciada fica
demonstrada. Assim, pelo teorema 29 tem-se então que a ontologia O = T ∪ { ˆA
¬An}, A ∪ { ˆA(a)} é insatisfazível. Portanto, pelo lema 28 , can(O ) |= O . Conse-
quentemente, pelo lema 21 , e uma vez que se assumiu que O é satisfazível, tem-se
can(O ) |= ˆA ¬An. Uma vez que acan(O ) é o único indivíduo em ˆAcan(O ), tem-se então
que acan(O ) está em A
can(O )
n , ou seja, An(a) ∈ chase(O ). É fácil constatar, pela definição
de chase que chase(O ) = chase(O), e assim, resta demonstrar que se An(a) ∈ chase(O)
então uma das condições 1 ou 2 é verdadeira. Para isso, demonstram-se, por indução em
chase(O), as seguinte propriedades:
(i) se An(a) ∈ chase(O) então uma das seguintes condições é verdadeira:
a) existe A0(a) ∈ A tal que T |= A0 An;
b) existe ga(Q0, a, b) ∈ A tal que T |= ∃Q0 An, para alguma constante b;
(ii) se ga(Qn, a, b) ∈ chase(O), para alguma constante b, então uma das seguinte con-
dições é verdadeira:
a) existe A0(a) ∈ A tal que T |= A0 ∃Qn;
b) existe ga(Q0, a, c) ∈ A tal que T |= Q0 Qn, para alguma constante c;
71
7. TRADUÇÃO COM REDUÇÃO 7.2. Análise
(i) Passo base. Dado que chase0(O) = A, tem-se que se An(a) ∈ chase0(O) então
An(a) ∈ A. Logo, tem-se que se An(a) ∈ chase0(O) então existe A0(a) ∈ A tal que
T |= A0 An.
Passo de indução. Assuma-se então que An(a) ∈ chasei(O) e An(a) ∈ chasei+1(O),
pois, caso contrário, a propriedade que se pretende demonstrar segue imediatamente da
hipótese de indução. Assim, chasei+1(O) é obtido de chasei(O) aplicando a regra (cr1)
ou a regra (cr3). Portanto, existe Ai(a) ∈ chasei(O) tal que Ai An ∈ T ou existe
ga(Qi, a, b) ∈ chasei(O) tal que ∃Qi An ∈ T . Pela hipótese de indução, tem-se então
uma das seguinte condições: existe A0(a) ∈ A tal que T |= A0 Ai e Ai An ∈ T ;
existe ga(Q0, a, b) ∈ A tal que T |= ∃Q0 Ai e Ai An ∈ T ; existe A0(a) ∈ A tal
que T |= A0 ∃Qi e ∃Qi An ∈ T ; ou existe ga(Q0, a, b) ∈ A tal que T |= Q0 Qi e
∃Qi An ∈ T . Conclui-se então que existe A0(a) ∈ A tal que T |= A0 An ou existe
ga(Q0, a, b) ∈ A tal que T |= ∃Q0 An.
(ii) A propriedade pode ser verificada de forma similar à propriedade (i), usando as
regras (cr2), (cr4) e (cr5).
Seguidamente, mostra-se que, no caso da derivação de asserções de pertença a rela-
ções, a partir de uma ontologia satisfazível, também estão sempre envolvidas uma asser-
ção da ABox e uma subsunção de relações derivada pela TBox.
Lema 49. Seja O = T , A uma ontologia DL-LiteR , Qn uma relação básica, e a e b duas
constantes. Então O |= ga(Qn, a, b) se e só se alguma das seguintes condições se verifica:
1. existe ga(Q0, a, b) ∈ A tal que T |= Q0 Qn;
2. O é insatisfazível.
Demonstração. Seguindo raciocínio semelhante ao seguido na prova do lema 48 é possí-
vel demonstrar a propriedade enunciada (e é fácil constatá-lo: a única regra de chase
que se teria de considerar na indução seria a (cr5), já que as restantes apenas permiti-
riam introduzir relações evolvendo uma das constantes, a ou b, e outra constante nova e
nunca ambas; e é evidente que, assumindo ga(Qi, a, b) ∈ chasei(O), e portanto, que existe
ga(Q0, a, b) ∈ A tal que T |= Q0 Qi, e dado que Qi Qn ∈ T , se tem imediatamente
T |= Q0 Qn).
Mostra-se que a redução de uma dada ontologia realmente deriva as mesmas asser-
ções positivas que a ontologia original.
Lema 50. Seja O uma ontologia DL-LiteR . Seja O uma redução de O. Seja A um conceito
atómico, P uma relação atómica, e a e b duas constantes. Então O |= A(a) se e só se O |= A(a)
e O |= P(a, b) se e só se O |= P(a, b).
Demonstração. Pelo lema 48, tem-se O |= A(a) se e só se existe A0(a) ∈ A tal que T |=
A0 A ou existe ga(Q0, a, c) ∈ A tal que T |= ∃Q0 A, para alguma constante c, ou O
é insatisfazível; e O |= A(a) se e só se existe A0(a) ∈ A tal que T |= A0(a) A ou existe
72
7. TRADUÇÃO COM REDUÇÃO 7.2. Análise
ga(Q0, a, c ) ∈ A tal que T |= ∃Q0 A, para alguma constante c , ou O é insatisfazível.
Ora, dado que pela definição de redução A = A , que as consequências de T da forma
B A são as mesmas que as de T , tem-se que se existe A0(a) ∈ A tal que T |= A0 A
então existe A0(a) ∈ A tal que T |= A0 A – basta considerar que com A0 = A0 essa
condição já é satisfeita – e vice-versa; se existe ga(Q0, a, b) ∈ A tal que T |= ∃Q0 A,
para alguma constante c então existe ga(Q0, a, d) ∈ A tal que T |= ∃Q0 A, para
alguma constante d – basta considerar que com Q0 = Q0 essa condição já é satisfeita – e
vice-versa. Além disso, pela definição de redução tem-se também que O é insatisfazível
se e só se O é insatisfazível. Logo, O |= A(a) se e só se O |= A(a).
Por raciocínio semelhante, mas agora usado o lema 49, pode concluir-se que O |=
P(a, b) se e só se O |= P(a, b).
As duas proposições seguintes, referem que, tal como facilmente se intui, uma certa
asserção negativa é consequência lógica de uma dada ontologia se, e apenas se, ao se lhe
juntar a correspondente asserção positiva, essa ontologia se torna insatisfazível.
Preposição 51. Seja O = T , A uma ontologia DL-LiteR satisfazível, A um conceito atómico,
e a uma constante. Então O |= ¬A(a) se e só se a ontologia DL-LiteR O = T , A ∪ {A(a)} é
insatisfazível.
Demonstração. (→) Suponha-se que O |= ¬A(a) mas existe um modelo M de O . Assim,
M |= A(a). Ora, se M é modelo de O então M |= T e M |= A, ou seja, M também é
modelo de O. Assim, como O |= ¬A(a), tem-se que M |= A(a) e M |= ¬A(a), de onde
se obtém a contradição.
(←) Suponha-se que O é insatisfazível mas existe um modelo M de O tal que M |=
A(a). Nesse caso, tem-se que M |= T , M |= A e M |= A(a), ou seja, M também é
modelo de O , de onde se obtém a contradição.
Preposição 52. Seja O = T , A uma ontologia DL-LiteR satisfazível, P uma relação atómica
e a e b duas constantes. Então O |= ¬P(a, b) se e só se a ontologia DL-LiteR O = T , A ∪
{P(a, b)} é insatisfazível.
Demonstração. Similar à demonstração da preposição 51.
Mostra-se, nos dois lemas seguintes, que a redução de uma dada ontologia deriva
exactamente as mesmas asserções negativas que essa ontologia.
Lema 53. Seja O = T , A uma ontologia DL-LiteR . Seja O = T , A uma redução de O.
Seja A um conceito atómico e a uma constante. Então O |= ¬A(a) se e só se O |= ¬A(a).
Demonstração. Pela proposição 51 tem-se que O |= ¬A(a) se e só se a ontologia O =
T , A∪{A(a)} é insatisfazível; e, de modo semelhante, O |= ¬A(a) se e só se a ontologia
O = T , A ∪ {A(a)} é insatisfazível. Pelo lema 28 tem-se que O é insatisfazível se e
só se can(O ) não a satisfaz; e que O é insatisfazível se e só se can(O ) não a satisfaz.
Pelo lema 26, tem-se que can(O ) não satisfaz O se e só se db(A∪{A(a)}) |= cln(T ), A∪
73
7. TRADUÇÃO COM REDUÇÃO 7.2. Análise
{A(a)} ; e que can(O ) não satisfaz O se e só se db(A ∪{A(a)}) |= cln(T ), A ∪{A(a)} .
Portanto, para demostrar a propriedade pretendida basta mostrar que db(A ∪ {A(a)}) |=
cln(T ), A ∪ {A(A)} se e só se db(A ∪ {A(a)}) |= cln(T ), A ∪ {A(a)} .
Considerem-se as TBox negativas T1 = cln(T ) e T2 = cln(T ), e um axioma negativo
arbitrário α. Pelo corolário 27 tem-se que T1 |= α se e só se T |= α; e que T2 |= α se e só se
T |= α. Ora, dado que T é a TBox de uma redução de O = T , A , sabe-se que T |= α
se e só se T |= α. Portanto, tem-se T1 |= α se e só se T2 |= α. Mostra-se que de facto se
tem db(A ) |= T1, A se e só se se db(A ) |= T2, A , onde A corresponde a A ∪{A(a)}
e A ∪ {A(a)} – recorde-se que, sendo A a ABox de uma redução de O = T , A , tem-se
A = A.
(→) Sabe-se que db(A ) |= T1, A se e só se existe um axioma negativo β ∈ T1 tal
que db(A ) |= β.
Considere-se β = B1 ¬B2. Nesse caso, T1 |= B1 ¬B2. Portanto, tem-se T2 |= B1
¬B2. É fácil constatar que, para tal se verificar, tem de existir em T2 um axioma negativo,
χ, B1 ¬B2, B2 ¬B1, B1 ¬B1, ou B2 ¬B2. Ora, dado que db(A ) |= B1 ¬B2,
tem-se que existe a tal que db(A ) |= B1(a) e db(A ) |= B2(a). Com isso, conclui-se que
db(A ) |= χ. Ou seja, db(A ) também não satisfaz T2, A .
Considere-se β = B ¬B. Nesse caso, T1 |= B1 ¬B2. Portanto, tem-se T2 |= B
¬B. É fácil constatar que, para tal se verificar, tem de ter-se B ¬B ∈ T2. Portanto,
db(A ) também não satisfaz T2, A .
Considere-se β = Q1 ¬Q2. Por raciocínio similar apresentado no caso β = B1
¬B2, conclui-se que db(A ) não satisfaz T2, A .
Considere-se β = Q ¬Q. Por raciocínio similar ao apresentado no caso β = B
¬B, conclui-se que db(A ) não satisfaz T2, A .
(←) Similar a (→), no sentido inverso, i.e. de T2 para T1.
Lema 54. Seja O uma ontologia DL-LiteR . Seja O uma redução de O. Seja P uma relação
atómica e a e b duas constantes. Então O |= ¬P(a, b) se e só se O |= ¬P(a, b).
Demonstração. Similar ao lema 53.
Em [28] é apresentada a noção de oráculo parcial abstracto, que corresponde a um
oráculo parcial que é necessariamente correcto.
Definição 55. Seja Kd = (O, Od, Pd) uma base de conhecimento MKNF duplicada, onde
O é uma ontologia DL-LiteR . Define-se oráculo parcial abstracto para O, denotado por
pTa
O, como o oráculo parcial tal que pTOa(I, S, L) se só se O ∪ I ∪ L |= S ou Od ∪ I ∪ L
para O ∪ I ∪ L e Od ∪ I ∪ L consistentes, respectivamente.
É também enunciada em [28] a seguinte preposição.
Preposição 56. Seja Kd = (O, Od, Pd) uma base de conhecimento híbrida MKNF. O oráculo
parcial abstracto pTa
O é correcto relativamente a compTO.
74
7. TRADUÇÃO COM REDUÇÃO 7.2. Análise
Finalmente, demonstra-se, com base dos resultados anteriores, que oráculo definido
é correcto.
Teorema 57. Seja Kd = (O, Od, Pd) uma base de conhecimento MKNF duplicada, onde O é
uma ontologia DL-LiteR . Seja O uma redução de O. Então pTO
O é um oráculo parcial correcto
relativamente a compTO.
Demonstração. Segue dos lemas 50, 53 e 47 que pTa
O(∅, S, ∅) se e só se pTO
O (∅, S, ∅) verifica-
se. Pode também derivar-se desses lemas que se tem pTa
O (I, S, L) se e só se pTO
O (I, S, L),
para I e L arbitrários, simplesmente porque adicionar I ∪ L , onde I e L são os conjun-
tos de regras correspondentes ao literais de I e L, respectivamente, a Pd
O corresponde a
adicionar I ∪ L à ABox de O, que depois de traduzida origina essas mesmas regras.
Assim pTa
O e pTO
O sucedem exactamente para o mesmo conjunto de queries; e, como
pTa
O é um oráculo correcto relativamente a compTO, obtém-se que pTO
O é um um oráculo
correcto relativamente a compTO.
75
8
Tradução directa
O oráculo DL-LiteR directo baseia-se numa tradução da ontologia para regras não mo-
nótonas, à semelhança do que acontece com os oráculos EL+
⊥e DL-LiteR indirecto, ante-
riormente apresentados. No entanto, contrariamente a estes, não recorre a qualquer tipo
de redução da TBox. Neste oráculo, ao invés de se evitar a ocorrência de axiomas cuja
tradução para regras não é óbvia, introduzem-se alguns predicados especiais para per-
mitir essa tradução. As quantificações existenciais no lado direito de axiomas, que, com
já se viu, não podem ser representados recorrendo exclusivamente aos operadores da
programação em lógica e aos símbolos da assinatura da ontologia, são aqui representa-
das usando esses predicados especiais.
Outra diferença importante entre o oráculo DL-LiteR directo e os oráculos anteri-
ormente apresentados é que, contrariamente ao primeiro, os últimos pressupõem inde-
pendência entre os conjuntos de axiomas positivos e negativos (no caso do EL+
⊥, a não
existência dos segundos) da TBox à qual é aplicada a tradução, i.e. da TBox reduzida,
no sentido em que, a junção de ambos não deriva mais axiomas que cada um separa-
damente. Recorde-se que um dos passos da redução no oráculo DL-LiteR indirecto é
a aplicação do fecho dos axiomas negativos relativamente aos positivos, que adiciona
precisamente os axiomas negativos que resultam da interacção entre axiomas positivos
e negativos. Ora, no oráculo directo, uma vez que não há redução, essa interacção, nem
sempre trivial, tem de ser tida em conta na própria tradução. Para estudar o efeito dessa
interação entre axiomas positivos e negativos sobre a derivação de asserções, recorre-se a
uma estrutura bem conhecida: o grafo 1. Tal abordagem é igualmente adoptada em [32],
1
Embora [9] (ver capítulo 6) defina o fecho dos axiomas negativos relativamente aos positivos, cln, e apre-
sente algumas das suas propriedades, não fornece outras ferramentas que permitam estudar as propriedades
pretendidas. Revelou-se mais producente optar por introduzir a noção de grafo de TBox mencionada.
76
8. TRADUÇÃO DIRECTA 8.1. Resultados
definido-se a noção de grafo da TBox, que na presente dissertação se estende, de modo a
também tratar axiomas negativos.
A Secção 8.1 apresenta os resultados relevantes desta abordagem, definindo a noção
de grafo da TBox, dois conjuntos de conceitos e relações com propriedades relevantes
para a tradução – insatisfazibilidade e irreflexividade – em termos do grafo, a tradução
da ontologia para regras, e o oráculo baseado nessa tradução, e finalmente, enunciado a
correcção do oráculo apresentado. A Secção 8.2 elabora a avaliação analítica desses re-
sultados, começando por estabelecer a correcção da tradução quanto às derivações (de
asserções) positivas (Subsecção 8.2.1), estudando depois algumas propriedades relevan-
tes do grafo no que toca às derivações negativas (Subsecção 8.2.2), estabelecendo então
a correcção da tradução quanto às derivações negativas (Subsecção 8.2.3), e finalmente,
estabelecendo a correcção do oráculo baseado nessa tradução (Subsecção 8.2.4). A Sec-
ção 8.3 apresenta os algoritmos para computar os conjuntos de conceitos e relações insa-
tisfazíveis e relações irreflexivas.
8.1 Resultados
O seguinte exemplo introduz a ideia de representar existenciais no lado direito de axio-
mas através de predicados especiais.
Exemplo 58. Considere-se a ontologia do exemplo 2. Recorde-se que os axiomas não
susceptíveis de ser traduzidos para regras recorrendo apenas aos operadores da progra-
mação em lógica e aos símbolos da assinatura da ontologia são Piece ∃HasArtist e
Composer ∃HasComposed. Com efeito, na programação em lógica a inferência é limi-
tada a factos acerca de indivíduos concretos. Não se permite variáveis quantificadas exis-
tencialmente no consequente das regras. Por exemplo, se se escrevesse HasComposed(x, t) ←
Composer(x), t seria necessariamente ou uma variável quantificada universalmente, que
capturaria todos os elementos do universo de Herbrand, ou uma constante, que repre-
sentaria um indivíduo concreto 2. No entanto, se se tratar o existencial ∃HasComposed
como um novo conceito atómico DHasComposed – o conjunto de todos indivíduos que
participa, como sujeito, na relação HasComposed, ou por outras palavras, o domínio
de HasComposed – a tradução torna-se natural: DHasComposed(x) ← Composer(x).
Veja-se que esta regra captura exactamente a informação pretendida: se o indivíduo x é
um compositor então x tem de participar, como sujeito, na relação HasComposed. Tem
apenas de considerar-se adicionalmente a interação entre este meta-predicado e a rela-
ção a que correspondente. De HasComposed(GeorgeGershwin, RhapsodyInBlues), por
exemplo, deve inferir-se DHasComposed(GeorgeGershwin). Ora, tal interacção pode ser
2
Note-se que se se usasse uma nova constante, c, para representar um indivíduo indeterminado,
escrevendo-se HasComposed(x, c) ← Composer(x), uma query HasComposed(GustavMahler, c), onde
c já representa um indivíduo concreto (apesar de não se tratar do nome de nenhuma música), sucederia,
quando na verdade indivíduo indeterminado com o qual Gustav Mahler se relaciona por HasComposed
poderia ser qualquer outro.
77
8. TRADUÇÃO DIRECTA 8.1. Resultados
axiomatizada por uma nova regra DHasComposed(x) ← HasComposed(x, y). Outro as-
pecto que tem de se ter em conta é que agora ao traduzir-se o axioma HasComposed−
HasArtist tem de considerar-se não só os predicados correspondentes às relações envol-
vidas, HasArtist(x, y) ← HasComposed(y, x), como também os novos meta-predicados
que representam os seus domínios e contradomínios: DHasArtist(x) ← RHasComposed(x)
e RHasArtist(x) ← DHasComposed(x).
Aplicando a abordagem descrita aos axiomas positivos da TBox do Exemplo 2, obtém-
se as seguintes regras 3 4 :
DHasArtist(x) ← Piece(x) (8.1)
Artist(x) ← RHasArtist(x) (8.2)
Piece(x) ← RHasComposed(x) (8.3)
HasArtist(x, y) ← HasComposed(y, x) (8.4)
DHasArtist(x) ← RHasComposed(x) (8.5)
RHasArtist(x) ← DHasComposed(x) (8.6)
DHasComposed(x) ← Composer(x) (8.7)
DHasArtist(x) ← HasArtist(x, y) (8.8)
RHasArtist(x) ← HasArtist(y, x) (8.9)
DHasComposed(x) ← HasComposed(x, y) (8.10)
RHasComposed(x) ← HasComposed(y, x) (8.11)
HasArtist(BlueTrain, JohnColtrane) ← (8.12)
HasComposed(GeorgeGershwin, RhapsodyInBlue) ← (8.13)
Composer(GustavMahler) ← (8.14)
As regras 8.8-8.11 axiomatizam o “significado” dos meta-predicados DHasArtist, RHasArtist
(contradomínio de HasArtist), DHasComposed e RHasComposed.
Note-se que com estas regras se derivam as asserções pretendidas, já apresentadas
em exemplos anteriores, nomeadamente: Artist(GustavMahler), por 8.14, 8.7, 8.6 e 8.2;
Artist(GeorgeGershwin), por 8.13, 8.4, 8.9 e 8.2; Artist(JohnColtrane), por 8.12, 8.9
e 8.2; HasArtist(RhapsodyInBlues, GeorgeGershwin), por 8.13, 8.4; e Piece(RhapsodyInBlue),
por 8.13 e 8.5.
À semelhança do que acontecia na tradução indirecta, recorre-se a uma função de tra-
dução de descrições de conceitos e relações auxiliar, para definir a tradução da ontologia
para regras. Note-se o uso dos predicados especiais mencionados nos exemplos anteri-
ores para representar as quantificações existenciais. Tal como acontecia no exemplo an-
terior, um predicado com prefixo D, DP, denota o conjunto dos indivíduos que estão no
3
Por simplicidade de apresentação, omitem-se as regras duplicadas, e a tradução de alguns axiomas e
asserções que não são relevantes para os propósitos do presente exemplo.
4
A regra 8.4 é obtida de modo similar ao da tradução indirecta.
78
8. TRADUÇÃO DIRECTA 8.1. Resultados
domínio de uma relação atómica P; um predicado com prefixo R, RP, denota o conjunto
dos indivíduos que estão no contradomínio 5.
Definição 59. Denote-se por C um conceito, R uma relação, x e y variáveis e por ’_’
variáveis anónimas, i.e. cada ocorrência de ’_’ denota uma variável diferente e disjunta
de x e y. Define-se tr(C, x) do seguinte modo:
tr(C, x) =



A(x) se C = A
DP(x) se C = ∃P
RP(x) se C = ∃P−
NA(x) se C = ¬A
tr(¬Q, x, _) se C = ¬∃Q
(8.15)
Define-se tr(R, x, y) do seguinte modo:
tr(R, x, y) =



P(x, y) se R = P
P(y, x) se R = P−
NP(x, y) se R = ¬P
NP(y, x) se R = ¬P−
(8.16)
Além disso, trd(B, x) e trd(Q, x, y), onde B é um conceito básico e Q uma relação básica,
denotam os mesmos átomos que tr(C, x) e tr(Q, x, y), respectivamente, mas com os pre-
dicados originais substituídos pelos respectivos predicados duplicados.
Exemplo 60. Considere-se novamente a ontologia do exemplo 2. A hierarquia de sub-
sunções, incluindo as implícitas, da TBox dessa ontologia pode ser representada sobre a
forma de um grafo dirigido, em que cada nó representa um conceito ou relação e cada
arco dirigido representa uma subsunção, onde o vértice de origem corresponde ao con-
ceito ou relação menos geral e o vértice destino corresponde ao conceito ou relação mais
geral (figura 8.1).
Note-se que os axiomas positivos resultantes da classificação da TBox, menciona-
dos no exemplo 39, e os axiomas do fecho de subsunções negativas, apresentados no
exemplo 25, têm no grafo os correspondentes caminhos, em que a vértice de origem
corresponde ao conceito ou relação menos geral e o vértice de destino ao conceito ou
relação mais geral, dessas subsunções. Adicionalmente, têm-se alguns arcos que não
representam axiomas de subsunção DL-LiteR . Esses arcos correspondem às subsun-
ções entre complementos. Por exemplo, o arco (¬Recommend, ¬TopSeller), que contri-
bui para o caminho de LessSold para ¬TopSeller, correspondente a um dos axiomas do
fecho negativo, representa o axioma ¬Recommend ¬TopSeller. Tal pode inferir-se de
TopSeller Recommend: se se sabe que o conjunto dos objectos recomendados contém
5
O “D” vem da palavra inglesa domain e o “R” de range.
79
8. TRADUÇÃO DIRECTA 8.1. Resultados
Piece
∃HasArtist
¬∃HasArtist
¬Piece
∃HasArtist−
Artist
¬Artist
¬∃HasArtist−
∃HasComposed−
¬∃HasComposed−
∃HasComposed
¬∃HasComposed
Composer
¬Composer
TopSeller
Recommend
¬Recommend
¬TopSeller
LessSold
¬LessSold
HasComposed−
HasArtist
¬HasArtist
¬HasComposed−
HasComposed
HasArtist−
¬HasArtist−
¬HasComposed
Figura 8.1: Grafo da TBox do exemplo 2
todos os que são mais vendidos então sabe-se igualmente que qualquer objecto que não
seja recomendado também não pode ser dos mais vendidos. Tal raciocínio é aplicável a
qualquer axioma positivo, tal como figura 8.1 sugere.
Esta representação gráfica da TBox permite não só visualizar as consequências ló-
gicas relativas às subsunções, com também todas as que são relativas às pertenças de
indivíduos a conceitos ou participação de pares de indivíduos a relação. Considere-se
a asserção Composer(GustavMahler). Todos os vértices alcançáveis a partir do vértice
Composer correspondem a conceitos aos quais o indivíduo GustavMahler pertence. Por-
tanto, as asserções deriváveis de Composer(GustavMahler) em conjunto com a TBox são
exactamente aquelas que se podem formar com os referidos conceitos e o indivíduo em
causa, GustavMahler: ∃HasComposed(GustavMahler), ∃HasArtist−
(GustavMahler),
Artist(GustavMahler), ¬Piece(GustavMahler), e ¬∃HasComposed−
(GustavMahler).
De modo semelhante, pode obter-se todas as asserções que são consequência lógica da
ontologia.
Note-se agora, também através da representação em grafo da TBox, uma característica
relevante da relação HasComposed. Partindo dos vértices correspondentes aos dois lados
da relação, i.e. ao domínio e contradomínio, e percorrendo os caminhos que os tem como
origem, alcança-se o complemento do lado oposto (o contradomínio no caso de se ter
partido do domínio, e vice-versa), o que significa que pode inferir-se ∃HasComposed
¬∃HasComposed−
ou ∃HasComposed−
¬∃HasComposed. Portanto, os indivíduos
80
8. TRADUÇÃO DIRECTA 8.1. Resultados
que participem na relação HasComposed como sujeito, não podem participar como ob-
jecto e vice-versa. Por outras palavras, a relação HasComposed é irreflexiva. Tal obser-
vação seria igualmente possível se se considerasse apenas o grafo correspondente à TBox
formada pelos axiomas positivos: existe um caminho de ∃HasComposed para Artist e
outro de ∃HasComposer−
para Piece e um dos axiomas negativos da TBox é precisa-
mente Artist ¬Piece. Quanto a derivações, embora essa propriedade não permita
derivar nenhuma asserção DL, sob o ponto de vista da lógica de primeira ordem, per-
mite a inferência de ∀x¬HasComposer(x, x), que tem de ser capturada no programa re-
sultante da tradução da ontologia. Os critérios descritos podem ser aplicados em geral,
para encontrar qualquer relação irreflexiva.
Imagine-se agora que, por engano, se introduzia um axioma Composer ∃HasCo
mposer−. Nesse caso, o grafo da figura 8.1 passaria a ter adicionalmente um arco (Composer,
HasComposed−
). Assim, haveria um caminho de Composer para Artist e de Composer
para Piece. Ora, como se tem um axioma negativo Artist ¬Piece, poderia concluir-
se imediatamente, desta observação, que Composer seria insatisfazível. Com a asserção
Composer(GustavMahler), por exemplo, inferir-se-ia Artist(GustavMahler) e Piece(Gu
stavMahler), o que não satisfaria o referido axioma negativo. O mesmo aconteceria para
qualquer outro indivíduo, e portanto, nenhum poderia estar na extensão de Composer.
Mais uma vez, embora tal não resultasse na derivação de nenhuma nova asserção, per-
mitiria uma nova inferência, ∀x¬Composer(x), que deveria ter-se em conta na tradução
de uma tal ontologia. Note-se que, novamente, os critérios descritos para este conceito
insatisfazível em particular, podem ser aplicados para detectar qualquer conceito ou re-
lação insatisfazível.
A seguinte definição formaliza a noção de grafo de uma TBox, introduzida no exem-
plo anterior.
Definição 61. Seja T uma TBox DL-LiteR com assinatura ΣT . Define-se o digrafo de T ,
GT = V, E , construtivamente, do seguinte modo.
1. se o conceito atómico A está em ΣT então A e ¬A estão em V;
2. se a relação atómica P está em ΣT então P, ∃P, ∃P−, ¬P ¬∃P e ¬∃P− estão em V;
3. se B1 B2 está em T então os arcos dirigidos (B1, B2) e (¬B2, ¬B1) estão em E;
4. se Q1 Q2 está em T então os arcos dirigidos (Q1, Q2), (Q1
−
, Q2
−
), (∃Q1, ∃Q2),
(∃Q−
1 , ∃Q−
2 ), (¬Q2, ¬Q1), (¬Q−
2 , ¬Q−
1 ), (¬∃Q2, ¬∃Q1) e (¬∃Q−
2 , ¬∃Q−
1 ) estão em E;
5. se B1 ¬B2 está em T então os arcos dirigidos (B1, ¬B2) e (B2, ¬B1) estão em E;
6. se Q1 ¬Q2 está em T então os arcos dirigidos (Q1, ¬Q2), (Q−
2 , ¬Q−
1 ), (∃Q1, ¬∃Q2),
(∃Q2, ¬∃Q1), (∃Q−
1 , ¬∃Q−
2 ) e (∃Q−
2 , ¬∃Q−
1 ) estão em E.
81
8. TRADUÇÃO DIRECTA 8.1. Resultados
Tal como exemplo anterior sugere, dois conjuntos de símbolos da TBox apresentam
certas propriedades que não podem ser inferidas de nenhum axioma isoladamente – ape-
nas da própria estrutura do grafo da TBox – mas que têm de ser expressas, de alguma
forma, através de regras. São eles o conjunto dos conceitos atómicos e relações atómi-
cas insatisfazíveis e o das relações irreflexivas. Os primeiros podem ser identificados, no
grafo da TBox, aplicando os critérios apresentados na seguinte definição.
Definição 62. Seja T uma TBox DL-LiteR com assinatura ΣT e digrafo GT . Define-se
Ω(T ) do seguinte modo:
1. se A ∈ ΣT e, para algum B1 ¬B2 ∈ T , existe um caminho em GT de A para B1 e
de A para B2, então A ∈ Ω(T );
2. se P ∈ ΣT e, para algum B1 ¬B2 ∈ T , existe um caminho em GT de ∃P para B1
e de ∃P para B2, então P ∈ Ω(T );
3. se P ∈ ΣT e, para algum B1 ¬B2 ∈ T , existe um caminho em GT de ∃P− para
B1 e de ∃P− para B2, então P ∈ Ω(T );
4. se P ∈ ΣT e, para algum Q1 ¬Q2 ∈ T , existe um caminho em GT de P para Q1 e
de P para Q2, então P ∈ Ω(T );
5. se P ∈ ΣT e, para algum Q1 ¬Q2 ∈ T , existe um caminho em GT de P− para Q1
e de P− para Q2, então P ∈ Ω(T ).
O conjunto das relações irreflexivas pode ser obtido, através do grafo da TBox, apli-
cando a seguinte definição.
Definição 63. Seja T uma TBox DL-LiteR com assinatura ΣT e digrafo GT . Define-se
Ψ(T ) do seguinte modo:
1. se P ∈ ΣT e, para algum B1 ¬B2 ∈ T , existe um caminho em GT de ∃P para B1
e de ∃P− para B2, então P está em Ψ(T );
2. se P ∈ ΣT e, para algum B1 ¬B2 ∈ T , existe um caminho em GT de ∃P− para
B1 e de ∃P para B2, então P está em Ψ(T );
3. se P ∈ ΣT e, para algum Q1 ¬Q2 ∈ T , existe um caminho em GT de P para Q1 e
de P− para Q2, então P está em Ψ(T );
4. se P ∈ ΣT e, para algum Q1 ¬Q2 ∈ T , existe um caminho em GT de P− para Q1
e de P para Q2, então P está em Ψ(T ).
A tradução da ontologia para regras é definida do seguinte modo.
Definição 64. Seja O = T , A uma ontologia DL-LiteR , onde T tem assinatura ΣT .
Denote-se por x e y variáveis, e por a e b constantes. Define-se a tradução de O para
regras não monótonas, denotada por Pd
O, como o programa em lógica contendo as seguintes
regras:
82
8. TRADUÇÃO DIRECTA 8.1. Resultados
(e) para cada P ∈ ΣT
6:
DP(x) ← P(x, y)
RP(y) ← P(x, y)
DPd(x) ← P(x, y)
RPd(x) ← P(x, y)
(a1) para cada A(a) ∈ A:
A(a) ←
Ad(a) ← not NA(a)
(a2) para cada P(a, b) ∈ A:
P(a, b) ←
Pd(a, b) ← not NP(a, b)
(s1) para cada B1 B2 ∈ T :
tr(B2, x) ← tr(B1, x)
trd(B2, x) ← trd(B1, x), not tr(¬B2, x)
tr(¬B1, x) ← tr(¬B2, x)
(s2) para cada Q1 Q2 ∈ T 7:
tr(Q2, x, y) ← tr(Q1, x, y)
trd(Q2, x, y) ← trd(Q1, x, y), not tr(¬Q2, x, y)
tr(∃Q2, x) ← tr(∃Q1, x)
trd(∃Q2, x) ← trd(∃Q1, x), not tr(¬∃Q2, x)
tr(∃Q2
−
, x) ← tr(∃Q1
−
, x)
trd(∃Q2
−
, x) ← trd(∃Q1
−
, x), not tr(¬∃Q2
−
, x)
tr(¬Q1, x, y) ← tr(¬Q2, x, y)
(n1) para cada B1 ¬B2 ∈ T :
tr(¬B1, x) ← tr(B2, x)
tr(¬B2, x) ← tr(B1, x)
(n2) para cada Q1 ¬Q2 ∈ O:
tr(¬Q2, x, y) ← tr(Q1, x, y)
tr(¬Q1, x, y) ← tr(Q2, x, y)
(i1) para cada A ∈ Ω(T ):
NA(x) ←
(i2) para cada P ∈ Ω(T ):
NP(x, y) ←
6
Como optimização pode introduzir-se apenas as regras cujo o antecedente e consequente surjam em
alguma outra regra. Por exemplo, introduzir DP(x) ← P(x, y) apenas se a ontologia contém um axioma da
forma ∃P B (que originaria uma regra tr(B, x) ← DP(x)) e, um axioma da forma Q P (que originaria
uma regra P(x, y) ← tr(Q, x, y) ou uma asserção P(a, b) (que originaria uma regra P(a, b) ←).
7
Como optimização podem adicionar-se apenas as regras, de entre a terceira à sexta, cujos consequentes
ocorrem no antecedente de outras regras da tradução.
83
8. TRADUÇÃO DIRECTA 8.2. Análise
(ir) para cada P ∈ Ψ(T ):
NP(x, x) ←
Note-se a última regra dos casos (s1) e (s2). Recorde-se que, em termos de expressi-
vidade, as lógicas de descrição são um fragmento da lógica da primeira ordem, na qual
uma subsunção de conceitos ou relações corresponde a uma implicação. Ora, é bem co-
nhecido na lógica de primeira ordem, e já se introduziu tal noção no exemplo anterior,
o modus tollens, i.e. a regra de inferência que dita que de uma implicação e da negação
do seu consequente se pode inferir a negação do seu antecedente. Na programação em
lógica, embora cada regra também corresponda a uma implicação, como se adopta a ne-
gação por omissão em vez da negação clássica 8, tal regra de inferência não é aplicável. É
para garantir que as derivações por modus tollens, possíveis na ontologia, não se perdem
na respectiva tradução que as referidas regras são adicionadas.
O caso (i1) (resp., (i2)), expressa a insatisfazibilidade de conceitos (resp., relações), in-
troduzindo um facto que nega a pertença de qualquer indivíduo a esses conceitos (resp.,
par de indivíduos a essa relação).
O caso (ir) expressa a irreflexividade de relações, introduzir um facto que nega a par-
ticipação, nessa relação, de qualquer indivíduo consigo mesmo.
Com base nesta tradução, define-se finalmente o oráculo DL-LiteR directo.
Definição 65. Seja Kd = (O, O, Pd) uma base de conhecimento MKNF duplicada, onde
O é uma ontologia DL-LiteR . Define-se o oráculo DL-LiteR directo de O, denotado por
pTO, como o oráculo parcial tal que pTO(I, S, L) se só se Pd
O ∪ I ∪ L |=WF S, onde I e
L são os conjuntos das regras correspondentes aos literais de I e L, respectivamente.
O terceiro resultado teórico desta dissertação é o de que o oráculo DL-LiteR directo,
baseado na tradução directa da ontologia para regras não monótonas, é correcto, i.e. que
ao se substituir o oráculo completo por esse oráculo o SLG(O) sucede exactamente para
o mesmo conjunto de queries.
Teorema 78. Seja Kd = (O, O, Pd) uma base de conhecimento MKNF duplicada, onde O é uma
ontologia DL-LiteR , e pTO o oráculo DL-LiteR directo de O. Então pTO é um oráculo parcial
correcto relativamente a compTO.
8.2 Análise
Nesta secção, procede-se à análise do resultado anterior. As quatro subsecções subse-
quentes correspondem aos quatro passos principais em que a demonstração do resul-
tado se divide: a demonstração de que as asserções positivas derivadas pela tradução
directa são exactamente as mesmas que as derivadas pela ontologia original; a obtenção
8
Note-se, no entanto, que é sempre possível representar a negação clássica – como aliás, se faz na tradu-
ção apresentada – havendo até extensões da programação em lógica que acrescentam um operador que a
representa e axiomatizam a sua coerência com a negação por omissão.
84
8. TRADUÇÃO DIRECTA 8.2. Análise
dos resultados necessários ao estudo das derivações negativas, estabelecendo algumas
propriedades do grafo da TBox; a demonstração de que as asserções negativas derivadas
pela tradução são as mesmas que as derivadas pela ontologia original; e finalmente, a de-
monstração, com base nos passos anteriores, de que o oráculo é correcto, ou seja, que a
tradução juntamente com os conjuntos de literais que parametrizam o oráculo derivam
as mesmas asserções que a ontologia original e esses conjuntos.
8.2.1 Derivações positivas
Começa-se obter uma correspondência, útil nos passos seguintes, entre o resultado da
aplicação do operador chase a uma dada ontologia e as asserções de conceito positivas
que se derivam dessa ontologia.
Lema 66. Seja O = T , A uma ontologia DL-LiteR satisfazível, A um conceito atómico e a
uma constante que ocorre em O. Então O |= A(a) se e só se A(a) ∈ chase(O).
Demonstração. Pelo teorema 29 , O |= A(a) se e só se a ontologia O = T ∪ { ˆA
¬A}, A ∪ { ˆA(a)} , onde ˆA é um conceito atómico que não ocorre em O, é insatisfazí-
vel. Assim, pelo lema 28 , O |= A(a) se e só se can(O ) |= O . Portanto, pelo lema 21 ,
O |= A(a) se e só se existe um axioma de subsunção negativo α ∈ T ∪ { ˆA ¬A} tal que
can(O ) |= α. A demonstração prossegue do seguinte modo. Mostram-se as seguintes
propriedades auxiliares: chase(O ) = chase(O) ∪ { ˆA(a)} e ˆAcan(O ) = {a}. Demonstra-se
que existe α ∈ T ∪ { ˆA ¬A} tal que can(O ) |= α se e só se A(a) ∈ chase(O), através
dos seguintes passos: mostra-se, por contradição, que não existe nenhum axioma de sub-
sunção negativo em T que não seja satisfeito por can(O ), ou seja, que α = ˆA ¬A; e
mostra-se que can(O ) |= ˆA ¬A se e só se A(a) ∈ chase(O).
Por definição de chase, chase(O ) = chase( Tp, A∪{ ˆA(a)} ) e chase(O) = chase( Tp, A ),
onde Tp denota a TBox formada pelos axiomas positivos de T . Além disso, como ˆA não
ocorre em O, não existe em T nenhum axioma de subsunção positivo β nem nenhum or-
dinal i tal que a β seja aplicável a ˆA(a) em chasei(O ). Portanto, chase( Tp, A∪{ ˆA(a)} ) =
chase( Tp, A ) ∪ { ˆA(a)}. Logo, chase(O ) = chase(O) ∪ { ˆA(a)}.
Dado que ˆA não ocorre em T , tem-se que que não existem β ∈ Tp, i ∈ N, f ∈
A ∪ { ˆA(a)}, tais que β seja aplicável a f em chasei(O ) e que ˆA ocorra em β. Portanto,
qualquer asserção de pertença g ∈ chase(O ) onde ˆA ocorra está contida necessariamente
em chase0(O ) = A ∪ { ˆA(a)}. Como ˆA não ocorre em A, conclui-se que ˆA(a) é a única
asserção de pertença em chase(O ) onde ˆA ocorre, e assim, que Acan(O ) = {a}.
Suponha-se então que existe um axioma negativo α ∈ T que não é satisfeito por
can(O ). Nesse caso, dado que chase(O ) = chase(O) ∪ { ˆA(a)} e que ˆA não ocorre em α,
tem-se então que can(O) |= α. Portanto, can(O) |= T . Ou seja, can(O) |= O. Assim, pelo
lema 28 , tem-se que O é insatisfazível, o que contradiz a assunção inicial.
Mostra-se então que can(O ) |= ˆA ¬A se e só se A(a) ∈ chase(O).
(→) Tem-se então que can(O ) |= ˆA ¬A. Ou seja, existe um indivíduo o tal que
o ∈ ˆAcan(O ) e o ∈ Acan(O ). Dado que ˆAcan(O ) = {a}, tem-se que acan(O) é o único
85
8. TRADUÇÃO DIRECTA 8.2. Análise
indivíduo para o qual essa condição pode ser satisfeita. Portanto, A(a) ∈ chase(O ).
Uma vez que chase(O ) = chase(O) ∪ { ˆA(a)}, conclui-se que A(a) ∈ chase(O).
(←) Tem-se que A(a) ∈ chase(O). Portanto, como chase(O ) = chase(O) ∪ { ˆA(a)},
tem-se A(a) ∈ chase(O ). Assim, a ∈ Acan(O ). Como a ∈ ˆAcan(O ), conclui-se então que
can(O ) |= ˆA ¬A.
Obtém-se o correspondente ao resultado anterior, para as asserções de relação positi-
vas.
Lema 67. Seja O = T , A uma ontologia DL-LiteR satisfazível, P uma relação atómica e a e b
duas constantes que ocorrem em O. Então O |= P(a, b) se e só se P(a, b) ∈ chase(O).
Demonstração. Similar à demonstração do lema 66, usando o teorema 30.
Tendo-se estabelecido a correspondência entre as asserções derivadas por uma dada
ontologia e as que estão contidas no resultado da aplicação do operador chase a essa
ontologia, basta, essencialmente, mostrar que correspondência semelhante existe entre
as asserções de chase e os factos do modelo bem fundado do programa resultante da
tradução directa.
Lema 68. Seja O = T , A uma ontologia DL-LiteR satisfazível, A um conceito atómico, P uma
relação atómica, Q uma relação básica, a e b duas constantes que ocorrem em O e I∞ o modelo
bem fundado de Pd
O. Então verificam-se as seguintes propriedades:
(i) A(a) ∈ chase(O) se e só se A(a) ∈ I∞;
(ii) ga(Q, a, c) ∈ chase(O), para alguma constante c, se e só se tr(∃Q, a) ∈ I∞;
(iii) P(a, b) ∈ chase(O) se e só se P(a, b) ∈ I∞.
Demonstração. (→) Demonstra-se por indução na construção de chase(O).
Passo base.
(i) Se A(a) ∈ chase0(O) então, por definição de chase, A(a) ∈ A. Portanto a regra
A(a) ← está em Pd
O. Assim, A(a) ∈ TPd
O
(∅) = TPd
O
(I0), ou seja, A(a) ∈ I1. Logo, A(a) ∈
I∞.
(ii) Se ga(Q, a, c) ∈ chase0(O) então, por definição de chase, ga(Q, a, c) ∈ A. Por-
tanto a regra tr(Q, a, c) ← está em Pd
O. Assim, tr(Q, a, c) ∈ TPd
O
(∅) = TPd
O
(I0), ou seja,
tr(Q, a, c) ∈ I1. Ora, tr(∃Q, x) ← tr(Q, x, y), onde tr(∃Q, x) representa o átomo DP(x)
ou RP(x), também está em Pd
O. Portanto, tr(∃Q, a) ∈ TPd
O
(I1), ou seja, tr(∃Q, a) ∈ I2.
Logo, tr(∃Q, a) ∈ I∞.
(iii) Se P(a, b) ∈ chase0(O) então, por definição de chase, P(a, b) ∈ A, ou seja,
P(a, b) ∈ O. Portanto a regra P(a, b) ← está em Pd
O. Assim, P(a, b) ∈ TPd
O
(∅) = TPd
O
(I0),
ou seja, P(a, b) ∈ I1. Logo, P(a, b) ∈ I∞.
Passo de indução.
86
8. TRADUÇÃO DIRECTA 8.2. Análise
(i) Suponha-se que A(a) ∈ chasei+1(O). Suponha-se também que A(a) ∈ chasei(O),
pois, caso contrário, a propriedade verifica-se trivialmente pela hipótese de indução. As-
sim, chasei+1(O) é obtido de chasei(O) aplicando a regra (cr1) ou a regra (cr3).
Considere-se o primeiro caso, (cr1). Nesse caso, existem α = A A ∈ T e f =
A (a) ∈ chasei(O), tal que α é aplicável a f em chasei(O). Pela hipótese de indução
A (a) ∈ I∞. Ou seja, existe um ordinal sucessor γ tal que A (a) ∈ Iγ. Além disso, dado
que A A ∈ T então a regra A(x) ← A (x) está em Pd
O. Assim, A(a) ∈ TPd
O
(Iγ), ou seja,
A(a) ∈ Iγ+1. Logo, A(a) ∈ I∞.
Considere-se o segundo caso, (cr3). Nesse caso, existem α = ∃Q A ∈ T e f =
ga(Q, a, c) ∈ chasei(O), tal que α é aplicável a f em chasei(O). Pela hipótese de indução
tr(∃Q, a) ∈ I∞. Ou seja, existe um ordinal sucessor γ tal que tr(∃Q, a) ∈ Iγ. Além
disso, dado que ∃Q A ∈ T então a regra A(x) ← tr(∃Q, x) está em Pd
O. Assim,
A(a) ∈ TPd
O
(Iγ), ou seja, A(a) ∈ Iγ+1. Logo, A(a) ∈ I∞.
(ii) Suponha-se que ga(Q, a, c) ∈ chasei+1(O). Suponha-se também que ga(Q, a, c) ∈
chasei(O), pois, caso contrario, a propriedade verifica-se trivialmente pela hipótese de
indução. Assim, chasei+1(O) é obtido de chasei(O) aplicando a regra (cr2), a regra (cr4)
ou a regra (cr5).
Considere-se o primeiro caso, (cr2). Nesse caso, existem α = A ∃Q ∈ T e f =
A (a) ∈ chasei(O), tal que α é aplicável a f em chasei(O). Pela hipótese de indução
A (a) ∈ I∞. Ou seja, existe um ordinal sucessor γ tal que A (a) ∈ Iγ. Além disso,
dado que A ∃Q ∈ T então a regra tr(∃Q, x) ← A (x) está em Pd
O. Assim, tr(∃Q, a) ∈
TPd
O
(Iγ), ou seja, tr(∃Q, a) ∈ Iγ+1. Logo, tr(∃Q, a) ∈ I∞.
Considere-se o segundo caso, (cr4). Nesse caso, existem α = ∃Q ∃Q ∈ T e f =
ga(Q , a, c) ∈ chasei(O), tal que α é aplicável a f em chasei(O). Pela hipótese de indução
tr(∃Q , a) ∈ I∞. Ou seja, existe um ordinal sucessor γ tal que tr(∃Q , a) ∈ Iγ. Além
disso, dado que ∃Q ∃Q ∈ T então a regra tr(∃Q, x) ← tr(∃Q , x) está em Pd
O. Assim,
tr(∃Q, a) ∈ TPd
O
(Iγ), ou seja, tr(∃Q, a) ∈ Iγ+1. Logo, tr(∃Q, a) ∈ I∞.
Considere-se o terceiro caso, (cr5). Nesse caso, existem α = Q Q ∈ T ou α =
(Q )−
Q− ∈ T e f = ga(Q , a, c) ∈ chasei(O), tal que α é aplicável a f em chasei(O)
(note-se que ga(Q , a, c) = ga((Q )−
, c, a), e por isso se pode ter qualquer um dos α men-
cionados). Pela hipótese de indução tr(∃Q , a) ∈ I∞. Ou seja, existe um ordinal sucessor
γ tal que tr(∃Q , a) ∈ Iγ. Além disso, dado que Q Q ∈ T ou (Q )−
Q− ∈ T
então a regra tr(∃Q, x) ← tr(∃Q , x) está em Pd
O. Assim, tr(∃Q, a) ∈ TPd
O
(Iγ), ou seja,
tr(∃Q, a) ∈ Iγ+1. Logo, tr(∃Q, a) ∈ I∞.
(iii) Suponha-se que P(a, b) ∈ chasei+1(O). Suponha-se também que P(a, b) ∈ chasei(O),
pois, caso contrário, a propriedade verifica-se trivialmente pela hipótese de indução. As-
sim, chasei+1(O) é obtido de chasei(O) aplicando a regra (cr5).
Nesse caso, existem α = Q P ∈ T e f = ga(Q , a, b) ∈ chasei(O), tal que α é
aplicável a f em chasei(O). Pela hipótese de indução tr(Q , a, b) ∈ I∞. Ou seja, existe
um ordinal sucessor γ tal que tr(Q , a, b) ∈ Iγ. Além disso, dado que Q P ∈ T então a
regra P(x, y) ← tr(Q , x, y) está em Pd
O. Assim, P(a, b) ∈ TPd
O
(Iγ), ou seja, P(a, b) ∈ Iγ+1.
87
8. TRADUÇÃO DIRECTA 8.2. Análise
Logo, P(a, b) ∈ I∞.
(←) Demonstra-se por indução na sequência de interpretações parciais Iα.
Passo base. Verifica-se trivialmente, dado que I0 = ∅.
Passo de indução.
(i) Suponha-se que A(a) ∈ Iγ+1. Suponha-se também que A(a) ∈ Iγ, pois, caso con-
trário, a propriedade verifica-se trivialmente pela hipótese de indução. Assim, uma das
seguintes condições é verdadeira:
a) a regra A(a) ← está em Pd
O;
b) existe uma regra A(x) ← A (x) em Pd
O tal que A (a) ∈ Iγ;
c) existe uma regra A(x) ← tr(∃Q , x) em Pd
O tal que tr(∃Q , a) ∈ Iγ.
a) Nesse caso, A(a) ∈ A = chase0(O). Logo, A(a) ∈ chase(O).
b) Dado que A (a) ∈ Iγ, então, pela hipótese de indução, A (a) ∈ chase(O). Portanto,
existe um ordinal i tal que A (a) ∈ chasei(O). Além disso, dado que a regra A(x) ← A (x)
está em Pd
O, então também A A está em T . Suponha-se que A(a) ∈ chasei(O), pois,
caso contrário, a propriedade que se pretende demonstrar verifica-se imediatamente. As-
sim, A A é aplicável a A (a) em chasei(O). Portanto, pela preposição 19 (considerando
a aplicação da regra (cr1)), existe j ≥ i tal que chasej+1(O) = chasej(O) ∪ {A(a)}. Logo,
A(a) ∈ chase(O).
c) Dado que tr(∃Q , a) ∈ Iγ, então, pela hipótese de indução, ga(Q , a, c) ∈ chase(O),
para alguma constante c. Portanto, existe um ordinal i tal que ga(Q , a, c) ∈ chasei(O).
Além disso, dado que a regra A(x) ← tr(∃Q , x) está em Pd
O, então também ∃Q A está
em T . Suponha-se também que A(a) ∈ chasei(O), pois, caso contrário, a propriedade
que se pretende demonstrar verifica-se imediatamente. Assim, ∃Q A é aplicável a
ga(Q , a, c) em chasei(O). Portanto, pela preposição 19 (considerando a aplicação da re-
gra (cr3)), existe j ≥ i tal que chasej+1(O) = chasej(O) ∪ {A(a)}. Logo A(a) ∈ chase(O).
(ii) Suponha-se que O, tr(∃Q, a) ∈ Iγ mas tr(∃Q, a) ∈ Iγ+1, pois, caso contrário, a
propriedade verifica-se trivialmente pela hipótese de indução. Assim, uma das seguintes
condições é verdadeira:
a) existe uma regra tr(∃Q, x) ← A (x) em Pd
O tal que A (a) ∈ Iγ;
b) existe uma regra tr(∃Q, x) ← tr(∃Q , x) em Pd
O, tal que tr(∃Q , a) ∈ Iγ;
c) tr(Q, a, d) ∈ Iγ, para alguma constante d.
a) Dado que A (a) ∈ Iγ, então, pela hipótese de indução, A (a) ∈ chase(O). Por-
tanto, existe um ordinal i tal que A (a) ∈ chasei(O). Além disso, dado que a regra
tr(∃Q, x) ← A (x) está em Pd
O, então também A ∃Q está em T . Suponha-se também
que tr(Q, a, d) ∈ chasei(O), para nenhuma constante d, pois, caso contrário, a proprie-
dade que se pretende demonstrar verifica-se imediatamente. Assim, A ∃Q é aplicável
a A (a) em chasei(O). Portanto, pela preposição 19 (considerando a aplicação da regra
88
8. TRADUÇÃO DIRECTA 8.2. Análise
(cr2)), existe j ≥ i tal que chasej+1(O) = chasej(O) ∪ {tr(Q, a, c)}, para um dada cons-
tante c. Logo, ga(Q, a, c) ∈ chase(O), para algum constante c.
b) Dado que tr(∃Q , a) ∈ Iγ, então, pela hipótese de indução, ga(Q , a, d) ∈ chase(O),
para alguma constante d. Portanto, existe um ordinal i tal que ga(Q , a, d) ∈ chasei(O).
Além disso, dado que a regra tr(∃Q, x) ← tr(∃Q , x) está em Pd
O, então um dos axiomas
∃Q ∃Q, Q Q ou (Q )−
Q− está em T . Suponha-se também que ga(Q, a, e) ∈
chasei(O), para nenhuma constante e, pois, caso contrário, a propriedade que se pretende
demonstrar verifica-se imediatamente. Assim, qualquer um dos axiomas ∃Q ∃Q, Q
Q ou (Q )−
Q− é aplicável a ga(Q , a, d) em chasei(O). Portanto, pela preposição 19
(considerando a aplicação da regra (cr4) ou (cr5)), existe j ≥ i tal que chasej+1(O) =
chasej(O) ∪ {ga(Q, a, c)}, para uma dada constante c (c = d, se for aplicada (cr5)). Logo
ga(Q, a, c) ∈ chase(O), para alguma constante c.
c) Segue imediatamente da hipótese de indução (iii).
(iii) Suponha-se que P(a, b) ∈ Iγ+1. Suponha-se também que P(a, b) ∈ Iγ, pois, caso
contrário, a propriedade verifica-se trivialmente pela hipótese de indução. Assim, uma
das seguintes condições é verdadeira:
a) a regra P(a, b) ← está em Pd
O;
b) existe uma regra P(x, y) ← tr(Q , x, y) em Pd
O tal que tr(Q , a, b) ∈ Iγ.
a) Nesse caso, P(a, b) ∈ A = chase0(O). Logo, P(a, b) ∈ chase(O).
b) Dado que tr(Q , a, b) ∈ Iγ, então, pela hipótese de indução, ga(Q , a, b) ∈ chase(O).
Portanto, existe um ordinal i tal que ga(Q , a, b) ∈ chasei(O). Além disso, dado que a
regra P(x, y) ← tr(Q , x, y) está em Pd
O, então também Q P está em T . Suponha-
se também que P(a, b) ∈ chasei(O), pois, caso contrário, a propriedade que se pre-
tende demonstrar verifica-se imediatamente. Assim, Q P é aplicável a ga(Q , a, b)
em chasei(O). Portanto, pela preposição 19 (considerando a aplicação da regra (cr5)),
existe j ≥ i tal que chasej+1(O) = chasej(O) ∪ {P(a, b)}. Logo, P(a, b) ∈ chase(O).
Finalmente, obtém-se o resultado intermédio, correspondente ao primeiro passo da
demonstração.
Corolário 69. Sejam O = T , A uma ontologia DL-LiteR satisfazível, A um conceito atómico,
P uma relação atómica, e a e b duas constantes que ocorrem em O. Então O |= A(a) se e só se
Pd
O |=WF A(a) e O |= P(a, b) se e só se Pd
O |=WF P(a, b).
Demonstração. Segue imediatamente dos lemas 66, 67 e 68.
8.2.2 Propriedades do grafo
Começa-se por definir a noção de asserções positivas, possivelmente formadas por con-
ceitos não atómicos (resp., relações não atómicas), estarem num conjunto de asserções
89
8. TRADUÇÃO DIRECTA 8.2. Análise
DL-LiteR – nas quais só ocorrem conceitos atómicos (resp., relações atómicas). Tal per-
mite abstrair a asserção DL-LiteR particular que deriva dada asserção positiva – a pri-
meira varia consoante a segunda seja formada por um conceito atómico, uma quantifica-
ção existencial de uma relação atómica, ou uma quantificação existencial de uma relação
inversa (resp., uma relação atómica ou inversa). Deste modo, tornam-se menos extensas
as subsequentes demonstrações.
Definição 70. Seja B um conceito básico, Q uma relação básica, a e b duas constantes e S
um conjunto de asserções. Diz-se que B(a) está em S se:
• B = A e A(a) ∈ S;
• B = ∃P e P(a, c) ∈ S, para alguma constante c; ou
• B = ∃P− e P(c, a) ∈ S, para alguma constante c.
Diz-se que Q(a, b) está em S se:
• Q = P e P(a, b) ∈ S; ou
• Q = P− e P(b, a) ∈ S.
Com os lemas 66 e 67, mostrou-se que se pode estudar as derivações positivas de uma
ontologia através do operador chase. Tendo essa possibilidade em conta, com o lema
seguinte mostra-se que tal também é possível através da ABox e do grafo da TBox, i.e.
que é possível identificar as derivações positivas de uma dada ontologia olhando apenas
para a sua ABox e para o grafo da sua TBox, e vice-versa.
Lema 71. Seja O = T , A uma ontologia DL-LiteR satisfazível, A um conceito atómico, Q uma
relação básica, a e b duas constantes que ocorrem em O e GT o digrafo de T . Então verificam-se
as seguinte propriedades:
(i) A(a) ∈ chase(O) se e só se, para algum B tal que B(a) está em A, existe um caminho em
GT de B para A;
(ii) ga(Q, a, c) ∈ chase(O), para alguma constante c, se e só se, para algum B tal que B(a)
está em A, existe um caminho em GT de B para ∃Q; ou
(iii) ga(Q, a, b) ∈ chase(O) se e só se, para algum Q tal que Q (a, b) está em A, existe um
caminho em GT de Q para Q.
Demonstração. (→) Demonstra-se por indução na construção de chase(O).
Passo base. Dado que chase0(O) = A, tem-se A(a) ∈ chase(O) se e só se A(a) ∈ A
e ga(Q, a, b) ∈ chase(O) se e só se ga(Q, a, b) ∈ A. No primeiro caso, tem-se que B(a)
está em A, para B = A, e que existe um caminho em GT (de tamanho 0) de B para A.
No segundo caso, tem-se que B(a) está em A, para B = ∃Q, e existe um caminho em GT
(de tamanho 0) de B para ∃Q; e ainda, que Q (a, b) está em A, para Q = Q, e existe um
caminho em GT (de tamanho 0) de Q para Q.
90
8. TRADUÇÃO DIRECTA 8.2. Análise
Passo de indução.
(i) Suponha-se que A(a) ∈ chasei+1(O). Suponha-se também que A(a) ∈ chasei(O),
pois, caso contrário, a propriedade verifica-se trivialmente pela hipótese de indução. As-
sim, chasei+1(O) é obtido de chasei(O) aplicando a regra (cr1) ou a regra (cr3).
Considere-se o primeiro caso, (cr1). Nesse caso, existem α = A A ∈ T e f =
A (a) ∈ chasei(O), tal que α é aplicável a f em chasei(O). Pela hipótese de indução
tem-se que, para algum B tal que B(a) está em A, existe um caminho em GT de B para
A . Ora, uma vez que A A está em T , existe um arco (A , A) em GT . Logo, por
transitividade, existe um caminho em GT de B para A, onde B é um conceito básico tal
que B(a) está em A.
Considere-se o segundo caso, (cr3). Nesse caso, existem α = ∃Q A ∈ T e f =
ga(Q, a, c) ∈ chasei(O), tal que α é aplicável a f em chasei(O). Nesse caso, pela hipótese
de indução tem-se que, para algum B tal que B(a) está em A, existe um caminho em GT
de B para ∃Q. Ora, uma vez que ∃Q A está em T , existe um arco (∃Q, A) em GT . Logo,
por transitividade, existe um caminho em GT de B para A, onde B é um conceito básico
tal que B(a) está em A.
(ii) Suponha-se que ga(Q, a, c) ∈ chasei+1(O). Suponha-se também que ga(Q, a, c) ∈
chasei(O), pois, caso contrario, a propriedade verifica-se trivialmente pela hipótese de
indução. Assim, chasei+1(O) é obtido de chasei(O) aplicando a regra (cr2), a regra (cr4)
ou a regra (cr5).
Considere-se o primeiro caso, (cr2). Nesse caso, existem α = A ∃Q ∈ T e f =
A (a) ∈ chasei(O), tal que α é aplicável a f em chasei(O). Pela hipótese de indução
tem-se que, para algum B tal que B(a) está em A, existe um caminho em GT de B para
A . Ora, uma vez que A ∃Q está em T , existe um arco (A , ∃Q) em GT . Logo, por
transitividade, existe um caminho em GT de B para ∃Q, onde B é um conceito básico tal
que B(a) está em A.
Considere-se o segundo caso, (cr4). Nesse caso, existem α = ∃Q ∃Q ∈ T e f =
ga(Q , a, c) ∈ chasei(O), tal que α é aplicável a f em chasei(O). Pela hipótese de indução
tem-se que, para algum B tal que B(a) está em A, existe um caminho em GT de B para
∃Q . Ora, uma vez que ∃Q ∃Q está em T , existe um arco (∃Q , ∃Q) em GT . Logo, por
transitividade, existe um caminho em GT de B para ∃Q, onde B é um conceito básico tal
que B(a) está em A.
Considere-se o terceiro caso, (cr5). Nesse caso, existem α = Q Q ∈ T e f =
ga(Q , a, c) ∈ chasei(O), tal que α é aplicável a f em chasei(O). Pela hipótese de indução
tem-se que, para algum B tal que B(a) está em A, existe um caminho em GT de B para
∃Q . Ora, uma vez que ∃Q ∃Q está em T , existe um arco (∃Q , ∃Q) em GT . Logo, por
transitividade, existe um caminho em GT de B para ∃Q, onde B é um conceito básico tal
que B(a) está em A.
(iii) Suponha-se que ga(Q, a, b) ∈ chasei+1(O). Suponha-se também que ga(Q, a, b) ∈
chasei(O), pois, caso contrário, a propriedade verifica-se trivialmente pela hipótese de
indução. Assim, como a e b são constantes de O, chasei+1(O) é obtido de chasei(O)
91
8. TRADUÇÃO DIRECTA 8.2. Análise
aplicando a regra (cr5). Nesse caso, existem α = Q Q ∈ T e f = ga(Q , a, b) ∈
chasei(O), tal que α é aplicável a f em chasei(O). Pela hipótese de indução tem-se que,
para algum para algum Q tal que Q (a, b) está em A, existe um caminho em GT de Q
para Q . Ora, uma vez que Q Q está em T , existe um arco (Q , Q) em GT . Logo, por
transitividade, existe um caminho em GT de Q para Q, onde Q é uma relação básica tal
que Q (a, b) está em A.
(←) Demonstra-se por indução nos caminhos de GT .
Passo base. Similar ao passo base de (→), considerando os caminhos de tamanho 0.
Passo de indução.
(i) Suponha-se que para algum B tal que B(a) está em A, existe um caminho em GT ,
de tamanho l+1, de B para A. Nesse caso, tem-se que, para algum B , existe um caminho
em GT , de tamanho l, de B para B e que GT tem um arco (B , A). Assim, há dois casos a
considerar: B é um conceito atómico A ou B é um existencial ∃Q.
Considere-se o primeiro caso. Pela hipótese de indução tem-se que A (a) ∈ chase(O).
Ou seja, existe i ∈ N tal que A (a) ∈ chasei(O). Ora, uma vez que se tem um arco
(A , A) em GT , o axioma A A está em T . Suponha-se que A(a) ∈ chasei(O), pois,
caso contrário, a propriedade verifica-se imediatamente. Nesse caso, tem-se que A
A é aplicável a A (a) em chasei(O). Pela preposição 19 (considerando a aplicação de
(cr1)), tem-se que existe um j ≥ i tal que chasej+1(O) = chasej(O) ∪ {A(a)}. Logo,
A(a) ∈ chase(O).
Considere-se o segundo caso. Pela hipótese de indução tem-se que ga(Q, a, c) ∈
chase(O), para alguma constante c. Ou seja, existe i ∈ N tal que ga(Q, a, c) ∈ chasei(O).
Ora, uma vez que se tem um arco (∃Q, A) em GT , o axioma ∃Q A está em T . Suponha-
se que A(a) ∈ chasei(O), pois, caso contrário, a propriedade verifica-se imediatamente.
Nesse caso, tem-se que ∃Q A é aplicável a ga(Q, a, c) em chasei(O). Pela preposição 19
(considerando a aplicação de (cr3)), tem-se que existe um j ≥ i tal que chasej+1(O) =
chasej(O) ∪ {A(a)}. Logo, A(a) ∈ chase(O).
(ii) Suponha-se que, para algum B tal que B(a) está em A, existe um caminho em
GT , de tamanho l + 1, de B para ∃Q. Nesse caso, tem-se que, para algum B , existe um
caminho em GT , de tamanho l, de B para B e que GT tem um arco (B , ∃Q). Assim, há
dois casos a considerar: B é um conceito atómico A ou B é um existencial ∃Q .
Considere-se o primeiro caso. Pela hipótese de indução tem-se que A (a) ∈ chase(O).
Ou seja, existe i ∈ N tal que A (a) ∈ chasei(O). Ora, uma vez que se tem um arco
(A , ∃Q) em GT , o axioma A ∃Q está em T . Suponha-se que ga(Q, a, d) ∈ chasei(O),
para nenhuma constante d, pois caso contrário a propriedade verifica-se imediatamente.
Nesse caso, tem-se que A ∃Q é aplicável a A (a) em chasei(O). Pela preposição 19
(considerando a aplicação de (cr2)), tem-se que existe um j ≥ i tal que chasej+1(O) =
chasej(O) ∪ {ga(Q, a, c)}, para alguma c.
Considere-se o segundo caso. Pela hipótese de indução tem-se que ga(Q , a, d) ∈
chase(O), para alguma constante d. Ou seja, existe i ∈ N tal que ga(Q , a, d) ∈ chasei(O).
Ora, uma vez que se tem um arco (∃Q , ∃Q) em GT , o axioma ∃Q ∃Q está em T .
92
8. TRADUÇÃO DIRECTA 8.2. Análise
Suponha-se que ga(Q, a, e) ∈ chasei(O), para nenhuma constante e, pois, caso contrário
a propriedade verifica-se imediatamente. Nesse caso, tem-se que ∃Q ∃Q é aplicável a
ga(Q , a, d) em chasei(O). Pela preposição 19 (considerando a aplicação de (cr4)), tem-se
que existe um j ≥ i tal que chasej+1(O) = chasej(O) ∪ {ga(Q, a, c)}, para alguma cons-
tante c.
(iii) Suponha-se que, para algum Q tal que Q (a, b) está em A, existe um caminho em
GT , de tamanho l+1, de Q para Q. Assim tem-se que, para algum Q , existe um caminho
em GT , de tamanho l, de Q para Q e que GT tem um arco (Q , Q). Pela hipótese de
indução tem-se que ga(Q , a, b) ∈ chase(O). Ou seja, existe i ∈ N tal que ga(Q , a, b) ∈
chasei(O). Ora, uma vez que se tem um arco (Q , Q) em GT , o axioma Q Q está em
T . Suponha-se que ga(Q, a, b) ∈ chasei(O), pois, caso contrário a propriedade verifica-se
imediatamente. Nesse caso, tem-se que Q Q é aplicável a ga(Q , a, b) em chasei(O).
Pela preposição 19 (considerando a aplicação de (cr5)), tem-se que existe um j ≥ i tal que
chasej+1(O) = chasej(O) ∪ {ga(Q, a, b)}. Logo, Q(a, b) está em chase(O).
O corolário seguinte aplica o resultado anterior a conceitos básicos em geral.
Corolário 72. Seja O = T , A uma ontologia DL-LiteR satisfazível, B um conceito básico, a
uma constante que ocorre em O e GT o digrafo de T . Então B(a) está em chase(O) se e só se,
para algum B tal que B (a) está em A, existe um caminho em GT de B para B.
Demonstração. Segue imediatamente do lema 71. Se B é uma conceito atómico A, segue
da propriedade (i). Se B é um existencial ∃Q, segue da propriedade (ii).
Mostra-se agora que o operador chase juntamente com o grafo da TBox permitem
identificar as asserções negativas que uma certa ontologia deriva; e que, no sentido in-
verso, essas asserções permitem inferir certas propriedades envolvendo o resultado da
aplicação de chase e o grafo da TBox. Tal é o resultado intermédio correspondente ao
segundo passo da demonstração. Começa-se pelo caso das asserções de conceitos.
Lema 73. Seja O = T , A uma ontologia DL-LiteR satisfazível, A um conceito atómico, e a
uma constante. Então O |= ¬A(a) se e só se uma das seguintes condições se verifica:
a) para algum B tal que B(a) está em chase(O), existe um caminho em GT de B para ¬A;
b) para algum B1 ¬B2 ∈ T , existe um caminho em GT de A para B1 e de A para B2.
Demonstração. Pela preposição 51, O |= ¬A(a) se e só se a ontologia O = T , A ∪{A(a)}
é insatisfazível. Assim, pelo lema 28 , O |= ¬A(a) se e só se can(O ) |= O . Portanto, pelo
lema 21 , O |= ¬A(a) se e só se existe um axioma negativo α ∈ T , tal que can(O ) |= α.
Mostra-se que tal axioma negativo existe se e só se alguma das duas condições enuncia-
das, a) ou b), se verifica.
(←)
93
8. TRADUÇÃO DIRECTA 8.2. Análise
b) Trivial (segue do facto de A(a) estar em chase(O ) e de haver um caminho em GT de
A para B1 e de A para B2, pelo caso (i) do lema 71, que B1(a) e B2(a) estão em chase(O ),
e assim, que o axioma B1 ¬B2 não é satisfeito por can(O )).
a) Pela definição 61 tem-se que em qualquer caminho de GT de B para ¬A há exac-
tamente um arco da forma (B1, ¬B2), tal que existe um caminho em GT de B para B1 e
de ¬B2 para ¬A. Como, pela definição 61 também se tem que sempre que existe um arco
(¬B , ¬B ) em GT também existe um arco (B , B ), conclui-se que existe um caminho
em GT de A para B2. Assim, dado que A(a) ∈ A ∪ {A(a)}, pelo corolário 72, tem-se
que B2(a) está em chase(O ). Ou seja, a ∈ B
can(O )
2 . Por outro lado, dado que B(a)
está em chase(O), pelo corolário 72, tem-se que, para algum B tal que B (a) está em A,
existe um caminho em GT de B para B. Dado que existe um caminho em GT de B para
B1, por transitividade, também existe um caminho em GT de B para B1. Portanto, dado
que B (a) está em A, e assim, em A ∪ {A(a)}, pelo corolário 72, tem-se que B1(a) está em
chase(O ). Ou seja, a ∈ B
can(O )
1 . Finalmente, dado que há um arco (B1, ¬B2) em GT , o
axioma B1 ¬B2 está em T . Logo, como a ∈ B
can(O )
1 e a ∈ B
can(O )
2 , can(O ) |= α, para
α = B1 ¬B2.
(→)
Considere-se α = B1 ¬B2. Nesse caso, existe uma indivíduo c tal que c ∈ B1
can(O )
e c ∈ B2
can(O )
. Ou seja B1(c) e B2(c) estão em chase(O ). Portanto, pelo corolário 72,
para algum B1 tal que B1(c) está em A ∪ {A(a)}, existe um caminho em GT de B1 para
B1; e, para algum B2 tal que B2(c) está em A ∪ {A(a)}, existe um caminho em GT de B2
para B2. Demonstra-se, por contradição, que se tem c = a e, B1 = A ou B2 = A.
Suponha-se então que se tem c = a ou, B1 = A e B2 = A. Em qualquer dos casos,
dado que B1(c) e B2(c) estão em A ∪ {A(a)}, também se tem que estão ambos em A.
Assim, pelo corolário 72, B1(c) e B2(c) estão em chase(O). Ou seja, c ∈ B1
can(O)
e c ∈
B2
can(O)
. Portanto, can(O) |= α, e assim, can(O) |= O. Pelo lema 28 , tem-se que O é
insatisfazível, o que contradiz a assunção inicial. Logo, tem-se c = a e, B1 = A ou B2 = A.
Suponha-se que B1 = A e B2 = A. Nesse caso, existe um caminho em GT de A para
B1 e de A para B2, o que corresponde à condição b).
Suponha-se agora que B1 = A e B2 = A (o caso em que B1 = A e B2 = A é simétrico).
Dado que existe um caminho em GT de B2 para B2, e uma vez que, pela definição 61,
sempre que em GT há um arco (B , B) também há um arco (¬B, ¬B ), conclui-se que
existe um caminho em GT de ¬B2 para ¬B2 (note-se que no caminho de B2 para B2 não
podem ocorrer conceitos da forma ¬B, uma vez que em GT não existem arcos da forma
(¬B, B)). Como B1 ¬B2 ∈ T , o arco (B1, ¬B2) está em GT , e assim, por transitividade,
existe um caminho em GT de B1 para ¬B2 (se se tivesse assumido B1 = A e B2 = A,
considerar-se-ia agora o arco (B2, ¬B1) e um caminho de B2 para ¬B1) Além disso, dado
que B1(c) está em A ∪{A(a)}, B1 = A e c = a, então B1(a) está em A. Portanto, dado que
existe um caminho em GT de B1 para B1, pelo corolário 72, B1(a) está em chase(O). Logo,
dado que B2 = A, tem-se que, para algum B (pelo menos, para B = B1) tal B(a) está em
94
8. TRADUÇÃO DIRECTA 8.2. Análise
chase(O), existe um caminho em GT de B para ¬A, o que corresponde à condição a).
Considere-se agora que α = Q1 ¬Q2. Nesse caso, existe um par de indivíduos
(c, d), tal que (c, d) ∈ Q1
can(O )
e (c, d) ∈ Q2
can(O )
. Ou seja Q1(c, d) e Q2(c, d) estão em
chase(O ). Assim, pelo lema 71, para algum Q1 tal que Q1(c, d) está em A∪{A(a)}, existe
um caminho em GT de Q1 para Q1; e, para algum Q2 tal que Q2(c, d) está em A ∪ {A(a)},
existe um caminho em GT de Q2 para Q2. Demonstra-se, por contradição, que tal não é
possível.
Uma vez que Q1(c, d) e Q2(c, d) estão em A ∪ {A(a)}, também estão em A, e assim,
pelo lema 71, Q1(c, d) e Q2(c, d) estão em chase(O). Ou seja, (c, d) ∈ Q1
can(O)
e (c, d) ∈
Q2
can(O)
. Portanto, can(O) |= α, e assim, can(O) |= O. Pelo lema 28 , tem-se que O é
insatisfazível, o que contradiz a assunção inicial. Logo, não se pode ter nenhum axioma
Q1 ¬Q2 que não seja satisfeito por can(O ).
Tratam-se agora as asserções de relações.
Lema 74. Seja O = T , A uma ontologia DL-LiteR satisfazível, Q uma relação básica, a e b
duas constantes e GT o digrafo de T . O |= ¬Q(a, b) se e só se uma das seguintes condições se
verifica:
a) para algum B tal que B(a) está em chase(O), existe um caminho em GT de B para ¬∃Q;
b) para algum B tal que B(b) está em chase(O), existe um caminho em GT de B para ¬∃Q−;
c) para algum Q tal que Q (a, b) está em chase(O), existe um caminho em GT de Q para
¬Q;
d) para algum B1 ¬B2 ∈ T , existe um caminho em GT de ∃Q para B1 e de ∃Q para B2;
e) para algum B1 ¬B2 ∈ T , existe um caminho em GT de ∃Q− para B1 e de ∃Q− para B2;
f) para algum Q1 ¬Q2 ∈ T , existe um caminho em GT de Q para Q1 e de Q para Q2;
g) para algum Q1 ¬Q2 ∈ T , existe um caminho em GT de Q− para Q1 e de Q− para Q2;
h) a = b e, para algum B1 ¬B2 ∈ T , existe um caminho em GT de ∃Q para B1 e de ∃Q−
para B2;
i) a = b e, para algum B1 ¬B2 ∈ T , existe um caminho em GT de ∃Q− para B1 e de ∃Q
para B2;
j) a = b e, para algum Q1 ¬Q2 ∈ T , existe um caminho em GT de Q para Q1 e de Q−
para Q2;
k) a = b e, para algum Q1 ¬Q2 ∈ T , existe um caminho em GT de Q− para Q1 e de Q
para Q2.
95
8. TRADUÇÃO DIRECTA 8.2. Análise
Demonstração. Pela preposição 52, O |= ¬Q(a, b) se e só se a ontologia O = T , A ∪
{ga(Q, a, b)} é insatisfazível. Assim, pelo lema 28 , O |= ¬Q(a, b) se e só se can(O ) |= O .
Portanto, pelo lema 21 , O |= ¬Q(a, b) se e só se existe um axioma negativo α ∈ T , tal que
can(O ) |= α. Mostra-se que tal axioma negativo existe se e só se alguma das condições
enunciadas se verifica.
(←)
d), e), f) e g) Trivial (segue do facto de ∃Q(a), ∃Q−(b), Q(a, b) e Q−(b, a) estarem em
chase(O ) e do corolário 72 e lema 71, respectivamente, que o axioma mencionado, em
cada uma das condições, respectivamente, não é satisfeito por can(O )).
h) e i) Trivial (segue do facto de, nesses casos, ∃Q(a) e ∃Q−(a) estarem em chase(O ) e
do corolário 72, que o axioma mencionado nessas condições não é satisfeito por can(O )).
j) e k) Trivial (segue do facto de, nesses casos, Q(a, a) estar em GT e do lema 71, que
o axioma mencionado, em cada uma das condições, respectivamente, não é satisfeito por
can(O )).
a) (a condição b) é similar). Pela definição 61 tem-se que em qualquer caminho de GT
de B para ¬∃Q há exactamente um arco da forma (B1, ¬B2), tal que existe um caminho
em GT de B para B1 e de ¬B2 para ¬∃Q. Como, pela definição 61 também se tem que
sempre que existe um arco (¬B , ¬B ) em GT também existe um arco (B , B ), conclui-se
que existe um caminho em GT de ∃Q para B2. Assim, dado que ∃Q(a) está em A ∪
{ga(Q, a, b)}, pelo corolário 72, tem-se que B2(a) está em chase(O ). Ou seja, a ∈ B
can(O )
2 .
Por outro lado, dado que B(a) está em chase(O), pelo corolário 72, tem-se que, para
algum B tal que B (a) está em A, existe um caminho em GT de B para B. Dado que
existe um caminho em GT de B para B1, por transitividade, também existe um caminho
em GT de B para B1. Portanto, dado que B (a) está em A, e assim, em A ∪ {ga(Q, a, b)},
pelo corolário 72, tem-se que B1(a) está em chase(O ). Ou seja, a ∈ B
can(O )
1 . Finalmente,
dado que há um arco (B1, ¬B2) em GT , o axioma B1 ¬B2 está em T . Logo, como
a ∈ B
can(O )
1 e a ∈ B
can(O )
2 , can(O ) |= α, para α = B1 ¬B2.
c) Pela definição 61 tem-se que em qualquer caminho de GT de Q para ¬Q há exac-
tamente um arco da forma (Q1, ¬Q2), tal que existe um caminho em GT de Q para Q1 e
de ¬Q2 para ¬Q. Como, pela definição 61 também se tem que sempre que existe um arco
(¬Q , ¬Q ) em GT também existe um arco (Q , Q ), conclui-se que existe um caminho
em GT de Q para Q2. Assim, dado que Q(a, b) está em A ∪ {ga(Q, a, b)}, pelo lema 71,
tem-se que Q2(a, b) está em chase(O ). Ou seja, (a, b) ∈ Q
can(O )
2 . Por outro lado, dado
que Q (a, b) está em chase(O), pelo lema 71, tem-se que, para algum Q tal que Q (a, b)
está em A, existe um caminho em GT de Q para Q . Dado que existe um caminho em
GT de Q para Q1, por transitividade, também existe um caminho em GT de Q para Q1.
Portanto, dado que Q (a, b) está em A, e assim, em A ∪ {ga(Q, a, b)}, pelo lema 71, tem-
se que Q1(a, b) está em chase(O ). Ou seja, (a, b) ∈ Q
can(O )
1 . Finalmente, dado que há
um arco (Q1, ¬Q2) em GT , o axioma Q1 ¬Q2 está em T . Logo, como (a, b) ∈ Q
can(O )
1 e
(a, b) ∈ Q
can(O )
2 , can(O ) |= α, para α = Q1 ¬Q2.
96
8. TRADUÇÃO DIRECTA 8.2. Análise
(→)
Considere-se α = B1 ¬B2. Nesse caso, existe um indivíduo c, tal que c ∈ B1
can(O )
e
c ∈ B2
can(O )
. Ou seja B1(c) e B2(c) estão em chase(O ). Portanto, pelo corolário 72, para
algum B1 tal que B1(c) está em A ∪ {ga(Q, a, b)}, existe um caminho em GT de B1 para
B1; e, para algum B2 tal que B2(c) está em A ∪{ga(Q, a, b)}, existe um caminho em GT de
B2 para B2. Demonstra-se, por contradição, que se tem B1(c) = ∃Q(a), B2(c) = ∃Q(a),
B1(c) = ∃Q−(b) ou B2(c) = ∃Q−(b).
Suponha-se que se tem B1(c) = ∃Q(a), B2(c) = ∃Q(a), B1(c) = ∃Q−(b) e B2(c) =
∃Q−(b). Nesse caso, B1(c) e B2(c) não estão em {ga(Q, a, b)}, e assim, dado que estão
em A ∪ {ga(Q, a, b)}, conclui-se que estão em A. Assim, pelo corolário 72, B1(c) e B2(c)
estão em chase(O). Ou seja, c ∈ B1
can(O)
e c ∈ B2
can(O)
. Portanto, can(O) |= α, e
assim, can(O) |= O. Pelo lema 28 , tem-se que O é insatisfazível, o que contradiz a
assunção inicial. Considere-se então cada um dos possíveis casos (enumeram-se apenas
as igualdades, as desigualdades são omitidas).
Suponha-se que se tem B1(c) = ∃Q(a) e B2(c) = ∃Q(a) (resp., B1(c) = ∃Q−(b) e
B2(c) = ∃Q−(b)). Nesse caso, existe um caminho em GT de ∃Q (resp., ∃Q−) para B1 e de
∃Q (resp., ∃Q−) para B2, o que corresponde à condição d) (resp., e)).
Suponha-se que se tem B1(c) = ∃Q(a) e B2(c) = ∃Q−(b) (resp., B1(c) = ∃Q−(b) e
B2(c) = ∃Q(a)). Nesse caso, a = b e existe um caminho em GT de ∃Q (resp., ∃Q−) para
B1 e de ∃Q− (resp., ∃Q) para B2, o que corresponde à condição h) (resp., i)).
Suponha-se agora que se tem B2(c) = ∃Q(a), (resp. B2(c) = ∃Q−(b)). Dado que existe
um caminho em GT de B2 para B2, e uma vez que se tem, pela definição 61, que sempre
que em GT há um arco (B , B) também há um arco (¬B, ¬B ), conclui-se que existe um
caminho em GT de ¬B2 para ¬B2. Como B1 ¬B2 ∈ T , o arco (B1, ¬B2) está em GT , e
assim, por transitividade, existe um caminho em GT de B1 para ¬B2. Além disso, dado
que B1(c) está em A ∪ {ga(Q, a, b)}, B1(c) = ∃Q(a) e B1(c) = ∃Q−(b), tem-se que B1(c)
está em A. Como B2(c) = ∃Q(a) (resp., B2(c) = ∃Q−(b)), e assim, c = a (resp., c = b),
tem-se que B1(a) (resp., B1(b)) está em A. Portanto, dado que existe um caminho em GT
de B1 para B1, pelo corolário 72, B1(a) (resp., B1(b)) está em chase(O). Logo, tem-se que
para algum B (pelo menos, para B = B1) tal que B(a) (resp., B(b)) está em chase(O),
existe um caminho em GT de B para ¬∃Q (resp., ¬Q−), o que corresponde à condição a)
(resp., b)).
O caso B1(c) = ∃Q(a) (resp., B1(c) = ∃Q−(b)) é semelhante ao anterior e também
corresponde à condição a)) (resp., b)), basta considerar o caminho de B1 para B1, o arco
(B2, ¬B1) e que, nesse caso, B2(c) está em A ∪ {ga(Q, a, b)}.
Considere-se agora α = Q1 ¬Q2. Nesse caso, existe um par de indivíduos (c, d), tal
que (c, d) ∈ Q1
can(O )
e (c, d) ∈ Q2
can(O )
. Ou seja Q1(c, d) e Q2(c, d) estão em chase(O ).
Assim, pelo lema 71, para algum Q1 tal que Q1(c, d) está em A ∪ {ga(Q, a, b)}, existe um
caminho em GT de Q1 para Q1; e, para algum Q2 tal que Q2(c, d) está em A∪{ga(Q, a, b)},
existe um caminho em GT de Q2 para Q2. Demonstra-se, por contradição, que Q1(c, d) =
Q(a, b), Q2(c, d) = Q(a, b), Q1(c, d) = Q−(b, a) ou Q2(c, d) = Q−(b, a).
97
8. TRADUÇÃO DIRECTA 8.2. Análise
Suponha-se que se tem Q1(c, d) = Q(a, b), Q2(c, d) = Q(a, b), Q1(c, d) = Q−(b, a) e
Q2(c, d) = Q−(b, a). Nesse caso, se Q1(c, d) e Q2(c, d) estão em A ∪ {ga(Q, a, b)}, então
também estão em A. Assim, pelo corolário 72, Q1(c, d) e Q2(c, d) estão em chase(O). Ou
seja, (c, d) ∈ Q1
can(O)
e (c, d) ∈ Q2
can(O)
. Portanto, can(O) |= α, e assim, can(O) |= O.
Pelo lema 28 , tem-se que O é insatisfazível, o que contradiz a assunção inicial. Considere-
se então cada um dos possíveis casos (enumeram-se apenas as igualdades, as desigual-
dades são omitidas).
Suponha-se que Q1(c, d) = Q(a, b) e Q2(c, d) = Q(a, b) (resp., Q1(c, d) = Q−(b, a) e
Q2(c, d) = Q−(b, a)). Nesse caso, existe um caminho em GT de Q (resp., Q−) para Q1 e de
Q (resp., Q−) para Q2, o que corresponde à condição f)(resp., g)).
Suponha-se que Q1(c, d) = Q(a, b) e Q2(c, d) = Q−(b, a) (resp., Q1(c, d) = Q−(b, a) e
Q2(c, d) = Q(a, b)). Nesse caso a = b e existe um caminho em GT de Q (resp. Q− para
Q1) e de Q− (resp. Q) para Q2, o que corresponde à condição j) (resp., k)).
Suponha-se agora que Q2(c, d) = Q(a, b) (resp., Q2(c, d) = Q−(b, a)). Nesse caso,
dado que existe um caminho em GT de Q2 para Q2, e uma vez que, pela definição 61,
sempre que em GT há um arco (Q , Q) também há um arco (¬Q, ¬Q ), conclui-se que
existe um caminho em GT de ¬Q2 para ¬Q2. Como Q1 ¬Q2 ∈ T , o arco (Q1, ¬Q2)
está em GT , e assim, por transitividade, existe um caminho em GT de Q1 para ¬Q2. Além
disso, dado que Q1(c, d) está em A∪{ga(Q, a, b)}, Q1(c, d) = Q(a, b) e Q1(c, d) = Q−(b, a),
então Q1(c, d) está em A. Como Q2(c, d) = Q(a, b) (resp., Q2(c, d) = Q−(b, a)), e assim,
(c, d) = (a, b) (resp., (c, d) = (b, a)), tem-se que Q1(a, b) (resp., Q1(b, a)) está em A. Dado
que existe um caminho em GT de Q1 para Q1, pelo lema 71, Q1(a, b) (resp., Q1(b, a))
está em chase(O). Logo, tem-se que para algum Q (pelo menos, para Q = Q1 (resp.,
Q = Q−
1 )) tal que Q (a, b) está em chase(O), existe um caminho em GT de Q (resp.,
Q −
) para ¬Q (resp., ¬Q−), o que corresponde à condição c) (note-se que, se se tiver
um caminho de Q −
para ¬Q− também se tem um caminho de Q para ¬Q, pois pela
definição 61, sempre que há um arco (Q−
3 , Q−
4 ) também há um arco (Q3, Q4), sempre
que há um arco (Q−
3 , ¬Q−
4 ) também há um arco (Q3, ¬Q4) e sempre que há um arco
(¬Q−
3 , ¬Q−
4 ) também há um arco (¬Q3, ¬Q4)).
O caso Q1(c, d) = Q(a, b) (resp., Q1(c, d) = Q−(b, a)) é semelhante ao anterior e
também corresponde à condição c), basta considerar o caminho de Q1 para Q1, o arco
(Q2, ¬Q1), e que, nesse caso Q2(c, d) está em A ∪ {ga(Q, a, b}.
8.2.3 Derivações negativas
Tendo-se estabelecido as correspondências entre os asserções negativas derivadas por
uma dada ontologia e as combinações de asserções de chase com caminhos do grafo da
TBox, interessa agora relacionar tais combinações com as factos negativos, i.e. os factos
formados pelos predicados especiais que denotam as negações clássicas, do modelo bem
fundado do programa resultante da tradução directa.
98
8. TRADUÇÃO DIRECTA 8.2. Análise
Lema 75. Seja O = T , A uma ontologia DL-LiteR satisfazível, A um conceito atómico, Q
uma relação básica, a e b duas constantes, GT o digrafo de T e I∞ o modelo bem fundado de Pd
O.
Então verificam-se as seguintes propriedades:
(i) NA(a) ∈ I∞ se e só se uma das seguinte condições se verifica:
(i.a) para algum B tal que B(a) está em chase(O), existe um caminho em GT de B para
¬A; ou
(i.b) A ∈ Ω(T ).
(ii) tr(¬Q, a, b) ∈ I∞ se e só se uma das seguintes condições se verifica:
(ii.a) para algum B tal que B(a) está em chase(O), existe um caminho em GT de B para
¬∃Q;
(ii.b) para algum B tal que B(b) está em chase(O), existe um caminho em GT de B para
¬∃Q−;
(ii.c) para algum Q tal que Q (a, b) está em chase(O), existe um caminho em GT de Q
para ¬Q;
(ii.d) Q = P ou Q = P−, e P ∈ Ω(T ).
(ii.e) a = b, Q = P ou Q = P−, e P ∈ Ψ(T ).
Demonstração. (→) Demonstra-se por indução na sequência de interpretações parciais Iα.
Passo base. Trivial (I0 = ∅).
Passo de indução.
(i) Suponha-se que NA(a) ∈ Iγ+1. Suponha-se também que NA(a) ∈ Iγ, pois, caso
contrário, a propriedade verifica-se imediatamente pela hipótese de indução.
Assim, pela da definição 64, tem-se que uma das seguintes condições se verifica:
1) existe uma regra NA(x) ← tr(B , x) em Pd
O, tal que tr(B , a) ∈ Iγ;
2) existe uma regra NA(x) ← tr(¬B , x) em Pd
O, tal que tr(¬B , a) ∈ Iγ; ou
3) A ∈ Ω(T ).
1) Nesse caso, como tr(B , a) ∈ Iγ, pelo lema 68, A (a) ∈ chase(O), se B = A , e
ga(Q , a, c) ∈ chase(O), para alguma constante c, se B = ∃Q . Ou seja, B (a) está em
chase(O). Além disso, como a regra NA(x) ← tr(B , x) está em Pd
O, pela definição 64, o
axioma B A está em T . Portanto, pela definição 61, o arco (B , A) está em GT . Logo,
para algum B tal que B (a) está em chase(O), existe um caminho em GT de B para ¬A,
o que corresponde à condição (i.a).
2) Nesse caso, como tr(¬B , a) ∈ Iγ, pela hipótese de indução ((i), se B é um conceito
atómico, e (ii.a) ou (ii.b), se B é um existencial) tem-se que, para algum B tal B (a)
está em chase(O), existe um caminho em GT de B para ¬B . Além disso, como a regra
NA(x) ← tr(¬B , x) está em Pd
O, então, pela definição 64, o axioma A B está em T .
99
8. TRADUÇÃO DIRECTA 8.2. Análise
Portanto, pela definição 61, o arco (¬B , ¬A) está em GT . Assim, por transitividade,
existe um caminho em GT de B para ¬A. Logo, para algum B , tal que B (a) está em
chase(O), existe um caminho em GT de B para ¬A, o que corresponde à condição (i.a).
3) Corresponde directamente à condição (i.b).
(ii) Suponha-se que tr(¬Q, a, b) ∈ Iγ+1. Suponha-se também que tr(¬Q, a, b) ∈ Iγ,
pois, caso contrário, a propriedade verifica-se imediatamente pela hipótese de indução.
Assim, pelos casos (s2), (n2), (i2) e (ir) da definição 64, tem-se que uma das seguintes
condições se verifica:
1) existe uma regra tr(¬Q, x, _) ← tr(Q , x, _) em Pd
O, tal que tr(Q , a, c) ∈ Iγ, para
alguma constante c;
2) existe uma regra tr(¬Q−, x, _) ← tr(Q , x, _) em Pd
O, tal que tr(Q , b, c) ∈ Iγ, para
alguma constante c;
3) existe uma regra tr(¬Q, x, _) ← tr(¬Q , x, _), tal que tr(¬Q , a, c) ∈ Iγ, para alguma
constante c;
4) existe uma regra tr(¬Q−, x, _) ← tr(¬Q , x, _), tal que tr(¬Q , b, c) ∈ Iγ, para al-
guma constante c;
5) existe uma regra tr(¬Q, x, y) ← tr(Q , x, y) em Pd
O, tal que tr(Q , a, b) ∈ Iγ;
6) existe uma regra tr(¬Q, x, y) ← tr(¬Q , x, y) em Pd
O, tal que tr(¬Q , a, b) ∈ Iγ;
7) Q = P ou Q = P−, e P ∈ Ω(T );
8) a = b, Q = P ou Q = P−, e P ∈ Ψ(T ).
1) Nesse caso, como tr(Q , a, c) ∈ Iγ, pelo lema 68, P (a, c) ∈ chase(O), se Q = P ,
e P (c, a) ∈ chase(O), se Q = P −
. Ou seja, ga(Q , a, c) está em chase(O). Além disso,
como a regra tr(¬Q, x, _) ← tr(Q , x, _) está em Pd
O, pela definição 64, o axioma ∃Q
¬∃Q está em T . Portanto, pela definição 61, o arco (∃Q , ¬∃Q) está em GT . Logo, para
um dado conceito básico B (B = ∃Q ), B(a) está em chase(O) e existe um caminho em
GT de B para ¬∃Q, o que corresponde às condição (ii.a).
2) Similar ao caso 1), correspondendo à condição (ii.b).
3) Nesse caso, como tr(¬Q , a, c) ∈ Iγ, pela hipótese de indução, tem-se que, para al-
gum B tal que B (a) está em chase(O), existe um caminho em GT de B para ¬∃Q . Além
disso, como a regra tr(¬Q, x, _) ← tr(¬Q , x, _) está em Pd
O, então, pela definição 64,
o axioma ∃Q ∃Q está em T . Portanto, pela definição 61, o arco (¬∃Q , ¬∃Q) está em
GT . Assim, por transitividade, existe um caminho em GT de B para ¬∃Q. Logo, para
algum B tal que B(a) está em chase(O), existe um caminho em GT de B para ¬∃Q, o que
corresponde à condição (ii.a).
4) Similar ao caso 3), correspondendo à condição (ii.b).
100
8. TRADUÇÃO DIRECTA 8.2. Análise
5) Nesse caso, como tr(Q , a, b) ∈ Iγ, pelo lema 68, P (a, b) ∈ chase(O), se Q = P ,
e P (b, a) ∈ chase(O), se Q = P −
. Ou seja, ga(Q , a, b) está em chase(O). Além disso,
como a regra tr(¬Q, x, y) ← tr(Q , x, y) está em Pd
O, pela definição 64, o axioma Q Q
está em T . Portanto, pela definição 61, o arco (Q , Q) está em GT . Logo, para algum
Q tal que Q (a, b) está em chase(O), existe um caminho em GT de Q para ¬Q, o que
corresponde à condição (ii.c).
6) Nesse caso, como tr(¬Q , a, b) ∈ Iγ, pela hipótese de indução, tem-se que, para al-
gum Q tal que Q (a, b) está em chase(O), existe um caminho em GT de Q para ¬Q .
Além disso, como a regra tr(¬Q, x, y) ← tr(¬Q , x, y) está em Pd
O, então, pela defini-
ção 64, o axioma Q Q está em T . Portanto, pela definição 61, o arco (¬Q , ¬Q) está
em GT . Assim, por transitividade, existe um caminho em GT de Q para ¬Q. Logo, para
algum Q tal que Q (a, b) está em chase(O), existe um caminho em GT de Q para ¬Q, o
que corresponde à condição (ii.c).
7) Corresponde directamente à condição (ii.d).
8) Corresponde directamente à condição (ii.e).
(←)
(i.b) Nesse caso, a regra NA(x) ← está em Pd
O. Logo, NA(a) ∈ I∞.
(ii.a) Demonstra-se por indução nos caminhos de GT .
Passo base (caminhos de tamanho 1, i.e. existe em GT um arco (B , ¬∃Q) para algum
B tal que B (a) ∈ chase(O)). Pelo lema 68, A (a) ∈ I∞, se B = A , e tr(Q, a, c) ∈ I∞,
para alguma constante c, se B = ∃Q . Ou seja, para algum ordinal γ, tr(B , a) ∈ Iγ.
Além disso, como o arco (B , ¬∃Q) está em GT , tem-se, pela definição 61, que o axioma
B ¬∃Q ou axioma Q ¬Q, para B = ∃Q , está em T . Portanto, pela definição 64,
a regra tr(¬Q, x, _) ← tr(B , x) ou tr(¬Q, x, y) ← tr(Q , x, y), para B = ∃Q , está em
Pd
O. Em qualquer dos casos, tr(¬Q, a, d) ∈ TPd
O
(Iγ), para qualquer constante d, e, em
particular, para d = b, ou seja, tr(¬Q, a, b) ∈ Iγ+1. Logo tr(¬Q, a, b) ∈ I∞.
Passo de indução. Suponha-se então que, para algum B tal que B (a) ∈ chase(O)
existe um caminho em GT , de tamanho igual inferior a l + 1, de B para ¬∃Q. Nesse caso,
para algum B tal que B (a) está em chase(O), existe em GT um caminho, de tamanho
igual ou inferior a l, de B para ¬B e um arco (¬B , ¬∃Q). Assim, pela hipótese de
indução, A (a) ∈ I∞, se B = A , e ga(Q, a, b) ∈ I∞, se B = ∃Q . Ou seja, para algum
ordinal γ, tr(B , a) ∈ Iγ. Além disso, como o arco (¬B , ¬∃Q) está em GT , tem-se, pela
definição 61, que o axioma ∃Q B ou Q Q , para B = ∃Q está em T . Portanto,
pela definição 64, a regra tr(¬Q, x, _) ← tr(¬B , x) ou tr(¬Q, x, y) ← tr(Q , x, y), para
B = ∃Q , está em Pd
O. Em qualquer dos casos, tr(¬Q, a, c) ∈ TPd
O
(Iγ), para qualquer
constante c, e em particular, para c = b, ou seja, tr(¬Q, a, b) ∈ Iγ+1. Logo tr(¬Q, a, b) ∈
I∞.
(ii.b) Similar ao caso (ii.a).
(i.a) Demonstra-se por indução nos caminhos de GT .
Passo base (caminhos de tamanho 1, i.e. existe em GT um arco (B , ¬A) para algum
B tal que B (a) ∈ chase(O)). Pelo lema 68, A (a) ∈ I∞, se B = A , e tr(∃Q , a) ∈ I∞, se
101
8. TRADUÇÃO DIRECTA 8.2. Análise
B = ∃Q. Ou seja, para algum ordinal γ, tr(B , a) ∈ Iγ. Além disso, como o arco (B , ¬A)
está em GT , tem-se, pela definição 61, que o axioma B ¬A está em T . Portanto, pela
definição 64, a regra NA(x) ← tr(B , x) está em Pd
O. Assim, NA(a) ∈ TPd
O
(Iγ), ou seja,
NA(a) ∈ Iγ+1. Logo NA(a) ∈ I∞.
Passo de indução. Suponha-se então que, para algum conceito básico B tal que
B (a) ∈ chase(O) existe um caminho em GT , de tamanho igual inferior a l + 1, de B
para ¬A. Nesse caso, para algum B tal que B (a) está em chase(O), existe em GT um
caminho, de tamanho igual ou inferior a l, de B para ¬B e um arco (¬B , ¬A). Por-
tanto, pela hipótese de indução ((i), se B é um conceito atómico) e pela propriedade (ii)
((ii.a) ou ((ii.b), se B é um existencial), tr(B , a) ∈ I∞. Ou seja, para algum ordinal γ,
tr(B , a) ∈ Iγ. Além disso, como o arco (¬B , ¬A) está em GT , tem-se, pela definição 61,
que o axioma A B está em T . Portanto, pela definição 64, a regra NA(x) ← tr(¬B , x)
está em Pd
O. Assim, NA(a) ∈ TPd
O
(Iγ), ou seja, NA(a) ∈ Iγ+1. Logo NA(a) ∈ I∞.
(ii.c) Demonstra-se por indução nos caminhos de GT .
Passo base (caminhos de tamanho 1, i.e. existe em GT um arco (Q , ¬Q) para algum
Q tal que Q (a, b) está em chase(O)). Pelo lema 68, P (a, b) ∈ I∞, se Q = P , e P(b, a) ∈
I∞, se Q = P−. Ou seja, para algum ordinal γ, tr(Q , a, b) ∈ Iγ. Além disso, como
o arco (Q , ¬Q) está em GT , tem-se, pela definição 61, que o axioma Q ¬Q está em
T . Portanto, pela definição 64, a regra tr(¬Q, x, y) ← tr(Q , x, y) está em Pd
O. Assim,
tr(¬Q, a, b) ∈ TPd
O
(Iγ), ou seja, tr(¬Q, a, b) ∈ Iγ+1. Logo tr(¬Q, a, b) ∈ I∞.
Suponha-se então que, para algum Q tal que Q (a, b) ∈ chase(O) existe um caminho
em GT , de tamanho igual inferior a l+1, de Q para ¬Q. Nesse caso, para algum Q tal que
Q (a, b) está em chase(O), existe em GT um caminho, de tamanho igual ou inferior a l,
de Q para ¬Q e um arco (¬Q , ¬Q). Assim, pela hipótese de indução, tr(Q , a, b) ∈ I∞.
Ou seja, para algum ordinal γ, tr(Q , a, b) ∈ Iγ. Além disso, como o arco (¬Q , ¬Q) está
em GT , tem-se, pela definição 61, que o axioma Q Q está em T . Portanto, pela defini-
ção 64, a regra tr(¬Q, x, y) ← tr(¬Q , x, y) está em Pd
O. Assim, tr(¬Q, a, b) ∈ TPd
O
(Iγ), ou
seja, tr(¬Q, a, b) ∈ Iγ+1. Logo tr(¬Q, a, b) ∈ I∞.
(ii.d) Nesse caso, a regra NP(x, y) ←, onde P = Q ou P− = Q, está em Pd
O. Logo,
tr(Q, a, b) ∈ I∞.
(ii.e) Nesse caso, a regra NP(x, x) ←, onde P = Q ou P− = Q, está em Pd
O. Logo,
tr(Q, a, a) = tr(Q, a, b) ∈ I∞.
Finalmente, com base no resultado anterior, e nos resultados obtidos na subsecção
anterior, mostra-se que o programa resultante da tradução directa de uma dada onto-
logia, avaliado sobre a semântica bem fundada, deriva realmente as mesmas asserções
negativas que a própria ontologia.
Corolário 76. Sejam O = T , A uma ontologia DL-LiteR satisfazível, A um conceito atómico
e P uma relação atómica, e a e b duas constantes. Então O |= ¬A(a) se e só se Pd
O |=WF NA(a)
e O |= ¬P(a, b) se e só se Pd
O |=WF NP(a, b).
102
8. TRADUÇÃO DIRECTA 8.2. Análise
Demonstração. Segue dos lemas 73, 74 e 75. Note-se a correspondência entre a proprie-
dade (i) do lema 75 e o lema 73; e entre a propriedade (ii) do lema 75 e o lema 74. Pela
definição 62, a condição (i.b) corresponde à condição b) do lema 73; as condições d) e e),
f) e g) do lema 74 correspondem à condição (ii.d). Pela definição 63, a condição (ii.e) cor-
responde às condições h), i), j) e k) do lema 74.
8.2.4 Oráculo
Antes de estabelecer a correcção do oráculo, resta então agregar todos os resultados in-
termédios relevantes.
Corolário 77. Seja O = T , A uma ontologia DL-LiteR satisfazível, A um conceito atómico e
P uma relação atómica, e a e b duas constantes que ocorrem em O. Então Pd
O |=WF A(a) se e só
se Pd
O |=WF Ad(a) e Pd
O |=WF P(a, b) se e só se Pd
O |=WF Pd(a, b).
Demonstração. Pela definição 64, um literal A(a) só pode ser derivado através de uma
regra A(a) ← ou A(x) ← tr(B, x); e, um literal Ad(a) através de uma regra Ad(a) ←
NA(a) ou Ad(x) ← trd(B, x), not NA(a). Ora, dado que O é satisfazível, então O |= A(a)
se e só se O |= ¬A(a). Portanto, pelos corolários 69 e 76, Pd
O |= A(a) se e só se Pd
O |=
¬NA(a). Assim, como a única diferença entre as regras (instanciadas) que derivam A(a)
e as que derivam Ad(a) é precisamente o literal not NA(a) no corpo das segundas, que
é, portanto, verdadeiro se e só se A(a) é verdadeiro, então, sempre que se deriva A(a)
também se deriva Ad(a) e vice-versa.
O caso dos literais P(a, b) e Pd(a, b) é semelhante.
Termina-se a demonstração mostrando que, além da tradução derivar as mesmas as-
serções que a ontologia original, a sua junção com os conjuntos de literais que parametri-
zam o oráculo deriva igualmente as mesmas asserções que a ontologia acrescentada com
esses literais; e que, portanto pode substituir-se, no SLG(O), o oráculo completo pelo orá-
culo parcial definido pela união da tradução directa da ontologia com os conjuntos de
literais adicionais.
Teorema 78. Seja Kd = (O, O, Pd) uma base de conhecimento MKNF duplicada, onde O é uma
ontologia DL-LiteR , e pTO o oráculo de O baseado em regras não monótonas. Então pTO é um
oráculo parcial correcto relativamente a compTO.
Demonstração. Segue dos corolários 69, 76 e 77 que se tem, para O satisfazível, pTO(∅, S, ∅)
se e só se O |= S e O |= S.
Ora, considere-se a ontologia O = T , A ∪ I ∪ L , onde I e L são os conjuntos
de asserções DL-LiteR correspondentes aos literais de I e L, respectivamente. É fácil
constatar, pela definição 64, que Pd
O = Pd
O ∪ I ∪ L , onde I e L são os conjuntos de
regras correspondentes aos literais de I e L, respectivamente. Assim, também segue dos
corolários 69, 76 e 77 que se tem, para O ∪ I ∪ L consistentes, que pTO(I, S, L) se e só se
O ∪ I ∪ L |= S e O ∪ I ∪ L |= S. Logo pTO é um oráculo parcial para O.
103
8. TRADUÇÃO DIRECTA 8.3. Algoritmos
Resta então mostrar que pTO é correcto relativamente a compTO. Ou seja, que para
toda a KB híbrida MKNF-consistente, se se substituir compTO por pTO, o SLG(O) sucede
exactamente para o mesmo conjunto de queries. Considere-se então uma KB arbitrária
Kd = (O, O, Pd) MKNF-consistente. Dado que Kd é MKNF-consistente, então, para qual-
quer floresta de avaliação SLG(O), F, sobre Kd, a interpretação induzida IF é consistente
com O. Portanto, I+
F também é consistente com O. Além disso, dado que Kd é MKNF-
consistente, nenhum literal L que seja inconsistente com O ∪ I+
F pode ser derivado de
P. Portanto, para qualquer subgolo S e conjunto de literais L tais que compTO(I+
F , S, L),
tem-se que S sucede na avaliação SLG(O) apenas se se tem
compTO(I+
F , S, L  L ), onde L é o conjunto dos literais de L que são inconsistentes com
O ∪ I+
F . Como para tais I+
F , L  L consistentes com O se tem pTO(I+
F , S, L  L ) se e só se
O ∪ I+
F ∪ L  L |= S e O ∪ I+
F ∪ L  L |= S, conclui-se que, nesse caso, pTO(I+
F , S, L  L )
se e só se compTO(I+
F , S, L  L ). Logo, pTO é correcto relativamente a compTO.
8.3 Algoritmos
O oráculo DL-LiteR directo corresponde, do ponto de vista operacional, à seguinte com-
putação. Obtém-se os conjuntos dos conceitos e relações insatisfazíveis (Ω) e o conjunto
das relações irreflexivas (Ψ). Depois, traduzem-se asserções da ABox e dos axiomas da
TBox (com as axiomatizações já mencionadas). Adicionam-se também as regras que ex-
pressam a insatisfazibilidade de conceitos ou relações e das que expressam a irreflexi-
vidade de relações, de acordo com os conjuntos obtidos no passo anterior. Finalmente,
aplica-se o SLG – alterado de modo a serem recolhidos todos os factos usados na deri-
vação – do programa formado pelo resultado da tradução, os factos já provados (I), e os
factos formados pelos átomos definidos nas regras (possivelmente contidos em L). O orá-
culo parcial é definido pela relação que combina todas as possíveis queries (S), factos já
provados (I), e respectivos factos recolhidos através do método descrito, que unifiquem
com consequentes de regras (L). Na prática, como ambas as componentes da base de co-
nhecimento híbrida, tradução da ontologia e regras, são avaliadas pelo SLG, ele pode ser
aplicado directamente à junção das duas: em vez de se recolherem os átomos e se cri-
arem, na floresta de avaliação SLG(O), as árvores para os átomos que unifiquem com
consequentes de regras, só depois do oráculo devolver o resultado, pode criar-se logo
tais árvores em vez de se recolher os átomos.
A tradução é obtida iterando as asserções da ABox, os axiomas da TBox, os conceitos
e relações insatisfazíveis e as relações irreflexivas, e escrevendo as regras corresponden-
tes. Já os conjuntos que os operadores Ω e Ψ definem, envolvem computações mais ela-
boradas sobre a TBox e o grafo da TBox formada pelos axiomas positivos. Para os obter,
é necessário iterar todos os axiomas negativos da TBox, e para cada um deles, computar
os conjuntos dos conceitos (resp., relações) aos antecessores dos conceitos básicos (resp.,
relações básicas) envolvidos nesses axiomas, para de algum modo os cruzar. No caso das
104
8. TRADUÇÃO DIRECTA 8.3. Algoritmos
relações insatisfazíveis, na presença de um axioma B1 ¬B2 (resp., Q1 ¬Q2), basta
intersectar o conjunto dos conceitos (resp., relações) antecessoras de B1 (resp., Q1) com
o conjunto dos antecessores de B2 (resp., Q2). No caso dos conceitos e relações insatis-
fazíveis, perante um axioma, B1 ¬B2 (resp., Q1 ¬Q2), basta filtrar no conjunto das
relações básicas que ocorrem nos antecessores de B1 (resp., Q1) as que tem o seu inverso
a ocorrer em antecessores de B2 (resp., Q2).
Os algoritmos 1 e 2, permitem obter os conjuntos de conceitos e relações definidos pe-
los operadores Ω e Ψ, respectivamente, de acordo com o método descrito. A função Atom
devolve o símbolo de conceito ou relação com o qual é formado o conceito básico ou rela-
ção básica de entrada. A função ANCS, que se baseia no algoritmo Closure, apresentado
em [27], permite obter o conjunto de antecessores, no grafo da TBox formada pelos axio-
mas positivos, de um dado conceito básico (resp., uma dada relação básica). As funções
CInvInter e RInvInter cruzam dois conjuntos de antecessores dos conceitos básicos (resp.,
relações básicas) envolvidos num axioma negativo, da forma descrita anteriormente.
105
8. TRADUÇÃO DIRECTA 8.3. Algoritmos
Algorithm 1 Conceitos e relações insatisfazíveis
Require: T , GTp
(Vp, Ep)
Ensure: O = Ω(T ) global variables: S, M, U, O
1: function ATOM(v)
2: if v = A then
3: return A
4: else if v = ∃P then
5: return P
6: else if v = ∃P− then
7: return P
8: else if v = P then
9: return P
10: else if v = P− then
11: return P
12: end if
13: end function
14: procedure ANCS(v)
15: while ∃u ∈ Uv do
16: Mv ← Mv ∪ Mu ∪ {u}
17: Uv ← Uv ∪ Uu  Mv
18: end while
19: end procedure
20: S ← ∅
21: for all v ∈ Vp do
22: Uv ← ∅
23: for all u ∈ Vp s.t. (u, v) ∈ Ep do
24: Uv ← Uv ∪ {u}
25: end for
26: Mv ← ∅
27: end for
28: for all B1 ¬B2 ∈ T do
29: ANCS(B1)
30: ANCS(B2)
31: S ← S ∪ (({B1} ∪ MB1 ) ∩ ({B2} ∪ MB2 ))
32: end for
33: for all Q1 ¬Q2 ∈ T do
34: ANCS(Q1)
35: ANCS(Q2)
36: S ← S ∪ (({Q1} ∪ MQ1 ) ∩ ({Q2} ∪ MQ2 ))
37: end for
38: for all v ∈ S do
39: O ← O ∪ {ATOM(v)}
40: end for
106
8. TRADUÇÃO DIRECTA 8.3. Algoritmos
Algorithm 2 Relações irreflexivas
Require: T , GTp
(Vp, Ep)
Ensure: S = Ψ(T ) global variables: S, M, U
1: function CINVINTER(S1, S2)
2: I ← ∅
3: for all v ∈ S1 do
4: if (v = ∃P and ∃P− ∈ S2) or (v = ∃P− and ∃P ∈ S2) then
5: I ← I ∪ {P}
6: end if
7: end for
8: return I
9: end function
10: function RINVINTER(S1, S2)
11: I ← ∅
12: for all v ∈ S1 do
13: if (v = P and P− ∈ S2) or (v = P− and P ∈ S2) then
14: I ← I ∪ {P}
15: end if
16: end for
17: return I
18: end function
19: S ← ∅
20: for all v ∈ Vp do
21: Uv ← ∅
22: for all u ∈ Vp s.t. (u, v) ∈ Ep do
23: Uv ← Uv ∪ {u}
24: end for
25: Mv ← ∅
26: end for
27: for all B1 ¬B2 ∈ T do
28: ANCS(B1)
29: ANCS(B2)
30: S ← S ∪ CINVINTER({B1} ∪ MB1 , {B2} ∪ MB2 )
31: end for
32: for all Q1 ¬Q2 ∈ T do
33: ANCS(Q1)
34: ANCS(Q2)
35: S ← S ∪ RINVINTER({Q1} ∪ MQ1 , {Q2} ∪ MQ2 )
36: end for
107
Parte IV
Abordagem Prática
108
9
Implementação
Um dos propósitos da dissertação é, a nível prático, a extensão do NoHR – sistema de
querying a bases de conhecimento híbridas MKNF, baseado na resolução SLG(O) – de
modo a suportar o perfil OWL 2 QL da linguagem ontológica OWL 2, como já se referiu.
Para esse efeito, adopta-se o oráculo DL-LiteR directo, anteriormente elaborado. Optou-
se por essa abordagem, por ser, à partida, mais eficiente na fase de tradução da ontologia
para regras, já que dispensa a utilização de raciocinadores DL externos e aplicação do fe-
cho negativo. Apenas a computação dos conjuntos de conceitos e relações insatisfazíveis
e das relações irreflexivas é suficiente. Como a versão original do sistema suporta o per-
fil OWL 2 EL implementando um oráculo SLG(O) que também se baseia na tradução da
ontologia para regras, a extensão corresponde essencialmente à introdução de um novo
componente de tradução para o perfil OWL 2 QL, que é utilizado em lugar do anterior
caso a ontologia de entrada esteja neste perfil. Os restantes componentes, de interfacing
com o XSB e com o Protégé, e mesmo de processamento das queries e manutenção de
dados, (embora sempre susceptíveis a melhorias) podem, para o propósito enunciado,
permanecer inalterados. Assim, as modificações necessárias, descritas neste capitulo,
localizam-se no componente de tradução, que tem agora de a delegar para o subcom-
ponente de tradução OWL 2 EL – já implementado na versão original – ou de tradução
OWL 2 QL – implementado na versão estendida – consoante a ontologia de entrada es-
teja num ou noutro perfil.
A arquitectura da versão estendida do NoHR é apresentada na Secção 9.1. A Sec-
ção 9.2 descreve o seu funcionamento.
109
9. IMPLEMENTAÇÃO 9.1. Arquitectura
9.1 Arquitectura
A arquitectura do sistema está representada na figura 9.1, onde os componentes introdu-
zidos estão a laranja.
Quanto à tradução OWL 2 QL, além das computações inerentes ao próprio oráculo
DL-LiteR directo, já abordadas teoricamente no capitulo 8, é necessária uma computação
adicional. Com efeito, embora o perfil OWL 2 QL corresponda em termos semânticos e
em expressividade ao DL-LiteR , introduz alguns construtores que não fazem parte deste
último. Assim, para se suportar completamente o perfil (e se poder aplicar directamente
os resultados teóricos obtidos) torna-se necessária uma normalização prévia das ontolo-
gias de entrada, de modo a que as expressões usando os construtores adicionais sejam
convertidas em expressões (ou conjuntos delas) equivalentes mas formadas apenas pelos
construtores definidos pelo DL-LiteR . Essa normalização é apresentada detalhadamente
no apêndice A.
Tendo em conta todas as computações envolvidas na tradução OWL 2 QL mencio-
nadas, podem identificar-se para o componente que lhe diz respeito, subcomponentes
com as seguintes funcionalidades: normalização da ontologia de entrada; computação
das conceitos e relações insatisfazíveis e das relações irreflexivas 1; tradução da ontologia
normalizada.
1
É conveniente agregar ambas num mesmo componente, por serem, tal como os algoritmos 1 e 2 sugerem,
muito semelhantes.
110
9. IMPLEMENTAÇÃO 9.1. Arquitectura
<<component>>
<<executable>>
Protégé
<<component>>
NoHR
<<component>>
<<executable>>
XSB
<<component>>
Tradutor
<<component>>
< < l i b r a r y > >
InterProlog
<<component>>
Tradutor QL <<component>>
Tradutor EL
<<component>>
Normalizador QL
<<component>>
Analizador de
Grafo
<<component>>
<<executable>>
ELK
<<component>>
Gestor de Regras
<<component>>
Lançador de Queries
<<component>>
Editor de
Regras
<<component...
Compilador
<<component>>
Processador de Queries
<<component>>
< < f i l e > >
result.p
Vista de QueriesVista de Regras
<<use>>
< < u s e > >
< < u s e > >
<<use>>
<<use>>
< < u s e > >
<<use>>
<<use>>
<<use>>
<<use>><<use>>
<<use>>
<<use>>
<<use>>
Powered ByVisual Paradigm Community Edition
Figura 9.1: Estrutura do NoHR
111
9. IMPLEMENTAÇÃO 9.2. Funcionamento
9.2 Funcionamento
O funcionamento geral do sistema estendido, quando uma query lhe é lançada, é o se-
guinte (ver figura 9.2). Se a query lançada é a primeira, seguem-se os seguintes passos.
Verifica-se o perfil da ontologia de entrada. Seguidamente, efectuam se algumas norma-
lizações, se necessárias, tanto no caso do EL como no caso do QL. Depois, inicializa-se
o ELK e classifica-se com ele a ontologia, no desta ser EL, e a estrutura de dados que
representa o grafo do TBox, no caso do QL. Após normalizada a ontologia, traduz-se.
Segue-se o processamento regras, que é necessário por causa da duplicação da base de
conhecimento. Com as regras obtidas nos dois passos anteriores, escreve-se o ficheiro
agregando-as. Depois, inicializa-se o XSB e carrega-se nele o ficheiro obtido no passo
anterior. O passo seguinte é elaborar o golo, a lançar ao XSB, correspondente à query
pretendida. Esse golo é então lançado ao XSB. No caso de se usarem predicados dupli-
cados além desse golo, para os predicados originais, tem de gerar-se e lançar-se outros
para os duplicados. Recorde-se que tal é necessário para identificar inconsistências: se o
golo para o predicado original sucede e os subgolos para o predicado duplicados falham,
então há uma inconsistência entre a ontologia e as regras. Além disso tal permite decidir
a falsidade da query quando o golo do predicado original não sucede nem falha, se os
golos para os predicados duplicados falharem. Finalmente apresenta-se o resultado na
vista a para efeito destinada.
Se a query não for a primeira, pode dar-se o caso de alguns dos passos anteriores não
serem necessários. Se a base de conhecimento não foi alterada, pode suprimir-se com-
pletamente o seu processamento, e passar-se directamente para a geração e avaliação dos
golos. Se só as regras foram alteradas, basta apenas processá-las, escrever o ficheiro com
as regras, e prosseguir também com a geração e avaliação dos golos. Se apenas a ontolo-
gia foi alterada, além de se repetir os passos relativos à tradução da ontologia, e escrita
do ficheiro, só é necessário processar novamente as regras se se tiverem introduzido ne-
gações (clássicas) – recorde-se que havendo disjunções é sempre necessário duplicar as
regras. Quanto à fase de geração e avaliação dos golos, pode ser dispensada se a base de
conhecimento não tiver sido alterada e a query for igual à anterior.
Relativamente à tradução da ontologia propriamente dita, o funcionamento é o se-
guinte. Se a ontologia for EL, começa-se por tratar as disjunções, que no EL podem
ser expressas recorrendo a e ⊥, obtendo-se as regras que os permitem representar. De-
pois traduzem-se todos os axiomas envolvendo classes. Finalmente, traduzem-se todos
os axiomas envolvendo propriedades. Se a ontologia for QL, o processo é o seguinte.
Traduz-se cada asserção e axioma, de acordo com a definição 64 (pela ordem em que
os diversos casos ai são apresentados). Obtêm-se os conceitos e relações insatisfazíveis e
armazenam-se as regras correspondentes; e faz-se o mesmo para as relações irreflexivas.
A execução de uma query sobre a base de conhecimento dos Exemplos 2 e 4 é apre-
sentada na figura 9.3.
112
9. IMPLEMENTAÇÃO 9.2. Funcionamento
Verificar
Perfil
Normalizar
Ontologia
Inicializar
ELK
Inicializar
Grafo
Processar
Regras
Compilar
Regras
Inicializar
XSB
Carregar
Regras
Gerar
Golo
Lançar
Golo
Apresentar
Resultados
Classificar
Ontologia
Verificar
Perfil
Inicializ
ar ELK
Classificar
Ontologia
Traduzir
Ontologia
Gerar
Subgolo
Laçar
Subgolo
Traduzir
Ontologia
Perfil
Perfil
Disjunção Introduzida
Regras Alteradas
Ontologia Alterada
KB Alterada
Nova Query
Respostas Esgotadas
Primeira Query
Existem Disjunções
Próxima Resposta
Verdadeira ou Indefinida
[sim]
[não]
[não]
[sim]
[não]
[sim]
[não]
[sim]
[sim]
[não]
[não]
[sim]
[não]
[sim]
[QL]
[EL]
[não]
[sim]
[QL]
[EL]
[sim]
Powered ByVisual Paradigm Community Edition
Figura 9.2: Funcionamento do NoHR
113
9. IMPLEMENTAÇÃO 9.2. Funcionamento
Figura 9.3: Execução de uma query na versão final do NoHR
114
10
Avaliação
Para avaliar a implementação da extensão do NoHR, descrita no capitulo anterior, recorreu-
se a um benchmark bem conhecido na literatura, o LUBM [21]. O seu proposito é permitir
avaliar repositórios da Web Semântica de forma padronizada e sistemática. É destinado a
avaliar o desempenho desses repositórios relativamente a queries sobre conjuntos de da-
dos de grande dimensão, constituídos por uma única e realista ontologia. O benchmark
consiste nessa ontologia, cujo domínio é o das universidades; num conjunto de dados
configuráveis, sintéticos e repetíveis; num conjunto de queries; e em várias métricas de
desempenho.
O LUBM não enfatiza tanto o tratamento da TBox – a sua dimensão é moderada com-
parativamente a outros benchamarks – como o da ABox, ao permitir gerá-la com dimen-
sões arbitrariamente grandes. Tal adequa-se particularmente ao perfil OWL 2 QL, que é,
como já foi mencionado, especialmente adaptado a domínios onde o número de instân-
cias é preponderante sobre a dimensão da terminologia.
O capítulo prossegue do seguinte modo. Na Secção 10.1 descreve-se a experiência
efectuada. Na Secção 10.2 apresentam-se os resultados obtidos. Na última secção, a
Secção 10.3, discutem-se esses resultados.
10.1 Experiência
No LUBM, a universidade é a unidade mínima de geração, que envolve a descrição de
um conjunto de departamentos; e as instâncias das classes e propriedades são decididas
aleatoriamente. Para esses dados serem tão realistas quanto possível, aplicam-se algu-
mas restrições baseadas no senso comum e na investigação do domínio em causa. Os
dados gerados são completamente repetíveis quanto às universidades, pois é possível
115
10. AVALIAÇÃO 10.1. Experiência
configurar a semente usada pelo gerador de números aleatórios aplicado no processo.
Entre as métricas definidas pelo LUBM estão o tempo de carregamento, que compre-
ende o tempo que o sistema alvo leva a carregar a KB em memória ou em disco, consoante
o caso, e todos os pré-processamentos e raciocínios que efectua sobre os dados; e o tempo
de resposta à query, que é medido de forma semelhante à usada pelos benchmarks para
sistemas de bases de dados. Para ter em conta o caching, o LUBM executa cada query
dez vezes consecutivamente e calcula os tempos médios. No entanto, como no NoHR só
na primeira vez que a query é lançada é que é efectuado alguma computação, nas expe-
riências que se efectuaram mediu-se apenas os tempos da primeira query.
Utilizou-se o LUBM para efectuar uma experiência destinada a avaliar a escalabi-
lidade do sistema NoHR relativamente ao tamanho da ABox, no caso do OWL 2 QL.
Nessa experiência procedeu-se do seguinte modo. Geraram-se ABoxs com entre 1 a 10
universidades, usando 0 como semente do gerador de números aleatório. Alterou-se a
TBox fornecida pelo benchmark, excluindo alguns axiomas não suportados pelo OWL 2
QL – a TBox resultante contém 88 axiomas. Configuraram-se as seguintes queries, que
são um subconjunto das prescritas pelo benchmark:
1. GraduateStudent(X), takesCourse(X, wwwDepartment0University0eduGraduate
Course0);
2. GraduateStudent(X), University(Y ), Department(Z), memberOf(X, Z),
subOrganizationOf(Z, Y ), undergraduateDegreeFrom(X, Y );
3. publicationAuthor(X, wwwDepartment0University0eduAssistantProfessor0),
Publication(X);
4. worksFor(X, wwwDepartment0University0edu), Professor(X), name(X, Y 1),
emailAddress(X, Y 2), telephone(X, Y 3);
5. memberOf(X, wwwDepartment0University0edu), Person(X)
6. teacherOf(wwwDepartment0University0eduAssociateProfessor0, Y ), Student(X),
Course(Y ), takesCourse(X, Y ).
Executou-se o componente de avaliação do LUBM – que carrega uma dada ABox
(juntamente com a TBox predefinida) e, para cada query configurada, executa-a 10 vezes
consecutivas – medindo-se os tempos de execução das diversas fases de processamento
do NoHR, envolvidas no carregamento e resposta às queries, descritas no capítulo an-
terior (apenas na primeira vez que é chamado, pelo LUBM, para uma dada query). Tal
procedimento foi efectuado por um script criado para esse efeito, e foi sujeito a restrição
do uso da memória, sendo interrompido ao restarem apenas 5% de memória livre.
As experiências foram efectuadas numa sistema com as seguintes características:
116
10. AVALIAÇÃO 10.2. Resultados
Processador 4x Intel R CoreTMi3-3217U CPU @ 1.80GHz
Memória 3938MB
Disco ATA WDC WD10JPVX-22J
Sistema Operativo Linux 3.17.6-1-ARCH (x86_64)
Java OpenJDK 7
Max Heap Size 2GB
XSB Versão 3.4.0
10.2 Resultados
Os resultados obtidos, para os tempos de carregamento e querying, foram os que se apre-
sentam nas tabelas 10.1, 10.2, respectivamente.
faseuniversidades (asserções) 1 (102707) 2 (236268) 3 (346709) 4 (491836)
carregamento da ontologia 6025 6680 8718 9264
normalizção 35 59 76 115
inicialização do tradutor 3257 3816 5580 8258
construção do grafo 0 0 0 0
tradução da ontologia 3870 6643 8583 12685
processamento das regras 8 2 2 2
compilação das regras 148 247 362 446
carregamento no xsb 25939 222861 352579 1099944
total 39282 240308 375900 1130714
total(segundos) 39 240 376 1131
Tabela 10.1: Tempos de carregamento (ms)
Note-se que o tempo de construção do grafo é negligenciável (inferior a 1 ms) porque
a TBox contém poucos axiomas (apenas 88).
queryuniversidades (asserções) 1 (102707) 2 (236268) 3 (346709) 4 (491836)
1 2150 13065 43983 55109
2 27539 962906 2231281 9402356
3 49 81 75 73
4 184 392 545 972
5 174 5716 9369 13818
6 42616 197544 621369 894367
média 12119 196617 484437 1727783
média (segundos) 12 197 484 1728
Tabela 10.2: Tempos de querying (ms)
Como se pode observar pela tabela 10.2 algumas queries exigem mais tempo de re-
posta que outras. Tal acontece porque, por um lado, certos subgolos exigem, no SLG(O) ,
a avaliação de mais subgolos que outros, consoante tenham mais ou menos axiomas que
os envolvam. Por outro lado, porque para certos subgolos existem mais respostas que
117
10. AVALIAÇÃO 10.3. Discussão de resultados
para outros.
Os gráficos 10.1 e 10.2 mostram os tempos totais de carregamento e os tempos médios
de querying, respectivamente.
1 2 3 4
0
200
400
600
800
1000
1200
Figura 10.1: Escalabilidade do carregamento
1 2 3 4
0
500
1000
1500
2000
Figura 10.2: Escalabilidade do querying
10.3 Discussão de resultados
O limite mínimo de 5% de memória livre foi atingido durante a segunda query à KB
contendo 5 universidades. Com efeito, observou-se que a quantidade de memória utili-
zada pelo XSB durante a avaliação das queries aumenta progressivamente com o decorrer
dessa avaliação, até devolver um resultado ou a computação ser interrompida (no caso
da experiência descrita, quando é atingido o limite mínimo de memória livre). Tal com-
portamento pode ser explicado pelo facto de, na implementação actual da tradução OWL
2 QL, todos os predicados serem tabulados. Desse modo, o XSB mantém em memória
cada resposta encontrada, para cada subgolo avaliado durante a resolução SLG. Quando
118
10. AVALIAÇÃO 10.3. Discussão de resultados
o número de respostas encontradas numa dada avaliação SLG é suficientemente elevado
toda a memória disponível fica ocupada. Embora não seja possível evitar completamente
esse efeito – pelo menos alguns predicados terão de ser sempre tabulados, tornando o
uso de memória linear no número de respostas, envolvendo esses predicados, encon-
tradas na avaliação SLG – acredita-se poder-se mitigá-lo. Por um lado, supõe-se que
seja possível evitar o uso de tabulação para certos predicados. Tal possibilidade poderá
ser futuramente estudada e, se se confirmar, aplicada na prática. Por outro lado, a forma
como se geram e avaliam os golos para se obter a resposta de uma dada query, parece, à
partida, ainda ser susceptível de optimizações significativas.
Quanto ao tempo de carregamento, consideram-se satisfatórios os valores obtidos.
Considera-se que apenas alguns minutos para carregar e traduzir uma ontologia con-
tendo cerca de quatro centenas de milhar de asserções – o que só é necessário efectuar
apenas uma vez para todas as queries subsequentes – são aceitáveis. Relativamente à es-
calabilidade do sistema na fase de carregamento, os dados são pouco conclusivos – seria
necessária mais memória para se poder prosseguir a experiência com mais universida-
des. Embora os resultados obtidos possam sugerir que o sistema possa ser pouco esca-
lável perante ontologias com ABox de dimensões superiores às utilizadas na experiência
(veja-se o gráfico da figura 10.1), tal como acontece com os sistemas estudados em [21],
pode supor-se, dado que os tempos obtidos se mantiveram na ordem dos segundos, que
o sistema seria capaz de carregar (e traduzir) ontologias com ABox relativamente gran-
des, em tempos aceitáveis.
Quanto ao tempo de queries, os valores obtidos revelam a necessidade de algumas
melhorias. Não se coadunam com a eficiência pela qual o XSB é conhecido – note-se que
na fase de querying a computação é delegada, quase completamente, ao XSB. Uma das
explicações que se colocou em hipótese foi a de que o uso de predicados hilog 1 pudesse
ter um impacto negativo no desempenho do XSB. Tal hipótese foi, de facto, corroborada
por algumas experiências que se fizeram posteriormente. Assim, acredita-se que, supri-
mindo o uso dos predicados hilog, e implementando as melhorias já mencionadas, po-
derão obter-se tempos de resposta mais satisfatórios. Embora os resultados possam su-
gerir haverem algumas limitações quanto à escalabilidade do sistema, em geral, (veja-se
o gráfico da figura 10.2), como ainda existem lugar para algumas melhorias importantes,
crê-se que tal não é o caso.
Além da experiência descrita, faria sentido realizar outras em que se comparasse o
NoHR com outros raciocinadores. No entanto, existem algumas restrições importantes.
1
Predicados hilog (consultar http://xsb.sourceforge.net/manual1/manual1.pdf ) são predi-
cados de segunda ordem, i.e. podem sem formados por qualquer termo, seja ele uma constante, uma variá-
vel, ou um termo composto – f(x), por exemplo. Tais predicados permitem, por exemplo, escrever as regras
dom(P)(X) : −P(X, _). e ran(P)(X) : −P(_, X). onde P e X são variáveis, e dom e ran são functores
que denotam o domínio e contradomínio, respectivamente, de uma relação. Usando unicamente essas duas
regras é possível expressar exactamente o mesmo que o conjunto de todas as regras escritas no caso (e) da
tradução directa (64) expressa. Foi no sentido de aproveitar essa possibilidade, reduzindo assim significati-
vamente o número de regras no programa resultante da tradução, que se optou por recorrer aos predicados
hilog.
119
10. AVALIAÇÃO 10.3. Discussão de resultados
Por um lado, a maioria dos raciocinadores que suportam querying só o faz para KB que
sejam ou ontologias DL ou programas em lógica, e não uma combinação dos dois. Por
outro lado, os raciocinadores em que tal é possível, além ainda estarem em fase experi-
mental e por isso haverem algumas limitações práticas no seu uso em experiências, têm
para as regras uma sintaxe bastante distinta da utilizada no NoHR. Assim, considera-se
que, neste momento, o contributo das mencionadas experiências para a presente avalia-
ção não compensaria o esforço adicional necessário à sua realização.
120
Parte V
Conclusões
121
11
Conclusões e Trabalho Futuro
A presente dissertação lega alguns contributos relevantes à área de Representação de Co-
nhecimento. A um nível conceptual, vem fortalecer a visão de bases de conhecimento
como algo heterogéneo nas formas de representação – como são heterogéneas as formas
como o ser humano representa mentalmente a realidade – em vez de como conhecimento
expresso sob uma linguagem particular, que o limita e constrange a certa perspectiva,
juntando-se a uma linha de investigação emergente – a das bases de conhecimento hí-
bridas – com já muito trabalho realizado e várias provas de sucesso dadas. Constitui,
em certa medida, mais uma evidência da viabilidade dessa abordagem à representação
de conhecimento.
Entre os vários formalismos híbridos existentes, o MKNF híbrido é provavelmente o
que melhor revela as potencialidades de se combinar lógicas de descrição com progra-
mação em logica, na medida em que as bases de conhecimentos que suporta realmente
beneficiam, por completo, da expressividade de ambas as formas de representação, e se
mantêm, ainda assim, coesas – tal não é o caso em outros formalismos conhecidos, como
SWRL [23, 25], DLP [20], AL-log [11], CARIN [34], DL + log [41], Horn-SHIQ [26], pro-
gramas dl [13, 14], programas dl disjuntivos [16], lógica de equilíbrio quantificado para bases de
conhecimento híbridas [16], grafos de descrição [36] , esquemas nominais [31], regras híbridas sob
semântica bem fundada [12] e programas HEX [15].
O formalismo MKNF híbrido, por si só, mostra o potencial da agregação das duas
técnicas de representação numa mesma base de conhecimento. A definição de um algo-
ritmo de querying tratável – o SLG(O) – para as bases de conhecimento híbridas MKNF
com ontologias em DLs tratáveis foi um passo em frente no estabelecimento da sua apli-
cabilidade, ao mostrar que raciocinadores destinados a querying – que poderão vir a
122
11. CONCLUSÕES E TRABALHO FUTURO
estender, e já começam a fazê-lo, os actuais Sistemas de Gestão de Bases de Dados – po-
derão assentar sobre essa abordagem híbrida de representação. O NoHR é precisamente
um desses raciocinadores e, na sua versão original, já suporta uma linguagem ontológica
importante, o OWL 2 EL, que em expressividade corresponde à lógica de descrição EL+
⊥.
Nesta dissertação, estendeu-se o raciocinador NoHR com o suporte a outro perfil
importante da linguagem ontológica OWL 2: o OWL 2 QL, que se baseia na lógica de
descrição DL-LiteR . Tal como para OWL 2 EL, recorreu-se ao algoritmo SLG(O) . Como
esse algoritmo é paramétrico quanto à lógica de descrição utilizada, define a operação
sobre a ontologia de forma abstracta, introduzindo apenas a noção de um “oráculo” que
computa as derivações dela, e enunciado as propriedades que este deve satisfazer. Do
ponto de vista teórico, tal implicou a definição de um oráculo concreto para o DL-LiteR
. Nesse sentido, esta dissertação contribui com duas abordagens distintas. Ambas se
inspiram na ideia de traduzir a ontologia para regras não monótonas que derivem as
mesmas respostas a queries, anteriormente aplicada no NoHR, para o OWL 2 EL.
A primeira delas, de forma similar à do oráculo EL+
⊥ definido para a versão original
do NoHR, aplica uma redução preliminar à ontologia, de modo a evitar certas constru-
ções mais difíceis de expressar sob a forma de regras, e só depois a traduz. Esta tradução
é um contributo relevante desta dissertação, uma vez que, além de poder ser aplicada no
oráculo DL-LiteR , pode facilmente ser generalizada – a ideia de evitar as construções
não suportadas pela programação em lógica com a redução presta-se particularmente
a isso – em conjunto com a tradução do oráculo EL+
⊥, para outras lógicas de descrição,
possivelmente mais expressivas. Como se demonstrou que tal tradução preserva as res-
postas a queries da ontologia original, ela poderá ser também aplicada, tal como definida
ou adaptada, em futuras técnicas de querying DL que recorram a raciocinadores de re-
gras.
A redução utilizada nesta abordagem implica a classificação da ontologia. Tratando-
se esse de um serviço custoso de implementar, e havendo já vários raciocinadores que o
suportam, o mais conveniente é recorrer a tais sistemas. No entanto, como nenhum des-
ses raciocinadores suporta a classificação completa 1 em DL-LiteR de forma comprova-
damente eficiente, é pertinente adaptar a classificação em outra lógica de descrição, para
a qual se conheçam classificadores mais efectivos, como EL++
, para essa lógica de des-
crição. Por esse motivo, definiu-se uma redução da classificação DL-LiteR à classificação
EL++
. Tal constitui, e em particular para ontologias com TBox positivas, onde a penali-
zação da adaptação é menos significativa, outro contributo importante desta dissertação.
A segunda abordagem ao oráculo DL-LiteR é traduzir a ontologia directamente, sem
a reduzir, expressando os construtores evitados na primeira abordagem com o auxilio
de predicados especiais que os representam. Desse modo, dispensa-se a classificação da
ontologia com um raciocinador DL externo e evita-se a computação do fecho negativo,
apenas com a contrapartida de acrescentar algumas regras adicionais e de ter-se de obter
1
Neste contexto, entende-se por classificação completa a obtenção de todas as subsunções, incluindo entre
conceitos e relações não atómicos, nomeadamente complementos, contrariamente ao que é habitual.
123
11. CONCLUSÕES E TRABALHO FUTURO
os conceitos e relações que apresentam certas propriedades que devem reflectir-se nas re-
gras – a insatisfazibilidade e a irreflexividade. Tal técnica é comparável, em efectividade,
à anterior – embora se suponha que tenha, na prática, significativamente melhor desem-
penho, por não necessitar de uma classificação completa e não ser tão penalizada com a
presença de axiomas negativos. Independente de esta abordagem ser ou não superior à
anterior, constitui igualmente outro contributo importante desta dissertação, uma vez
que se mostrou analiticamente a sua correcção e empiricamente a sua viabilidade. Tal
como a tradução da abordagem anterior, também esta poderá inspirar futuras técnicas
de querying DL recorrendo a raciocinadores de regras.
A implementação da extensão do NoHR com o suporte ao OWL 2 QL, é também, por
si só, outro contributo relevante desta dissertação. O perfil QL da linguagem OWL 2 é
particularmente aplicável em contexto empresarial e na Web, uma vez que apresenta pro-
priedades computacionais que lhe conferem a escalabilidade, quanto ao volume de da-
dos, habitualmente requerida em tal contexto. Por esse motivo, de ser escalável quanto
aos dados, é essa a linguagem adoptada no Acesso a Dados Baseado em Ontologias
– técnica na qual se abstrai uma camada dos dados, constituída por diversas bases de
dados, com uma camada ontológica sobre a primeira, de modo a facilitar a integração
de informação proveniente de diversas fontes e em vários formatos distintos – que será
provavelmente padrão em muitas das aplicações do futuro. O NoHR, com a extensão
realizada nesta dissertação, é o primeiro raciocinador a suportar querying a bases de co-
nhecimento híbridas coesas beneficiando completamente, e simultaneamente, da expres-
sividade desse perfil e das regras não monótonas – que são particularmente úteis nos
contextos mencionados, já que sustentam a assunção do mundo fechado, como as bases
de dados. Recorde-se que outros raciocinadores conhecidos, como NLP-DL 2, DReW [43],
dlhex 3, e HD-rules 4, baseiam-se em formalismos que não permitem tirar o mesmo pro-
veito de ambas as formas de representação nem exibem a mesma coesividade. Embora
ainda haja lugar para algumas melhorias no NoHR, os resultados empíricos obtidos per-
mitem concluir que o sistema é viável e que poderá assim vir a servir de base a futu-
ras aplicações Web, empresariais ou governamentais (recorde-se o exemplo de aplicação
enunciado na introdução).
Para trabalho futuro, num plano mais imediato, há as várias melhorias à implemen-
tação já apontadas, e alguns estudos possíveis. A nível teórico, estudar se se pode evitar
tabular certos predicados no XSB, e em que circunstâncias, poderá revelar oportunida-
des de optimização significativas. Além disso, comparar empiricamente a performance
do NoHR usando o oráculo EL+
⊥ou DL-LiteR seria interessante tanto para enriquecer a
avaliação de ambas as técnicas, como para determinar qual delas deverá ser seleccionada
no caso de ontologias que estejam em ambas as lógicas de descrição.
Os desenvolvimentos desta dissertação deixaram, naturalmente, algumas questões
2
http://www.kr.tuwien.ac.at/research/systems/semweblp/
3
http://www.kr.tuwien.ac.at/research/systems/dlvhex/
4
http://www.ida.liu.se/hswrl/
124
11. CONCLUSÕES E TRABALHO FUTURO
em aberto, que poderão também estudar-se futuramente. Uma delas é acerca da redução
da classificação DL-LiteR à classificação EL++
. Uma avaliação empírica desta técnica em
ontologias com TBox positivas poderá revelar a sua competitividade face a outras técni-
cas existentes. Além disso, em geral (para ontologias possivelmente contendo axiomas
negativos), pode tentar-se melhorá-la, procurando alternativas ao fecho negativo, menos
onerosas computacionalmente; ou até mesmo dar-se o caso de o impacto dos axiomas ne-
gativos, não ser na prática (para a maioria das ontologias reais), tão significativo quanto
esperado.
Outro aspecto susceptível de ser avaliado empiricamente é a viabilidade da aborda-
gem do oráculo DL-LiteR indirecto. Poderão conduzir-se estudos no sentido de por à
prova essa abordagem e compará-la a abordagem actualmente implementada no NoHR
para o DL-LiteR . Nesses estudos, poderá recorrer-se tanto à adaptação de um clas-
sificador EL++
, do modo descrito, como directamente a um raciocinador suportando
DL-LiteR .
Uma área de estudo importante, e emergente, na qual as técnicas elaboradas nesta dis-
sertação poderão também ser aplicadas é o Acesso a Dados Baseado em Conhecimento 5
– uma generalização do Acesso a Dados Baseado em Ontologias, anteriormente menci-
onado, visando também a sinergia entre ontologias e regras. Sustenta a ideia de usar
bases de conhecimento, constituídas por ontologias e/ou regras, como esquemas globais
generalizados, sobre os quais se possa raciocinar, para dados em bases de dados locais,
heterogéneas entre si – algo que se torna cada vez mais imperativo pela crescente mul-
tiplicidade e heterogeneidade de fontes de informação em certos domínios. Como, para
esse propósito, é particularmente pertinente armazenar essas bases de conhecimento sob
a forma de regras 6, considera-se que as técnicas de tradução de ontologias para regras
elaboradas nesta dissertação poderão contribuir para a mencionada área de estudo.
5
Um resumo pode ser consultado em http://www.cs.unb.ca/~boley/talks/RulesOBDA.pdf
6
Uma discussão dessa questão pode ser lida em http://www.cs.unb.ca/~boley/talks/
RulesOBDA.pdf
125
Bibliografia
[1] J. J. Alferes, M. Knorr e T. Swift. “Queries to Hybrid MKNF Knowledge Bases th-
rough Oracular Tabling”. Em: The Semantic Web - ISWC 2009, 8th International Se-
mantic Web Conference, ISWC 2009, Chantilly, VA, USA, October 25-29, 2009. Procee-
dings. Ed. por A. Bernstein, D. R. Karger, T. Heath, L. Feigenbaum, D. Maynard, E.
Motta e K. Thirunarayan. Vol. 5823. Lecture Notes in Computer Science. Springer,
2009, pp. 1–16. ISBN: 978-3-642-04929-3.
[2] J. J. Alferes, M. Knorr e T. Swift. “Query-Driven Procedures for Hybrid MKNF Kno-
wledge Bases”. Em: ACM Trans. Comput. Log. 14.2 (2013), 16:1–16:43.
[3] F. Baader, S. Brandt e C. Lutz. “Pushing the EL Envelope”. Em: IJCAI-05, Proceedings
of the Nineteenth International Joint Conference on Artificial Intelligence, Edinburgh, Sco-
tland, UK, July 30-August 5, 2005. Ed. por L. P. Kaelbling e A. Saffiotti. Professional
Book Center, 2005, pp. 364–369. ISBN: 0938075934. URL: http://www.ijcai.
org/papers/0372.pdf.
[4] F. Baader, D. Calvanese, D. L. McGuinness, D. Nardi e P. F. Patel-Schneider, eds.
The Description Logic Handbook: Theory, Implementation, and Applications. Cambridge
University Press, 2003. ISBN: 0-521-78176-0.
[5] T. Berners-Lee, J. Hendler e O. Lassila. “The Semantic Web”. Em: Scientific American
(2001), pp. 96–101.
[6] H. Boley e M. Kifer, eds. RIF Overview (Second Edition). Available from http://
www.w3.org/TR/2013/NOTE-rif-overview-20130205/. W3C Recommen-
dation 05 February 2013, 2013.
[7] R. J. Brachman e H. J. Levesque. Knowledge Representation and Reasoning. Elsevier,
2004. ISBN: 978-1-55860-932-7. URL: http://www.elsevier.com/wps/find/
bookdescription.cws_home/702602/description.
[8] S. Bratt, ed. Emerging Web Technologies to Watch. Available from http://www.w3.
org/2006/Talks/1023-sb-W3CTechSemWeb/. 2006.
126
BIBLIOGRAFIA
[9] D. Calvanese, G. D. Giacomo, D. Lembo, M. Lenzerini e R. Rosati. “Tractable Rea-
soning and Efficient Query Answering in Description Logics: The DL-Lite Family”.
Em: J. Autom. Reasoning 39.3 (2007), pp. 385–429.
[10] W. Chen e D. S. Warren. “Query Evaluation under the Well Founded Semantics”.
Em: Proceedings of the Twelfth ACM SIGACT-SIGMOD-SIGART Symposium on Prin-
ciples of Database Systems, May 25-28, 1993, Washington, DC, USA. Ed. por C. Beeri.
ACM Press, 1993, pp. 168–179. ISBN: 0-89791-593-3. URL: http://dl.acm.org/
citation.cfm?id=153850.
[11] F. M. Donini, M. Lenzerini, D. Nardi e A. Schaerf. “AL-log: Integrating Datalog and
Description Logics”. Em: J. Intell. Inf. Syst. 10.3 (1998), pp. 227–252.
[12] W. Drabent e J. Maluszynski. “Well-Founded Semantics for Hybrid Rules”. Em:
Web Reasoning and Rule Systems, First International Conference, RR 2007, Innsbruck
, Austria, June 7-8, 2007, Proceedings. Ed. por M. Marchiori, J. Z. Pan e C. de Sainte
Marie. Vol. 4524. Lecture Notes in Computer Science. Springer, 2007, pp. 1–15. ISBN:
978-3-540-72981-5.
[13] T. Eiter, G. Ianni, T. Lukasiewicz e R. Schindlauer. “Well-founded semantics for
description logic programs in the semantic web”. Em: ACM Trans. Comput. Log.
12.2 (2011), 11:1–11:41.
[14] T. Eiter, G. Ianni, T. Lukasiewicz, R. Schindlauer e H. Tompits. “Combining answer
set programming with description logics for the Semantic Web”. Em: Artif. Intell.
172.12-13 (2008), pp. 1495–1539.
[15] T. Eiter, G. Ianni, R. Schindlauer e H. Tompits. “Effective Integration of Declarative
Rules with External Evaluations for Semantic-Web Reasoning”. Em: The Semantic
Web: Research and Applications, 3rd European Semantic Web Conference, ESWC 2006,
Budva, Montenegro, June 11-14, 2006, Proceedings. Ed. por Y. Sure e J. Domingue.
Vol. 4011. Lecture Notes in Computer Science. Springer, 2006, pp. 273–287. ISBN:
3-540-34544-2.
[16] T. Eiter, T. Lukasiewicz, R. Schindlauer e H. Tompits. “Well-Founded Semantics for
Description Logic Programs in the Semantic Web”. Em: Rules and Rule Markup Lan-
guages for the Semantic Web: Third International Workshop, RuleML 2004, Hiroshima,
Japan, November 8, 2004. Proceedings. Ed. por G. Antoniou e H. Boley. Vol. 3323. Lec-
ture Notes in Computer Science. Springer, 2004, pp. 81–97. ISBN: 3-540-23842-5.
[17] A. V. Gelder, K. A. Ross e J. S. Schlipf. “The Well-Founded Semantics for General
Logic Programs”. Em: J. ACM 38.3 (1991), pp. 620–650.
[18] M. Gelfond e V. Lifschitz. “The Stable Model Semantics for Logic Programming”.
Em: Logic Programming, Proceedings of the Fifth International Conference and Sympo-
sium, Seattle, Washington, August 15-19, 1988 (2 Volumes). Ed. por R. A. Kowalski e
K. A. Bowen. MIT Press, 1988, pp. 1070–1080. ISBN: 0-262-61056-6.
127
BIBLIOGRAFIA
[19] B. C. Grau, A. Fokoue, B. Motik, Z. Wu e I. Horrocks, eds. OWL 2 Web Ontology
Language Profiles (Second Edition). Available from http://www.w3.org/TR/
2012/REC-owl2-profiles-20121211/. 2012.
[20] B. N. Grosof, I. Horrocks, R. Volz e S. Decker. “Description logic programs: combi-
ning logic programs with description logic”. Em: Proceedings of the Twelfth Interna-
tional World Wide Web Conference, WWW 2003, Budapest, Hungary, May 20-24, 2003.
Ed. por G. Hencsey, B. White, Y. R. Chen, L. Kovács e S. Lawrence. ACM, 2003,
pp. 48–57. ISBN: 1-58113-680-3.
[21] Y. Guo, Z. Pan e J. Heflin. “LUBM: A benchmark for OWL knowledge base sys-
tems”. Em: J. Web Sem. 3.2-3 (2005), pp. 158–182.
[22] V. Haarslev e R. Möller. “RACER System Description”. Em: Automated Reasoning,
First International Joint Conference, IJCAR 2001, Siena, Italy, June 18-23, 2001, Procee-
dings. Ed. por R. Goré, A. Leitsch e T. Nipkow. Vol. 2083. Lecture Notes in Compu-
ter Science. Springer, 2001, pp. 701–706. ISBN: 3-540-42254-4.
[23] I. Horrocks, P. Patel-Schneider, H. Boley, S. Tabet, B. Grosof e M. Dean, eds. SWRL:
A Semantic Web Rule Language Combining OWL and RuleML. Available from http:
//www.w3.org/Submission/SWRL/. 2004.
[24] I. Horrocks, O. Kutz e U. Sattler. “The Even More Irresistible SROIQ”. Em: KR. Ed.
por P. Doherty, J. Mylopoulos e C. A. Welty. AAAI Press, 2006, pp. 57–67. ISBN:
978-1-57735-271-6.
[25] I. Horrocks, P. F. Patel-Schneider, S. Bechhofer e D. Tsarkov. “OWL rules: A propo-
sal and prototype implementation”. Em: J. Web Sem. 3.1 (2005), pp. 23–40.
[26] U. Hustadt, B. Motik e U. Sattler. “Data Complexity of Reasoning in Very Expres-
sive Description Logics”. Em: IJCAI-05, Proceedings of the Nineteenth International
Joint Conference on Artificial Intelligence, Edinburgh, Scotland, UK, July 30-August 5,
2005. Ed. por L. P. Kaelbling e A. Saffiotti. Professional Book Center, 2005, pp. 466–
471. ISBN: 0938075934. URL: http://www.ijcai.org/papers/0326.pdf.
[27] Y. E. Ioannidis, R. Ramakrishnan e L. Winger. “Transitive Closure Algorithms Ba-
sed on Graph Traversal”. Em: ACM Trans. Database Syst. 18.3 (1993), pp. 512–576.
[28] V. Ivanov, M. Knorr e J. Leite. “A Query Tool for EL with Non-monotonic Rules”.
Em: The Semantic Web - ISWC 2013 - 12th International Semantic Web Conference, Syd-
ney, NSW, Australia, October 21-25, 2013, Proceedings, Part I. Ed. por H. Alani, L.
Kagal, A. Fokoue, P. T. Groth, C. Biemann, J. X. Parreira, L. Aroyo, N. F. Noy, C.
Welty e K. Janowicz. Vol. 8218. Lecture Notes in Computer Science. Springer, 2013,
pp. 216–231. ISBN: 978-3-642-41334-6.
[29] Y. Kazakov, M. Krötzsch e F. Simancik. “The Incredible ELK - From Polynomial
Procedures to Efficient Reasoning with EL Ontologies”. Em: J. Autom. Reasoning
53.1 (2014), pp. 1–61.
128
BIBLIOGRAFIA
[30] M. Knorr, J. J. Alferes e P. Hitzler. “Local closed world reasoning with descrip-
tion logics under the well-founded semantics”. Em: Artif. Intell. 175.9-10 (2011),
pp. 1528–1554.
[31] M. Krötzsch, F. Maier, A. Krisnadhi e P. Hitzler. “A better uncle for OWL: nominal
schemas for integrating rules and ontologies”. Em: Proceedings of the 20th Internati-
onal Conference on World Wide Web, WWW 2011, Hyderabad, India, March 28 - April 1,
2011. Ed. por S. Srinivasan, K. Ramamritham, A. Kumar, M. P. Ravindra, E. Bertino
e R. Kumar. ACM, 2011, pp. 645–654. ISBN: 978-1-4503-0632-4.
[32] D. Lembo, V. Santarelli e D. F. Savo. “A Graph-Based Approach for Classifying
OWL 2 QL Ontologies”. Em: Informal Proceedings of the 26th International Workshop
on Description Logics, Ulm, Germany, July 23 - 26, 2013. Ed. por T. Eiter, B. Glimm,
Y. Kazakov e M. Krötzsch. Vol. 1014. CEUR Workshop Proceedings. CEUR-WS.org,
2013, pp. 747–759. URL: http://ceur-ws.org/Vol-1014/paper_21.pdf.
[33] N. Leone, G. Pfeifer, W. Faber, T. Eiter, G. Gottlob, S. Perri e F. Scarcello. “The DLV
system for knowledge representation and reasoning”. Em: ACM Trans. Comput. Log.
7.3 (2006), pp. 499–562.
[34] A. Y. Levy e M.-C. Rousset. “Combining Horn Rules and Description Logics in
CARIN”. Em: Artif. Intell. 104.1-2 (1998), pp. 165–209.
[35] V. Lifschitz. “Nonmonotonic Databases and Epistemic Queries”. Em: Proceedings
of the 12th International Joint Conference on Artificial Intelligence. Sydney, Australia,
August 24-30, 1991. Ed. por J. Mylopoulos e R. Reiter. Morgan Kaufmann, 1991,
pp. 381–386. ISBN: 1-55860-160-0.
[36] B. Motik, B. C. Grau, I. Horrocks e U. Sattler. “Representing ontologies using des-
cription logics, description graphs, and rules”. Em: Artif. Intell. 173.14 (2009), pp. 1275–
1309.
[37] B. Motik e R. Rosati. “Reconciling description logics and rules”. Em: J. ACM 57.5
(2010), 30:1–30:62.
[38] P. Patel-Schneider, B. Motik e B. C. Grau, eds. OWL 2 Web Ontology Language Direct
Semantics (Second Edition). Available from http://www.w3.org/TR/2012/REC-
owl2-direct-semantics-20121211/. 2012.
[39] L. M. Pereira e J. J. Alferes. “Well Founded Semantics for Logic Programs with
Explicit Negation”. Em: ECAI. 1992, pp. 102–106.
[40] R. Reiter. “On Closed World Data Bases”. Em: Logic and Data Bases. 1977, pp. 55–76.
[41] R. Rosati. “DL+log: Tight Integration of Description Logics and Disjunctive Data-
log”. Em: KR. Ed. por P. Doherty, J. Mylopoulos e C. A. Welty. AAAI Press, 2006,
pp. 68–78. ISBN: 978-1-57735-271-6.
129
BIBLIOGRAFIA
[42] T. Swift. “A New Formulation of Tabled Resolution with Delay”. Em: Progress in Ar-
tificial Intelligence, 9th Portuguese Conference on Artificial Intelligence, EPIA ’99, Évora,
Portugal, September 21-24, 1999, Proceedings. Ed. por P. Barahona e J. J. Alferes. Vol. 1695.
Lecture Notes in Computer Science. Springer, 1999, pp. 163–177. ISBN: 3-540-66548-X.
[43] G. Xiao, T. Eiter e S. Heymans. “The DReW System for Nonmonotonic DL-Programs”.
English. Em: Semantic Web and Web Science. Ed. por J. Li, G. Qi, D. Zhao, W. Nejdl e
H.-T. Zheng. Springer Proceedings in Complexity. Springer New York, 2013, pp. 383–
390. ISBN: 978-1-4614-6879-0.
130
A
Normalizações
A.1 Expressões normais
ClassAssertion(Class Individual)
ObjectPropertyAssertion(ObjectPropertyExpression Individual Individual)
DataPropertyAssertion(DataProperty Individual Literal)
SubClassOf(subClassExpression subClassExpression)
SubObjectPropertyOf(ObjectPropertyExpression ObjectPropertyExpression)
SubDataPropertyOf(DataProperty DataProperty)
DisjointClasses(subClassExpression subClassExpression)
DisjointObjectProperties(ObjectPropertyExpression ObjectPropertyExpression)
DisjointDataProperties(DataProperty DataProperty)
131
A. NORMALIZAÇÕES
A.2 Expressões ignoradas
ClassAssertion(owl:Thing a)
ClassAssertion(owl:Nothing a)
ObjectPropertyAssertion(owl:topObjectProperty a b)
ObjectPropertyAssertion(owl:bottomObjectProperty a b)
DataPropertyAssertion(owl:topDataProperty a b)
DataPropertyAssertion(owl:bottomDataProperty a b)
SubClassOf(B owl:Thing)
SubClassOf(owl:Thing B)
SubClassOf(owl:Nothing B)
SubClassOf(DataSomeValuesFrom(DPE DR) CE)
SubClassOf(CE DataSomeValuesFrom(DPE DR))
SubObjectPropertyOf(Q owl:topObjectProperty)
SubObjectPropertyOf(owl:topObjectProperty Q)
SubObjectPropertyOf(owl:bottomObjectProperty Q)
SubDataPropertyOf(Q owl:topDataProperty)
SubDataPropertyOf(owl:topDataProperty Q)
SubDataPropetyOf(owl:bottomDataProperty Q)
DisjointClasses(B owl:Nothing)
DisjointClasses(owl:Nothing B)
132
A. NORMALIZAÇÕES
DisjointObjectProperties(Q owl:bottomObjectProperty)
DisjointObjectProperties(owl:bottomObjectProperty Q)
DisjointDataProperties(Q owl:bottomDataProperty)
DisjointDataProperties(owl:bottomDataProperty Q)
DataDomain(DPE C)
DataRange(DPE DR)
DifferentIndividuals(I1 I2 ... In)
A.3 Expressões normais em DL-LiteR
ClassAssertion(A a)
A(a)
ObjectPropertyAssertion(P a b)
P(a, b)
DataPropertyAssertion(P a b)
P(a, b)
SubClassOf(B owl:Nothing)
B ¬B
SubClassOf(B1 B2)
B1 B2
SubObjectPropertyOf(Q owl:bottomObjectProperty)
Q ¬Q
SubObjectPropertyOf(Q1 Q2)
Q1 Q2
133
A. NORMALIZAÇÕES
SubDataPropertyOf(Q owl:bottomObjectProperty)
Q ¬Q
SubDataPropertyOf(Q1 Q2)
Q1 Q2
DisjointClasses(B owl:Thing) /
DisjointClasses(owl:Thing B)
B ¬B
DisjointClasses(B1 B2)
B1 ¬B2
B2 ¬B1
DisjointObjectProperties(Q owl:topObjectProperty) /
DisjointObjectProperties(owl:topObjectProperty Q)
Q ¬Q
DisjointObjectProperties(Q1 Q2)
Q1 ¬Q2
Q2 ¬Q1
DisjointDataProperties(Q owl:topDataProperty) /
DisjointDataProperties(owl:topDataProperty Q)
Q ¬Q
DisjointDataProperties(Q1 Q2)
Q1 ¬Q2
Q2 ¬Q1
134
A. NORMALIZAÇÕES
A.4 Normalizações
norm(SubClassOf(CE1 ObjectComplementOf(CE2))
{
DisjointClasses(CE1 CE2)
}
norm(SubClassOf(CE1 ObjectIntersectionOf(CE2 CE3 ... CEn))) =
{
norm(SubClassOf(CE1 CE2)),
norm(SubClassOf(CE1 CE3)),
...,
norm(SubClassOf(CE1 CEn))
}
norm(SubClassOf(CE1 ObjectSomeValuesFrom(OPE C))) =
{
SubObjectPropertyOf(OPE’ OPE),
SubClassOf(ObjectSomeValuesFrom(ObjectInverseOf(OPE’) owl:Thing) C),
SubClassOf(CE1 ObjectSomeValuesFrom(OPE’ owl:Thing))
}
norm(EquivalentClasses(CE1 CE2 ... CEn) =
{
SubClassOf(CEi CEj),
SubClassOf(CEj CEi)
}
norm(DisjointClasses(CE1 CE2 ... CEn)) =
{
DisjointClases(CEi CEj)
}
norm(InverseObjectProperties(OPE1 OPE2)) =
{
SubObjectPropertyOf(OPE1 ObjectInverseOf(OPE2)),
SubObjectPropertyOf(ObjectInverseOf(OPE1) OPE2)
}
norm(EquivalentObjectProperties(OPE1 OPE2 ... OPEn)) =
135
A. NORMALIZAÇÕES
{
SubObjectPropertyOf(OPEi OPEj),
SubObjectPropertyOf(OPEj OPEi)
}
norm(EquivalentDataProperties(DPE1 DPE2 ... DPEn)) =
{
SubDataPropertyOf(DPEi DPEj),
SubDataPropertyOf(DPEj DPEi)
}
norm(ObjectPropertyDomain(OPE CE)) =
{
norm(SubClassOf(ObjectSomeValuesFrom(OPE owl:Thing) CE))
}
norm(ObjectPropertyRange(OPE CE)) =
{
norm(SubClassOf(ObjectSomeValuesFrom(ObjectInverseOf(OPE)
owl:Thing) CE))
}
norm(DisjointObjectProperties(OPE1 OPE2 ... OPEn)) =
{
DisjointObjectProperties(OPEi OPEj)
}
norm(DisjointDataProperties(DP1 DPE2 ... DPEn)) =
{
DisjointDataProperties(DPEi DPEj)
}
norm(SymmetricObjectProperty(OPE)) =
{
SubObjectPropertyOf(OPE ObjectInverseOf(OPE)),
SubObjectPropertyOf(ObjectInverOf(OPE) OPE)
}
norm(ReflexiveObjectProperty(OPE)) =
{
SubClassOf(ObjectSomeValuesFrom(OPE owl:Thing)
136
A. NORMALIZAÇÕES
ObjectSomeValuesFrom(ObjectInverseOf(OPE) owl:Thing)),
SubClassOf(ObjectSomeValuesFrom(ObjectInverseOf(OPE) owl:Thing)
ObjectSomeValuesFrom(OPE owl:Thing))
}
norm(IrreflexiveObjectProperty(OPE)) =
{
DisjointClasses(ObjectSomeValuesFrom(OPE owl:Thing)
ObjectSomeValuesFrom(ObjectInverseOf(OPE) owl:Thing))
}
norm(AsymmetricObjectProperty(OPE)) =
{
DisjointObjectProperties(OPE ObjectInverseOf(OPE))
}
137

OWL QL e Regras Não Monótonas

  • 1.
    Nuno Miguel CerqueiraCosta Licenciado em Engenharia Informática OWL QL e Regras Não Monótonas Dissertação para obtenção do Grau de Mestre em Engenharia Informática Orientadores : João Leite, Prof. Associado, Universidade Nova de Lisboa Matthias Knorr, Pós-Doc, Universidade Nova de Lisboa Júri: Presidente: Prof. Doutor Pedro Medeiros Arguente: Prof. Doutor Paulo Quaresma Vogal: Prof. Doutor João Leite Março, 2015
  • 2.
    Resumo Na representação deconhecimento, as lógicas de descrição e a programação em ló- gica tornaram-se as linguagens padrão para muitos contextos. A Web Semântica reflecte isso mesmo. Na sua pilha tecnológica já figura uma camada ontológica fundamentada nas lógicas de descrição, a linguagem OWL, e uma camada de regras, o RIF, que su- porta programação em lógica. Enquanto que as lógicas de descrição são monótonas e permitem inferir subsunções, a programação em lógica permite não monotonia e assim, a Assunção do Mundo Fechado - e limita as consequências lógicas a factos. A combina- ção das duas permite uma maior expressividade, indispensável para representar certos domínios. Para esse propósito já foram definidos alguns formalismos, entre os quais se destaca o MKNF híbrido, que permite estender a semântica de ambas simultaneamente. Com base nesse formalismo foi desenvolvido um sistema de processamento de queries a bases de conhecimento constituídas por uma ontologia OWL e um programa em ló- gica com semântica bem fundada, o NoHR. O sistema está integrado com o Protégé – um editor ontológico importante – sob a forma de plug-in, e suporta, na sua versão ori- ginal apenas o perfil EL do OWL 2. O propósito da presente dissertação é extensão do sistema para OWL 2 QL. Ambos os perfis suportam raciocínio polinomial; o OWL 2 EL é particularmente útil para em aplicações onde sejam necessárias ontologias com grande número de axiomas; e o OWL 2 QL para aplicações que usem grandes volumes de dados de instância, e onde responder a queries seja a tarefa de raciocínio mais importante. Palavras-chave: representação de conhecimento; web semântica; lógicas de descrição; programação em lógica; DL-LiteR ; OWL QL; regras não monótonas; MKNF; bases de conhecimento híbridas MKNF. ii
  • 3.
    Abstract In knowledge representation,description logics and the logic programing became the standard languages in many contexts. The Semantic Web reflects that. In its technology stack is already included an ontological layer, the OWL language, and a layer of rules, the RIF, which supports logic programing. Whereas descriptions logics are monotonic and can entail subsumption, logic programing support non monotonic reasoning – and so, the Close World Assumption – and only entail facts. The combination of the two allows for greater expressiveness, indispensable to represent certain domains. For this purpose were defined some formalisms, among which stands out the hybrid MKNF, that allows to extend the semantics of both simultaneously. Based on this formalism, a query system to knowledge bases formed by an OWL ontology and a logic program with well founded semantic was developed. The system is integrated with Protégé - an important ontological editor - in the form of plug-in, and supports, in its original version, only the OWL 2 EL profile. The propose of this dissertation is to extend the system to OWL 2 QL. Both profiles support polynomial reasoning; OWL 2 EL is particularly useful for applications where it is necessary ontologies with large number of axioms; and the OWL 2 QL to applications that use large volumes of instance data, and where querying is the most important reasoning task. Keywords: Knowledge Representation; Semantic Web; Description Logics; Logic Pro- graming; DL-LiteR ; OWL QL; Non-monotonic rules; MKNF; MKNF Hybrid Knowledge Bases. iii
  • 4.
    Conteúdo I Introdução 1 IIRevisão de Literatura 11 1 Lógicas de Descrição 12 1.1 Sintaxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.2 Semântica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.3 Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.4 EL+ ⊥ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.5 DL-LiteR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2 Programação em Lógica 19 2.1 Modelos estáveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.2 Modelos bem fundados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3 Bases de Conhecimento MKNF 24 3.1 Sintaxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.2 Semântica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4 SLG(O) 32 4.1 SLG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.2 Oráculo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 5 NoHR 39 5.1 Redução da TBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.2 Tradução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5.3 Implementação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 iv
  • 5.
    CONTEÚDO v 6 Raciocínioem DL-LiteR 47 6.1 Interpretação canónica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 6.2 Fecho negativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 6.3 Satisfazibilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 III Abordagem Teórica 56 7 Tradução com redução 57 7.1 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 7.1.1 Redução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 7.1.2 Tradução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 7.2 Análise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.2.1 Redução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.2.2 Tradução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 8 Tradução directa 76 8.1 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 8.2 Análise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 8.2.1 Derivações positivas . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 8.2.2 Propriedades do grafo . . . . . . . . . . . . . . . . . . . . . . . . . . 89 8.2.3 Derivações negativas . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 8.2.4 Oráculo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 8.3 Algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 IV Abordagem Prática 108 9 Implementação 109 9.1 Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 9.2 Funcionamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 10 Avaliação 115 10.1 Experiência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 10.2 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 10.3 Discussão de resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 V Conclusões 121 11 Conclusões e Trabalho Futuro 122
  • 6.
    CONTEÚDO vi A Normalizações131 A.1 Expressões normais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 A.2 Expressões ignoradas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 A.3 Expressões normais em DL-LiteR . . . . . . . . . . . . . . . . . . . . . . . 133 A.4 Normalizações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
  • 7.
  • 8.
    chapterEnquadramento, Objectivos eContribuições Representação de conhecimento e raciocínio é uma área da inteligência artificial cujo o objectivo é determinar como se pode representar conhecimento simbolicamente e manipulá- lo automaticamente com programas de raciocínio. Por outra palavras, é o ramo da inte- ligência artificial relacionado com o pensamento, e com o seu contributo para o compor- tamento inteligente [7]. Muitas das linguagens de representação de conhecimento desenvolvidas até agora podem ser classificadas em uma das duas seguintes famílias, que têm sido desenvolvidas nos últimos 30 anos quase independentemente uma da outra [37]: • a primeira inclui formalismos que tentam reconstruir abordagens populares como os sistemas baseados em estruturas e redes semânticas, entre os quais as lógicas de descrição são os mais proeminentes; • a segunda família é centrada na ideia de modelar o conhecimento com regras e o seu formalismo fundamental é fornecido pela programação em lógica. O estudo das lógicas de descrição (DL) tem coberto não só os fundamentos teóri- cos como também a implementação de sistemas de representação de conhecimento e o desenvolvimento de aplicações em várias áreas, e tem-se revelado bem sucedido. O ele- mento chave para esse sucesso é a metodologia de investigação baseada numa interação próxima entre teoria e prática, havendo, por um lado, várias implementações de sis- temas baseados em lógicas de descrição, que oferecem uma paleta de formalismos de descrição com diferentes poderes expressivos, e aplicados em vários domínios, e por ou- tro lado, um estudo detalhado das propriedades formais e computacionais do raciocínio nesses formalismos. Esses estudos são normalmente motivados pelo uso de certos tipos de construtores em sistemas implementados ou pela necessidade desses construtores em aplicações específicas [4]. As lógicas de descrição representam o domínio de interesse em termos de conceitos, que denotam conjuntos de objectos, e relações entre conceitos, sobre esses conjuntos de objectos. Oferecem um conjunto de construtores para combinar conceitos, expressando, desse modo, novos conceitos. As propriedades dos conceitos e relações são descritas através axiomas de subsunção, que estabelecem que cada instância de um dado conceito (resp., relação) é também instância de um outro conceito (resp., relação). As proprieda- des dos objectos expressam-se recorrendo a asserções de pertença, que indicam de que conceito um dado objecto é instância ou em que relações participa com outros objectos. Em geral, são fragmentos da lógica de primeira ordem [9]. Os sistemas de representação de conhecimento baseados em lógicas de descrição, podem suportar, além de queries, di- versos serviços de raciocínio, como a classificação, na qual se estrutura o conjunto dos axiomas da ontologia, numa hierarquia de subsunções, onde as subsunções implícitas, i.e. implicadas por outras, são tornadas explicitas; ou verificação de consistência, no qual se verifica se não existem conjuntos de axiomas e asserções contraditórios entre si. 2
  • 9.
    Relativamente à programaçãoem lógica, embora também lhe possa ser atribuída a se- mântica da lógica de primeira ordem, semânticas não monótonas – onde adicionar nova informação pode invalidar conclusões previamente derivadas – como a dos modelos es- táveis e a dos modelos bem fundados, são habitualmente mais vantajosas. Ambas as semânticas se baseiam no conceito de modelo canónico, onde a resposta para uma dada query a um programa em lógica é determinada por um modelo canónico do programa, que é seleccionado de acordo com uma certa definição de semântica, que pode, dessa forma, estabelecer uma certa noção senso comum – algo essencial ao ser humano, que o permite raciocinar com base em conhecimento incompleto ou ambíguo, e rever esse conhecimento quando na presença de nova informação. As lógicas de descrição e a programação em lógica exibem certas limitações, e as limitações de uma podem ser compensadas pelas potencialidades de outra. Desta forma, problemas de representação complexos requerem, frequentemente, ambas. As limitações das lógicas de descrição são duas. Primeira, as restrições sintáticas usadas para garantir decidibilidade no raciocínio, impedem axiomatizar certas relações que contenham ciclos. Em segundo lugar, como a maioria das lógicas de descrição são fragmentos da lógica de primeira ordem, não permitem introspecção nem inferências não monótonas, o que as impede de: • axiomatizar a assunção do mundo fechado, i.e. a assunção de que todos os factos rele- vantes são conhecidos e que os que não o são são falsos, inerente às bases de dados e formalizada, nesse contexto, por Reiter [40]; • suportar raciocínio com base em assunções por omissão, i.e. assumindo que algo é verdadeiro, a menos que contradiga os factos conhecidos. Quanto às regras, as limitações devem-se maioritariamente à impossibilidade de raci- ocinar com domínios ilimitados ou infinitos, i.e. não é possível inferir conclusões acerca de elementos arbitrários (ex.: de “todos os A são B e todos os B são C” derivar “todos os A são C”). Sendo, consequentemente, tipicamente usadas em problemas centrados em dados, como consultas, mas não para raciocinar acerca de esquematizações conceptuais [37]. Os potenciais benefícios de integrar lógicas de descrição com regras tem sido reco- nhecidos desde o inicio, e um corpo de investigação significativo tem-se dedicado a essa problemática [37]. Uma combinação efectiva de regras não monótonas com ontologias em lógicas de des- crição é vantajosa em vários cenários reais. Por exemplo, nos serviços fronteiriços a avali- ação de factores de riscos das cargas importadas, como terrorismo, drogas, segurança de consumidores e violação de tarifas, envolve conhecimento sobre matérias-primas, enti- dades empresariais, sobre o comércio, as politicas governamentais e acordos comerciais. Nesse cenário, a classificação das importações ou exportações de acordo com o conheci- mento taxonómico inerente a esse domínio poderia processar-se recorrendo aos serviços de raciocínio fornecidos pelas lógicas de descrição; as leis, regulamentos, e políticas de 3
  • 10.
    classificação poderiam serrepresentadas com regras não monótonas. Em geral, qualquer domínio em que a integração e acesso inteligente a dados e a representação e avaliação de politicas de negócios, regulamentos, ou mapeamentos entre fontes de informação se- jam necessários, pode beneficiar do uso dessa combinação de ontologias com regras – e em alguns casos, essa poderá vir a ser a melhor solução. Outro exemplo (adaptado de [30]), simplificado mas concreto, que será usado ao longo da presente exposição para elucidar vários conceitos, é o seguinte. Exemplo 1. Considere-se uma loja online de venda de música. Com o intuito de atrair mais utilizadores e aumentar as vendas, decidiu-se introduzir ferramentas mais sofisti- cadas para as recomendar e procurar. Para esse propósito, foi usada uma ontologia para estruturar e manter os dados das músicas. Cada uma tem um identificador único e pode ser associada com o artista, o compositor, o género, e a origem da música. Além disso, o sistema deve permitir expressar directrizes, tanto baseadas num critério geral como nas especificações do utilizador. Por exemplo, a loja pode recomendar a todos os clientes músicas que são mais vendidos. Ou algum cliente pode desejar que lhe se- jam recomendados músicas que ainda não tenha e que, de acordo com algum critério de preferência, provavelmente goste. Enquanto que a primeira directriz pode ser represen- tada na ontologia, a segunda requer assunção do mundo fechado (e.g., para inferir "por omissão", i.e., na ausência de evidencias em contrário, que o cliente não tem a música) e podem ser representadas através de regras não monótonas. Actualmente, foram já definidos alguns formalismos que permitem, de forma mais ou menos limitada, essa combinação. Destacam-se, entre eles, pelas suas propriedades ou meramente por motivos históricos, os seguintes: SWRL [23, 25], DLP [20], AL-log [11], CARIN [34], DL + log [41], Horn-SHIQ [26], MKNF hibrido [30, 37], programas dl [13, 14], programas dl disjuntivos [16], lógica de equilíbrio quantificado para bases de conhecimento híbridas [16], grafos de descrição [36] , esquemas nominais [31], regras híbridas sob semântica bem fundada [12] e programas HEX [15]. O MKNF 1 híbrido apresenta algumas vantagens importantes sobre as outras abordagens. Motik e Rosati discutem em [37] essa proeminência do MKNF híbrido face às outras abordagens, defendendo que um tal formalismo, que integre ontologias DL e programas em lógica, deve satisfazer certos critérios, e constatando que, de entre os formalismos na altura conhecidos, o MKNF híbrido é o único que os satisfaz a todos. Os critérios que enunciou foram os seguintes: 1. fidelidade – a integração entre DL e regras deve preservar a semântica de ambos os formalismos, i.e. a semântica de uma base de conhecimento híbrida na qual um dos componentes é vazia deve ser a mesma que a do outro componente; 1 Do inglês, Minimal Knowledge and Negation as Failure 4
  • 11.
    2. estreiteza –as regras não devem constituir uma camada sobre as DL nem o contrário; em vez disso, a integração entre as duas deve ser estreita, no sentido que ambas devem poder contribuir com consequências para o outro componente; 3. flexibilidade – o formalismo híbrido deve ser flexível e permitir que o mesmo predi- cado seja visto sob a perspectiva do mundo aberto e do mundo fechado, enriquecendo assim as DL com consequências não monótonas e as regras com capacidades de ra- ciocínio taxonómico; 4. decidibilidade – o formalismo deve ser decidível, e, de preferência, de baixa comple- xidade. Além dessas propriedades, já de si vantajosas face às obtidas nas outras abordagens a bases de conhecimento híbridas, é de notar, e é particularmente relevante no contexto desta dissertação, a existência de um algoritmo, o SLG(O) (ver capítulo 4), para a semân- tica a três valores de verdade apresentada em [30], que permite interrogar tais bases de conhecimento com complexidade de dados polinomial, no caso de DLs onde as consul- tas sejam polinomiais – como é o caso do OWL 2 QL. Esse algoritmo opera directamente sobre as regras da base de conhecimento e delega o raciocínio relativo à ontologia a me- canismos de inferência DL externos. Como as bases de conhecimento híbridas MKNF são paramétricas quanto à DL usada, esse mecanismo de inferência é visto como um oráculo – uma abstração dos referidos mecanismos, que define as propriedades que estes tem de satisfazer para garantir a correcção e completude do algoritmo. Embora quase todas as alternativas mencionadas alcancem, com algumas restrições, a decidibilidade, os critérios da fidelidade, estreiteza, e flexibilidade, não são satisfeitos si- multaneamente. Em traços gerais, as abordagens à combinação de ontologias DL com regras, actualmente conhecidas, passam por: manter os dois componentes, ontologias e regras, separados tanto sintática como semanticamente, i.e. os dois componentes se- rem expressos em termos de vocabulários disjuntos e atribuir-se-lhes semânticas distin- tas, integrando-se apenas por meio de uma interface (ex., introduzindo, no componente das regras, predicados especiais que permitam consultar a ontologia, como é o caso nos programas dl), o que impede que os critérios da estreiteza e da flexibilidade se verifiquem; ter-se uma semântica unificadora, o que se traduz em estreiteza na integração, mas ter-se ainda vocabulários disjuntos, não se verificando assim a flexibilidade; e finalmente, uma integração completa, tendo-se um só vocabulário e uma só semântica para (a combinação de) os dois componentes, onde esses critérios da estreiteza e flexibilidade são satisfeitos. Entre as últimas, o MKNF híbrido é a única que garante fidelidade. Um interesse renovado na integração das lógicas de descrição com regras tem sido im- pulsionado pelo advento da Web Semântica [37]. De acordo com um dos seus principais precursores, Tim Berners-Lee et al., a Web Semântica é uma extensão da Web onde se as- socia à informação um significado preciso, i.e. inteligível não só para o utilizador como para as próprias máquinas, de modo a permitir uma melhor cooperação entre computa- dores e pessoas, e a proporcionar um ambiente onde agentes de software, transitando de 5
  • 12.
    página em página,possam realizar tarefas sofisticadas para os seus utilizadores [5]. Desde o seu inicio até aos dias de hoje, essa concepção de Web Semântica tem vindo a ser refinada, sendo actualmente possível mapeá-la numa arquitectura bem definida, em que alguns dos componentes já foram desenvolvidos e já são recomendação da W3C 2 (ver figura 1). Figura 1: Pilha tecnológica da Web Semântica (adaptado de [8]) Um dos componentes já desenvolvidos é o relativo às ontologias – i.e., colecções de informação que especificam, formalmente, conceptualizações partilhadas, ou, por ou- tras palavras, vocabulários de termos, definidos através das suas relações, mantidas em documentos acessíveis na Web [5]. É nesta componente que as lógicas de descrição de- sempenham um papel crucial, dando suporte teórico à linguagem OWL Web Ontology Language – actual recomendação da W3C para a representação de ontologias. A semântica formal e a existência de ferramentas de raciocínio eficientes e compro- vadamente correctas, como Pellet, FaCT++ e RACER, têm feito da OWL a linguagem de escolha para aplicação prática em diversos campos como biologia, medicina, geografia, astronomia, agricultura e defesa. Essa extensiva experiência prática tem confirmado os benefícios do uso das lógicas de descrição para a representação de conhecimento, mas também tem realçado as suas limitações, já discutidas neste documento [37]. No que diz respeito às regras, cujo papel é descrever consequências de dadas infor- mações, que tanto podem ser a derivação de planos de acção como a de novas informa- ções [5], existem também alguns raciocinadores como os interpretadores Prolog, o XSB 3, o clasp 4, o cmodels 5 e o DLV-complex 6. Há também um formato padrão, recomendado 2 http://www.w3.org/ 3 http://xsb.sourceforge.net/ 4 http://www.cs.uni-potsdam.de/clasp/ 5 http://www.cs.utexas.edu/users/tag/cmodels/ 6 https://www.mat.unical.it/dlv-complex/ 6
  • 13.
    pela W3C, paraas representar, o RIF, que suporta ambos os tipos de regras mencionados [6]. No entanto, ainda não existem muitas ferramentas de raciocínio que as suportem de forma integrada com a camada ontológica. Uma dessas ferramentas, e aquela que se considera a que apresenta melhores propriedades, precisamente por adoptar como fundamento teórico o MKNF híbrido e implementar a resolução SLG(O), beneficiando assim das vantagens já discutidas, é o NoHR. Na sua versão original, o NoHR suporta apenas o perfil 7 OWL 2 EL do OWL. Definiu- se em [28], para esse efeito, um oráculo SLG(O) para EL+ ⊥ 8, que se baseia na tradução da ontologia para regras equivalentes, quanto às repostas obtidas para as queries, e res- pectiva avaliação recorrendo ao próprio SLG(O). Deste modo, elimina-se a necessidade de recorrer raciocinadores DL externos e reduz-se o SLG(O) a um algoritmo já imple- mentado, de forma comprovadamente efectiva – o SLG, aplicado no XSB. A ontologia de entrada é reduzida de modo a que os construtores que não podem ser expressos, ou não têm significado, sob a forma de regras, possam ser ignorados, sem que se percam deri- vações relevantes – para o que se recorre ao serviço de classificação do raciocinador DL ELK 9; depois traduzida para regras Prolog, as quais são posteriormente utilizadas no XSB Prolog, para responder se às queries. Além do OWL 2 EL, é importante que o NoHR suporte os vários perfis do OWL, um vez que, cada um deles se adequa a contextos distintos. Entre os três perfis da OWL 2 DL [19], merece particular destaque o OWL 2 QL, que tem suporte teórico na lógica de descrição DL-LiteR (ver Secção 1.5), pelas seguintes características: • suporta mecanismos de interrogação completos e consistentes com complexidade LOGSPACE (AC0) quanto aos dados 10; • permite expressar os principais elementos de modelos conceptuais como Diagra- mas de Classes UML e Diagramas de Entidades e Relações; • torna possível armazenar os dados em Bases de Dados relacionais padrão e poste- riormente interrogá-los, através da ontologia, por meio de um simples mecanismo de reescrita, em que a query é traduzida para SQL para ser lançada a um Sistema de Gestão de Bases de Dados, sem qualquer mudança nos dados. Tais características fazem dele um perfil adequado a grande parte das aplicações Web actuais, e outras, que lidam com grandes volumes de dados e onde responder a queries seja a tarefa de raciocínio mais importante. Uma aplicação relevante do OWL 2 QL é o Acesso a Dados Baseado em Ontologias (OBDA), que corresponde a uma combinação de uma camada de dados, como Bases de 7 Os perfis do OWL são versões reduzidas que sacrificam alguma da expressividade original para permitir um raciocínio mais eficiente. 8 Um fragmento importante do EL++ . 9 Note-se que o raciocinador DL só é necessário na fase de tradução da ontologia; após traduzida, todas as queries podem ser respondidas sem ele, recorrendo apenas ao XSB Prolog. 10 Isto é, quanto à ABox (ver secção 1.1) 7
  • 14.
    Dados padrão oudocumentos xml, e uma camada ontológica sobre a primeira, que abs- trai o acesso a esses dados, permitindo assim um interação de mais alto nível com eles, e ainda, integrar, de forma transparente, dados de várias fontes. O propósito da presente dissertação é a extensão NoHR de modo a suportar o perfil OWL 2 QL do OWL 2 11. Com isso espera-se dar um contributo relevante para a Web Semântica, uma vez que, desse modo, se lhe fornecem ferramentas com as vantagens decorrentes combinação do OWL 2 QL com regras não monótonas, que se discutiram ao longo da presente introdução. Tal propósito implica, num plano teórico, a definição de um oráculo SLG(O) para DL-LiteR ; e, num plano prático, a implementação desse oráculo, a sua adaptação ao OWL 2 QL, que embora não seja mais expressivo que o DL-LiteR , acrescenta alguns construtores, e a sua integração com o NoHR. Definem-se, na presente dissertação, dois oráculos SLG(O) distintos, ambos baseados na tradução da ontologia para regras não monótonas, à semelhança do que acontece no oráculo para EL+ ⊥usado no NoHR. Num deles, a ontologia é reduzida, tal como no oráculo para EL+ ⊥, de modo a se eliminarem os construtores que não são directamente expressáveis sob a forma de regras, e só depois traduzida. No outro oráculo, não se pro- cede a qualquer redução, a ontologia é directamente traduzida, recorrendo a predicados auxiliares – não fazem parte dos que são definidos na base de conhecimento, e não têm significado no contexto da programação em lógica – para representar os construtores que de outro modo não são expressáveis sob a forma de regras. Na primeira abordagem, da tradução indirecta, como a classificação da ontologia é essencial para a sua redução, torna-se indispensável recorrer a um raciocinador DL que suporte classificação. Como não existe nenhum raciocinador dedicado ao DL-LiteR , que escale bem quanto tamanho dos dados e que forneça a OWL API – necessária no NoHR e no Protégé – ainda, de forma completa, a classificação de ontologias DL-LiteR , definem- se algumas reduções preliminares, de modo a que ontologia possa ser convenientemente tratada pelos raciocinadores existentes. 12 Na segunda abordagem, da tradução directa, não há necessidade de recorrer a qualquer raciocinador DL, nem de se efectuar quaisquer reduções, o que a torna, à partida, mais eficiente na fase tradução. Por esse motivo, foi essa a abordagem adoptada na implementação. Assim, os contributos da dissertação são, não só a extensão do NoHR para o perfil OWL 2 QL, como a definição de dois oráculos SLG(O) para DL-LiteR ; e ainda a defi- nição de uma redução da classificação em DL-LiteR à classificação em EL++ – a qual é suportada de forma bastante efectiva em raciocinadores existentes, como o ELK, quando comparada com o que acontece com outras DL, e em particular, com o DL-LiteR . 11 Esta dissertação foi elaborada no contexto do projecto ERRO: Efficient Reasoning with Rules and Onto- logies (PTDC/EIA-CCO/121823/2010) 12 A definição e implementação de tais reduções é, em termos de custo (tempo necessário à concepção de um algoritmo e à sua implementação) vs efectividade (eficácia e eficiência do resultado final), preferível à implementação de um serviço de classificação completo para DL-LiteR . 8
  • 15.
    O presente documentoé constituído por cinco partes. A primeira, a presente introdu- ção, apresenta o propósito da dissertação, as suas motivações e contribuições. A segunda parte, apresenta todo o contexto necessário à sua compreensão. Apresentam-se também alguns trabalhos científicos e tecnológicos com propósitos aproximados ao da presente dissertação, e comparam-se com o formalismo adoptado, MKNF híbrido, e o sistema estendido, o NoHR. 13 Na terceira parte, apresentam-se os resultados teóricos obtidos – os dois oráculos SLG(O) e a redução aplicada no primeiro deles – bem como a sua ava- liação analítica. Na quarta parte apresentam-se os resultados práticos – o sistema NoHR estendido de modo a suportar OWL 2 QL – e a sua avaliação empírica. Na última parte, discutem-se todos os resultados, tanto teóricos como práticos, e as suas implicações. Detalhadamente, as contribuições da presente dissertação são as seguintes: • apresentação do estado da arte relativamente às bases de conhecimento híbridas, e dos conceitos a elas subjacentes (Capítulos 1-6); • definição de uma redução da classificação DL-LiteR à classificação EL++ (Secção 7.1.1); • demonstração da correcção dessa redução (Secção 7.2.1); • definição de uma tradução (indirecta) de ontologias DL-LiteR reduzidas, i.e. sem axiomas com existenciais do lado direito, para regras não monótonas (Secção 7.1.2); • demonstração, para a semântica bem fundada, da fidelidade dessa tradução quanto às respostas a queries (Secção 7.2.2), i.e. que as regras por ela obtidas, quando ava- liadas sobre a semântica bem fundada, derivam as mesmas respostas a queries que a ontologia original; • definição de um oráculo SLG(O) DL-LiteR baseado na tradução (indirecta) de on- tologias reduzidas para regras não monótonas (Secção 7.1.2); • demonstração da correcção desse oráculo SLG(O) (Secção 7.2.2); • definição de uma tradução (directa) de ontologias DL-LiteR (não reduzidas) para regras não monótonas (Secção 8.1); • demonstração, para a semântica bem fundada, da fidelidade dessa tradução quanto às respostas a queries (Secção 8.2); • definição de um oráculo SLG(O) DL-LiteR baseado na tradução (directa) de onto- logias para regras não monótonas (Secção 8.1); • demonstração da correcção desse oráculo (Subsecção 8.2.4); 13 Esse tópico não é abordado de forma mais aprofundada, por não se considerar que tal seja necessário para a compreensão das decisões tomadas quanto às técnicas adoptadas; e por os trabalhos mencionados serem, apesar de afins quanto aos propósitos gerais – visam também integrar, de alguma forma, ontologias DL (em geral, e não DL-LiteR em particular) e programas em lógica – são pouco relacionados quanto aos métodos aplicados e aos resultados obtidos. 9
  • 16.
    • implementação daextensão do NoHR com suporte para OWL 2 QL (Capítulo 9); • avaliação empírica dessa implementação (Capítulo 10). O documente prossegue com os seguintes conteúdos. Na segunda parte introduzem- se os conceitos preliminares subjacentes às lógicas de descrição (Capítulo 1) e à progra- mação em lógica (Capítulo 2) – os principais formalismos estudados em representação de conhecimento, e que se pretende combinar nesta dissertação. De seguida introduzem- se as bases de conhecimento híbridas MKNF (Capítulo 3) e a resolução SLG(O) (Capítulo 4). Depois, descreve-se o sistema NoHR (Capítulo 5), e o oráculo SLG(O) que se utiliza para EL+ ⊥. Finalmente, apresentam-se os resultados relativos ao raciocínio na lógica de des- crição DL-LiteR (Capítulo 6), que serão utilizados para corroborar os resultados teóricos apresentados na segunda parte. Na terceira parte é elaborado o oráculo DL-LiteR indirecto, baseado na tradução com redução da ontologia (Capítulo 7). É também ai elaborada a redução da classificação DL-LiteR à classificação EL+ ⊥ (Subsecção 7.1.1). Começa-se por apresentar os resultados obtidos (Secção 7.1); apresentado-se posteriormente a avaliação analítica desses resulta- dos (Secção 7.2). Depois, é elaborado o oráculo DL-LiteR directo, baseado na tradução sem redução da ontologia (Capítulo 8). Mais uma vez, começa-se pelos resultados obti- dos (Secção 8.1); que são seguidos pela sua avaliação analítica (Secção 8.2). Na quarta parte, apresenta-se a implementação da extensão do NoHR para OWL 2 QL (Capítulo 9), descrevendo-se a sua arquitectura (Secção 9.1), funcionamento (Secção 9.2), e mostrado-a a sua utilização (Capítulo 9). Depois (Capítulo 10), descreve-se uma ex- periência executada com essa implementação com o intuito de a avaliar (Secção 10.1); apresentam-se os resultados dessa experiência (Secção 10.2); e discutem-se as virtudes e deficiências que esses resultados sugerem (Secção 10.3). Por fim, na última parte, descreve-se todo o trabalho efectuado; sugere-se algum tra- balho futuro que poderá ser conduzido na mesma linha; e mencionam-se alguns traba- lhos relacionados relevantes (Parte V). 10
  • 17.
    Parte II Revisão deLiteratura 11
  • 18.
    1 Lógicas de Descrição AsLógicas de Descrição (DL) [4] são uma família de formalismos de representação de conhecimento que representam o conhecimento de um domínio definindo, em primeiro lugar, os conceitos do domínios (a sua terminologia), e depois usando esses conceitos para especificar propriedades de objectos ou indivíduos do domínio (a “descrição do mundo”). As Lógicas de Descrição suportam os padrões de inferência que ocorrem em muitas aplicações de sistemas de processamento inteligente de informação, e que são também usados pelos humanos para entender e estruturar o mundo: a classificação de conceitos e indivíduos. A classificação de conceitos determina as relações de subconceito/superconceito (ha- bitualmente chamadas de subsunção, neste contexto) entre os conceitos da terminologia, permitindo assim estruturá-los numa hierarquia de subsunções – o que não só fornece informação útil sobre a relação entre esses conceitos, como contribui para outros servi- ços de inferência. A classificação de indivíduos determina se um dado individuo é ne- cessariamente instância de um certo conceito, i.e. se, da informação explicitada, se pode concluir que o individuo é instância desse conceito, em todos os cenários que se coadu- nem com essa informação, fornecendo assim novo conhecimento sobre as propriedades desses indivíduos. A decidibilidade e complexidade dos serviços de inferência, classificação e outros, depende do poder expressivo da DL em causa. Por um lado, DLs demasiado expressivas podem tornar tais serviços intratáveis, ou até mesmo indecidíveis. Por outro lado, DLs com muito pouco poder expressivo – e assim, com serviços de raciocínio mais eficientes – podem não ser suficientemente expressivas para representar conceitos importantes de determinados domínios. Assim, o compromisso entre a expressividade das DLs e com- plexidade dos respectivos serviços de inferência tem sido um dos aspectos mais centrais 12
  • 19.
    1. LÓGICAS DEDESCRIÇÃO 1.1. Sintaxe no estudo desses formalismos. Uma base de conhecimento (KB), neste contexto, é constituída por dois elementos, uma TBox e uma ABox. A TBox introduz a terminologia, i.e. é vocabulário do domínio, e a ABox contém asserções sobre indivíduos, em termos dessa terminologia. A Secção 1.1 descreve com mais detalhe as bases de conhecimento DL. O vocabulário é constituído por conceitos, que denotam conjuntos de indivíduos, e relações, que denotam relações binárias entre esses conjuntos. Além dos conceitos e re- lações atómicas (nomes de conceitos e de relações), todas as Lógicas de Descrição per- mitem construir descrições complexas de novos conceitos ou relações. A TBox pode ser usada precisamente para atribuir nomes a descrições dessa natureza. A linguagem para construir tais descrições difere em cada DL. A semântica das Lógicas de Descrição é de- finida em teoria de modelos. Os axiomas e asserções na TBox e ABox, respectivamente, podem ser identificados com fórmulas de primeira ordem (ou ligeiras extensões dela). A secção 1.2 descreve a semântica das Lógicas de Descrição. Um sistema DL não só armazena terminologias e asserções, como também fornece serviços para raciocinar sobre elas. Uma tarefa de raciocínio típica para uma ontologia é a de determinar se é satisfazível, i.e. não contraditória e admite modelos. Outra tarefa, sobre a TBox, é a de determinar se uma descrição é mais geral que outra – por outras pa- lavras, se subsume outra. Quanto à ABox, os serviços habitualmente suportados são o de determinar se o conjunto das asserções que contém é consistente, e o de testar se elas im- plicam que um indivíduo particular é instância de um dado conceito. A verificação de satisfazibilidade e de consistência são úteis para determinar se a base de conhecimento têm algum significado inteligível. Com os testes de subsunção, podem organizar-se os conceitos da terminologia numa hierarquia, de acordo com a sua generalidade - o que, como se referiu, se entende por classificação. Uma descrição de conceito pode também ser concebida como query, descrevendo o conjunto de objectos nos quais se está interes- sado. Assim, com testes de instância pode obter-se os indivíduos que as satisfazem (ver secção 1.3). Entre as várias lógicas de descrição existentes, merecem particular destaque nesta dissertação o EL+ ⊥ e DL-LiteR . A primeira porque, como já se mencionou, é aquela que é suportada na versão original do NoHR; a segunda porque é aquela que se pretendeu suportar na extensão do NoHR a que a presente dissertação se propõe. As secções 1.4 e 1.5, respectivamente, apresentam essas duas lógicas de descrição. 1.1 Sintaxe Como referido, uma ontologia DL representa o domínio de interesse em termos de duas partes: uma TBox, habitualmente denotada por T , especificando o conhecimento in- tencional, e uma ABox, habitualmente denotada por A, especificando o conhecimento extensional. 13
  • 20.
    1. LÓGICAS DEDESCRIÇÃO 1.1. Sintaxe Uma TBox é formada por um conjunto finito de axiomas de subsução da forma: C1 C2 (1.1) R1 R2 (1.2) que denotam que todas as instâncias de C1 também são instâncias de C2 e que todos os pares (a, b) pertencentes à relação R1 também pertencem à relação R2, respectivamente. Ci são conceitos – que denotam conjuntos de objectos – atómicos ou complexos. Os conceitos complexos podem ser o complemento de um conceito, ¬C; a intersecção de dois conceitos, C1 C2; a união de dois conceitos, C1 C2; uma quantificação existencial, ∃R.C; uma quan- tificação existencial reflexiva, ∃R.self; uma quantificação universal, ∀R.C; ou uma restrição de cardinalidade, ≤ nR.C ou ≥ nR.C (ver tabela 1.1). Ri são relações – denotam relações biná- rias entre conceitos – atómicas ou complexas. As relações complexas podem ser: o inverso de um relação, R−; a composição de duas relações, R1 ◦ R2; ou o complemento de uma rela- ção, ¬R. Uma ABox é formada por um conjunto finito de asserções de pertença da forma: C(a) (1.3) R(a, b) (1.4) que denotam que o objecto representado pela constante a é uma instância de C e que o par de objectos denotados pelo par de constantes (a, b) é uma instância da relação R, respectivamente. Exemplo 2. Considere-se novamente o senário da loja online do Exemplo 1. Os seguintes axiomas e asserções poderiam ser parte da ontologia que a loja usa: Piece ∃HasArtist (1.5) ∃HasArtist− Artist (1.6) ∃HasComposed− Piece (1.7) HasComposed− HasArtist (1.8) Composer ∃HasComposed (1.9) TopSeller Recommend (1.10) LessSold ¬Recommend (1.11) Artist ¬Piece (1.12) HasArtist(BlueTrain, JohnColtrane) (1.13) HasComposed(GeorgeGershwin, RhapsodyInBlue) (1.14) Composer(GustavMahler) (1.15) TopSeller(BlueTrain) (1.16) 14
  • 21.
    1. LÓGICAS DEDESCRIÇÃO 1.2. Semântica O axioma 1.5 assegura que cada música tem pelo menos um artista, enquanto que o 1.6 restringe o contradomínio da relação HasArtist para Artist, e 1.7 o contradomínio de HasComposed para Piece. O axioma 1.8 indica que se algo foi composto por um certo indivíduo, essa composição tem-no como artista. O axioma 1.9 define Composer como subconjunto dos indivíduos que compuseram algo. Os axiomas 1.6-1.9, por si só, já permitem derivar que um compositor é um artista. É de notar que essa conclusão é possível mesmo sem a presença de nenhum compositor ou música. Tal é o efeito que se pretende quando se raciocina, com esquemas de conhe- cimento, em domínios infinitos. Não obstante, é evidente que havendo informação espe- cífica é possível usá-la para derivações acerca de indivíduos específicos. Por exemplo, na presença da asserção 1.14 é possível derivar que GeorgeGershwin é um artista. O axioma 1.10 expressa uma directiva de recomendação geral: CDs que sejam mais vendidos são automaticamente recomendados aos clientes. O axioma 1.11 garante que um CD entre os menos vendidos nunca é recomendado. Tal é particularmente útil para restringir as recomendações específicas para cada cliente. O axioma 1.12 é uma restrição de integridade, que garante que algum engano na introdução dos dados em que um peça fique classificada como artista ou vice-versa é detectado 1. As asserções 1.13-1.16 indicam que Blue Train tem John Coltrane como artista, que George Gershwin compôs Rhapsody In Blue, que Gustav Mahler é compositor, e que Blue Train é um CD dos mais vendidos, respectivamente. 1.2 Semântica A semântica das Lógicas de Descrição é dada em termos de interpretações, I = ∆I , .I , que consistem num domínio de interpretação não vazio ∆I e uma função de interpreta- ção .I , que atribui a cada conceito C um subconjunto CI de ∆I , e a cada relação R uma relação binária RI sobre ∆I – as extensões do conceito ou relação, respectivamente. A tabela 1.1 2 especifica as principais expressões permitidas em Lógicas de Descrição e respectiva semântica. As expressões permitidas em descrições de conceitos, aqui deno- tados por C, e as descrições de relações, denotados por R, estão incluídas nessa tabela. Uma interpretação I é um modelo de uma axioma de subsunção C1 C2 (resp., R1 R2), se C1 I ⊆ C2 I (resp., R1 I ⊆ R2 I ). 1 É discutível o quão realista se poderia considerar a inclusão de um tal axioma numa ontologia aplicada ao contexto prático descrito. O proposito deste axioma é principalmente permitir expor certas propriedades em exemplos subsequentes (ver exemplo 60). 2 As expressões apresentadas nessa tabela, com a excepção do complemento de relações (¬R), correspon- dem aquelas que são permitidas em SROIQ, [24] a DL na qual a linguagem OWL 2 DL se fundamenta [38]. Além dessas expressões também são permitidos axiomas de simetria, assimetria, transitividade, reflexivi- dade, irreflexividade, e disjunção para as relações. São também impostas certas restrições nos axiomas de subsunção de relações, de modo a preservar decidibilidade. Tal não é, no entanto, relevante para a presente exposição. 15
  • 22.
    1. LÓGICAS DEDESCRIÇÃO 1.2. Semântica Tabela 1.1: Expressões permitidas nas Lógicas de Descrição Expressão Semântica Tradução para Lógica de Primeira Ordem C ou R π(C, x) ou π(R, x, y) descrições de conceitos (C) ∆I ⊥ ∅ ⊥ A AI ⊆ ∆I A(x) ¬C ∆I CI ¬π(C, x) C1 C2 C1 I ∩ C2 I π(C1, x) ∧ π(C2, x) C1 C2 C1 I ∪ C1 I π(C1, x) ∨ π(C2, x) ∃R.C {o | ∃o .(o, o ) ∈ RI ∧ o ∈ CI } ∃z(π(R, x, z) ∧ π(C, z)) ∃R.Self {o | (o, o) ∈ RI } (π(R, x, x)) ∀R.C {o | ∀o ((o, o ) ∈ RI ⇒ o ∈ CI )} ∀z(π(R, x, z) ⊃ π(C, z)) ≥ nR.C {o | #{o | (o, o ) ∈ RI ∧ o ∈ CI } ≥ n} ∃y1, . . . , yn( i=j yi = yj ∧ i(π(R, x, yi) ∧ π(C, yi))) ≤ nR.C {o | #{o | (o, o ) ∈ RI ∧ o ∈ CI } ≤ n} ∃y1, . . . , yn+1( i=j yi = yj ⊃ i ¬(π(R, x, yi) ∧ π(C, yi))) descrições de relações (R) P PI ⊆ ∆I × ∆I P(x, y) R− {(o2, o1) | (o1, o2) ∈ RI } π(R, y, x) R1 ◦ R2 RI 1 ◦ RI 2 ∃z(π(R1, x, z) ∧ π(R2, z, y)) ¬R1 ∆I × ∆I R1 I ¬π(R1, x, y) axiomas de subsunção C1 C2 C1 I ⊆ C2 I ∀x(π(C1, x) ⊃ π(C2, x)) R1 R2 R1 I ⊆ R2 I ∀x, y(π(R1, x, y) ⊃ π(R2, x, y)) asserções de pertença C(a) aI ∈ CI π(C, a) R(a, b) (aI , bI ) ∈ RI π(R, a, b) 16
  • 23.
    1. LÓGICAS DEDESCRIÇÃO 1.3. Queries Para especificar a semântica das asserções de pertença, estende-se a função de in- terpretação para constantes, atribuindo a cada constante a um objecto aI ∈ ∆I . Uma interpretação I é um modelo de uma asserção C(a) (resp., R(a, b)), se aI ∈ CI (resp., (aI , bI ) ∈ RI ). Dado um axioma de subsunção ou uma asserção de pertença α, e uma interpretação I, denota-se por I |= α o facto de I ser um modelo de α. Dado um conjunto (finito) de asserções K, denota-se por I |= K o facto de I ser um modelo de todas as asserções em K. Um modelo de uma KB O = T , A é uma interpretação I tal que I |= T e I |= A. Diz-se que uma KB é satisfazível se tiver pelo menos um modelo; e que uma asserção α é consequência lógica de uma KB K, o que se denota por O |= α, se todos os modelos de K forem também modelos de α. 1.3 Queries Define-se união de queries conjuntivas q do seguinte modo q = {x | i=1,...,n ∃yi. conji(x, yi)} (1.17) onde cada conji(x, yi) é uma conjunção de átomos e igualdades, com variáveis livres x e variáveis fechadas yi. Dada uma interpretação I, qI é o conjunto de tuplos de elementos do domínio que, quando atribuídos às variáveis livres da fórmula i=1,...,n ∃yi. conji(x, yi), a tornam verdadeira em I. Uma união de queries conjuntivas sobre uma ontologia O é uma união de queries conjuntivas cujos os átomos são da forma A(z) ou P(z1, z2), onde A e P denotam, respectivamente, um conceito atómico e uma relação atómica de O, e z, z1, z2 são constantes em O ou variáveis. 1.4 EL+ ⊥ O EL+ ⊥ é um fragmento da lógica de descrição EL++ [3], na qual o perfil OWL 2 EL se baseia [19]. O conjunto de expressões permitidas em EL+ ⊥é dado pela seguinte gramática: C → A | | ⊥ | C C | ∃R.C R → P | R ◦ R T → C C | R P U → C(a) | R(a, b) onde A denota um conceito atómico; P uma relação atómica; C uma descrição de conceito; R uma descrição de relação; T um axioma de subsunção; e U uma asserção de pertença. Um dos resultados interessantes da DL EL++ – e assim, do EL+ ⊥– é o da subsunção 17
  • 24.
    1. LÓGICAS DEDESCRIÇÃO 1.5. DL-LiteR poder ser decidida em tempo polinomial, o que a torna adequada a problemas onde a hierarquização de muitos conceitos é necessária. 1.5 DL-LiteR O conjunto de expressões permitidas em DL-LiteR é dado pela seguinte gramática: B → A | ∃Q (1.18) C → B | ¬B (1.19) Q → P | P− (1.20) R → Q | ¬Q (1.21) T → B C | Q R (1.22) U → A(a) | P(a, b) (1.23) onde A denota um conceito atómico; P uma relação atómica; P− o inverso de uma relação atómica P; B um conceito básico, i.e. um conceito que pode ser um conceito atómico ou uma quantificação existencial não qualificada ∃Q 3; ¬B o complemento de um conceito básico B; Q uma relação básica, i.e. uma relação que pode ser uma relação atómica ou o inverso de uma relação atómica; ¬Q o complemento de um relação básica Q; C um conceito geral, que pode ser um conceito básico ou o seu complemento; R uma relação geral, que pode ser uma relação básica ou o seu complemento; T um axioma de subsunção de conceitos ou relações; e U uma asserção de pertença. Além disso, denota-se por Q− a relação P, se Q = P−, e a relação P−, se Q = P. Designam-se por axiomas de subsunção positivos os axiomas da forma B1 B2 ou Q1 Q2, onde B1 e B2 são conceitos básicos e Q1 e Q2 são relações básicas; e por axiomas de subsunção negativos os axiomas da forma B1 ¬B2 ou Q1 ¬Q2. Designa-se também TBox positiva uma TBox que só contenha axiomas positivos e TBox negativa uma TBox que só contenha axiomas negativos. No que se segue, e sempre que se trate da lógica de descrição DL-LiteR , serão adoptadas as definições e a notação apresentadas. 3 Equivale a ∃Q. . 18
  • 25.
    2 Programação em Lógica Programaçãoem Lógica é um paradigma de programação declarativo – de que o Prolog é, talvez, a linguagem mais conhecida – e também um formalismo de representação de conhecimento importante. Um programa em lógica é um conjunto de regras da forma 1 H ← A1, · · · , Am, not Bm+1, · · · , not Bn (2.1) com 0 ≤ m ≤ n, onde H e cada Ai e Bj são átomos 2, e a cada not Bj se chama literal. H é o consequente da regra, e A1, · · · , Am, not Bm+1, · · · , not Bn o antecedente. Informalmente, uma regra (na forma de 2.1) pode ser lida como “tem-se H se se tem A1,..., e Am e não se tem Bm+1,..., e Bn”. A avaliação de um programa em lógica pode ser definida de uma forma operacional, como acontece no Prolog, ou atribuindo-lhe uma semântica bem definida. Tal semântica pode ser dada em teoria de modelos, tendo como universo os termos formados pelos símbolos de função e constantes que ocorrem no programa – o universo de Herbrand 3, e, como função de interpretação, uma que mapeie cada termo em si mesmo. Partindo de tais estruturas de interpretação é possível definir, de diversas formas, quais são os modelos do programa – os modelos de Herbrand. Assim, torna-se útil definir um modelo canónico – o modelo, entre os vários possíveis, que captura o significado exacto pretendido para o programa. Duas semânticas, intimamente relacionadas entre si, e definidas de acordo 1 Esta não é a forma mais geral ou a única para regras em programação em lógica, mas para o propósito da presente exposição é suficiente. 2 Neste contexto átomo tem o mesmo significado que na lógica de primeira ordem. 3 Se a aridade das funções não for superior a 0 o universo de Herbrand é finito, e é contável infinito caso contrário, pelo que, em aplicações práticas restringe-se os termos às constantes. 19
  • 26.
    2. PROGRAMAÇÃO EMLÓGICA 2.1. Modelos estáveis com essa ideia de modelo canónico, são apresentadas nas secções 2.1 e 2.2. 2.1 Modelos estáveis Como mencionado, o universo de Herbrand de um programa em lógica P é o conjunto, HP, de todos os termos formados pelos símbolos de função que ocorrem nesse programa (incluindo constantes). Um átomo (resp., regra ou programa) instanciado obtém-se subs- tituindo todas as variáveis livres desse átomo (resp., regra ou programa) por termos do universo de Herbrand. A base de Herbrand de P é o conjunto, ˆHP, dos átomos ins- tanciados, P(t1, · · · , tn), formados por um símbolo de predicado, P, que ocorrem no programa e os termos, t1, · · · , tn, pertencentes a HP. Uma interpretação de Herbrand, I, de um programa P é um subconjunto de ˆHP, e associa a cada símbolo de predi- cado n-ário em P uma única relação n-ária em HP – para um predicado P, a relação {(t1, . . . , tn) | P(t1, . . . , tn) ∈ I}. Uma interpretação de Herbrand, I, é modelo de Herbrand de α, denotado por I |= α, se: 1. α é um átomo instanciado P(t1, · · · , tn) e P(t1, · · · , tn) ∈ I; 2. α é um literal instanciado negativo not A e A ∈ I; 3. α é uma regra instanciada H ← A1, · · · , Am, not Bm+1, · · · , not Bn e I não é modelo de algum literal Ai ou not Bj ou I é modelo de H; ou 4. α é um programa instanciado P e I é modelo de todas as regras contidas em P. Define-se ainda modelo mínimo de Herbrand de um programa P, least(P): um modelo de Herbrand de P, M, tal que, para qualquer modelo de Herbrand M de P, M ⊆ M . Um programa positivo, i.e. no qual não ocorrem literais negativos, tem um único modelo mínimo de Herbrand. Por causa dessa univocidade, e por ser um modelo que atribui uma semântica compatível com o senso comum – é razoável assumir que com um programa, assim como com outras formas de representação de conhecimento, se pretende expressar apenas o que é necessariamente verdadeiro, em vez de tudo o que pode, ou não, ser verdadeiro – é esse o modelo canónico para programas positivos. Já num programa negativo, tal não possível, uma vez que este pode ter vários mode- los mínimos de Herbrand. Assim, em [18] define-se, para um dado programa instanciado P e um subconjunto M, de ˆHP, o programa PM, obtido de P removendo: 1. cada regra na qual ocorra um literal negativo not B no seu antecedente, se B ∈ M; 2. todos os literais negativos nos antecedentes das restantes regras. Assim definido, PM é um programa positivo, pelo que tem um único modelo minimo de Herbrand, least(PM). Se least(PM) = M então M é o conjunto estável ou modelo estável de P. 20
  • 27.
    2. PROGRAMAÇÃO EMLÓGICA 2.2. Modelos bem fundados Os conjuntos estáveis de um dado programa P podem ser entendidos como “os pos- síveis conjuntos de crenças que um agente racional pode ter se lhe são dadas como pre- missas o programa P” [18]. Se M é o conjunto de factos que se considera verdadeiros, então qualquer regra que contenha no antecedente um literal not B tal que B ∈ M, é nesse ponto e vista, inútil; e que contenha no antecedente not B com B ∈ M, trivial. Assim, as premissas de P podem ser substituídas por PM. Se um conjunto de átomos M escolhido é precisamente aquele que segue logicamente do conjunto simplificado de premissas PM, então essa escolha é racional. A semântica dos modelos estáveis é definida para um program P, se P tem exacta- mente um modelo estável, e estabelece esse modelo como o modelo canónico de P. Esta semântica dos modelos estáveis é aplicada na Answer Set Programming – um pa- radigma de programação orientado para problemas de procura. 2.2 Modelos bem fundados Em [17] desenvolve-se o conceito de conjuntos infundados. Define-se do seguinte modo. Seja P um programa em lógica, com base de Herbrand ˆHP, e I uma interpretação de P. U ⊆ ˆHP é um conjunto infundado (de P) relativamente a I se cada regra instanciada r de P, cujo o átomo do consequente, H, está contido em U, H ∈ U, satisfaz uma das seguintes condições: (i) I |= A ou I |= not B, para algum A ou not B do antecedente de r; ou (ii) algum literal positivo do antecedente de r, A, pertence a U, A ∈ U. Intuitivamente, I corresponde ao que é conhecido de antemão acerca do modelo pre- tendido para P. As regras que satisfazem a condição (i) não permitem novas derivações, uma vez que as suas hipóteses já são conhecidas como falsas. A condição (ii) é a condição de não fundamentação: a derivação de um dado literal, A, de U depende da derivação de outros literais também contidos em U, pelo que, nenhum literal em U pode ser esta- belecido como verdadeiro pelas regras de P, e partindo de I, em primeiro lugar. Deste modo, se se estabelecer como falsos todos os átomos em U, não há nenhuma forma de derivar posteriormente a sua verdade. 21
  • 28.
    2. PROGRAMAÇÃO EMLÓGICA 2.2. Modelos bem fundados Exemplo 3. Considere-se o programa consistindo nas seguintes regras (instanciadas) [17]: p(a) ← p(c), not p(b). (2.2) p(b) ← not p(a). (2.3) p(e) ← not p(d). (2.4) p(c). (2.5) p(d) ← q(a), not q(b). (2.6) p(d) ← q(b), not q(c). (2.7) q(a) ← p(d). (2.8) q(b) ← q(a). (2.9) Os átomos {p(d), q(a), q(b), q(c)} formam um conjunto infundado relativamente ao conjunto ∅. Em particular, {q(c)} é infundado pela condição (i) – não existe nenhuma re- gra que possa ser usada para estabelecer a sua verdade. O conjunto {p(d), q(a), q(b)} é infundado pela condição (ii) – não há forma de estabelecer p(d) sem primeiro estabelecer q(a) ou q(b) (embora se possa estabelecer ¬q(b), para suportar a primeira regra com con- sequente p(d), tal é irrelevante quanto à obtenção dos conjuntos infundados). De modo similar, não existe forma de estabelecer q(a) sem primeiro estabelecer p(d), e não existe forma de estabelecer q(b) sem primeiro estabelecer q(a). Claramente q(c) nunca pode ser provado, mas além disso, pode também constatar-se que entre p(d), q(a), e q(b), nenhum pode ser provado em primeiro lugar. Contrariamente, {p(a), p(b)} não constitui um conjunto infundado apesar de cada ele- mento depender do outro, pois as dependências dão-se apenas "através"da negação. Se- ria tentador afirmar que tentativas de provar p(a) e p(b) também falhariam, mas tal afir- mação é errónea. A diferença entre os conjuntos {p(d), q(a), q(b)} e {p(a), p(b)} é a seguinte: declarar um dos átomos p(d), q(a), q(b) como falso não permite provar a verdade de nenhum dos outros atámos. Contudo, uma vez que um dos átomos p(a) ou p(b) se declare falso, torna-se possível provar que o outro é verdadeiro; e se ambos foram declarados como falsos, tem-se uma inconsistência. A semântica bem fundada usa as condições (i) e (ii) para obter as conclusões negati- vas: estabelece todos os átomos em U como negativos. A semântica bem fundada de um dado programa é definida pelo menor ponto fixo de uma sequência transfinita obtida pela aplicação sucessiva de uma transformação de conjuntos de literais. Essa transformação é definida do seguinte modo. Considere-se um programa P. Seja TP(I) o conjunto dos átomos dos consequentes das regras cujos literais do antecedente são verdadeiros em I e UP(I) o maior conjunto infundado de P relativamente a I, i.e. a união de todos os conjuntos que são infundados relativamente a I. A transformação é definida por WP(I) = TP(I) ∪ {not B | B ∈ UP(I)}; e a sequência 22
  • 29.
    2. PROGRAMAÇÃO EMLÓGICA 2.2. Modelos bem fundados por: I0 = ∅ (2.10) In+1 = WP(In) (2.11) Iδ = α<δ Iα (2.12) Denote-se por M o menor ponto fixo dessa sequência. A semântica bem fundada de um programa P é o “significado” representado por M. A ∈ M denota que A é verdadeiro; not B ∈ M, que B é falso. Para os literais da base de Herbrand para os quais nenhuma dessas condições se verifique, a semântica não atribui nenhum valor de verdade (ou atri- bui o valor indefinido). Se M inclui todos os átomos da base de Herbrand, então é um modelo total e é designado modelo bem fundado; caso contrário é designado modelo parcial bem fundado. Dois resultados importantes, que relacionam os modelos bem fundados com os mo- delos estáveis são os seguintes: se um dado program P tem um modelo total bem fun- dado então esse modelo é o único modelo estável; e, um modelo parcial bem fundado de um programa P é um subconjunto de qualquer o modelo estável de P. A semântica bem fundada tem complexidade de dados, i.e. complexidade computa- cional de decidir uma resposta para uma query atómica instanciada (neste caso, decidir qual o valor de verdade de um dado átomo, de acordo com o modelo parcial bem fun- dado), em função do número de factos, PTIME. Entre os vários algoritmos existentes para avaliação de queries a programas em lógica, merece particular destaque o SLG [10] (Linear resolution with Selection function for Gene- ral logic programs), uma vez que este permite computar a semântica bem fundada com complexidade temporal de dados polinomial, havendo, contrariamente a outros, a ga- rantia de terminação 4; e é independente da estratégia de controlo, i.e. a ordem pela qual os literais surgem nas regras não afecta o resultado – opostamente ao que acontece com o SLD, que é, nesse aspecto, menos declarativo. O SLG é definido com base numa série de transformações que transformam, passo a passo, cada query num conjunto de regras de resposta (ver capitulo 4). Este algoritmo é aplicado no XSB [10] – um sistema dedutivo para programas em lógica, comprovadamente efectivo. 4 Em programas limitados na profundidade dos termos. 23
  • 30.
    3 Bases de ConhecimentoMKNF MKNF (Minimal Knowledge and Negation as Failure) é uma lógica epistêmica não monótona que estende a lógica de primeira ordem com um operador de introspecção – permite fazer referência ao que é conhecido, i.e. à própria KB – e o operador de negação por omissão. Essa lógica permite representar teorias de primeira ordem e programas em lógica não monótona, preservando a sua semântica – a dos modelos estáveis ou a modelos bem fundados, no caso dos programas em lógica. Baseando-se nessas características da lógica MKNF, em [37] Motik e Rosati definem bases de conhecimento híbridas MKNF. Tais bases de conhecimento integram completa- mente ontologias DL e programas em lógica não monótonas, e, além de satisfazerem os critérios da estreiteza, e da flexibilidade, satisfazem o da fidelidade – a semântica que lhes é atribuída preserva a semântica clássica, na componente da ontologia DL, e dos mode- los estáveis, na componente das regras. Com algumas restrições (segurança DL), que não afectam significativamente a expressividade, garante-se a decidibilidade. Em [30] estende-se a semântica originalmente definida para as bases de conhecimento híbridas MKNF de [37], com modelos a dois valores de verdade, para uma de mode- los a três valores. Essa semântica permite não só aproximar a semântica dos modelos estáveis como também aplicar a noção de modelos bem fundados da programação em lógica às bases de conhecimento híbridas. Além disso, o seu modelo canónico – o mo- delo MKNF bem fundado – é computável com complexidade de dados menor ou igual à modelos MKNF a dois valores. Além dos quatro critérios enumerados anteriormente a abordagem das bases de co- nhecimento híbridas MKNF tem algumas propriedades importantes. Em bases de conhe- cimento consistentes, é coerente no sentido de [39], i.e. se uma fórmula ϕ é falsa clas- sicamente na ontologia, então a interpretação não monótona de ϕ nas regras é forçada 24
  • 31.
    3. BASES DECONHECIMENTO MKNF 3.1. Sintaxe a ser também falsa; permite detectar inconsistências sem nenhum esforço de computa- ção adicional substancial, além da verificação de consistência da ontologia apenas; e, a complexidade computacional de dados da abordagem depende da complexidade da DL aplicada, sendo que, se a DL tiver complexidade polinomial, a combinação com as regras mantém-se polinomial. Nas próximas secções deste capitulo introduz-se a lógica MKNF e definem-se bases de conhecimento híbridas MKNF (Secção 3.1) e a sua semântica (Secção 3.2). 3.1 Sintaxe A lógica de conhecimento mínimo e negação por falha (MKNF) [30] estende a lógica de pri- meira ordem com os operadores modais K e not . Informalmente, K ϕ pode ser lido como “sabe-se ϕ” e not ϕ como “não se sabe ϕ”. O operador not permite inferências com base em ausência de informação, de forma semelhante à negação por omissão da programação em lógica. As fórmulas MKNF são definidas do seguinte modo. Seja Σ = (Σc, Σf , Σp) uma assi- natura de primeira ordem, onde Σc é um conjunto de constantes, Σf é o conjunto de sím- bolos de função, e Σp é o conjunto de predicados contendo o predicado de igualdade ≈. Um átomo de primeira ordem P(t1, · · · , tn), onde P é um predicado e ti são termos de pri- meira ordem, é uma fórmula MKNF. Se ϕ é uma fórmula MKNF, então ¬ϕ, ∃x : ϕ, K ϕ e not ϕ são fórmulas MKNF, assim como ϕ1 ∧ ϕ2, para fórmulas MKNF ϕ1 e ϕ2. Além disso, ϕ1 ∨ ϕ2, ϕ1 ⊃ ϕ2, ϕ1 ≡ ϕ2, ∀x : ϕ, t, f, t1 ≈ t2, e t1 ≈ t2 são abreviações, respecti- vamente, para ¬(¬ϕ1 ∧ ϕ2), ¬ϕ1 ∨ ϕ2, (ϕ1 ⊃ ϕ2) ∧ (ϕ2 ⊃ ϕ1), ¬(∃x : ¬ϕ), a ∨ ¬a, a ∧ ¬a, ≈ (t1, t2), e ¬(t1 ≈ t2). As bases de conhecimento hibridas MKNF são essencialmente fórmulas MKNF res- tritas e consistem em dois componentes: uma ontologia DL expressável em lógica de primeira ordem e um conjunto finito de regras. Constituem, desse modo, uma possí- vel abordagem à combinação de Lógicas de Descrição com programas em lógica, e são aplicáveis a qualquer lógica de descrição DL que seja um fragmento de primeira ordem e satisfaça as seguintes condições 1: 1. cada base de conhecimento O ∈ DL pode ser traduzida (ver tabela 1.1) para uma fórmula π(O) de primeira ordem sem funções com igualdade; 2. DL suporta asserções de pertença da forma P(a1, · · · , an), onde P é um predicado e cada ai é uma constante de DL; e 3. a verificação de satisfazibilidade e verificação de instanciação (i.e verificação de consequências lógicas da forma O |= P(a1, ..., an)) são decidíveis. Uma regra MKNF r, com átomos de primeira ordem sem funções H, Ai e Bi, tem a 1 As lógicas de descrição subjacentes à OWL satisfazem estas condições. 25
  • 32.
    3. BASES DECONHECIMENTO MKNF 3.1. Sintaxe forma 2 : K H ← K A1, · · · , K An, not B1, · · · , not Bm (3.1) onde K H, K A1, · · · , K An, e not B1, · · · , not Bm são denominados consequente, antece- dente positivo e antecedente negativo, respectivamente. Uma regra MKNF é positiva se m = 0 e é um facto se n = m = 0; é DL-segura se toda a variável que nela ocorre, ocorre em pelo menos um átomo não DL, i.e. que não ocorre na ontologia DL em causa, do seu antecedente positivo. Um programa MKNF P é um conjunto finito de regras MKNF. Uma base de conhecimento híbrida MKNF K é um par (O, P), onde O é uma ontolo- gia DL expressável em lógica de primeira ordem e P um programa MKNF. K diz-se DL-segura se todas as regras em K são DL-seguras. A semântica das bases de conheci- mento MKNF híbridas é dada pela semântica das fórmulas MKNF com as quais se pode representá-las, havendo a garantia que, se forem MKNF-consistentes e DL-seguras, têm um e um só modelo bem fundado MKNF (ver secção 3.2). Para expressar uma base de conhecimento híbrida K = (O, P), tal como definida, numa fórmula MKNF válida, estende-se a transformação π do seguinte modo, onde r é uma regra MKNF na forma 3.1 e x é o vector de variáveis livres de r: π(r) = ∀x : (K A1 ∧ · · · ∧ K An ∧ not B1 ∧ · · · ∧ not Bm ⊃ K H) (3.2) π(P) = r∈P π(r) (3.3) π(K) = K π(O) ∧ π(P) (3.4) As bases de conhecimento hibridas MKNF, mesmo sem símbolos de função, são, em geral, indecidíveis, a menos que restringidas de alguma forma. Isto acontece porque as regras podem ser aplicadas a todos os objectos de um domínio infinito. Para recuperar a decidibilidade, basta então restringir a aplicação das regras a apenas indivíduos que apareçam na base de conhecimento, respeitando a segurança DL, anteriormente definida. Enquanto que a segurança DL garante que as regras são aplicadas apenas aos indivíduos que ocorrem numa dada base de conhecimento hibrida MKNF, a sua instanciação (abaixo definida) garante que são aplicadas a todos eles. A instanciação3 de uma base de conhecimento hibrida MKNF K = (O, P), é a KB KG = (O, PG) onde PG é obtido de P por substituição de cada regra r de P com o conjunto de regras obtido substituindo cada variável em r com constantes de K, de todas as maneiras possíveis. Exemplo 4. Considere-se novamente o cenário do Exemplo 1, juntamente com os axio- mas e asserções do Exemplo 2. Esses axiomas podem ser parte de uma ontologia O de uma base de conhecimento híbrida MKNF (O, P). Em P pode expressar-se directivas de recomendação adicionais, em particular aquelas que requeiram a assunção do mundo 2 Apenas se consideram regras não disjuntivas, i.e. sem disjunções no consequente, porque é para essas que os resultados de tratabilidade computacional de [30] se verificam. 3 Em Inglês, ground instantiation. 26
  • 33.
    3. BASES DECONHECIMENTO MKNF 3.1. Sintaxe fechado. Por exemplo, imagine-se que se pretende recomendar aos clientes CDs inte- ressantes que não possuam e cuja avaliação não seja baixa. Tal pode ser representado através das seguintes regras 4: K Recommend(x) ←K Piece(x), not owns(x), not LowEval(x), K interesting(x). (3.5) K interesting(x) ←K Piece(x), K Piece(y), K owns(y) not owns(x), K similar(x, y) (3.6) K similar(x, y) ←K Piece(x), K Piece(y), K Artist(z), K HasArtist(x, z), K HasArtist(y, z). (3.7) K HasArtist(EnConcert, JackJohnson) ← (3.8) K HasArtist(ToTheSea, JackJohnson) ← (3.9) K HasArtist(Summertime, GeorgeGershwin) ← (3.10) K onwns(EnConcert) ← (3.11) K onwns(Summertime) ← (3.12) Note-se que a assunção do mundo fechado é aplicada aos predicados owns e LowEval – recorde-se que este último na ontologia só poderia ser visto sob a perspectiva do mundo aberto. No caso do predicado owns, é razoável assumir que o conhecimento sobre as músicas possuídas está completamente disponível. Assim, se não existe nenhum facto assertando que se possui uma dada música, pode assumir-se que não se a possui. No caso do predicado LowEval pode acontecer que não exista ainda nenhuma avaliação, e no entanto, pretende-se a recomendação na mesma: uma música não é considerada para recomendação apenas quando realmente existe uma avaliação (conhecida) baixa para ela. Uma tal avaliação pode ter sido atribuída por outros clientes ou pode estar disponível numa página web de crítica. Por simplicidade, mantém-se essa parte do processo de raciocínio implícita. Pelas regras anteriores, uma música é interessante se o cliente possui outro que é similar 3.6, e duas músicas são similares se tem em comum um mesmo artista 3.7. Note-se que o predicado Piece é usado para assegurar segurança DL. Com isto, ao adicionarem-se os factos 3.8- 3.12, pode derivar-se Recommend(ToTheSea), pois não é conhecida nenhuma avaliação baixa para ToTheSea. Além disso, pode igual- mente derivar-se, aplicando a regra 3.5, Recommend(RhapsodyInBlue). Note-se como a componente ontológica contribui com as suas derivações; neste caso, com a derivação de HasArtist(GeorgeGershwin, RhapsodyInBlue). Este exemplo mostra que as bases de conhecimento híbridas MKNF permitem obter 4 Assume-se, por simplicidade, que a parte das regras da base de conhecimento são especificas para cada cliente. Desse modo evita-se a representação explicita de vários clientes, da relação que expressa que CDs são possuídos por que clientes 27
  • 34.
    3. BASES DECONHECIMENTO MKNF 3.2. Semântica consequências dos predicados “definidos” tanto na ontologia como nas regras. O resul- tado pode ainda ser aplicado para derivar consequências subsequentes e acrescentá-las em qualquer uma das partes da base de conhecimento. 3.2 Semântica Embora a lógica MKNF tenha sido originalmente definida em [35], e as bases de conheci- mento híbridas MKNF em [35], com uma semântica com dois valores de verdade, para o propósito da dissertação interessa apenas, tal como discutido no início do presente capí- tulo, a semântica apresentada em [30], com três valores de verdade, pelo que, apenas se apresenta a semântica ai definida 5. À semelhança do que acontece da programação em lógica, quando se adoptam modelos a três valores de verdade no lugar de dois obtêm-se modelos mais "cépticos", no sentido em que há menos compromisso com a verdade ou falsidade dos factos, e portanto, mais fracos do ponto de vista do conhecimento derivá- vel, mas, em contrapartida, o raciocínio torna-se computacionalmente menos complexo. De acordo com a referida semântica, o valor de verdade de uma fórmula MKNF é definido com base numa estrutura de avaliação. Os valores possíveis são t, f ou u, e têm a ordenação f < u < t 6. Uma estrutura MKNF é um triplo (I, M, N) constituído por uma interpretação de primeira ordem I e dois pares M = M, M1 e N = N, N1 de conjuntos de interpretações de primeira ordem, onde M1 ⊆ M e N1 ⊆ N. Tal estrutura MKNF diz-se total se M = M, M e N = N, N e parcial caso contrário. Uma dada estrutura MKNF avalia uma fórmula MKNF de acordo com a figura 3.1. Note-se que é ao impor-se M1 ⊆ M e N1 ⊆ N na definição de estrutura MKNF garante-se que nenhum fórmula MKNF é avaliada por nenhuma estrutura MKNF como verdadeira e falsa simultaneamente. É de notar também, que, embora as estruturas MKNF permitam avaliar fórmulas MKNF com três valores de verdade, isso só acontece com as que não sejam de primeira ordem, i.e. nas quais ocorram os operadores modais K ou not . As restantes são avali- adas apenas com dois valores de verdade, e exactamente com o mesmo valor com que seriam valoradas na lógica de primeira ordem, dada a interpretação I. Tal é desejável, uma vez que se pretende satisfazer o critério da fidelidade e, consequentemente, preservar a semântica das lógicas de descrição, que, como mencionado, são geralmente fragmentos da lógica de primeira ordem. Uma interpretação MKNF consiste num par (M, N) de conjuntos não vazios de inter- pretações de primeira ordem, M e N, com ∅ ⊂ N ⊆ M. Se M = N, então a interpretação 5 Todas as definições subsequentes dizem-lhe respeito, pelo que não se faz a distinção entre modelos a dois valores e modelos a três valores, que se faz no artigo original. 6 Do Inglês, true, false e undefined, respectivamente. Subsequentemente denota-se por max(C) e min(C), de acordo com essa ordenação, como o maior, menor, respectivamente, valor de verdade contido em C. 28
  • 35.
    3. BASES DECONHECIMENTO MKNF 3.2. Semântica (I, M, N)(P(t1, · · · , tn)) = t sse (tI 1 , · · · , tI n) ∈ PI f sse (tI 1 , · · · , tI n) ∈ PI (3.13) (I, M, N)(¬ϕ) =    t sse (I, M, N)(ϕ) = f u sse (I, M, N)(ϕ) = u f sse (I, M, N)(ϕ) = t (3.14) (I, M, N)(ϕ1 ∧ ϕ2) = min{(I, M, N)(ϕ1), (I, M, N)(ϕ2)} (3.15) (I, M, N)(ϕ1 ⊃ ϕ2) = t sse (I, M, N)(ϕ2) ≥ (I, M, N)(ϕ1) f caso contrário (3.16) (I, M, N)(∃x : ϕ) = max{(I, M, N)(ϕ[α/x]|α ∈ ∆)} (3.17) (I, M, N)(K ϕ) =    t sse (J, M, M1 , N)(ϕ) = t para todo J ∈ M f sse (J, M, M1 , N)(ϕ) = f para algum J ∈ M1 u caso contrário (3.18) (I, M, N)(not ϕ) =    t sse (J, M, N, N1 )(ϕ) = f para algum J ∈ N1 f sse (J, M, N, N1 )(ϕ) = t para todo J ∈ N u caso contrário (3.19) Figura 3.1: Avaliação das fórmula MKNF (M, N) é denominada total, caso contrário, parcial. Uma interpretação MKNF (M, N) sa- tisfaz uma fórmula fechada7 ϕ, o que se denota por (M, N) |= ϕ, se e só se: (I, M, N , M, N )(ϕ) = t para todo I ∈ M. Se existe uma interpretação que satisfaça ϕ, então ϕ diz-se consistente. Uma interpretação MKNF é um modelo MKNF de um dada fórmula MKNF fechada ϕ se: (i) (M, N) |= ϕ e (ii) para cada interpretação MKNF (M , N ) com M ⊆ M e N ⊆ N , onde pelos menos uma das inclusões é estrita e (M , N ) é total se (M, N) é total, existe I ∈ M tal que (I , M , N , M, N )(ϕ) = t. Intuitivamente, pode considerar-se uma interpretação MKNF como uma avaliação hipotética da fórmula considerada, e que a condição (ii) verifica, tendo fixado a avaliação dos átomos modais not , se a avaliação dos átomos modais K é mínima relativamente à ordenação dos valores de verdade. Ilustra-se no exemplo seguinte como essa minimiza- ção é obtida [30]. 7 Sem variáveis livres, i.e. não quantificadas. 29
  • 36.
    3. BASES DECONHECIMENTO MKNF 3.2. Semântica Exemplo 5. Considere-se a fórmula MKNF ϕ (correspondente a duas regras): (not p ⊃ K q) ∧ (not q ⊃ K p) Um par de interpretação MKNF (M, N) que satisfaça a condição (i) da definição an- terior tem de avaliar ambas os conjunctures como verdadeiros. O par de interpreta- ção MKNF ({{p}, {p, q}}, {{p, q}}) que avalia K p como t e K q como u satisfaz a pri- meira condição mas não é um modelo MKNF de ϕ uma vez que não satisfaz a condi- ção (ii) (considere-se (M , N ) = ({∅, {p}, {q}, {p, q}}, {{p, q}}), por exemplo – na ver- dade, esse par de interpretação MKNF é um modelo MKNF). O operador not é sem- pre avaliado relativamente ao par de interpretação MKNF (M, N), mesmo quando se considera a condição (ii). Portanto, para N = {{p, q}}, as duas implicações são, de qual- quer forma, verdadeiras; e M tem de ser o conjunto de todas as interpretações possíveis, {{∅, {p}, {q}, {p, q}}, para satisfazer a condição (ii). Assim, obtém-se o par de interpreta- ção MKNF que avalia K p e K q como u. Tal mostra que o par de interpretação MKNF inicial não era minimal relativamente à avaliação dos átomos K . De modo similar à mi- nimização da avaliação de K p de t para u, mudanças de u para f também são possíveis: mantém-se M = {{p}, {p, q}} e coloca-se N = M. Agora a avaliação de K q é minimi- zada de u para f, e é fácil verificar que o par de interpretação MKNF resultante é de facto um modelo MKNF de ϕ. Uma dada fórmula MKNF fechada ϕ diz-se MKNF-consistente se admite modelo MKNF e MKNF-inconsistente caso contrário. Uma fórmula MKNF fechada ψ é consequência lógica de outra fórmula MKNF fechada ϕ se, para todos os modelos MKNF (M, N) de ϕ, (I, M, N , M, N )(ψ) = t, o que se denota por ϕ |=3 MKNF ψ. Em [30] define-se também um modelo canónico, o modelo MKNF bem fundado, que, similarmente ao que é habitual na programação em lógica, corresponde ao menor modelo relativamente ao conhecimento derivável. Um modelo MKNF (M, N) de uma dada fórmula fechada MKNF ϕ é o modelo MKNF bem fundado de ϕ, se M1 ⊆ M e N1 ⊇ N, para todos os modelos MKNF de (M1, N1) de ϕ. Como numa base de conhecimento híbrida MKNF arbitrária com domínio contável infinito existem infinitos modelos MKNF, trabalhar directamente sobre os eles torna-se inexequível. Portanto, é necessária uma representação finita. A solução, apresentada em [30], é representar o modelo MKNF através de uma fórmula de primeira ordem cujo conjunto de modelos (de primeira ordem) correspondem ao próprio modelo MKNF. In- tuitivamente, uma tal fórmula é obtida primeiro dividindo os átomos modais ocorrendo na base de conhecimento híbrida MKNF instanciada em átomos verdadeiros e falsos, e depois construindo a fórmula de primeira ordem com base nos átomos verdadeiros e na ontologia. Parte-se do conjunto dos átomos K da base de conhecimento instanciada, que corresponde ao menor conjunto contendo todos os átomos K ocorrendo nela, e, para 30
  • 37.
    3. BASES DECONHECIMENTO MKNF 3.2. Semântica cada átomo modal not ϕ, um átomo K ϕ. Uma partição parcial (T, F) desse conjunto con- siste em dois subconjuntos disjuntos entre si, onde, intuitivamente, T contém todos os átomos modais verdadeiros, F todos os átomos modais falsos, e um terceiro conjunto, formado pelos elementos do conjunto dos átomos K que não estão nem em T nem em F, habitualmente denotado por U, corresponde ao que é considerado indefinido. A cada interpretação MKNF (M, N) pode fazer-se corresponder uma partição parcial (T, F), a partição parcial induzida por essa interpretação, de acordo com o seguinte: 1. K ϕ ∈ T implica que, para toda a interpretação I em M, (I, M, N)(K ϕ) = t; 2. K ϕ ∈ F implica que, para toda a interpretação I em M, (I, M, N)(K ϕ) = f; e 3. K ϕ ∈ T e K ϕ ∈ F implica que, para toda a interpretação I em M, (I, M, N)(K ϕ) = u. As fórmulas de primeira ordem correspondentes à ontologia e aos átomos em T são satis- feitas exactamente pelas interpretações de M; as fórmulas correspondentes à ontologia e aos elementos do conjunto de átomos K que não estão em F são satisfeitas exactamente pelas interpretações de N. É por tal se verificar que é possível representar qualquer mo- delo MKNF por meio de uma partição parcial. Em [30] é apresentada uma computação bottom-up sobre os átomos K de uma dada KB que permite obter a partição parcial correspondente ao seu modelo MKNF bem fun- dado. Nessa computação são aplicados, sucessivamente, e de forma cumulativa, dois operadores – um que faz derivações com base na ontologia e outro com base nas regras – a duas transformações da KB instanciada, que à semelhança do que acontecia com a transformação apresentada na Secção 2.1, a tornam positiva – uma similar a essa última e outra que na qual se tem adicionalmente em conta a negação clássica, de modo a garantir coerência com a negação por omissão. Em [2] é apresentada uma computação bottom-up alternativa na qual se aplica uma só transformação a uma versão duplicada da base de conhecimento (ver Secção 4.2), na qual o algoritmo top-down SLG(O) se baseia. 31
  • 38.
    4 SLG(O) Em [1] éapresentada uma extensão do SLG para bases de conhecimento híbridas MKNF consistente com a semântica bem fundada, o SLG(O) . No caso de queries DL-seguras, é decidível com complexidade de dados PC, onde C é a complexidade de responder a uma query na DL usada na KB em causa. O algoritmo SLG é introduzido, através de um exemplo, na Secção 4.1. Uma defini- ção detalhada das operações do SLG pode ser consultada em [42]. A Secção 4.2 descreve a operação que estende o SLG para bases de conhecimento híbridas MKNF, a Resolução com Oráculo , que incorpora as derivações da ontologia por meio de um oráculo – um função que, para uma dada query, um dado conjunto de factos, anteriormente derivados, devolve um conjunto de factos que em conjunto com os anteriores e a ontologia, é sufici- ente para provar a query. Além disso, essa secção descreve também uma transformação de duplicação da base de conhecimento – toda a ontologia e cada regra – que é necessá- ria aplicar previamente à avaliação SLG(O) de modo a garantir coerência, e para permitir detectar possíveis inconsistências. 4.1 SLG Uma avaliação SLG corresponde a uma sequência de florestas de árvores de derivação, obtidas pela aplicação sucessiva de uma conjunto de operações que criam um novo nó, uma nova árvore, ou marcam uma certa árvore como completamente avaliada. O se- guinte exemplo clarifica a ideia exposta [1]. 32
  • 39.
    4. SLG(O) 4.1.SLG Exemplo 6. Considere-se a seguinte base de conhecimento híbrida MKNF com O vazio: p(b) ← (4.1) p(c) ← not p(a) (4.2) p(X) ← t(X, Y, Z), not p(Y ), not p(Z) (4.3) p(a) ← p(b), p(a) (4.4) t(a, a, b) ← (4.5) t(a, b, a) ← (4.6) Figura 4.1: Floresta final para a query p(c) a P1. [1] Considere-se uma query p(c) a K na qual nenhum dos átomos é DL, i.e. nenhum orá- culo necessita ser usado. A figura 6 mostra a floresta SLG no fim da avaliação. Nela, cada nó é etiquetado com um número indicando a ordem no qual foi criado na avaliação SLG. Um nó consiste ou no símbolo fail, ou numa regra formada por um consequente que re- presenta um dado subgolo atómico e as substituições nele efectuas e por um antecedente constituído por um conjunto de Adiamentos, seguidos do símbolo |, seguido pelos Golos ainda a serem examinados. A avaliação começa com a criação da árvore inicial da query com raiz p(C) ← |p(C) no nó 1. Filhos de nós raiz são criados através da operação Resolu- ção de Clausulas do Programa tal com na resolução SLD do Prolog. Assim, a avaliação usa a 33
  • 40.
    4. SLG(O) 4.2.Oráculo regra 4.2 para criar o nó 2. O (único possível) literal not p(a) no nó 2 é seleccionado. Este literal tem um nó subjacente p(a) que não corresponde à raiz de nenhuma árvore na flo- resta. Assim, a operação SLG Novo Subgolo cria a nova árvore para p(a) (nó 3), cujo filho, nó 4, é criado por Resolução de Clausulas do Programa usando a regra 4.3. A operação Novo Subgolo é novamente usada para criar a nova árvore para o literal seleccionado t(a, X, Y ) (nó 5), e nós filhos 6 e 7 são criados pela Resolução de Clausulas do Programa partindo das regras 4.5 e 4.6. Os últimos nós não têm Golos e são denominadas respostas; além disso, como também não têm Adiamentos, são respostas incondicionais. Qualquer átomo na ins- tanciação de uma resposta incondicional é verdadeiro no modelo MKNF bem fundado. A operação SLG Retorno Positivo é usada para resolver a primeira destas respostas com o literal seleccionado do nó 4, produzindo o nó 9. O literal seleccionado deste último nó tem p(a) como seu subgolo subjacente, mas ainda existe uma árvore para p(a) na floresta e não existem respostas para p(a) retornar. Como existe outra resposta incondicional para t(a, X, Y ) (nó 7), Retorno Positivo pode ser usado para produzir o nó 10. O subgolo sub- jacente p(b) é seleccionado, por Novo Subgolo a árvore para p(b) é criada, e determina-se a certo momento que o subgolo p(b) tem uma resposta incondicional (nó 12); assim, usando a operação Falha de Negação , o nó falha, nó 14, é criado. Então, a computação, através de Resolução de Clausulas do Programa e a regra 4.4, produz outro filho para p(a), nó 15, e resolve p(b) (nó 16). Nesta fase o subgolo p(a) não é nem verdadeiro, já que nenhum resposta incondicional foi derivada para ele, nem é falso, pois uma das suas possíveis derivações, nó 9, efectivamente tem um ciclo através da negação. Contudo, no SLG é possível aplicar a operação Atraso ao literal negativo seleccionado, movendo-o dos Golos para a direita do símbolo | para os Adiamentos à esquerda do símbolo |. Essa operação de Atraso produz o nó 17, que é designado resposta condicional, e tem Adiamentos mas não Golos. Atraso também produz o nó 18 cujo novo literal not p(b) agora falha (dada a res- posta incondicional do nó 12), produzindo o nó falha 19. Nesta fase, todas as possíveis operações para nós não reposta em p(a) e nas árvores na qual ele depende foram efec- tuadas, pelo que esse literal p(a) pode marcar-se como completo (passo 20). O subgolo completo P(a) não tem respostas, e é então dito falhado e é falso no modelo MKNF bem fundado de K. Este literal falhado pode ser movido da lista de adiamentos do nó 18 pela operação de Simplificação produzindo a resposta incondicional nó 21. O SLG não difere particularmente de outros formalismos de tabulação do tipo Prolog no caso de programs que não usam negação por omissão (not). Contudo, para a negação ele introduz o conceito de adiar literais de modo a ser possível encontrar testemunhas de falha em qualquer parte de uma regra, juntamente com o conceito de simplificar esses literais adiados sempre que o seu valor de verdade se torna conhecido. 4.2 Oráculo Como o SLG(O) é aplicado a bases de conhecimento que contém, além de um programa em lógica, uma ontologia DL, é necessário ter em conta certos aspectos que não são tidos 34
  • 41.
    4. SLG(O) 4.2.Oráculo em conta no SLG. Um deles é a coerência: ao introduzir-se a negação clássica com a com- ponente ontológica, têm de garantir-se que a negação por omissão é coerente com ela. Se uma KB têm como consequência lógica que um dado átomo A é falso, então deve inferir- se também que a sua negação por omissão, not A, é verdadeira. Assim, o SLG(O) tem de proceder de modo a que a derivação de not A não assente apenas na falha em derivar A, como acontece na programação em lógica. Para isso, transforma-se a base de conheci- mento, duplicando-a com novos predicados, de modo a ter-se a verdade e a não falsidade dos predicados originais representadas por predicados distintos, garantindo-se que os que representam a não falsidade não são deriváveis quando a negação clássica dos pre- dicados originais que lhes correspondem o for. Essa transformação é definida do seguinte modo. Seja K = (O, P) uma base de conhe- cimento hibrida MKNF. Introduz-se um novo predicado Ad e NA para cada predicado A que ocorre em K e construtivamente define-se: 1. Od substituindo cada predicado A em O por Ad; e 2. Pd transformando cada regra K H(tH) ← K A1(tA1 ), · · · , K An(tAn ), not B1(tB1 ), · · · , not Bm(tBm ) (4.7) ocorrendo em P em duas regras: (i) K H(tH) ← K A1(tA1 ), · · · , K An(tAn ), not Bd 1(tB1 ), · · · , not Bd m(tBm ) e (ii) (a) K Hd (tH) ← K Ad 1(tA1 ), · · · , K Ad n(tAn ), not B1(tB1 ), · · · , not Bm(tBm ), not NH(tH), se H(tH) é um átomo DL; (b) K Hd (tH) ← K Ad 1(tA1 ), · · · , K Ad n(tAn ), not B1(tB1 ), · · · , not Bm(tBm ) se H(tH) é um átomo não DL. Define-se a base de conhecimento híbrida MKNF duplicada Kd = (O, Od, Pd). Intuitivamente, na base de conhecimento duplicada A representa a verdade de A na base de conhecimento original, enquanto que Ad representa a não falsidade de A na base de conhecimento original. Os átomos da forma NH(tH) são introduzidos para distinguir as regras que podem ser afectadas pela derivação da negação clássica do seu consequente 35
  • 42.
    4. SLG(O) 4.2.Oráculo das que não podem. Todas as operações SLG(O) anteriormente apresentadas são apli- cáveis às bases de conhecimento híbridas MKNF duplicadas (e não às bases de conheci- mento originais a que correspondem). Outro aspecto em que SLG(O) difere do SLG é o de que para suportar bases de co- nhecimento híbridas MKNF (em vez de apenas programas em lógica), a avaliação tem de aplicar não só as regras do programa como também os axiomas e asserções da ontologia. Para isso, o SLG(O) recorre a mecanismos de inferência DL exteriores, aos quais lança as queries que se revelem necessárias. Como as bases de conhecimento hibridas MKNF são paramétricas quanto à DL usada, esse mecanismo de inferência é visto em SLG(O) como um oráculo. Sempre que o SLG(O) seleccione um literal que esteja definido na ontolo- gia, o mecanismo de inferência do oráculo é chamado se esse literal não for consequência das regras isoladamente. Como pode dar-se o caso de um tal literal também não ser consequência da ontologia isoladamente, mas sim da combinação da ontologia com as regras, define-se o oráculo de modo a devolver um conjunto de factos cuja derivação seja suficiente para o provar, dados os factos anteriormente derivados. Numa base de conhecimento híbrida MKNF, um átomo S é verdadeiro se é derivável das regras ou da ontologia DL. O SLG define uma operação Resolução de Clausulas do Programa que trata o primeiro caso. Agora introduz-se a operação Resolução com Oráculo que trata o último. A próxima definição caracteriza o comportamento de um oráculo abstracto, que com- puta derivações de acordo com a ontologia DL O, ao qual a operação Resolução com Orá- culo recorre. Define-se uma função de transição oráculo que, dada a interpretação indu- zida pela floresta SLG(O) , computa num único passo todos os átomos possivelmente re- queridos para provar um golo S. Por outras palavras, um tal oráculo, quando perante S e a floresta F, não deterministicamente devolve num passo um conjunto de átomos ins- tanciados L tal que: para cada L ∈ L existe pelo menos uma regra com L no consequente no programa instanciado PG, e se L for adicionado a O aumentado com IF , a teoria es- tendida imediatamente deriva S. Apenas se tem de ter em conta interrogar, apropriada- mente, O ou o seu duplicado Od na base de conhecimento híbrida MKNF duplicada, e estender O apenas com a parte positiva de IF . Definição 7. Seja Kd = (O, Od, Pd) uma base de conhecimento hibrida MKNF dupli- cada, S um subgolo instanciado, L um conjunto de átomos instanciados tal que cada L ∈ L é unificável com pelo menos um consequente de uma regra em Pd, e I+ F = IF {not A | not A ∈ IF }. O oráculo completo para O, denotado por compTO, é defi- nido por compTO(IF , S, L) se e se se O ∪ I+ F ∪ L |= S, ou Od ∪ I+ F ∪ L |= S 36
  • 43.
    4. SLG(O) 4.2.Oráculo Considere-se uma base de conhecimento híbrida MKNF K contendo a ontologia O = {C F E}, {C(a)} . Assuma-se que IF é vazia, e que existe pelo menos uma regra cujo consequente unifica com F(a). Considere-se a query a E(a). Assim, compTO(∅, E(a), {F(a)}) verifica-se porque O ∪ {F(a)} |= E(a). Portanto, derivar F(a) das regras seria suficiente para concluir que E(a) é verdadeiro em todos os modelos MKNF bem fundados. Os oráculos completos são usados para definir a operação Resolução com Oráculo , que não tem correspondência no SLG. Seja Kd = (O, Od, Pd) uma base de conhecimento híbrida MKNF duplicada. Dada uma floresta Fn de uma avaliação SLG(O) de Kd, Fn+1 pode ser produzido do seguinte modo. Definição 8. Contenha Fn uma árvore com nó raiz N = S ← |S, e suponha-se que se tem compTO(IFn , S, G). Assuma-se que N não contém nenhum filho N = S ← |G em Fn. Então adicione-se N como filho de N. O conjunto O ∪ I+ F ∪ L (e, de modo semelhante, Od ∪ I+ F ∪ L) pode ser inconsistente mesmo que o modelo MKNF bem fundado de K exista. Consequentemente, um tal orá- culo completo potencialmente permite obter grande número de derivações inúteis para derivar S se K é MKNF-consistente. Veja-se o seguinte exemplo [1]. Exemplo 9. Considere-se a base de conhecimento híbrida MKNF contendo a ontologia O = {C ¬D, E F}, {C(a)} . Assuma-se que IF é vazio e considere-se a query E(a). Se O fosse estendida com D(a), O ficaria inconsistente, e assim, todos as afirmações seriam deriváveis de O, inclusivamente E(a). Ou seja, tem-se compTO(∅, E(a), {D(a)}) por O ∪ {D(a)} ser inconsistente. Contudo, como K é MKNF-consistente, D(a) não pode ser derivada, pelo que a árvore correspondente acaba por falhar em qualquer avaliação SLG(O) . A complexidade de todo o procedimento SLG(O) depende da complexidade do orá- culo e do número de resultados devolvidos por cada chamada ao oráculo. Mesmo que computação de um resultado do oráculo, i.e. a chamada ao mecanismo exterior de raci- ocínio DL, seja tratável, a complexidade (de dados) do SLG(O) pode ainda ser exponen- cial, se a quantidade soluções geradas pelo oráculo for exponencial (e.g. se se retornam todos os superconjuntos de uma solução). Tal sucede porque a definição de oráculo, anteriormente apresentada, é demasiado geral. Para se obterem resultados de complexi- dade mais interessantes, algumas assunções tem de ser feitas relativamente ao oráculo. Define-se, de acordo com isso, o oráculo parcial correcto. Definição 10. Seja Kd = (O, Od, Pd) uma base de conhecimento hibrida MKNF dupli- cada, S um subgolo, e L um conjunto de átomos instanciados tal que cada L ∈ L é unifi- cável com pelo menos um consequente de regra em Pd (designados átomos do programa). Um oráculo parcial para O, denotado por pTO, é a relação pTO(IF , S, L) tal que se pTO(IF , S, L) 37
  • 44.
    4. SLG(O) 4.2.Oráculo então O ∪ I+ F ∪ L |= S e O ∪ I+ F ∪ L consistente, ou O ∪ I+ F ∪ L |= S e Od ∪ I+ F ∪ L consistente. Um oráculo parcial pTO é correcto relativamente a compTO se e só se, para qualquer KB MKNF-consistente Kd, ao se substituir compTO por pTO, o SLG(O) sucede exactamente para o mesmo conjunto de queries. Note-se que, como mencionado, o oráculo completo gera muitas respostas desneces- sárias, e pode ser substituído por um oráculo parcial que assegure correcção. Por exem- plo, considere-se o oráculo que não devolva superconjuntos de de outros resultados. Um tal oráculo parcial é evidentemente correcto. Uma outra melhoria na eficiência, seria a restrição a conjuntos consistentes O ∪ I+ Fn ∪ L e a Od ∪ I+ Fn ∪ L. Se a base de conheci- mento é MKNF-consistente, então procurar por derivações baseadas em inconsistências é, de qualquer modo, inútil: apenas se criam, nas árvores da floresta de avaliação, um número potencialmente grande de filhos que não resultam em respostas incondicionais. Nesse sentido, os oráculos parciais estão limitados a apenas derivação que façam sentido. Fazendo assunções na complexidade e número de resultados de um oráculo, o se- guinte resultado de complexidade é obtido. Seja Kd uma base de conhecimento híbrida MKNF duplicada, e pTO um oráculo parcial correcto para O, tal que para cada golo S, a cardinalidade de pTO(IF , S, L) é limitada por um número polinomial de átomos do programa. Além disso, assuma-se que computar cada elemento de pTO é decidível com complexidade de dados C. Então, a avaliação SLG(O) de uma query a Kd é decidível com complexidade de dados PC. 38
  • 45.
    5 NoHR Embora já tenhamsido formalizadas várias outras abordagens às bases de conhecimento híbridas além do MKNF híbrido, poucas delas foram implementadas. Entre as menciona- das na introdução, apenas para programas dl, programas HEX e regras híbridas sob semântica bem fundada se conhecem implementações: NLP-DL 1 e DReW [43], dlhex 2, e HD-rules 3, respectivamente. O NLP-DL implementa os programas dl sob a semântica dos modelos estáveis e bem fundados. A ideia essencial dos programas dl é incluir queries à ontologia nas regras, sendo o fluxo de informação entre os dois componentes, ontologia e programa, bidirec- cional – pode fornecer-se dados de entrada às queries e as respostas às queries afectam o que pode ser inferido nas regras. A implementação integra os raciocinadores DLV [33] e RACER [22] – a utilização do RACER, torna-a compatível com o OWL, e permite raciocí- nio sobre os construtores da DL SHIQ. O DReW reescreve um programa dl sobre uma ontologia expressável em Datalog 4 num programa Datalog com negação e chama um raciocinador baseado em regras, o DLV, para efectuar o raciocínio. Deste modo mitiga-se o custo adicional de se recorrer a um racioci- nador DL externo. Nesse aspecto, é similar ao NoHR, que também reescreve a ontologia em regras e recorre ao um raciocinador de regras para as avaliar. Note-se contudo que a abordagem dos programas dl está entre as que mantém os dois componentes da KB sepa- rados tanto sintática como semanticamente, i.e. são expressos em termos de vocabulários 1 http://www.kr.tuwien.ac.at/research/systems/semweblp/ 2 http://www.kr.tuwien.ac.at/research/systems/dlvhex/ 3 http://www.ida.liu.se/hswrl/ 4 Tal é o caso do EL+ ⊥e DL-LiteR . 39
  • 46.
    5. NOHR disjuntos eé-lhes atribuída semânticas distintas, o que impede que os critérios da estrei- teza e flexibilidade sejam satisfeitos, contrariamente ao que acontece com o MKNF híbrido, em que o NoHR se baseia. Presentemente, o DReW suporta o OWL 2 RL, e o OWL 2 QL, e implementa apenas a semântica bem fundada. Os programs HEX são uma extensão dos programas em lógica não monótonos sob semântica dos modelos estáveis com o suporte para átomos externos de ordem superior. Os átomos externos são uma forma genérica de built-in que permite não só aceder a raciocinadores DL, como a módulos de software externos genéricos. O dlvhex é uma implementação de um grande fragmento dos programas HEX. A implementação inclui diversos plug-in para a avaliação dos átomos externos. O plug-in que diz respeito às DL utiliza o raciocinador DL RACER, é compatível com o OWL e suporta a DL SHOIN(D). O HD-rules implementa as regras híbridas sob semântica bem fundada. Nesta abordagem as variáveis e constantes das regras podem ser restringidas a determinados conceitos da ontologia. Um modelo bem fundado do programa, respeitando as restrições, é depois computado para cada modelo da ontologia. A implementação usa XSB e o raciocinador DL Pellet 5. As vantagens das bases de conhecimento híbridas MKNF face às outras abordagens, nomeadamente às que são subjacentes ao sistemas mencionados, foram já discutidas, pelo que se dispensa uma análise mais profunda dos sistemas referidos e se opta por estudar mais aprofundadamente apenas o sistema NoHR [28]. O NoHR é um plug-in do Protégé que permite adicionar um conjunto de regras (tal como se conhecem na programação em lógica) não monótonas a uma ontologia EL+ ⊥, e in- terrogar a base de conhecimento combinada. O formalismo subjacente é a semântica bem fundada para as bases de conhecimento híbridas MKNF. Portanto, nenhuma restrição além do segurança-DL é imposta nas regras que podem ser escritas. A ferramenta baseia- se no procedimento SLG(O) e, com o auxilio do raciocinador OWL 2 EL ELK, traduz a ontologia para regras, e submete o resultado, juntamente com as regras não monótonas, ao sistema de querying top-down XSB. Com o plug-in resultante, mesmo queries a onto- logias de grande dimensão, como as SNOMED CT, aumentadas com grande quantidade de regras, podem ser processadas com num tempo de resposta interactivo, após o breve período de pré-processamento inicial. Algumas funcionalidades e características adicio- nais do NoHR são: carregamento e edição programas em lógica, e definição predicados com aridade arbitrária; opção por uma ou várias respostas para cada query; terminação da resposta às queries; e a robustez relativamente a inconsistências entre a ontologia e as regras. Dado que no SLG(O) a definição de oráculo é abstracta, para implementar esse al- goritmo foi necessário definir-se previamente um oráculo SLG(O) para a DL suportada, EL+ ⊥. Do ponto de vista teórico, esse oráculo corresponde à tradução da ontologia para re- gras não monótonas equivalentes quanto às respostas a queries, e a sua avaliação através 5 Embora utilize um raciocinador DL que suporta completamente o OWL-DL, a implementação é ainda um protótipo, e não é claro quais os construtores sobre os quis raciocina correctamente. 40
  • 47.
    5. NOHR 5.1.Redução da TBox do próprio SLG(O) . Deste modo, eliminou-se a necessidade de recorrer raciocinadores DL externos e reduziu-se o SLG(O) a um algoritmo já implementado, de forma compro- vadamente efectiva – o SLG, aplicado no XSB. Como a ontologia de entrada pode conter construtores que não podem ser expressos ou não têm significado sob a forma de regras, ela é previamente reduzida de modo a esses construtores serem, sem perda de informa- ção relevante, eliminados – é com esse propósito que se recorre ao serviço de classificação do raciocinador DL ELK. Essa redução é descrita na Secção 5.1. A tradução propriamente dita é apresentada na Secção 5.2. Por fim, na Secção 5.3, descreve-se o sistema implemen- tado. 5.1 Redução da TBox Para obter as regras correspondentes à ontologia o sistema efectua o seguinte preproces- samento. Em primeiro lugar o algoritmo implementado no ELK é usado para tornar explicito o conhecimento implícito da base de conhecimento, i.e. acrescentam-se axio- mas e asserções que não estão incluídas na ontologia, mas que podem, de alguma forma, derivar-se dela. Depois disso, removem-se alguns axiomas redundantes quanto às res- postas a queries. Como mencionado, a ideia base do oráculo é traduzir a ontologia para regras não monótonas semanticamente equivalentes. Um dos aspectos a ter em conta num tal pro- cedimento é a impossibilidade de se traduzir directamente certos axiomas. Tal é o caso de axiomas de subsunção de conceitos que contenham existenciais ∃R.C do lado direito. Ora, esses axiomas nunca podem, por si só, contribuir para as derivações do oráculo. Considere-se, por exemplo, a KB híbrida dos Exemplos 2 6 e 4. Um oráculo não po- deria derivar nenhuma asserção com base no axioma Composer ∃HasComposed e na asserção Composer(GustavMahler). No entanto, os axiomas ∃HasArtist− Artist, HasComposed− HasArtist e Composer ∃HasComposed em conjunto, já permitem, indirectamente, concluir que com Composer(GustavMahler) se pode derivar Artist(Gus tavMahler). Assim, a classificação é aplicada, antes da tradução propriamente dita, para tornar explicita tais ligações implícitas, e com isso, todas as subsunções de conceitos com ∃R.C poderem ser reescritas ou removidas. O procedimento para a classificação de TBox EL+ ⊥ é descrito em [29]. Primeiro, um conjunto inicial input é definido de modo a conter uma anotação init(A) para cada con- ceito atómico A em O. Depois, um conjunto de regras de inferência EL+ ⊥ é aplicado exaus- tivamente a input, originando Closure como resultado final, o qual contém os axiomas deriváveis de O e anotações da forma init(C) e C →R D, onde a última representa o facto de, para dois conceitos (inicializados) C e D, C ∃R.D ser também derivável. As regras de inferência EL+ ⊥ são definidas apenas para os axiomas da TBox. Contudo, 6 Note-se que a ontologia desse exemplo não está em EL+ ⊥. No entanto, serve os propósitos da presente exposição. 41
  • 48.
    5. NOHR 5.2.Tradução as asserções de conceitos também tem de ser consideradas. Por exemplo, ∃R.C(a) jun- tamente com ∃R.C D, torna D(a) derivável. A solução adoptada, adaptada de [29], foi aplicar uma transformação N que reescreve asserções de conceitos C(a) na forma de axiomas de subsunção de conceitos Na C, assumindo um conjunto fixo de conceitos atómicos Na, que não ocorrem em O, para cada constante a de O. Note-se que esta trans- formação não se aplica a asserções de relação, uma vez que não ocorrem nelas conceitos da forma ∃R.C. Tem-se finalmente que, para uma dada ontologia consistente O e um certo axioma α não contendo nenhum conceito atómico da forma Na, O |= α se e só se N(O) |= N(α). A ontologia reduzida é definida do seguinte modo. Definição 11. Seja O uma ontologia EL+ ⊥, input um conjunto expressões init(A) para cada conceito atómico A de O, e Closure o fecho de input relativamente a N(O) conforme as regras de inferência EL+ ⊥. A ontologia reduzida de O é obtida de O = N(O) ∪ Closure do seguinte modo. 1. removem-se todas as anotações da forma init(C), C →R D, e os axiomas da forma C ∃R.D de O ; 2. removem-se todos os subconceitos da forma ∃R.D do lado direito de qualquer axi- oma C D1 D2 ∈ O ; se nenhum conjuntor restar, remove-se completamente o axioma; 3. substituem-se todos os axiomas de subsunção de conceito da forma Na C que restarem por C(a), para cada constante a de O. Note-se que input contém uma anotação init(Na) para cada constante a. Além disso, os passos 1. e 2. removem todos os subconceitos da forma ∃R.D dos axiomas que repre- sentam asserções de conceitos, resultantes da transformação N. Portanto, a ontologia reduzida não contém existenciais, nem em asserções nem no lado direito de axiomas. Mostra-se em [28] que a ontologia reduzida de O deriva as mesmas asserções atómicas que O. Lema 12. Seja O uma ontologia EL+ ⊥, O a ontologia reduzida O, A um conceito atómico e P uma relação atómica. Então O |= A(a) se e só se O |= A(a) e O |= P(a, b) se e só se O |= P(a, b). Com esse resultado, é mostrado que O pode ser substituída pela ontologia reduzida e ainda se obtém um oráculo parcial correcto. 5.2 Tradução Após a redução da ontologia pode proceder-se à sua tradução para regras. As únicas questões ainda em aberto são a coerência e a detecção de inconsistências MKNF. Recorde- se que a coerência assegura que quando se infere uma negação clássica também se infere 42
  • 49.
    5. NOHR 5.2.Tradução a correspondente negação por omissão. Desse modo é possível, por exemplo, derivar de C ⊥, C(a) ← not D(a), e D(a) ← not C(a) que C(a) é falso e D(a) é verdadeiro. No SLG(O) recorre-se à noção de base de conhecimento duplicada, e os átomos especiais NH(ti) são usados para representar uma query ¬H(ti) ao oráculo. Portanto, ao traduzir- se uma ontologia onde ocorra ⊥, deve também ter-se em conta o efeito pretendido para esses predicados. Evidentemente, se ⊥ não ocorrer em O então considerar a KB original, sem duplicação, é suficiente, e pode ignorar-se completamente os mencionados predica- dos especiais. De modo a circunscrever os casos a considerar pela tradução, são assumidas as se- guintes simplificações. Primeiro, na ontologia reduzida os conceitos C ocorrendo em asserções C(a) ou axiomas C D são todos da forma C1 · · · Cn, com n > 0. Tais as- serções ou axiomas podem repartir-se por um conjunto equivalente de n asserções Ci(a) ou axiomas C Ci, respectivamente, para 1 ≤ i ≤ n. Além disso, assume-se, sem perda de generalidade, que ⊥ não ocorre no lado esquerdo de nenhum axioma de subsunção. Sabe-se que ⊥ C e ∃R.⊥ são ambos equivalentes a ⊥, e que ⊥ C é sempre verdadeiro, pelo que não é necessário considerer tais casos. Finalmente, para , apenas os axiomas da forma C e subconceitos da forma ∃R. merecem atenção. Os axiomas (a), C , são irrelevantes; C D corresponde simplesmente a C D. Assim, não é considerado em asserções, nem lado direito de axiomas, e nem em conjunções no lado esquerdo de axiomas. Conceitos arbitrários são traduzidos para os conjuntos de átomos correspondentes, do seguinte modo. Definição 13. Seja C um conceito EL+ ⊥ sem ocorrências de ⊥, x uma variável, e X um conjunto de variáveis com x ∈ X. Define-se tr(C, x) do seguinte modo: tr(C, x) =    {A(x)} sse C = A ∅ sse C = tr(C1, x) ∪ tr(C2, x) sse C = C1 C2 {R(x, y)} ∪ tr(D, y) sse C = ∃R.D (5.1) onde y ∈ X é uma nova variável não usada anteriormente. Obtém-se tr(C, x)d de tr(C, x) substituído todos os predicados P em tr(C, x) com Pd, e, dado um conjunto de átomos S, ¯S é a sequência de todos os átomos contidos em S separada por “,”. Com base na função tr, define-se a tradução da ontologia para regras, do seguinte modo. Definição 14. Seja K = (O, P) uma base de conhecimento hibrida MKNF com O redu- zido e consistente. Define-se Pd O de O, onde A é um conceito atómico, C um conceito, D um conceito não atómico, R, Ri, S relações, e a, b indivíduos, como o menor conjunto contendo: 43
  • 50.
    5. NOHR 5.2.Tradução (a1) para cada A(a) ∈ O: A(a) ← Ad(a) ← not NA(a) (a2) para cada R(a, b) ∈ O: R(a, b) ← Rd(a, b) ← not NR(a, b) (t1) para cada A ∈ O: A(x) ← Ad(x) ← not NA(x). (c1) para cada C A ∈ O: A(x) ← tr(C, x) Ad(x) ← tr(C, x)d, not NA(a) (c2) para cada R S ∈ O: S(x, y) ← R(x, y) Sd(x, y) ← Rd(x, y), not NS(x, y) (r1) para cada R1 ◦ · · · ◦ Rk S ∈ O: S(x1, y) ← R1(x1, x2), · · · , Rk(xk, y) Sd(x1, y) ← Rd 1(x1, x2), · · · , Rk d(xk, y), not NS(x1, y) (i1) para cada A ⊥ ∈ O: NA(x) ← (i2) para cada D ⊥ ∈ O: {NA(y) ← tr(D, x) {A(y)} | A(y) ∈ tr(D, x)} ∪ {NR(y, z) ← tr(D, x) {R(y, z)} | R(y, z) ∈ tr(D, x)} Criam-se em Pd O as regras que representam O e Od. Novamente, se ⊥ não ocorre nelas podem dispensar-se todas as regras com predicados duplicados e (i1) e (i2) em nada con- tribuem. Os literais not NA(x) e not NS(x, y) são adicionados às regras duplicadas de acordo com a ideia de duplicação expressa na definição de base de conhecimento híbrida MKNF duplicada, apresentada na secção 4.2: assegura-se que sempre que dado átomo A(a) é classicamente falso se pode derivar, das regras resultantes da tradução, que Ad(a) é falso, mas não necessariamente que A(a) é falso, o que permite detectar inconsistências MKNF. Essa é também a razão pela qual (i1) e (i2) não produzem regras duplicadas: áto- mos baseados em predicados da forma NCd ou NRd nunca são utilizados. É também demonstrado em [28] que os programas resultantes da aplicação da tra- dução apresentada derivam as mesmas asserções atómicas que as KB duplicadas que os originam. 44
  • 51.
    5. NOHR 5.3.Implementação Lema 15. Seja O uma ontologia reduzida EL+ ⊥, A um conceito atómico e P uma relação atómica. O |= A(a) se e só se Pd O |= A(a) e Od |= Ad(a) se e só se Pd O |= Ad(a); e, de modo semelhante, O |= P(a, b) se e só se Pd O |= P(a, b) e Od |= Pd(a, b) se e só se Pd O |= Pd(a, b). Assim, pode definir-se um oráculo parcial correcto baseado em Pd O, do seguinte modo. Definição 16. Seja Kd = (O, Od, Pd) uma base de conhecimento MKNF duplicada, onde O é uma ontologia EL+ ⊥. Seja O a ontologia reduzida de O. Define-se o oráculo EL+ ⊥de O, denotado por pTEL O , como o oráculo parcial tal que pTEL O (I, S, L) se só se Pd O ∪ I ∪ L |=WF S, onde I e L são os conjuntos das regras correspondentes aos literais de I e L, respectivamente. Com o último resultado, sabe-se que em vez de usar dois raciocinadores, um para a ontologia e outro para as regras, pode simplificar-se todo o processo integrando ambas as fases, a resolução propriamente dita e a computação do oráculo, num único raciocinador de regras. É também demostrado que tal abordagem é decidível com complexidade de dados polinomial. 5.3 Implementação Figura 5.1: Arquitectura do sistema NoHR [28] Os dados de entrada do plug-in consistem num ficheiro OWL, que pode ser manipulado, como habitualmente, no Protégé, e um ficheiro de regras. Para o último, é fornecido um separador etiquetado “NoHR Rules” que permite carregar, guardar e editar ficheiros de regras num painel de texto. A sintaxe segue as convenções do Prolog, pelo que a primeira regra do Exemplo 4, por exemplo, pode ser escrita do seguinte modo Recomend(X) :- Piece(X), not owns(X), not LowEval(X), interesting(X). Um separador “NoHR Query” (ver a figura 9.3 do Capítulo 9) também permite visu- alizar as regras, mas o seu principal propósito é lançar as queries à base de conhecimento (constituída pela ontologia e as regras carregadas). Sempre que uma primeira query é 45
  • 52.
    5. NOHR 5.3.Implementação lançada, o tradutor é iniciado, chamando o raciocinador ELK, para classificar a ontologia e retornar os axiomas inferidos para o tradutor. Depois, é verificado se alguma disjun- ção ocorre na ontologia para determinar se a tradução deve ou não incluir a duplicação das regras. As regras reunidas, tanto resultantes da tradução da ontologia como as do programa de entrada, são reformatadas (para, por exemplo, serem permitidos predica- dos capitalizados, tanto na ontologia como nas regras, apesar do XSB não os permitir). O programa resultante é transferido para o XSB através do InterProlog, que é front-end open-source para Java, e permite a comunicação entre Java e Prolog. Seguidamente, a query é lançada, através do InterProlog, ao XSB e as repostas são de- volvidas ao processador de queries, que as recolhe e constrói uma table mostrando para que substituições de variáveis se obtém valorações verdadeiras, indefinidas, ou inconsis- tentes. Essa tabela pode ser visualizada no separador “Result” do painel “Output” (ver a figura 9.3 do Capítulo 9). Uma vez que uma query tenha sido respondida, outras podem ser lançadas sem que o sistema repita o preprocessamento. Se os dados da ontologia ou das regras forem al- terados, então o sistema oferece a opção de recompilação, mas sempre restrita à parte alterada. A versão original do NoHR está disponível em http://centria.di.fct.unl. pt/nohr. 46
  • 53.
    6 Raciocínio em DL-LiteR Em[9] estudam-se algumas técnicas de raciocínio DL para DL-LiteR . Nomeadamente investiga-se a satisfazibilidade de ontologias DL-LiteR e as suas consequências lógicas (ver Secção 6.3). Mostra-se que é possível reduzir a verificação de subsunção – i.e. que um dado axioma de subsunção é consequência lógica da ontologia – e verificação de pertença – i.e. que uma dada asserção de pertença é consequência lógica da ontologia – à satis- fazibilidade. Mostra-se também que é possível verificar a satisfazibilidade de uma dada ontologia, com TBox positiva, através de uma interpretação canónica (ver Secção 6.1) dela. Quando a sua TBox tem axiomas negativos, recorre-se à interpretação correspondente ao modelo minimal da ABox (ver definição 23) e a um fecho negativo da TBox (secção 6.2). No contexto desta dissertação, dado o seu desenvolvimento teórico, esses resultados são particularmente relevantes, e amplamente aplicados. 6.1 Interpretação canónica Começa-se por introduzir a noção de interpretação canónica de uma ontologia, i.e. de uma interpretação que é representante de qualquer possível modelo dela, no sentido em que qualquer modelo tem de definir extensões (de conceitos e relações) que contenham as extensões definidas nessa interpretação. Tal interpretação é particularmente importante, porque permite determinar se uma ontologia é satisfazível. Para simplificar a exposição é adoptada a seguinte função, que mapeia uma relação 47
  • 54.
    6. RACIOCÍNIO EMDL-LiteR 6.1. Interpretação canónica básica e duas constantes numa asserção de pertença: ga(Q, a, b) =    P(a, b), se Q = P P(b, a), se Q = P− (6.1) Para obter a interpretação canónica, define-se um operador que computa um conjunto de asserções de pertença que representa a interpretação canónica. Nesse conjunto, cada asserção A(a) (resp., P(a, b)) indica que, na interpretação canónica, a (resp., (a, b)) está na extensão de A (resp., P). Tal computação é baseada na noção da aplicabilidade de uma subsunção a uma asserção – i.e. de um certo axioma poder ser aplicado a uma asserção, da ABox ou obtida por aplicações anteriores, para inferir uma nova asserção – definida do seguinte modo. Definição 17. Seja S um conjunto de asserções DL-LiteR e Tp um conjunto de subsunções positivas DL-LiteR . Então uma subsunção α diz-se aplicável em S a uma asserção f ∈ S se • α = A1 A2, f = A1(a) e A2(a) ∈ S; • α = A ∃Q, f = A(a), e não existe nenhuma constante b tal que ga(Q, a, b) ∈ S; • ∃Q A, f = ga(Q, a, b), e A(a) ∈ S; • ∃Q1 ∃Q2, f = ga(Q, a, b), e não existe nenhuma constante c tal que ga(Q1, a, c) ∈ S; • Q1 Q2, f = ga(Q1, a, b), e ga(Q, a, b) ∈ S. Os axiomas aplicáveis podem ser usados (aplicados) para construir o resultado do ope- rador anteriormente mencionado, passo a passo, partindo da ABox. Em cada passo da construção, um axioma da TBox é aplicado a uma asserção do conjunto de asserções já obtidas. Aplicar uma axioma significa, assim, obter um novo conjunto de asserções (que estende o anteriormente obtido) onde o referido axioma já não seja aplicável. Em alguns casos, tal obriga a que a nova asserção utilize novas contantes, que não ocorram nas restantes asserções. Assim, este processo depende da ordem em que são selecionados os axiomas a ser aplicados, das asserções a que os últimos são aplicados, e das cons- tantes que são introduzidas, em cada passo. Portanto, vários conjuntos sintaticamente distintos poderiam resultar dele. Como se pretende que o resultado seja único para cada ontologia, fixa-se um conjunto de constantes, ordenadas lexicograficamente, e assume-se que se selecionam os axiomas, as asserções e as constantes por ordem lexicográfica. Mais precisamente, dada uma ontologia O = T , A , denota-se por ΓA o conjunto de símbolos de constante que ocorrem em A. Assume-se também a existência de um conjunto infi- nito, ΓN , de constantes que não ocorrem em A, tal que o conjunto ΓC = ΓA ∪ ΓN está totalmente ordenado lexicograficamente. 48
  • 55.
    6. RACIOCÍNIO EMDL-LiteR 6.1. Interpretação canónica Definição 18. Seja O = T , A uma ontologia DL-LiteR , Tp o conjunto de subsunções positivas em T , n o número de asserções de A, e ΓN o conjunto de constantes anterior- mente definido. Assuma-se que as asserções de A estão numeradas de 1 a n segundo a sua ordem lexicográfica, e considere-se a seguinte sequência. • S0 = A • Sj = Sj ∪ {fnew}, onde fnew é uma asserção numerada com n + j + 1 em Sj+1 e obtida do seguinte modo. – Seja f a primeira asserção de Sj tal que existe uma subsunção α ∈ Tp aplicável em Sj a f. – Seja α a primeira subsunção, lexicograficamente, aplicável em Sj a f. – Seja anew uma constante de ΓN que segue lexicograficamente todas as cons- tantes ocorrendo Sj. A asserção fnew é obtida de acordo com seguintes regras: (cr1) se α = A1 A2 e f = A1(a) então fnew = A2(a); (cr2) se α = A ∃Q e f = A(a) então fnew = ga(Q, a, anew); (cr3) se α = ∃Q A e f = ga(Q, a, b) então fnew = A(a); (cr4) se α = ∃Q1 ∃Q2 e ga(Q1, a, b) então fnew = ga(Q2, a, anew); (cr5) se α = Q1 Q2 e f = ga(Q1, a, b) então fnew = ga(Q2, a, b). Define-se chase(O) como o conjunto de asserções obtidas da união infinita de todos os Sj: chase(O) = j∈N Sj Na definição anterior, cr1, cr2, cr3, cr4, cr5 indicam as cinco regras que são usada na construção de chase, cada uma correspondendo a uma diferente aplicação de um axioma positivo. Tais regras são chamadas regras chase, e diz-se que uma regra chase é aplicada a uma dada asserção se o correspondente axioma positivo for aplicado a essa asserção. Observe-se que as asserções negativas não são usadas na construção de chase. Chase de- pende apenas da ABox e dos axiomas positivos da TBox. No que se segue denota-se por chasei(O) o conjunto de asserções obtido após i apli- cações de regras chase, selecionadas de acordo com a ordenação estabelecida: chasei(O) = j∈{0,...,i} Sj = Si A proposição seguinte indica que a noção de chase é fiel. Preposição 19. Seja O = T , A uma ontologia DL-LiteR e α uma subsunção positiva em T . Se existe i ∈ N tal que α é aplicável em chasei(O) a uma asserção f ∈ chasei(O), então 49
  • 56.
    6. RACIOCÍNIO EMDL-LiteR 6.1. Interpretação canónica existe j ≥ i tal que chasej+1(O) = chasej(O) ∪ f , onde f resulta da aplicação de α a f em chasej(O). Com base no operador chase define-se finalmente a interpretação canónica. Definição 20. Seja O = T , A uma ontologia DL-LiteR . Define-se a interpretação canónica de O denotada por can(O), como a estrutura de interpretação ∆can(O), .can(O) , onde 1. ∆can(O) = ΓC; 2. acan(O) = a, para cada constante a ocorrendo em chase(O); 3. Acan(O) = {a | A(a) ∈ chase(O)}, para cada conceito atómico A; e 4. Pcan(O) = {(a1, a2) | P(a1, a2) ∈ chase(O)}, para cada relação atómica P. Em [9] demonstra-se que o a interpretação canónica é sempre modelo da parte posi- tiva da TBox de uma dada ontologia e sua ABox. Lema 21. Seja O = T , A uma ontologia DL-LiteR , Tp o conjunto de subsunções positivas em T . Então, can(O) é um modelo de Tp, A . Exemplo 22. Considere-se ontologia do exemplo 2. Computa-se chase(O), do seguinte modo. Inicialmente tem-se S0 = {Composer(GustavMahler), HasArtist(BlueTrain, John Coltrane), HasComposed(GeorgeGershwin, RapsodyInBlue), TopSeller(BlueTrain)}. A primeira asserção, assumindo a ordenação lexicográfica seguida neste exemplo – recorde- se que na construção de chase(O) se selecionam as asserções e os axiomas pela sua or- dem lexicográfica – para qual existe um axioma aplicável é Composer(GustavMahler), à qual pode ser aplicado Composer ∃HasComposed. Por (cr2) obtém-se S1 = S0 ∪ {HasComposed(GustavMahler, a1)}. Depois, o axioma ∃HasArtist− Artist é apli- cado a HasArtist(BlueTrain, JohnColtrane) e tem-se, por (cr3), S2 = S1 ∪{Artist(John Coltrane). Seguidamente, por (cr5), aplica-se HasComposed HasArtist− a HasCompo sed(GeorgeGershwin, RhapsodyInBlue), obtendo-se S3 = S2 ∪ {HasArtist(Rhapsody InBlue, GeorgeGershwin). A essa última asserção é aplicado o axioma ∃HasArtist− Artist, que, por (cr2), dá origem a S4 = S3 ∪ {Artist(GeorgeGershwin)}. De modo simi- lar, aplica-se HasComposed Artist− a HasComposed(GustavMahler, a1), obtendo-se S5 = S4 ∪ {HasArtist(a1, GustavMahler); e ∃HasArtist− Artist à asserção adicio- nada, originando-se S6 = S5 ∪ {Artist(GustavMahler)}. Depois, aplica-se ∃HasCompo sed− Piece a HasComposed(GeorgeGershwin, RhapsodyInBlue), por (cr2), obtendo- se S7 = S6 ∪ {Piece(RhapsodyInBlue)}; e, de modo semelhante, aplica-se esse axi- oma a HasComposed(GustavMahler, a1), obtendo-se S8 = S7 ∪ {Piece(a1)}. Final- mente, aplica-se TopSeller Recommend a TopSeller(BlueTrain), obtendo-se S9 = S8 ∪ {Recommend(BlueTrain)}. Tem-se então chase(O) = {Composer(GustavMahler), HasArtist(BlueTrain, JonhColtrane), HasComposed(GeorgeGershwin, RapsodyInBl 50
  • 57.
    6. RACIOCÍNIO EMDL-LiteR 6.2. Fecho negativo ue), TopSeller(BlueTrain), HasComposed(GustavMahler, a1), Artist(JohnColtrane), HasArtist(RhapsodyInBlue, GeorgeGershwin), Artist(GeorgeGershwin), HasArtist(a1, GustavMahler), Artist(GustavMahler), Piece(RhapsodyInBlue), Piece(a1), Recommend (BlueTrain)}. Assim, as extensões da interpretação canónica desta ontologia são: Artistcan(O) = {GeorgeGershwin, GustavMahler, JohnColtrane}; Composercan(O) = {GustavMahler}; HasArtistcan(O) = {(a1, GustavMahler), (BlueTrain, JonhColtrane), (RhapsodyInBlue, GeorgeGershwin)}; HasComposedcan(O) = {(GustavMahler, a1), (GeorgeGershwin, Rha psodyInBlue)}; Piececan(O) = {a1, RhapsodyInBlue}; Recommendcan(O) = {BlueTrain}; e TopSellercan(O) = {BlueTrain}. Note-se a presença da asserção Artist(GustavMahler) em chase(O), que como men- cionado, é uma das derivações possíveis. As asserções Artist(GeorgeGershwin), Artist( JohnColtrane), HasArtist(RhapsodyInBlues, GeorgeGershwin), Piece(RhapsodyInBl ue) e Recommend(BlueTrain) constam de chase(O), e facilmente se constata que são, de facto, deriváveis de O. Com efeito, chase(O) obtém exactamente as asserções positivas que são consequência lógica da ontologia (ver lemas 66 e 67), i.e. que são verdadeiras em todos seus modelos. Constate-se também que, tal como se enuncia no lema 21, todas as subsunções positi- vas da ontologia são satisfeitas pelo modelo canónico. Por exemplo, na ontologia tem-se Composer ∃HasComposed e Composer(GustavMahler), e embora não se tenha nela nenhuma asserção que relacione Gustav Mahler com algum peça, chase(O) adiciona uma, HasComposed(GustavMahler, a1), para uma peça indefinida, representada pela nova constante introduzida, a1, garantindo desse modo que a interpretação canónica sa- tisfaz o axioma mencionado. O mesmo verifica-se para os restantes axiomas. Outra interpretação relevante, também usada nos resultados apresentados, que cor- responde ao modelo mínimo de uma dada ABox é a seguinte. Definição 23. Seja A uma ABox DL-LiteR . Denota-se por db(A) = ∆db(A), .db(A) a interpretação definida do seguinte modo: • ∆db(A) é um conjunto não vazio constituído por todas as contantes de A; • adb(A) = a, para cada constante a; • Adb(A) = {a | A(a) ∈ A}, para cada conceito atómico A; e • Pdb(A) = {(a1, a2) | P(a1, a2) ∈ A}, para cada relação atómica P. 6.2 Fecho negativo Considerando os axiomas negativos, interessa obter uma propriedade análoga à enunci- ada no lema 21. No caso dos axiomas negativos, mesmo que db(A) satisfaça os axiomas 51
  • 58.
    6. RACIOCÍNIO EMDL-LiteR 6.2. Fecho negativo negativos de uma ontologia O = T , A , pode ainda dar-se o caso de can(O) não satisfa- zer O. Por exemplo, se T contém os axiomas A1 A2 e A2 ¬A3, e A contém as asser- ções A1(a) e A3(a), é fácil constatar que db(A) |= A2 ¬A3 mas can(O) |= A2 ¬A3. Como sugerido pelo exemplo apresentado, para obter a propriedade desejada, é ne- cessário ter em conta a interação entre axiomas positivos e axiomas negativos. Para esse propósito constrói-se uma TBox especial fechando os axiomas negativos relativamente aos positivos. Definição 24. Seja T uma TBox DL-LiteR . Denomina-se fecho de subsunções negativas de T , denotado por cln(T ), a TBox definida indutivamente do seguinte modo: (cln1) todos os axiomas de subsunção negativos de T estão em cln(T ); (cln2) se B1 B2 está em T e B2 ¬B3 ou B3 ¬B2 estão em cln(T ), então também B1 ¬B3 está em cln(T ); (cln3) se Q1 Q2 está em T e ∃Q2 ¬B ou B ¬∃Q2 estão em cln(T ), então também ∃Q1 ¬B está em cln(T ); (cln4) se Q1 Q2 está em T e ∃Q2 − ¬B ou B ¬∃Q2 − estão em cln(T ), então também ∃Q1 − ¬B está em cln(T ); (cln5) se Q1 Q2 está em T e Q2 ¬Q3 ou Q3 ¬Q2 estão em cln(T ), então também Q1 ¬Q3 está em cln(T ); (cln6) se um dos axiomas ∃Q ¬∃Q, ∃Q− ¬∃Q−, ou Q ¬Q está em cln(T ), então todos os três axiomas estão em cln(T ). O seguinte exemplo mostra a aplicação do fecho definido. Exemplo 25. Considere-se a TBox formada pelos axiomas do exemplo 2. O fecho de sub- sunções negativas dessa TBox é obtido do seguinte modo. Primeiro, aplica-se (cln1) a LessSold ¬Recommend e Artist ¬Piece, adicionado esses axiomas ao fecho. De- pois 1, aplica-se (cln2) a ∃HasArtist− Artist e Artist ¬Piece e obtém-se o axioma ∃HasArtist− ¬Piece. Seguidamente, aplica-se (cln2) a TopSeller Recommend e LessSold ¬Recommend e obtém-se TopSeller ¬LessSold. Subsequentemente aplica-se (cln4) a HasComposed− HasArtist e ∃HasArtist− ¬Piece e obtém-se ∃HasComposed ¬Piece. Finalmente, aplica-se (cln2) a Composer ∃HasComposed e ∃HasComposed ¬Piece, e obtém-se Composer ¬Piece. 1 Note-se que a ordem dos primeiros passos poderia ser outra. 52
  • 59.
    6. RACIOCÍNIO EMDL-LiteR 6.3. Satisfazibilidade O fecho de subsunções negativas da TBox mencionada é então formado pelos seguin- tes axiomas: LessSold ¬Recommend (6.2) Artist ¬Piece (6.3) ∃HasArtist− ¬Piece (6.4) TopSeller ¬LessSold (6.5) ∃HasComposed ¬Piece (6.6) Composer ¬Piece (6.7) Note-se que com estes axiomas negativos e as asserções da ontologia, pode inferir-se exactamente as mesmas asserções negativos que com a ontologia original: ¬Artist(Rhaps odyInBlue), ¬Composer(RhapsodyInBlue), ¬Piece(GeorgeGershwin), ¬Piece(Gustav Mahler), ¬Piece(JohnColtrane), e ¬LessSold(BlueTrain), ¬∃HasArtist− (RhapsodyIn Blue), ¬∃HasComposed(RhapsodyInBlue). Com a definição anterior, é então possível obter a propriedade pretendida. Lema 26. Seja O = T , A uma ontologia DL-LiteR . Então can(O) é um modelo de O se e só se db(A) é um modelo de cln(T ), A . Além disso, é também demonstrado que a TBox obtida através do fecho cln deriva exactamente os mesmos axiomas negativos que a TBox original. Corolário 27. Seja T uma TBox DL-LiteR e α um axioma de subsunção negativo. Então cln(T ) |= α se e só se T |= α. 6.3 Satisfazibilidade Relativamente à satisfazibilidade, sabe-se que para a estabelecer se pode recorrer à cons- trução da interpretação canónica. Lema 28. Seja O = T , A uma ontologia DL-LiteR . Então can(O) é um modelo de O se e só se O é satisfazível. Intuitivamente, a computação de chase(O) corresponde a uma tentativa de construir uma interpretação que satisfaça todos os axiomas da TBox e todas as asserções da ABox – um modelo da ontologia. As asserções da ABox são incluídas no primeiro passo da computação; nos passos seguintes podem adicionar-se sucessivamente novas asserções até todas os axiomas positivos serem também satisfeitos na interpretação resultante, tal como se mostrou na secção anterior. No entanto, os axiomas negativos não podem ser tidos em conta nesta construção, i.e. não é possível remover as asserções que os não sa- tisfaçam (ao fazê-lo alguns axiomas positivos deixariam de ser respeitados). Assim, se 53
  • 60.
    6. RACIOCÍNIO EMDL-LiteR 6.3. Satisfazibilidade algum axioma negativo não for satisfeito pelo resultado da computação descrita, tal sig- nifica que não é possível construir nenhuma interpretação que satisfaça a ontologia, ou seja, que ela não admite nenhum modelo. Outro resultado relevante de [9] é que os serviços relacionados com a consequência lógica, instanciação e subsunção, em ontologias DL-LiteR podem ser reduzidos à satisfa- zibilidade. Relativamente à instanciação para expressões de conceito é apresentado o seguinte resultado. Teorema 29. Seja O uma ontologia DL-LiteR , C um conceito, d uma constante que ocorre em O, e ˆA um conceito atómico que não ocorre em O. Então O |= C(d) se e só se a ontologia O = T ∪ { ˆA ¬C}, A ∪ { ˆA(d)} é insatisfazível. De modo semelhante, é apresentado o seguinte resultado para expressões de relações. Teorema 30. Seja O uma ontologia DL-LiteR , R uma relação, a e b das constantes ocorrendo em O, e ˆP uma relação atómica que não ocorre em O. Então O |= R(a, b) se e só se a ontologia O = T ∪ { ˆP ¬R}, A ∪ { ˆP(a, b)} é insatisfazível. Com efeito, raciocinado por contradição, se se tem que ao acrescentar a negação de uma certa asserção à ontologia 2 ela deixa de ser satisfazível, tal significa que não existe nenhum modelo no qual essa asserção seja falsa, ou seja, ela é forçosamente verdadeira em todos os modelos. Por outro lado, se a ontologia já era insatisfazível antes da adição da negação da asserção, então todos as asserções já eram dela deriváveis, e, em particular, a asserção considerada. Relativamente à subsunção de conceitos tem-se o resultado seguinte. Teorema 31. Seja T uma TBox DL-LiteR , C1 e C2 dois conceitos, ˆA um conceito atómico que não ocorre em T , e d uma constante. Então T |= C1 C2 se e só se a ontologia O = T ∪ { ˆA C1, ˆA ¬C2}, { ˆA(d)} é insatisfazível. O último resultado endereça subsunção de relações. 2 Note-se que o conceito ˆA (resp., relação ˆP) são utilizados porque, em DL-LiteR , não é possível adicionar a negação de outro modo. Recorde-se que só se permitem asserções atómicas na ABox. 54
  • 61.
    6. RACIOCÍNIO EMDL-LiteR 6.3. Satisfazibilidade Teorema 32. Seja T uma TBox DL-LiteR , R1 e R2 duas relações, ˆP um conceito atómico que não ocorre em T , e a e b duas constantes. Então T |= R1 R2 se e só se a ontologia O = T ∪ { ˆP R1, ˆP ¬R2}, { ˆP(a, b)} Mais uma vez, se se tem que ao acrescentar a negação de um certo axioma à ontolo- gia 3 ela deixa de ser satisfazível, tal significa que não existe nenhum modelo no qual esse axioma não seja satisfeito. Por outro lado, se a ontologia já era insatisfazível an- tes da adição da negação do axioma, então todos os axiomas já era dela deriváveis, e, em particular, o axioma considerado. 3 Note-se que o conceito ˆA (resp., relação ˆP) só são utilizados para permitir que C1 seja um conceito complexo (resp., R1 seja uma relação complexa). A asserção ˆA(d) (resp., ˆP(a, b)) garante que a extensão de C1 (resp., ˆR1) não é vazia, e assim, que a inconsistência pretendida é detectada. 55
  • 62.
  • 63.
    7 Tradução com redução Comojá mencionado na introdução desta dissertação, define-se para DL-LiteR um orá- culo SLG(O) no qual, à semelhança do que acontece no apresentando para EL+ ⊥, se reduz a ontologia, de modo a eliminar certos construtores que não são directamente expressá- veis sob a forma de regras; traduz-se a ontologia reduzida para regras não monótonas semanticamente equivalentes; e aplica-se a resolução SLG sobre essas regras. Nesta abordagem, a redução da ontologia visa, tal como na tradução apresentada para ontologias EL+ ⊥, a não ocorrência de quantificações existenciais no lado direito dos axiomas positivos. Para esse efeito, também se classifica a TBox para, sem perda de derivações relevantes, se remover os referidos axiomas. De modo a permitir aplicar ferramentas de classificação, à partida, mais eficazes, apresenta-se também uma redução da classificação em DL-LiteR à classificação em EL. Actualmente, não se conhecem raciocinadores dedicados exclusivamente ao DL-LiteR , que suportem completamente a sua classificação 1. Além disso, até onde se sabe, o ra- ciocinador ELK, que é dedicado ao OWL 2 EL, é, em geral, mais eficiente que qualquer raciocinador genérico, que suporte todos os perfis do OWL 2. Por isso, supõe-se que uma tal redução poderia melhorar o desempenho da classificação. Remete-se para estudos fu- turos a avaliação empírica dessa hipótese; aqui apenas se a estabelece do ponto de vista teórico. A técnica de redução da classificação em DL-LiteR à classificação em EL, que se pre- tende sugerir, com os resultados apresentados subsequentemente, procede do seguinte modo. Removem-se da TBox todos os axiomas negativos, e rescrevem-se os restantes 1 Habitualmente entende-se por classificação a obtenção dos axiomas de subsunção de conceitos atómicos (resp., de relações atómicas) que são consequência lógica de uma dada ontologia. Neste contexto, entende-se esse conceito a todos os axiomas de subsunção, incluindo entre conceitos e relações complexas. 57
  • 64.
    7. TRADUÇÃO COMREDUÇÃO 7.1. Resultados sem inversos, recorrendo, para esse efeito, a novos símbolos de relação que representam, de forma univoca, cada relação inversa, e que, nessa rescrição, as substituem. A TBox resultante está em EL e pode assim ser classificada aplicando um algoritmo destinado a essa DL. Após classificada a TBox, recuperam-se os inversos, substituindo todos os símbolos de relação introduzidos pelas relações inversas correspondentes. Finalmente, aplica-se o fecho das subsunções negativas relativamente às positivas (cln) à TBox origi- nal e adiciona-se o resultado à TBox positiva obtida nos passos anteriores. Evidentemente, o último passo penaliza bastante o desempenho geral da técnica, uma vez que aumenta drasticamente o tamanho da TBox (note-se que o número de axiomas por ele introduzidos é, no pior caso, na ordem da quantidade de axiomas negativos mul- tiplicada pela quantidade de axiomas positivos). Também por esse motivo, procurou-se uma abordagem alternativa, e estudou-se a tradução apresentada no capitulo 8. No en- tanto, a potencial superioridade da técnica de classificação descrita, em termos de eficiên- cia, continuaria a verificar-se para TBox positivas. E, além disso, poder-se-ia ainda pro- curar alternativas para o tratamento dos axiomas negativos. Tal não foi feito no contexto desta dissertação, por se ter optado pela abordagem alternativa, à partida, considerada mais viável em geral. Na Secção 7.1 apresentam-se os resultados relativos à abordagem descrita, come- çando pela redução da ontologia, que inclui a redução da classificação DL-LiteR à clas- sificação EL+ ⊥ (Subsecção 7.1.1); e apresentando depois a tradução da ontologia reduzida e o oráculo com ela definido, e finalmente, enunciado a correcção desse oráculo (Sub- secção 7.1.2). Na Secção 7.2 elabora-se a avaliação analítica dos mencionados resultados, começando pelos relativos à redução (Subsecção 7.2.1) e concluindo com os que são rela- tivos à tradução e oráculo propriamente dito (Subsecção 7.2.2). 7.1 Resultados 7.1.1 Redução Relativamente à rescrição sem inversos da TBox positiva, anteriormente mencionada, o seguinte exemplo é elucidativo. Exemplo 33. Considere-se a TBox formada pelos axiomas positivos do exemplo 2. Essa TBox, a menos das relações inversas, está em EL. Portanto, é necessário modificar os axiomas 1.6-1.8. Uma alteração simples, que dispensa o uso de inversos, é criar novas re- lações atómicas, que não ocorram na ontologia, e possam ser identificada com as relações inversas HasArtist− e HasComposed− , para as substituir. Assumindo que HasArtist e HasComposed não ocorrem na ontologia, pode substituir-se o inverso de HasArtist e 58
  • 65.
    7. TRADUÇÃO COMREDUÇÃO 7.1. Resultados HasComposed, respectivamente, por essas relações atómicas, obtendo-se: Piece ∃HasArtist (7.1) ∃HasArtist Artist (7.2) ∃HasComposed Piece (7.3) HasComposed HasArtist (7.4) Composer ∃HasComposed (7.5) TopSeller Recommend (7.6) Para obter os axiomas originais, bastaria efectuar a substituição inversa. Note-se, no entanto, que, ao se classificar a ontologia original, acrescentar-se-iam os axiomas Composer ∃HasArtist− e Composer Artist, enquanto que na onto- logia rescrita não se obteriam os axiomas rescritos correspondentes. Isto acontece por- que na ontologia original pode inferir-se HasComposed HasArtist− , enquanto que na ontologia rescrita, sendo HasArtist e HasArtist , respectivamente, HasComposed e HasComposed , relações atómicas sem qualquer relação entre si, não é possível inferir os correspondentes axiomas rescritos. Uma solução é acrescentar o axioma que se perde após as substituições, HasComposed HasArtist− , antes de as efectuar. Deste modo, a ontologia rescrita conterá, além de 7.1-7.6, um axioma HasComposed HasArtist , derivando assim os axiomas pre- tendidos, Composer ∃HasArtist e Composer Artist. Ao classificar-se a ontologia rescrita deste modo, e, após isso, recuperarem-se os inversos, obtém então a classificação da ontologia original. Esta técnica funciona em geral, tal como se demonstra subsequen- temente (ver corolário 46). A rescrição sem inversos de uma dada ontologia é então obtida por meio da aplicação da seguinte função. A recuperação dos inversos, pode ser efectuada através da aplicação do inverso dessa função. Definição 34. Seja Σ um alfabeto contendo nomes de conceitos e relações DL-LiteR , tal que, para cada relação atómica P ∈ Σ, existe uma relação atómica P com P ∈ Σ. Define-se, para expressões DL-LiteR sem complementos sobre Σ, a função de reescrita sem inversos, ρ, do seguinte modo: ρ(E) =    A se E = A P se E = P P se E = P− ∃ρ(Q) se E = ∃Q ρ(B1) ρ(B2) se E = B1 B2 ρ(Q1) ρ(Q2) se E = Q1 Q2 (7.7) 59
  • 66.
    7. TRADUÇÃO COMREDUÇÃO 7.1. Resultados Estende-se a função ρ para TBox DL-LiteR positivas, do seguinte modo: ρ(T ) = {ρ(α) | α ∈ T } (7.8) Denota-se por ρ−1 o inverso da função ρ, i.e. a função que substitui as ocorrências de relações P por P−. Tal como se mostrou no exemplo anterior, embora, após se aplicar a função de rescrita, seja possível recuperar os inversos, substituindo as relações atómicas introduzidas pelas respectivas relações inversas que representam, a TBox rescrita não é equivalente, em ter- mos de consequências lógicas, e a menos da rescrição, à TBox original. Enquanto que na TBox original P1 P2 tem como consequência lógica P− 1 P− 2 , e vice-versa, na TBox rescrita, tal não acontece entre os axiomas P1 P2 e P1 P2. Assim, para que a clas- sificação seja completa, aplica-se à TBox, antes da sua rescrição sem inversos, o seguinte fecho. Definição 35. Seja T uma TBox DL-LiteR . Define-se o fecho de T relativamente aos inversos, denotado por cli(T ), do seguinte modo. cli(T ) = T ∪ {Q1 − Q2 − | Q1 Q2 ∈ T } O primeiro resultado teórico desta dissertação, cuja demonstração se apresenta na secção 7.2.1, é o de que rescrição sem inversos da TBox fechada relativamente aos inver- sos tem como consequência lógica os mesmos axiomas positivos que a TBox original, a menos da rescrição. Ou seja, é possível representar uma TBox DL-LiteR positiva, possi- velmente contendo relações inversas, sem recorrer ao construtor do inverso de relações. Corolário 46. Seja T uma TBox DL-LiteR positiva e α um axioma de subsunção positivo. Então T |= α se e só se ρ(cli(T )) |= ρ(α). Dado o resultado apresentado, sabe-se que pode classificar-se uma TBox positiva DL-LiteR recorrendo a um serviço de classificação para EL, seguindo os seguintes passos: obtendo-se a TBox positiva fechada relativamente aos inversos; rescrevendo-se sem in- versos; classificando-se com um serviço de classificação para EL 2; e finalmente, recuperando- se os inversos. Em TBox DL-LiteR que contenham complementos, pode obter-se uma redução com- pleta – i.e. um conjunto de axiomas nos quais não ocorram existenciais no lado direito, que deriva exactamente os mesmos axiomas, positivos e negativos, que a TBox original – aplicando a técnica descrita ao conjunto dos axiomas positivos, e o fecho dos axiomas negativos relativamente aos positivos, cln, à TBox – o corolário 27 garante que se obtêm todos os axiomas negativos pretendidos – e removendo os axiomas com existenciais no lado direito. 2 Note-se que a linguagem do DL-LiteR sem relações inversas e sem complementos de conceitos ou rela- ções corresponde a um subconjunto da linguagem do EL. 60
  • 67.
    7. TRADUÇÃO COMREDUÇÃO 7.1. Resultados 7.1.2 Tradução Como mencionado anteriormente, define-se uma tradução de uma ontologia DL-LiteR , na qual não ocorrem quantificações existenciais no lado direito dos axiomas, para regras não monótonas. As descrições de conceitos ou relações são traduzidas para átomos de acordo com a seguinte função. Definição 36. Sejam C um conceito e R uma relação DL-LiteR , x e y variáveis, e X um conjunto de variáveis com x, y ∈ X. Define-se tr(C, x) e tr(R, x, y) do seguinte modo: tr(C, x) =    A(x) se C = A tr(Q, x, z) se C = ∃Q NA(x) se C = ¬A tr(¬Q, x, z) se C = ¬∃Q (7.9) tr(R, x, y) =    P(x, y) se R = P P(y, x) se R = P− tr(NQ, x, y) se R = ¬P tr(NQ, y, x) se R = ¬P− (7.10) onde z ∈ X é uma nova variável ainda não utilizada. Obtém-se tr(C, x)d e tr(R, x, y)d de tr(C, x) e tr(R, x, y), respectivamente, substituindo todos os predicados S em tr(C, x) e tr(R, x, y), respectivamente, por Sd. Note-se que tal tradução de conceitos e relações para átomos não é novidade, aproxima- se bastante da função de tradução π apresentada na tabela 1.1. Recorde-se que ∃Q equi- vale a ∃Q. ; que ∃z(π(Q, x, z) ∧ ) – o resultado da aplicação de π a esse axioma – equi- vale a ∃z(π(Q, x, z)); e que todas as variáveis que ocorrem no antecedente de uma regra e não no seu consequente, estão quantificadas existencialmente. Além disso, a negação é representada com os predicados especiais, usados nas KB duplicadas para esse efeito, ao em vez de com o construtor de negação ¬ habitual. Aplicando a função anterior, a tradução da ontologia para regras não monótonas é definida do seguinte modo. Definição 37. Seja O, P uma KB híbrida MKNF. Define-se Pd O, como o menor conjunto contendo: (a1) para cada A(a) ∈ O: A(a) ← Ad(a) ← not NA(a); 61
  • 68.
    7. TRADUÇÃO COMREDUÇÃO 7.1. Resultados (a2) para cada P(a, b) ∈ O: P(a, b) ← Pd(a, b) ← not NP(a, b); (c1) para cada B A ∈ O: A(x) ← tr(B, x) Ad(x) ← tr(B, x)d, not NA(x); (r1) para cada Q1 Q2 ∈ O: tr(Q2, x, y) ← tr(Q1, x, y) tr(Q2, x, y)d ← tr(Q1, x, y)d, not tr(¬Q2, x, y); (i1) para cada B1 ¬B2 ∈ O: tr(¬B2, x) ← tr(B1, x) tr(¬B1, x) ← tr(B2, x) (i2) para cada Q1 ¬Q2 ∈ O: tr(¬Q2, x, y) ← tr(Q1, x, y) tr(¬Q1, x, y) ← tr(Q2, x, y) Note-se que, efectivamente, a tradução anterior não está definida para axiomas cujo o lado direito seja uma quantificações existencial. Ora, uma vez que se pretende tratar qual- quer ontologia DL-LiteR , é necessário um mecanismo que de alguma forma elimine tais axiomas, mantendo as propriedades necessárias à correcção do oráculo baseado nessa tradução. As reduções apresentadas na subsecção anterior tem precisamente esse propó- sito. No entanto, para que o oráculo seja independente delas, i.e. para que seja possível recorrer a técnicas de redução alternativas sem o comprometer, define-se, abstractamente, a noção de redução 3, fixando não a forma como é obtida, mas as propriedades que deve satisfazer. Definição 38. Sejam O = T , A e O = T , A duas ontologias DL-LiteR com a mesma assinatura. Diz-se que O uma redução de O se as seguintes propriedades se verificam, onde A denota um conceito atómico, B um conceito básico , e Q, Q1 e Q2 relações básicas: 1. A = A; 2. T é satisfazível se e só se T é satisfazível; 3. T |= B A se e só se T |= B A; 4. T |= Q1 Q2 se e só se T |= Q1 Q2; 5. T |= B1 ¬B2 se e só se T |= B1 ¬B2; 3 Tomou-se tal opção por, no momento da definição deste oráculo, haverem duas técnicas de redução em aberto: uma recorrendo à técnica descrita na subsecção anterior; e outra usando o serviço de classificação do raciocinador Ontop, e aplicando o fecho negativo da TBox. 62
  • 69.
    7. TRADUÇÃO COMREDUÇÃO 7.1. Resultados 6. T |= Q1 ¬Q2 se e só se T |= Q1 ¬Q2; 7. T não contém nenhum axioma da forma B ∃Q. Além disso, diz-se que O = T , A está reduzida relativamente aos existenciais se T não contém nenhum axioma da forma B ∃Q. É fácil constatar que pode obter-se a redução de uma dada ontologia O = T , A , aplicando os resultados da subsecção anterior. Primeiro, rescrevendo-se a TBox po- sitiva Tp, T1 = ρ(cli(Tp)). Depois, classificando-se a TBox obtida no passo anterior, T2 = {B1 B2 | T1 |= B1 B2} ∪ {Q1 Q2 | T1 |= Q1 Q2}. Seguidamente, recuperando-se os inversos, T3 = ρ−1(T2). Acrescentando-se o fecho dos axiomas ne- gativos relativamente aos positivos, T4 = T3 ∪ cln(T ). E finalmente, removendo-se os axiomas com existenciais do lado direito, T5 = T4 {B ∃Q ∈ T4}. Os corolários 46 e 27 garantem que a ontologia constituída pela TBox resultante e pela ABox original, T5, A , é uma redução da ontologia original O. O seguinte exemplo, mostra a aplicação do método de tradução descrito. Exemplo 39. Considere-se a ontologia do Exemplo 2. Veja-se como são obtidas as regras monótonas que lhe correspondem, de acordo com o método descrito. Após fecho relativamente aos inversos, cli, e a aplicação da função de rescrição, obtêm- se os axiomas apresentados no Exemplo 33. A classificação da ontologia resultante adici- ona os axiomas HasComposed HasArtist , ∃HasComposed ∃HasArtist, Composer ∃HasArtist e Composer Artist. Depois de se recuperarem os inversos, tem-se o re- sultado da classificação de T , que é composto pelos os axiomas originais de T e pelos axiomas HasComposed HasArtist− , ∃HasComposed− ∃HasArtist, Composer ∃HasArtist− e Composer Artist. Seguidamente aplica-se o fecho dos axiomas negati- vas relativamente aos axiomas positivos, obtendo-se os axiomas apresentados no exem- plo 25, e adicionado-se tais axiomas à TBox obtida nos passos anteriores. Finalmente, obtém-se uma redução de T removendo os axiomas Piece ∃HasArtist, Composer 63
  • 70.
    7. TRADUÇÃO COMREDUÇÃO 7.1. Resultados ∃HasComposed e Composer ∃HasArtist− e ∃HasComposed− ∃HasArtist. A redu- ção obtida é então constituída pelos seguinte axiomas: ∃HasArtist− Artist (7.11) HasComposed− Piece (7.12) HasComposed− HasArtist (7.13) HasComposed HasArtist− (7.14) Composer Artist (7.15) TopSeller Recommend (7.16) Artist ¬Piece (7.17) LessSold ¬Recommend (7.18) ∃HasArtist− ¬Piece (7.19) TopSeller ¬LessSold (7.20) ∃HasComposed ¬Piece (7.21) Composer ¬Piece (7.22) A tradução procede do seguinte modo. (c1) é aplicado aos axiomas 7.11, 7.12, 7.15 e 7.16, originando as regras 7.23-7.30. Depois, (r1) é aplicado aos axiomas 7.13 e 7.14, originando as regras 7.31-7.34. Seguidamente (i1) é aplicado aos axiomas 7.17-7.22, origi- nado 7.35-7.46. Finalmente, (a1) e (a2) são aplicados às asserções da ontologia, originando as regras 7.47-7.54. O programa resultante da tradução, Pd O, é constituído pelas seguintes 64
  • 71.
    7. TRADUÇÃO COMREDUÇÃO 7.1. Resultados regras: Artist(x) ← HasArtist(z, x) (7.23) Artistd (x) ← HasArtistd (z, x), not NArtist(x) (7.24) Piece(x) ← HasComposed(y, x) (7.25) Pieced (x) ← HasComposedd (y, x), not NPiece(x) (7.26) Artist(x) ← Composer(x) (7.27) Artistd (x) ← Composerd (x), not NArtist(x) (7.28) Recommend(x) ← TopSeller(x) (7.29) Recomendd (x) ← TopSellerd (x), not NRecommend(x) (7.30) HasArtist(x, y) ← HasComposed(y, x) (7.31) HasArtistd (x, y) ← HasComposedd (y, x), not NHasArtist(x, y) (7.32) HasArtist(y, x) ← HasComposed(x, y) (7.33) HasArtistd (y, x) ← HasComposedd (x, y), not NHasArtist(y, x) (7.34) NPiece(x) ← Artist(x) (7.35) NArtist(x) ← Piece(x) (7.36) NRecommend(x) ← LessSold(x) (7.37) NLessSold(x) ← Recommend(x) (7.38) NPiece(x) ← HasArtist(y, x) (7.39) NHasArtist(y, x) ← Piece(x) (7.40) NLessSold(x) ← TopSeller(x) (7.41) NTopSeller(x) ← LessSold(x) (7.42) NPiece(x) ← HasComposed(x, y) (7.43) NHasComposed(x, y) ← Piece(x) (7.44) NPiece(x) ← Composer(x) (7.45) NComposer(x) ← Piece(x) (7.46) 65
  • 72.
    7. TRADUÇÃO COMREDUÇÃO 7.1. Resultados Composer(GustavMahler) ← (7.47) Composerd (GustavMahler) ← not NComposer(GustavMahler) (7.48) TopSeller(BlueTrain) ← (7.49) TopSellerd (BlueTrain) ← not NTopSeller(BlueTrain) (7.50) HasArtist(BlueTrain, JohnColtrane) ← (7.51) HasArtistd (BlueTrain, JohnColtrane) ← not NHasArtist(BlueTrain, JohnColtrane) (7.52) HasComposed(GeorgeGershwin, RapsodyInBlue) ← (7.53) HasComposedd (GeorgeGershwin, RapsodyInBlue) ← not NHasComposedd (GeorgeGershwin, RapsodyInBlue) (7.54) Note-se que de facto é possível inferir as mesmas asserções positivas inferidas pela ontologia, já mencionadas anteriormente, nomeadamente: Artist(GustavMahler), usando as regras 7.47 e 7.27; Artist(GeorgeGershwin), recorrendo às regras 7.53, 7.31 e 7.23; Artist(JohnColtrane), com as regras 7.51 e 7.23; HasArtist(RapsodyInBlue, GeorgeGer shwin), com 7.51 e 7.31; Piece(RhapsodyInBlue), com 7.53 e 7.25; e Recommend(BlueTra in). Note-se também que se inferem igualmente as asserções negativas que a ontologia deriva. Por exemplo, a asserção NLessSold(BlueTrain) é obtida pelas regras 7.49 e 7.41, e representa ¬LessSold(BlueTrain). O oráculo SLG(O), baseado na redução e na tradução apresentada, define-se do se- guinte modo. Definição 40. Seja Kd = (O, Od, Pd) uma base de conhecimento MKNF duplicada, onde O é uma ontologia DL-LiteR . Seja O uma redução de O. Define-se oráculo DL-LiteR indirecto de O por O , denotado por pTO O , como o oráculo parcial tal que pTO O (I, S, L) se só se Pd O ∪ I ∪ L |=WF S, onde I e L são os conjuntos das regras correspondentes aos literais de I e L, respectivamente. O segundo resultado desta dissertação é o de que o oráculo descrito é correto, i.e. ao usá-lo numa avaliação SLG(O), obtém-se todas, e apenas, as respostas correctas, de acordo com a semântica do MKNF híbrido. Teorema 78. Seja Kd = (O, Od, Pd) uma base de conhecimento MKNF duplicada, onde O é uma ontologia DL-LiteR . Seja O uma redução de O. Então pTO O é um oráculo parcial correcto relativamente a compTO. 66
  • 73.
    7. TRADUÇÃO COMREDUÇÃO 7.2. Análise 7.2 Análise Na presente secção avaliam-se analiticamente os resultados apresentados na secção ante- rior, através das respectivas demonstrações. 7.2.1 Redução Quanto à técnica de redução apresentada, importa apenas verificar que o seu resultado satisfaz as propriedades que definem uma redução. No que toca à parte de positiva da TBox, tal corresponde a demonstrar o corolário 46. Os lemas e teoremas que se apre- sentam subsequentemente, constituem passos intermédios dessa demonstração. No pri- meiro deles, mostra-se que o fecho relativamente aos inversos, cli, deriva os mesmos axiomas de subsunção de relações que os que são derivados pela TBox. Lema 41. Seja T uma TBox DL-LiteR positiva, e Q1 e Q2 duas relações básicas. Então T |= Q1 Q2 se e só se cli(T ) |= Q1 Q2. Demonstração. (→) Trivial. (←) A única diferença entre a TBox original, T , e o seu fecho relativamente aos inversos, cli(T ), é que cli(T ) possivelmente contém axiomas de subsunção da forma Q1 − Q2 − , tais que Q1 Q2 ∈ T , que não estão contidos em T . Ora, dado qual- quer axioma Q1 Q2 ∈ T , é evidente que T |= Q1 − Q2 − . Logo, cli(T ) não tem como consequência lógica nenhum axioma que não seja consequência lógica de T . No passo seguinte, estabelece-se uma correspondência entre as sequências de axio- mas de subsunção de relações que se podem formar a partir do fecho relativamente aos inversos, cli, e os axiomas de subsunção de relações que se podem derivar desse fecho. Formaliza-se, deste modo, a noção de transitividade entre as subsunções de relações. Lema 42. Seja T uma TBox DL-LiteR positiva, e Q1 e Qn duas relações básicas. Então cli(T ) |= Q1 Qn se e só se existe uma sequência Q1 Q2, Q2 Q3, . . . , Qn−1 Qn formada por axiomas de subsunção de cli(T ). Demonstração. (←) Trivial. (→) Suponha-se, por contradição, que cli(T ) |= Q1 Qn, mas não existe nenhuma sequência de axiomas Q1 Q2, Q2 Q3, . . . , Qn−1 Qn tal que, cada axioma Qi Qi+1, com 1 ≤ i < n, está contido em cli(T ). Pelo teorema 31, cli(T ) |= Q1 Qn se e só se a base de conhecimento OQ1 Qn = cli(T ) ∪ { ˆP Q1, ˆP ¬Qn}, { ˆP(a, b)} , onde ˆP é uma relação atómica e a e b duas constantes que não ocorrem em cli(T ), é insatisfazível . Pelo lema 28, tem-se então que OQ1 Qn é insatisfazível se e só se can(OQ1 Qn ) |= OQ1 Qn . Como, pelo lema 21, can(OQ1 Qn ) |= {cli(T ) ∪ { ˆP Q1}, { ˆP(a, b)} , e dado que ˆP can(OQ1 Qn ) só contém o par de indivíduos (a, b), conclui-se que cli(T ) |= Q1 Qn se e só se can(OQ1 Qn ) |= 67
  • 74.
    7. TRADUÇÃO COMREDUÇÃO 7.2. Análise ˆP ¬Qn. Portanto, cli(T ) |= Q1 Qn se e só se (a, b) ∈ Q can(OQ1 Qn ) n , ou seja, se e só se Qn(a, b) ∈ chase(OQ1 Qn ). No entanto, dado que a única asserção de pertença contida em OQ1 Qn é ˆP(a, b) e que, nessa KB, o único axioma de subsunção positivo em que a relação ˆP ocorre é apenas ˆP Q1, é fácil constatar, pela definição de chase (definição 18), e pela definição de cli(T ), que se não existe nenhuma sequência de axiomas Q1 Q2, Q2 Q3, . . . , Qn−1 Qn contidos em cli(T ) então Qn(a, b) ∈ chase(OQ1 Qn ) – note-se que a única regra de chase aplicável é a (cr5); e que, se por um lado tal regra pode também ser aplicada a um axioma de subsunção (Qi)− (Qi+1)− ; por outro lado, se cli(T ) contém (Qi)− (Qi+1)− , que não é capturado pela sequência descrita, também contém Qi Qi+1, que já faz parte da sequência – de onde se obtém a contradição. Seguidamente, transpõe-se a correspondência referida anteriormente para a rescrição sem inversos, ρ, do fecho relativamente aos inversos, cli, da TBox. Lema 43. Seja T uma TBox DL-LiteR positiva, e P1 e Pn duas relações atómicas em ρ(cli(T )). Então ρ(cli(T )) |= ρ(P1 Pn) se e só se existe uma sequência P1 P2, P2 P3, . . . , Pn−1 Pn formada por axiomas de subsunção de ρ(T ). Demonstração. (→) Trivial. (←) O argumento é semelhante ao usado no lema 42, com a diferença de que o que ga- rante agora que há correspondência entre as sequências de axiomas da forma enunciada e as sequências que são realmente capturadas pela regra (cr5), é o facto de não ocorrer em ρ(T ) nenhuma relação inversa. Mostra-se agora que a rescrição sem inversos, cli, do fecho relativamente aos inversos, ρ, da TBox, deriva as mesmas subsunções de relação, a menos da rescrição, que o fecho sem a rescrição. Teorema 44. Seja T uma TBox DL-LiteR positiva, e Q1 e Qn relações básicas. Então cli(T ) |= Q1 Qn se e só se ρ(cli(T )) |= ρ(Q1 Qn). Demonstração. Pelo lema 42 cli(T ) |= Q1 Q2 se e só se existe uma sequência Q1 Q2, Q2 Q3, . . . , Qn−1 Qn de axiomas de cli(T ) – denote-se o conjunto de tais sequên- cias por Scli(T ); e, pelo lema 43, ρ(cli(T )) |= ρ(Q1 Qn) se e só se existe uma sequência ρ(Q1 Qn+2), ρ(Qn+2 Qn+3), . . . , ρ(Qm Qn) de axiomas de ρ(cli(T )) – denote-se o conjunto de tais sequências por Sρ(cli(T )). Ora, dado que a única diferença entre ρ(cli(T )) e cli(T ) é a substituição de cada relação inversa P− por uma relação atómica P , que não ocorre em cli(T ), é fácil constatar que existe uma sequência em Scli(T ) se e só se existe uma sequência Sρ(cli(T )), donde se conclui que a propriedade enunciada se verifica. Mostra-se igualmente que a rescrição sem inversos, cli, do fecho relativamente aos in- versos, ρ, também deriva as mesmas subsunções de conceitos que o fecho sem a rescrição. 68
  • 75.
    7. TRADUÇÃO COMREDUÇÃO 7.2. Análise Teorema 45. Seja T uma TBox DL-LiteR positiva e B1 e B2 conceitos básicos. Então cli(T ) |= B1 B2 se e só se ρ(cli(T )) |= ρ(B1 B2). Demonstração. Dado que a transformação ρ só altera relações (e conceitos onde elas ocor- rem, especificamente, os que tem a forma ∃Q), e que para subsunções entre relações a propriedade correspondente já foi demonstrada, no teorema 44, é fácil constatar que a propriedade enunciada, para subsunções entre conceitos, também se verifica (note-se que se por um lado T |= Q1 Q2 permite inferir T |= ∃Q1 ∃Q2 e T |= ∃Q1 − ∃Q2 − ; por outro lado o teorema 44 mostra que se cli(T ) |= Q1 Q2 então ρ(T ) |= ρ(∃Q1 ∃Q2) e ρ(T ) |= ρ(∃Q1 − ∃Q2 − )). Finalmente, obtém-se, com base nos passos apresentados, o primeiro resultado pre- tendido. Corolário 46. Seja T uma TBox DL-LiteR positiva e α um axioma de subsunção positivo. Então cli(T ) |= α se e só se ρ(cli(T )) |= ρ(α). Demonstração. Este resultado segue directamente do lema 41 – note-se que não é neces- sário enunciar o lema correspondente para as subsunções de conceitos, porque o fecho relativamente aos inversos, cli, contém exactamente os mesmos axiomas de subsunção de conceitos que a TBox original – e dos teoremas 44 e 45. Quanto aos axiomas negativos, o corolário 27, garante que ao se adicionar os axiomas no fecho cln, se satisfazem as propriedades da redução que lhes dizem respeito. 7.2.2 Tradução Recorde-se que um oráculo SLG(O) define, essencialmente, o conjunto de asserções de pertença que se podem derivar da junção de uma ontologia com os conjuntos de lite- rais que o parametrizam. Assim, demonstrar a correcção do oráculo baseado na redução e tradução anteriormente definidas, corresponde a mostrar que as regras resultantes da tradução de uma qualquer redução de uma dada ontologia, juntamente com os referidos conjuntos de literais, derivam exactamente os factos correspondentes às referidas asser- ções. Para tal, demonstra-se, por um lado, que uma redução de uma dada ontologia de- riva exactamente o mesmo conjunto de asserções que essa ontologia; e, por outro lado, que as regras resultantes da tradução de certa ontologia também derivam exactamente os factos correspondentes às asserções que ela deriva. Começa-se por mostrar que a tradução definida permite derivar os factos correspon- dentes às asserções de pertença derivadas pela ontologia original, se a última for satisfa- zível e estiver reduzida. Lema 47. Seja O, Od, P uma base de conhecimento híbrida MKNF duplicada, onde O = T , A é uma ontologia DL-LiteR satisfazível e reduzida. Seja A um predicado unário, P um pre- dicado binário, a e b duas constantes. Então O |= A(a) se e só se Pd O |= A(a) e Od |= Ad(a) se e 69
  • 76.
    7. TRADUÇÃO COMREDUÇÃO 7.2. Análise só se Pd O |= Ad(a), e, de modo semelhante, O |= P(a, b) se e só se Pd O |= P(a, b) e Od |= Pd(a, b) se e só se Pd O |= Pd(a, b). Demonstração. Considere-se o caso dos predicados originais. Apenas as asserções de per- tença formadas pelos predicados originais, i.e. asserções da forma A(a) ou P(a, b), e axi- omas de subsunção positivos (que não sejam da forma B ∃Q – note-se que a ontologia está reduzida relativamente aos existenciais) de O podem contribuir para a derivação das asserções consideradas, que na definição 64 são tratados nos casos (a1), (a2), (c1) e (r1), e cujas regras resultantes, para os predicados originais, são as únicas que podem contribuir para a derivação (em regras) de tais asserções. Sabe-se que as regras mencio- nadas, nos casos (a1), (a2) e (c1), são traduções logicamente equivalentes [20]. No caso (r1) é fácil constatar que o mesmo se verifica. Veja-se. P1 P2 corresponde, de facto, a P2(x, y) ← P1(x, y); P1 P2 − a P2(y, x) ← P1(x, y); P1 − P2 a P2(x, y) ← P1(y, x); e P1 − P2 − a P2(y, x) ← P1(y, x). Assim, conclui-se que O |= A(a) se e só se Pd O |= A(a) e O |= P(a, b) se e só se Pd O |= P(a, b). Considere-se agora as asserções com predicados especiais, i.e. da forma NH(ti), onde H é um conceito atómico ou uma relação atómica, e que representam uma query a ¬H(ti). Pretende-se demonstrar que O |= ¬H(ti) se e só se Pd O |= NH(ti). Apenas as asserções de pertença formadas pelos predicados originais, e axiomas de subsunção de O podem con- tribuir para a derivação de tais asserções. Como já se demonstrou que as traduções das asserções com predicados originais e dos axiomas de subsunção positivos de O derivam exactamente as mesmas asserções que a ontologia original O, basta mostrar então que o mesmo é verdade para as negações clássicas derivadas através dos axiomas de subsun- ção negativos de O, que correspondem aos casos (i1) e (i2) cujas as regras resultantes são as únicas que podem contribuir para a derivação (em regras) de tais asserções. É fácil constatar que tais regras são de facto logicamente equivalentes aos axiomas descritos. Veja-se. No caso (i1), NA2(x) ← A1(x) e NA1(x) ← A2(x) correspondem, de facto, a A1 ¬A2; NA2(x) ← P(x, z) e NP(x, z) ← A2(x) a ∃P ¬A; e NA2(x) ← P(z, x) e P(z, x) ← A2(x) a ∃P− ¬A – representando os literal ¬A(x) pelos átomos NA(x). O outro axioma capturado em (i1), B ¬∃Q, corresponde à fórmula de primeira ordem ∀x(tr(B, x) ⊃ ¬∃y(tr(Q, x, y))), que é equivalente a ∀x, y(tr(B, x) ⊃ ¬tr(Q, x, y)), ou às regras, tr(¬Q, x, y) ← tr(B, x) e tr(¬B) ← tr(Q, x, y). No caso (i2), NP2(x, y) ← P1(x, y) e NP1(x, y) ← P2(x, y) corresponde, de facto, a P1 ¬P2; NP2(y, x) ← P1(x, y) e NP1(x, y) ← P2(y, x) a P1 ¬P2 − ; NP2(x, y) ← P1(y, x) e NP1(y, x) ← P2(x, y) a P1 − ¬P2; e NP2(y, x) ← P1(y, x) e NP1(y, x) ← P2(y, x) a P1 − ¬P2 − . Assim, conclui-se que O |= NH(ti) se e só se Pd O |= NH(ti). Considere-se agora as asserções com predicados duplicados, i.e, da forma Ad(a) ou Pd(a, b). O argumento é semelhante ao usado para os as asserções com os predicados ori- ginais, mas agora aplicada aos predicados duplicados. Tem de considerar-se adicional- mente apenas os literais negativos auxiliares not NA(x) e not tr(Q, x, y), acrescentados ao corpo das regras, para os predicados duplicados, nos casos (a1), (a2), (c1) e (r1), com o 70
  • 77.
    7. TRADUÇÃO COMREDUÇÃO 7.2. Análise intuito garantir a coerência entre literais com duplicados negativos e negações clássicas. Dado que Pd O |= NH(ti) se e só se O |= ¬H(ti), e que se assume que O é consistente, tem- se que Pd O |= NH(ti) só se Od |= H(ti), e portanto, os literais negativos auxiliares apenas podem invalidar regras (instanciadas) cujo o consequente também não se possa derivar de Od. Logo, também se tem Od |= Ad(a) se e só se Pd O |= Od |= Ad(a) e Od |= Pd(a, b) se e só se Pd O |= Pd(a, b). Mostra-se então, que a redução de uma ontologia deriva as mesmas asserções que essa ontologia. O primeiro passo, para tal, é mostrar que, na derivação das asserções de pertença a conceitos, a partir de uma ontologia satisfazível, estão sempre envolvidas uma asserção da ABox e uma subsunção de conceitos derivada pela TBox (i.e. que pode ser explicita ou implícita). Lema 48. Seja O = T , A uma ontologia DL-LiteR , An um conceito atómico, e a uma cons- tante. Então O |= An(a) se e só se alguma das seguintes condições se verifica: 1. existe A0(a) ∈ A tal que T |= A0 An; 2. existe ga(Q0, a, b) ∈ A tal que T |= ∃Q0 An, para alguma constante b; 3. O é insatisfazível. Demonstração. (←) Trivial. (→) Suponha-se então que O |= An(a). Assuma-se também que O é satisfazível – se não o for, a condição 3 verifica-se imediatamente, e a propriedade enunciada fica demonstrada. Assim, pelo teorema 29 tem-se então que a ontologia O = T ∪ { ˆA ¬An}, A ∪ { ˆA(a)} é insatisfazível. Portanto, pelo lema 28 , can(O ) |= O . Conse- quentemente, pelo lema 21 , e uma vez que se assumiu que O é satisfazível, tem-se can(O ) |= ˆA ¬An. Uma vez que acan(O ) é o único indivíduo em ˆAcan(O ), tem-se então que acan(O ) está em A can(O ) n , ou seja, An(a) ∈ chase(O ). É fácil constatar, pela definição de chase que chase(O ) = chase(O), e assim, resta demonstrar que se An(a) ∈ chase(O) então uma das condições 1 ou 2 é verdadeira. Para isso, demonstram-se, por indução em chase(O), as seguinte propriedades: (i) se An(a) ∈ chase(O) então uma das seguintes condições é verdadeira: a) existe A0(a) ∈ A tal que T |= A0 An; b) existe ga(Q0, a, b) ∈ A tal que T |= ∃Q0 An, para alguma constante b; (ii) se ga(Qn, a, b) ∈ chase(O), para alguma constante b, então uma das seguinte con- dições é verdadeira: a) existe A0(a) ∈ A tal que T |= A0 ∃Qn; b) existe ga(Q0, a, c) ∈ A tal que T |= Q0 Qn, para alguma constante c; 71
  • 78.
    7. TRADUÇÃO COMREDUÇÃO 7.2. Análise (i) Passo base. Dado que chase0(O) = A, tem-se que se An(a) ∈ chase0(O) então An(a) ∈ A. Logo, tem-se que se An(a) ∈ chase0(O) então existe A0(a) ∈ A tal que T |= A0 An. Passo de indução. Assuma-se então que An(a) ∈ chasei(O) e An(a) ∈ chasei+1(O), pois, caso contrário, a propriedade que se pretende demonstrar segue imediatamente da hipótese de indução. Assim, chasei+1(O) é obtido de chasei(O) aplicando a regra (cr1) ou a regra (cr3). Portanto, existe Ai(a) ∈ chasei(O) tal que Ai An ∈ T ou existe ga(Qi, a, b) ∈ chasei(O) tal que ∃Qi An ∈ T . Pela hipótese de indução, tem-se então uma das seguinte condições: existe A0(a) ∈ A tal que T |= A0 Ai e Ai An ∈ T ; existe ga(Q0, a, b) ∈ A tal que T |= ∃Q0 Ai e Ai An ∈ T ; existe A0(a) ∈ A tal que T |= A0 ∃Qi e ∃Qi An ∈ T ; ou existe ga(Q0, a, b) ∈ A tal que T |= Q0 Qi e ∃Qi An ∈ T . Conclui-se então que existe A0(a) ∈ A tal que T |= A0 An ou existe ga(Q0, a, b) ∈ A tal que T |= ∃Q0 An. (ii) A propriedade pode ser verificada de forma similar à propriedade (i), usando as regras (cr2), (cr4) e (cr5). Seguidamente, mostra-se que, no caso da derivação de asserções de pertença a rela- ções, a partir de uma ontologia satisfazível, também estão sempre envolvidas uma asser- ção da ABox e uma subsunção de relações derivada pela TBox. Lema 49. Seja O = T , A uma ontologia DL-LiteR , Qn uma relação básica, e a e b duas constantes. Então O |= ga(Qn, a, b) se e só se alguma das seguintes condições se verifica: 1. existe ga(Q0, a, b) ∈ A tal que T |= Q0 Qn; 2. O é insatisfazível. Demonstração. Seguindo raciocínio semelhante ao seguido na prova do lema 48 é possí- vel demonstrar a propriedade enunciada (e é fácil constatá-lo: a única regra de chase que se teria de considerar na indução seria a (cr5), já que as restantes apenas permiti- riam introduzir relações evolvendo uma das constantes, a ou b, e outra constante nova e nunca ambas; e é evidente que, assumindo ga(Qi, a, b) ∈ chasei(O), e portanto, que existe ga(Q0, a, b) ∈ A tal que T |= Q0 Qi, e dado que Qi Qn ∈ T , se tem imediatamente T |= Q0 Qn). Mostra-se que a redução de uma dada ontologia realmente deriva as mesmas asser- ções positivas que a ontologia original. Lema 50. Seja O uma ontologia DL-LiteR . Seja O uma redução de O. Seja A um conceito atómico, P uma relação atómica, e a e b duas constantes. Então O |= A(a) se e só se O |= A(a) e O |= P(a, b) se e só se O |= P(a, b). Demonstração. Pelo lema 48, tem-se O |= A(a) se e só se existe A0(a) ∈ A tal que T |= A0 A ou existe ga(Q0, a, c) ∈ A tal que T |= ∃Q0 A, para alguma constante c, ou O é insatisfazível; e O |= A(a) se e só se existe A0(a) ∈ A tal que T |= A0(a) A ou existe 72
  • 79.
    7. TRADUÇÃO COMREDUÇÃO 7.2. Análise ga(Q0, a, c ) ∈ A tal que T |= ∃Q0 A, para alguma constante c , ou O é insatisfazível. Ora, dado que pela definição de redução A = A , que as consequências de T da forma B A são as mesmas que as de T , tem-se que se existe A0(a) ∈ A tal que T |= A0 A então existe A0(a) ∈ A tal que T |= A0 A – basta considerar que com A0 = A0 essa condição já é satisfeita – e vice-versa; se existe ga(Q0, a, b) ∈ A tal que T |= ∃Q0 A, para alguma constante c então existe ga(Q0, a, d) ∈ A tal que T |= ∃Q0 A, para alguma constante d – basta considerar que com Q0 = Q0 essa condição já é satisfeita – e vice-versa. Além disso, pela definição de redução tem-se também que O é insatisfazível se e só se O é insatisfazível. Logo, O |= A(a) se e só se O |= A(a). Por raciocínio semelhante, mas agora usado o lema 49, pode concluir-se que O |= P(a, b) se e só se O |= P(a, b). As duas proposições seguintes, referem que, tal como facilmente se intui, uma certa asserção negativa é consequência lógica de uma dada ontologia se, e apenas se, ao se lhe juntar a correspondente asserção positiva, essa ontologia se torna insatisfazível. Preposição 51. Seja O = T , A uma ontologia DL-LiteR satisfazível, A um conceito atómico, e a uma constante. Então O |= ¬A(a) se e só se a ontologia DL-LiteR O = T , A ∪ {A(a)} é insatisfazível. Demonstração. (→) Suponha-se que O |= ¬A(a) mas existe um modelo M de O . Assim, M |= A(a). Ora, se M é modelo de O então M |= T e M |= A, ou seja, M também é modelo de O. Assim, como O |= ¬A(a), tem-se que M |= A(a) e M |= ¬A(a), de onde se obtém a contradição. (←) Suponha-se que O é insatisfazível mas existe um modelo M de O tal que M |= A(a). Nesse caso, tem-se que M |= T , M |= A e M |= A(a), ou seja, M também é modelo de O , de onde se obtém a contradição. Preposição 52. Seja O = T , A uma ontologia DL-LiteR satisfazível, P uma relação atómica e a e b duas constantes. Então O |= ¬P(a, b) se e só se a ontologia DL-LiteR O = T , A ∪ {P(a, b)} é insatisfazível. Demonstração. Similar à demonstração da preposição 51. Mostra-se, nos dois lemas seguintes, que a redução de uma dada ontologia deriva exactamente as mesmas asserções negativas que essa ontologia. Lema 53. Seja O = T , A uma ontologia DL-LiteR . Seja O = T , A uma redução de O. Seja A um conceito atómico e a uma constante. Então O |= ¬A(a) se e só se O |= ¬A(a). Demonstração. Pela proposição 51 tem-se que O |= ¬A(a) se e só se a ontologia O = T , A∪{A(a)} é insatisfazível; e, de modo semelhante, O |= ¬A(a) se e só se a ontologia O = T , A ∪ {A(a)} é insatisfazível. Pelo lema 28 tem-se que O é insatisfazível se e só se can(O ) não a satisfaz; e que O é insatisfazível se e só se can(O ) não a satisfaz. Pelo lema 26, tem-se que can(O ) não satisfaz O se e só se db(A∪{A(a)}) |= cln(T ), A∪ 73
  • 80.
    7. TRADUÇÃO COMREDUÇÃO 7.2. Análise {A(a)} ; e que can(O ) não satisfaz O se e só se db(A ∪{A(a)}) |= cln(T ), A ∪{A(a)} . Portanto, para demostrar a propriedade pretendida basta mostrar que db(A ∪ {A(a)}) |= cln(T ), A ∪ {A(A)} se e só se db(A ∪ {A(a)}) |= cln(T ), A ∪ {A(a)} . Considerem-se as TBox negativas T1 = cln(T ) e T2 = cln(T ), e um axioma negativo arbitrário α. Pelo corolário 27 tem-se que T1 |= α se e só se T |= α; e que T2 |= α se e só se T |= α. Ora, dado que T é a TBox de uma redução de O = T , A , sabe-se que T |= α se e só se T |= α. Portanto, tem-se T1 |= α se e só se T2 |= α. Mostra-se que de facto se tem db(A ) |= T1, A se e só se se db(A ) |= T2, A , onde A corresponde a A ∪{A(a)} e A ∪ {A(a)} – recorde-se que, sendo A a ABox de uma redução de O = T , A , tem-se A = A. (→) Sabe-se que db(A ) |= T1, A se e só se existe um axioma negativo β ∈ T1 tal que db(A ) |= β. Considere-se β = B1 ¬B2. Nesse caso, T1 |= B1 ¬B2. Portanto, tem-se T2 |= B1 ¬B2. É fácil constatar que, para tal se verificar, tem de existir em T2 um axioma negativo, χ, B1 ¬B2, B2 ¬B1, B1 ¬B1, ou B2 ¬B2. Ora, dado que db(A ) |= B1 ¬B2, tem-se que existe a tal que db(A ) |= B1(a) e db(A ) |= B2(a). Com isso, conclui-se que db(A ) |= χ. Ou seja, db(A ) também não satisfaz T2, A . Considere-se β = B ¬B. Nesse caso, T1 |= B1 ¬B2. Portanto, tem-se T2 |= B ¬B. É fácil constatar que, para tal se verificar, tem de ter-se B ¬B ∈ T2. Portanto, db(A ) também não satisfaz T2, A . Considere-se β = Q1 ¬Q2. Por raciocínio similar apresentado no caso β = B1 ¬B2, conclui-se que db(A ) não satisfaz T2, A . Considere-se β = Q ¬Q. Por raciocínio similar ao apresentado no caso β = B ¬B, conclui-se que db(A ) não satisfaz T2, A . (←) Similar a (→), no sentido inverso, i.e. de T2 para T1. Lema 54. Seja O uma ontologia DL-LiteR . Seja O uma redução de O. Seja P uma relação atómica e a e b duas constantes. Então O |= ¬P(a, b) se e só se O |= ¬P(a, b). Demonstração. Similar ao lema 53. Em [28] é apresentada a noção de oráculo parcial abstracto, que corresponde a um oráculo parcial que é necessariamente correcto. Definição 55. Seja Kd = (O, Od, Pd) uma base de conhecimento MKNF duplicada, onde O é uma ontologia DL-LiteR . Define-se oráculo parcial abstracto para O, denotado por pTa O, como o oráculo parcial tal que pTOa(I, S, L) se só se O ∪ I ∪ L |= S ou Od ∪ I ∪ L para O ∪ I ∪ L e Od ∪ I ∪ L consistentes, respectivamente. É também enunciada em [28] a seguinte preposição. Preposição 56. Seja Kd = (O, Od, Pd) uma base de conhecimento híbrida MKNF. O oráculo parcial abstracto pTa O é correcto relativamente a compTO. 74
  • 81.
    7. TRADUÇÃO COMREDUÇÃO 7.2. Análise Finalmente, demonstra-se, com base dos resultados anteriores, que oráculo definido é correcto. Teorema 57. Seja Kd = (O, Od, Pd) uma base de conhecimento MKNF duplicada, onde O é uma ontologia DL-LiteR . Seja O uma redução de O. Então pTO O é um oráculo parcial correcto relativamente a compTO. Demonstração. Segue dos lemas 50, 53 e 47 que pTa O(∅, S, ∅) se e só se pTO O (∅, S, ∅) verifica- se. Pode também derivar-se desses lemas que se tem pTa O (I, S, L) se e só se pTO O (I, S, L), para I e L arbitrários, simplesmente porque adicionar I ∪ L , onde I e L são os conjun- tos de regras correspondentes ao literais de I e L, respectivamente, a Pd O corresponde a adicionar I ∪ L à ABox de O, que depois de traduzida origina essas mesmas regras. Assim pTa O e pTO O sucedem exactamente para o mesmo conjunto de queries; e, como pTa O é um oráculo correcto relativamente a compTO, obtém-se que pTO O é um um oráculo correcto relativamente a compTO. 75
  • 82.
    8 Tradução directa O oráculoDL-LiteR directo baseia-se numa tradução da ontologia para regras não mo- nótonas, à semelhança do que acontece com os oráculos EL+ ⊥e DL-LiteR indirecto, ante- riormente apresentados. No entanto, contrariamente a estes, não recorre a qualquer tipo de redução da TBox. Neste oráculo, ao invés de se evitar a ocorrência de axiomas cuja tradução para regras não é óbvia, introduzem-se alguns predicados especiais para per- mitir essa tradução. As quantificações existenciais no lado direito de axiomas, que, com já se viu, não podem ser representados recorrendo exclusivamente aos operadores da programação em lógica e aos símbolos da assinatura da ontologia, são aqui representa- das usando esses predicados especiais. Outra diferença importante entre o oráculo DL-LiteR directo e os oráculos anteri- ormente apresentados é que, contrariamente ao primeiro, os últimos pressupõem inde- pendência entre os conjuntos de axiomas positivos e negativos (no caso do EL+ ⊥, a não existência dos segundos) da TBox à qual é aplicada a tradução, i.e. da TBox reduzida, no sentido em que, a junção de ambos não deriva mais axiomas que cada um separa- damente. Recorde-se que um dos passos da redução no oráculo DL-LiteR indirecto é a aplicação do fecho dos axiomas negativos relativamente aos positivos, que adiciona precisamente os axiomas negativos que resultam da interacção entre axiomas positivos e negativos. Ora, no oráculo directo, uma vez que não há redução, essa interacção, nem sempre trivial, tem de ser tida em conta na própria tradução. Para estudar o efeito dessa interação entre axiomas positivos e negativos sobre a derivação de asserções, recorre-se a uma estrutura bem conhecida: o grafo 1. Tal abordagem é igualmente adoptada em [32], 1 Embora [9] (ver capítulo 6) defina o fecho dos axiomas negativos relativamente aos positivos, cln, e apre- sente algumas das suas propriedades, não fornece outras ferramentas que permitam estudar as propriedades pretendidas. Revelou-se mais producente optar por introduzir a noção de grafo de TBox mencionada. 76
  • 83.
    8. TRADUÇÃO DIRECTA8.1. Resultados definido-se a noção de grafo da TBox, que na presente dissertação se estende, de modo a também tratar axiomas negativos. A Secção 8.1 apresenta os resultados relevantes desta abordagem, definindo a noção de grafo da TBox, dois conjuntos de conceitos e relações com propriedades relevantes para a tradução – insatisfazibilidade e irreflexividade – em termos do grafo, a tradução da ontologia para regras, e o oráculo baseado nessa tradução, e finalmente, enunciado a correcção do oráculo apresentado. A Secção 8.2 elabora a avaliação analítica desses re- sultados, começando por estabelecer a correcção da tradução quanto às derivações (de asserções) positivas (Subsecção 8.2.1), estudando depois algumas propriedades relevan- tes do grafo no que toca às derivações negativas (Subsecção 8.2.2), estabelecendo então a correcção da tradução quanto às derivações negativas (Subsecção 8.2.3), e finalmente, estabelecendo a correcção do oráculo baseado nessa tradução (Subsecção 8.2.4). A Sec- ção 8.3 apresenta os algoritmos para computar os conjuntos de conceitos e relações insa- tisfazíveis e relações irreflexivas. 8.1 Resultados O seguinte exemplo introduz a ideia de representar existenciais no lado direito de axio- mas através de predicados especiais. Exemplo 58. Considere-se a ontologia do exemplo 2. Recorde-se que os axiomas não susceptíveis de ser traduzidos para regras recorrendo apenas aos operadores da progra- mação em lógica e aos símbolos da assinatura da ontologia são Piece ∃HasArtist e Composer ∃HasComposed. Com efeito, na programação em lógica a inferência é limi- tada a factos acerca de indivíduos concretos. Não se permite variáveis quantificadas exis- tencialmente no consequente das regras. Por exemplo, se se escrevesse HasComposed(x, t) ← Composer(x), t seria necessariamente ou uma variável quantificada universalmente, que capturaria todos os elementos do universo de Herbrand, ou uma constante, que repre- sentaria um indivíduo concreto 2. No entanto, se se tratar o existencial ∃HasComposed como um novo conceito atómico DHasComposed – o conjunto de todos indivíduos que participa, como sujeito, na relação HasComposed, ou por outras palavras, o domínio de HasComposed – a tradução torna-se natural: DHasComposed(x) ← Composer(x). Veja-se que esta regra captura exactamente a informação pretendida: se o indivíduo x é um compositor então x tem de participar, como sujeito, na relação HasComposed. Tem apenas de considerar-se adicionalmente a interação entre este meta-predicado e a rela- ção a que correspondente. De HasComposed(GeorgeGershwin, RhapsodyInBlues), por exemplo, deve inferir-se DHasComposed(GeorgeGershwin). Ora, tal interacção pode ser 2 Note-se que se se usasse uma nova constante, c, para representar um indivíduo indeterminado, escrevendo-se HasComposed(x, c) ← Composer(x), uma query HasComposed(GustavMahler, c), onde c já representa um indivíduo concreto (apesar de não se tratar do nome de nenhuma música), sucederia, quando na verdade indivíduo indeterminado com o qual Gustav Mahler se relaciona por HasComposed poderia ser qualquer outro. 77
  • 84.
    8. TRADUÇÃO DIRECTA8.1. Resultados axiomatizada por uma nova regra DHasComposed(x) ← HasComposed(x, y). Outro as- pecto que tem de se ter em conta é que agora ao traduzir-se o axioma HasComposed− HasArtist tem de considerar-se não só os predicados correspondentes às relações envol- vidas, HasArtist(x, y) ← HasComposed(y, x), como também os novos meta-predicados que representam os seus domínios e contradomínios: DHasArtist(x) ← RHasComposed(x) e RHasArtist(x) ← DHasComposed(x). Aplicando a abordagem descrita aos axiomas positivos da TBox do Exemplo 2, obtém- se as seguintes regras 3 4 : DHasArtist(x) ← Piece(x) (8.1) Artist(x) ← RHasArtist(x) (8.2) Piece(x) ← RHasComposed(x) (8.3) HasArtist(x, y) ← HasComposed(y, x) (8.4) DHasArtist(x) ← RHasComposed(x) (8.5) RHasArtist(x) ← DHasComposed(x) (8.6) DHasComposed(x) ← Composer(x) (8.7) DHasArtist(x) ← HasArtist(x, y) (8.8) RHasArtist(x) ← HasArtist(y, x) (8.9) DHasComposed(x) ← HasComposed(x, y) (8.10) RHasComposed(x) ← HasComposed(y, x) (8.11) HasArtist(BlueTrain, JohnColtrane) ← (8.12) HasComposed(GeorgeGershwin, RhapsodyInBlue) ← (8.13) Composer(GustavMahler) ← (8.14) As regras 8.8-8.11 axiomatizam o “significado” dos meta-predicados DHasArtist, RHasArtist (contradomínio de HasArtist), DHasComposed e RHasComposed. Note-se que com estas regras se derivam as asserções pretendidas, já apresentadas em exemplos anteriores, nomeadamente: Artist(GustavMahler), por 8.14, 8.7, 8.6 e 8.2; Artist(GeorgeGershwin), por 8.13, 8.4, 8.9 e 8.2; Artist(JohnColtrane), por 8.12, 8.9 e 8.2; HasArtist(RhapsodyInBlues, GeorgeGershwin), por 8.13, 8.4; e Piece(RhapsodyInBlue), por 8.13 e 8.5. À semelhança do que acontecia na tradução indirecta, recorre-se a uma função de tra- dução de descrições de conceitos e relações auxiliar, para definir a tradução da ontologia para regras. Note-se o uso dos predicados especiais mencionados nos exemplos anteri- ores para representar as quantificações existenciais. Tal como acontecia no exemplo an- terior, um predicado com prefixo D, DP, denota o conjunto dos indivíduos que estão no 3 Por simplicidade de apresentação, omitem-se as regras duplicadas, e a tradução de alguns axiomas e asserções que não são relevantes para os propósitos do presente exemplo. 4 A regra 8.4 é obtida de modo similar ao da tradução indirecta. 78
  • 85.
    8. TRADUÇÃO DIRECTA8.1. Resultados domínio de uma relação atómica P; um predicado com prefixo R, RP, denota o conjunto dos indivíduos que estão no contradomínio 5. Definição 59. Denote-se por C um conceito, R uma relação, x e y variáveis e por ’_’ variáveis anónimas, i.e. cada ocorrência de ’_’ denota uma variável diferente e disjunta de x e y. Define-se tr(C, x) do seguinte modo: tr(C, x) =    A(x) se C = A DP(x) se C = ∃P RP(x) se C = ∃P− NA(x) se C = ¬A tr(¬Q, x, _) se C = ¬∃Q (8.15) Define-se tr(R, x, y) do seguinte modo: tr(R, x, y) =    P(x, y) se R = P P(y, x) se R = P− NP(x, y) se R = ¬P NP(y, x) se R = ¬P− (8.16) Além disso, trd(B, x) e trd(Q, x, y), onde B é um conceito básico e Q uma relação básica, denotam os mesmos átomos que tr(C, x) e tr(Q, x, y), respectivamente, mas com os pre- dicados originais substituídos pelos respectivos predicados duplicados. Exemplo 60. Considere-se novamente a ontologia do exemplo 2. A hierarquia de sub- sunções, incluindo as implícitas, da TBox dessa ontologia pode ser representada sobre a forma de um grafo dirigido, em que cada nó representa um conceito ou relação e cada arco dirigido representa uma subsunção, onde o vértice de origem corresponde ao con- ceito ou relação menos geral e o vértice destino corresponde ao conceito ou relação mais geral (figura 8.1). Note-se que os axiomas positivos resultantes da classificação da TBox, menciona- dos no exemplo 39, e os axiomas do fecho de subsunções negativas, apresentados no exemplo 25, têm no grafo os correspondentes caminhos, em que a vértice de origem corresponde ao conceito ou relação menos geral e o vértice de destino ao conceito ou relação mais geral, dessas subsunções. Adicionalmente, têm-se alguns arcos que não representam axiomas de subsunção DL-LiteR . Esses arcos correspondem às subsun- ções entre complementos. Por exemplo, o arco (¬Recommend, ¬TopSeller), que contri- bui para o caminho de LessSold para ¬TopSeller, correspondente a um dos axiomas do fecho negativo, representa o axioma ¬Recommend ¬TopSeller. Tal pode inferir-se de TopSeller Recommend: se se sabe que o conjunto dos objectos recomendados contém 5 O “D” vem da palavra inglesa domain e o “R” de range. 79
  • 86.
    8. TRADUÇÃO DIRECTA8.1. Resultados Piece ∃HasArtist ¬∃HasArtist ¬Piece ∃HasArtist− Artist ¬Artist ¬∃HasArtist− ∃HasComposed− ¬∃HasComposed− ∃HasComposed ¬∃HasComposed Composer ¬Composer TopSeller Recommend ¬Recommend ¬TopSeller LessSold ¬LessSold HasComposed− HasArtist ¬HasArtist ¬HasComposed− HasComposed HasArtist− ¬HasArtist− ¬HasComposed Figura 8.1: Grafo da TBox do exemplo 2 todos os que são mais vendidos então sabe-se igualmente que qualquer objecto que não seja recomendado também não pode ser dos mais vendidos. Tal raciocínio é aplicável a qualquer axioma positivo, tal como figura 8.1 sugere. Esta representação gráfica da TBox permite não só visualizar as consequências ló- gicas relativas às subsunções, com também todas as que são relativas às pertenças de indivíduos a conceitos ou participação de pares de indivíduos a relação. Considere-se a asserção Composer(GustavMahler). Todos os vértices alcançáveis a partir do vértice Composer correspondem a conceitos aos quais o indivíduo GustavMahler pertence. Por- tanto, as asserções deriváveis de Composer(GustavMahler) em conjunto com a TBox são exactamente aquelas que se podem formar com os referidos conceitos e o indivíduo em causa, GustavMahler: ∃HasComposed(GustavMahler), ∃HasArtist− (GustavMahler), Artist(GustavMahler), ¬Piece(GustavMahler), e ¬∃HasComposed− (GustavMahler). De modo semelhante, pode obter-se todas as asserções que são consequência lógica da ontologia. Note-se agora, também através da representação em grafo da TBox, uma característica relevante da relação HasComposed. Partindo dos vértices correspondentes aos dois lados da relação, i.e. ao domínio e contradomínio, e percorrendo os caminhos que os tem como origem, alcança-se o complemento do lado oposto (o contradomínio no caso de se ter partido do domínio, e vice-versa), o que significa que pode inferir-se ∃HasComposed ¬∃HasComposed− ou ∃HasComposed− ¬∃HasComposed. Portanto, os indivíduos 80
  • 87.
    8. TRADUÇÃO DIRECTA8.1. Resultados que participem na relação HasComposed como sujeito, não podem participar como ob- jecto e vice-versa. Por outras palavras, a relação HasComposed é irreflexiva. Tal obser- vação seria igualmente possível se se considerasse apenas o grafo correspondente à TBox formada pelos axiomas positivos: existe um caminho de ∃HasComposed para Artist e outro de ∃HasComposer− para Piece e um dos axiomas negativos da TBox é precisa- mente Artist ¬Piece. Quanto a derivações, embora essa propriedade não permita derivar nenhuma asserção DL, sob o ponto de vista da lógica de primeira ordem, per- mite a inferência de ∀x¬HasComposer(x, x), que tem de ser capturada no programa re- sultante da tradução da ontologia. Os critérios descritos podem ser aplicados em geral, para encontrar qualquer relação irreflexiva. Imagine-se agora que, por engano, se introduzia um axioma Composer ∃HasCo mposer−. Nesse caso, o grafo da figura 8.1 passaria a ter adicionalmente um arco (Composer, HasComposed− ). Assim, haveria um caminho de Composer para Artist e de Composer para Piece. Ora, como se tem um axioma negativo Artist ¬Piece, poderia concluir- se imediatamente, desta observação, que Composer seria insatisfazível. Com a asserção Composer(GustavMahler), por exemplo, inferir-se-ia Artist(GustavMahler) e Piece(Gu stavMahler), o que não satisfaria o referido axioma negativo. O mesmo aconteceria para qualquer outro indivíduo, e portanto, nenhum poderia estar na extensão de Composer. Mais uma vez, embora tal não resultasse na derivação de nenhuma nova asserção, per- mitiria uma nova inferência, ∀x¬Composer(x), que deveria ter-se em conta na tradução de uma tal ontologia. Note-se que, novamente, os critérios descritos para este conceito insatisfazível em particular, podem ser aplicados para detectar qualquer conceito ou re- lação insatisfazível. A seguinte definição formaliza a noção de grafo de uma TBox, introduzida no exem- plo anterior. Definição 61. Seja T uma TBox DL-LiteR com assinatura ΣT . Define-se o digrafo de T , GT = V, E , construtivamente, do seguinte modo. 1. se o conceito atómico A está em ΣT então A e ¬A estão em V; 2. se a relação atómica P está em ΣT então P, ∃P, ∃P−, ¬P ¬∃P e ¬∃P− estão em V; 3. se B1 B2 está em T então os arcos dirigidos (B1, B2) e (¬B2, ¬B1) estão em E; 4. se Q1 Q2 está em T então os arcos dirigidos (Q1, Q2), (Q1 − , Q2 − ), (∃Q1, ∃Q2), (∃Q− 1 , ∃Q− 2 ), (¬Q2, ¬Q1), (¬Q− 2 , ¬Q− 1 ), (¬∃Q2, ¬∃Q1) e (¬∃Q− 2 , ¬∃Q− 1 ) estão em E; 5. se B1 ¬B2 está em T então os arcos dirigidos (B1, ¬B2) e (B2, ¬B1) estão em E; 6. se Q1 ¬Q2 está em T então os arcos dirigidos (Q1, ¬Q2), (Q− 2 , ¬Q− 1 ), (∃Q1, ¬∃Q2), (∃Q2, ¬∃Q1), (∃Q− 1 , ¬∃Q− 2 ) e (∃Q− 2 , ¬∃Q− 1 ) estão em E. 81
  • 88.
    8. TRADUÇÃO DIRECTA8.1. Resultados Tal como exemplo anterior sugere, dois conjuntos de símbolos da TBox apresentam certas propriedades que não podem ser inferidas de nenhum axioma isoladamente – ape- nas da própria estrutura do grafo da TBox – mas que têm de ser expressas, de alguma forma, através de regras. São eles o conjunto dos conceitos atómicos e relações atómi- cas insatisfazíveis e o das relações irreflexivas. Os primeiros podem ser identificados, no grafo da TBox, aplicando os critérios apresentados na seguinte definição. Definição 62. Seja T uma TBox DL-LiteR com assinatura ΣT e digrafo GT . Define-se Ω(T ) do seguinte modo: 1. se A ∈ ΣT e, para algum B1 ¬B2 ∈ T , existe um caminho em GT de A para B1 e de A para B2, então A ∈ Ω(T ); 2. se P ∈ ΣT e, para algum B1 ¬B2 ∈ T , existe um caminho em GT de ∃P para B1 e de ∃P para B2, então P ∈ Ω(T ); 3. se P ∈ ΣT e, para algum B1 ¬B2 ∈ T , existe um caminho em GT de ∃P− para B1 e de ∃P− para B2, então P ∈ Ω(T ); 4. se P ∈ ΣT e, para algum Q1 ¬Q2 ∈ T , existe um caminho em GT de P para Q1 e de P para Q2, então P ∈ Ω(T ); 5. se P ∈ ΣT e, para algum Q1 ¬Q2 ∈ T , existe um caminho em GT de P− para Q1 e de P− para Q2, então P ∈ Ω(T ). O conjunto das relações irreflexivas pode ser obtido, através do grafo da TBox, apli- cando a seguinte definição. Definição 63. Seja T uma TBox DL-LiteR com assinatura ΣT e digrafo GT . Define-se Ψ(T ) do seguinte modo: 1. se P ∈ ΣT e, para algum B1 ¬B2 ∈ T , existe um caminho em GT de ∃P para B1 e de ∃P− para B2, então P está em Ψ(T ); 2. se P ∈ ΣT e, para algum B1 ¬B2 ∈ T , existe um caminho em GT de ∃P− para B1 e de ∃P para B2, então P está em Ψ(T ); 3. se P ∈ ΣT e, para algum Q1 ¬Q2 ∈ T , existe um caminho em GT de P para Q1 e de P− para Q2, então P está em Ψ(T ); 4. se P ∈ ΣT e, para algum Q1 ¬Q2 ∈ T , existe um caminho em GT de P− para Q1 e de P para Q2, então P está em Ψ(T ). A tradução da ontologia para regras é definida do seguinte modo. Definição 64. Seja O = T , A uma ontologia DL-LiteR , onde T tem assinatura ΣT . Denote-se por x e y variáveis, e por a e b constantes. Define-se a tradução de O para regras não monótonas, denotada por Pd O, como o programa em lógica contendo as seguintes regras: 82
  • 89.
    8. TRADUÇÃO DIRECTA8.1. Resultados (e) para cada P ∈ ΣT 6: DP(x) ← P(x, y) RP(y) ← P(x, y) DPd(x) ← P(x, y) RPd(x) ← P(x, y) (a1) para cada A(a) ∈ A: A(a) ← Ad(a) ← not NA(a) (a2) para cada P(a, b) ∈ A: P(a, b) ← Pd(a, b) ← not NP(a, b) (s1) para cada B1 B2 ∈ T : tr(B2, x) ← tr(B1, x) trd(B2, x) ← trd(B1, x), not tr(¬B2, x) tr(¬B1, x) ← tr(¬B2, x) (s2) para cada Q1 Q2 ∈ T 7: tr(Q2, x, y) ← tr(Q1, x, y) trd(Q2, x, y) ← trd(Q1, x, y), not tr(¬Q2, x, y) tr(∃Q2, x) ← tr(∃Q1, x) trd(∃Q2, x) ← trd(∃Q1, x), not tr(¬∃Q2, x) tr(∃Q2 − , x) ← tr(∃Q1 − , x) trd(∃Q2 − , x) ← trd(∃Q1 − , x), not tr(¬∃Q2 − , x) tr(¬Q1, x, y) ← tr(¬Q2, x, y) (n1) para cada B1 ¬B2 ∈ T : tr(¬B1, x) ← tr(B2, x) tr(¬B2, x) ← tr(B1, x) (n2) para cada Q1 ¬Q2 ∈ O: tr(¬Q2, x, y) ← tr(Q1, x, y) tr(¬Q1, x, y) ← tr(Q2, x, y) (i1) para cada A ∈ Ω(T ): NA(x) ← (i2) para cada P ∈ Ω(T ): NP(x, y) ← 6 Como optimização pode introduzir-se apenas as regras cujo o antecedente e consequente surjam em alguma outra regra. Por exemplo, introduzir DP(x) ← P(x, y) apenas se a ontologia contém um axioma da forma ∃P B (que originaria uma regra tr(B, x) ← DP(x)) e, um axioma da forma Q P (que originaria uma regra P(x, y) ← tr(Q, x, y) ou uma asserção P(a, b) (que originaria uma regra P(a, b) ←). 7 Como optimização podem adicionar-se apenas as regras, de entre a terceira à sexta, cujos consequentes ocorrem no antecedente de outras regras da tradução. 83
  • 90.
    8. TRADUÇÃO DIRECTA8.2. Análise (ir) para cada P ∈ Ψ(T ): NP(x, x) ← Note-se a última regra dos casos (s1) e (s2). Recorde-se que, em termos de expressi- vidade, as lógicas de descrição são um fragmento da lógica da primeira ordem, na qual uma subsunção de conceitos ou relações corresponde a uma implicação. Ora, é bem co- nhecido na lógica de primeira ordem, e já se introduziu tal noção no exemplo anterior, o modus tollens, i.e. a regra de inferência que dita que de uma implicação e da negação do seu consequente se pode inferir a negação do seu antecedente. Na programação em lógica, embora cada regra também corresponda a uma implicação, como se adopta a ne- gação por omissão em vez da negação clássica 8, tal regra de inferência não é aplicável. É para garantir que as derivações por modus tollens, possíveis na ontologia, não se perdem na respectiva tradução que as referidas regras são adicionadas. O caso (i1) (resp., (i2)), expressa a insatisfazibilidade de conceitos (resp., relações), in- troduzindo um facto que nega a pertença de qualquer indivíduo a esses conceitos (resp., par de indivíduos a essa relação). O caso (ir) expressa a irreflexividade de relações, introduzir um facto que nega a par- ticipação, nessa relação, de qualquer indivíduo consigo mesmo. Com base nesta tradução, define-se finalmente o oráculo DL-LiteR directo. Definição 65. Seja Kd = (O, O, Pd) uma base de conhecimento MKNF duplicada, onde O é uma ontologia DL-LiteR . Define-se o oráculo DL-LiteR directo de O, denotado por pTO, como o oráculo parcial tal que pTO(I, S, L) se só se Pd O ∪ I ∪ L |=WF S, onde I e L são os conjuntos das regras correspondentes aos literais de I e L, respectivamente. O terceiro resultado teórico desta dissertação é o de que o oráculo DL-LiteR directo, baseado na tradução directa da ontologia para regras não monótonas, é correcto, i.e. que ao se substituir o oráculo completo por esse oráculo o SLG(O) sucede exactamente para o mesmo conjunto de queries. Teorema 78. Seja Kd = (O, O, Pd) uma base de conhecimento MKNF duplicada, onde O é uma ontologia DL-LiteR , e pTO o oráculo DL-LiteR directo de O. Então pTO é um oráculo parcial correcto relativamente a compTO. 8.2 Análise Nesta secção, procede-se à análise do resultado anterior. As quatro subsecções subse- quentes correspondem aos quatro passos principais em que a demonstração do resul- tado se divide: a demonstração de que as asserções positivas derivadas pela tradução directa são exactamente as mesmas que as derivadas pela ontologia original; a obtenção 8 Note-se, no entanto, que é sempre possível representar a negação clássica – como aliás, se faz na tradu- ção apresentada – havendo até extensões da programação em lógica que acrescentam um operador que a representa e axiomatizam a sua coerência com a negação por omissão. 84
  • 91.
    8. TRADUÇÃO DIRECTA8.2. Análise dos resultados necessários ao estudo das derivações negativas, estabelecendo algumas propriedades do grafo da TBox; a demonstração de que as asserções negativas derivadas pela tradução são as mesmas que as derivadas pela ontologia original; e finalmente, a de- monstração, com base nos passos anteriores, de que o oráculo é correcto, ou seja, que a tradução juntamente com os conjuntos de literais que parametrizam o oráculo derivam as mesmas asserções que a ontologia original e esses conjuntos. 8.2.1 Derivações positivas Começa-se obter uma correspondência, útil nos passos seguintes, entre o resultado da aplicação do operador chase a uma dada ontologia e as asserções de conceito positivas que se derivam dessa ontologia. Lema 66. Seja O = T , A uma ontologia DL-LiteR satisfazível, A um conceito atómico e a uma constante que ocorre em O. Então O |= A(a) se e só se A(a) ∈ chase(O). Demonstração. Pelo teorema 29 , O |= A(a) se e só se a ontologia O = T ∪ { ˆA ¬A}, A ∪ { ˆA(a)} , onde ˆA é um conceito atómico que não ocorre em O, é insatisfazí- vel. Assim, pelo lema 28 , O |= A(a) se e só se can(O ) |= O . Portanto, pelo lema 21 , O |= A(a) se e só se existe um axioma de subsunção negativo α ∈ T ∪ { ˆA ¬A} tal que can(O ) |= α. A demonstração prossegue do seguinte modo. Mostram-se as seguintes propriedades auxiliares: chase(O ) = chase(O) ∪ { ˆA(a)} e ˆAcan(O ) = {a}. Demonstra-se que existe α ∈ T ∪ { ˆA ¬A} tal que can(O ) |= α se e só se A(a) ∈ chase(O), através dos seguintes passos: mostra-se, por contradição, que não existe nenhum axioma de sub- sunção negativo em T que não seja satisfeito por can(O ), ou seja, que α = ˆA ¬A; e mostra-se que can(O ) |= ˆA ¬A se e só se A(a) ∈ chase(O). Por definição de chase, chase(O ) = chase( Tp, A∪{ ˆA(a)} ) e chase(O) = chase( Tp, A ), onde Tp denota a TBox formada pelos axiomas positivos de T . Além disso, como ˆA não ocorre em O, não existe em T nenhum axioma de subsunção positivo β nem nenhum or- dinal i tal que a β seja aplicável a ˆA(a) em chasei(O ). Portanto, chase( Tp, A∪{ ˆA(a)} ) = chase( Tp, A ) ∪ { ˆA(a)}. Logo, chase(O ) = chase(O) ∪ { ˆA(a)}. Dado que ˆA não ocorre em T , tem-se que que não existem β ∈ Tp, i ∈ N, f ∈ A ∪ { ˆA(a)}, tais que β seja aplicável a f em chasei(O ) e que ˆA ocorra em β. Portanto, qualquer asserção de pertença g ∈ chase(O ) onde ˆA ocorra está contida necessariamente em chase0(O ) = A ∪ { ˆA(a)}. Como ˆA não ocorre em A, conclui-se que ˆA(a) é a única asserção de pertença em chase(O ) onde ˆA ocorre, e assim, que Acan(O ) = {a}. Suponha-se então que existe um axioma negativo α ∈ T que não é satisfeito por can(O ). Nesse caso, dado que chase(O ) = chase(O) ∪ { ˆA(a)} e que ˆA não ocorre em α, tem-se então que can(O) |= α. Portanto, can(O) |= T . Ou seja, can(O) |= O. Assim, pelo lema 28 , tem-se que O é insatisfazível, o que contradiz a assunção inicial. Mostra-se então que can(O ) |= ˆA ¬A se e só se A(a) ∈ chase(O). (→) Tem-se então que can(O ) |= ˆA ¬A. Ou seja, existe um indivíduo o tal que o ∈ ˆAcan(O ) e o ∈ Acan(O ). Dado que ˆAcan(O ) = {a}, tem-se que acan(O) é o único 85
  • 92.
    8. TRADUÇÃO DIRECTA8.2. Análise indivíduo para o qual essa condição pode ser satisfeita. Portanto, A(a) ∈ chase(O ). Uma vez que chase(O ) = chase(O) ∪ { ˆA(a)}, conclui-se que A(a) ∈ chase(O). (←) Tem-se que A(a) ∈ chase(O). Portanto, como chase(O ) = chase(O) ∪ { ˆA(a)}, tem-se A(a) ∈ chase(O ). Assim, a ∈ Acan(O ). Como a ∈ ˆAcan(O ), conclui-se então que can(O ) |= ˆA ¬A. Obtém-se o correspondente ao resultado anterior, para as asserções de relação positi- vas. Lema 67. Seja O = T , A uma ontologia DL-LiteR satisfazível, P uma relação atómica e a e b duas constantes que ocorrem em O. Então O |= P(a, b) se e só se P(a, b) ∈ chase(O). Demonstração. Similar à demonstração do lema 66, usando o teorema 30. Tendo-se estabelecido a correspondência entre as asserções derivadas por uma dada ontologia e as que estão contidas no resultado da aplicação do operador chase a essa ontologia, basta, essencialmente, mostrar que correspondência semelhante existe entre as asserções de chase e os factos do modelo bem fundado do programa resultante da tradução directa. Lema 68. Seja O = T , A uma ontologia DL-LiteR satisfazível, A um conceito atómico, P uma relação atómica, Q uma relação básica, a e b duas constantes que ocorrem em O e I∞ o modelo bem fundado de Pd O. Então verificam-se as seguintes propriedades: (i) A(a) ∈ chase(O) se e só se A(a) ∈ I∞; (ii) ga(Q, a, c) ∈ chase(O), para alguma constante c, se e só se tr(∃Q, a) ∈ I∞; (iii) P(a, b) ∈ chase(O) se e só se P(a, b) ∈ I∞. Demonstração. (→) Demonstra-se por indução na construção de chase(O). Passo base. (i) Se A(a) ∈ chase0(O) então, por definição de chase, A(a) ∈ A. Portanto a regra A(a) ← está em Pd O. Assim, A(a) ∈ TPd O (∅) = TPd O (I0), ou seja, A(a) ∈ I1. Logo, A(a) ∈ I∞. (ii) Se ga(Q, a, c) ∈ chase0(O) então, por definição de chase, ga(Q, a, c) ∈ A. Por- tanto a regra tr(Q, a, c) ← está em Pd O. Assim, tr(Q, a, c) ∈ TPd O (∅) = TPd O (I0), ou seja, tr(Q, a, c) ∈ I1. Ora, tr(∃Q, x) ← tr(Q, x, y), onde tr(∃Q, x) representa o átomo DP(x) ou RP(x), também está em Pd O. Portanto, tr(∃Q, a) ∈ TPd O (I1), ou seja, tr(∃Q, a) ∈ I2. Logo, tr(∃Q, a) ∈ I∞. (iii) Se P(a, b) ∈ chase0(O) então, por definição de chase, P(a, b) ∈ A, ou seja, P(a, b) ∈ O. Portanto a regra P(a, b) ← está em Pd O. Assim, P(a, b) ∈ TPd O (∅) = TPd O (I0), ou seja, P(a, b) ∈ I1. Logo, P(a, b) ∈ I∞. Passo de indução. 86
  • 93.
    8. TRADUÇÃO DIRECTA8.2. Análise (i) Suponha-se que A(a) ∈ chasei+1(O). Suponha-se também que A(a) ∈ chasei(O), pois, caso contrário, a propriedade verifica-se trivialmente pela hipótese de indução. As- sim, chasei+1(O) é obtido de chasei(O) aplicando a regra (cr1) ou a regra (cr3). Considere-se o primeiro caso, (cr1). Nesse caso, existem α = A A ∈ T e f = A (a) ∈ chasei(O), tal que α é aplicável a f em chasei(O). Pela hipótese de indução A (a) ∈ I∞. Ou seja, existe um ordinal sucessor γ tal que A (a) ∈ Iγ. Além disso, dado que A A ∈ T então a regra A(x) ← A (x) está em Pd O. Assim, A(a) ∈ TPd O (Iγ), ou seja, A(a) ∈ Iγ+1. Logo, A(a) ∈ I∞. Considere-se o segundo caso, (cr3). Nesse caso, existem α = ∃Q A ∈ T e f = ga(Q, a, c) ∈ chasei(O), tal que α é aplicável a f em chasei(O). Pela hipótese de indução tr(∃Q, a) ∈ I∞. Ou seja, existe um ordinal sucessor γ tal que tr(∃Q, a) ∈ Iγ. Além disso, dado que ∃Q A ∈ T então a regra A(x) ← tr(∃Q, x) está em Pd O. Assim, A(a) ∈ TPd O (Iγ), ou seja, A(a) ∈ Iγ+1. Logo, A(a) ∈ I∞. (ii) Suponha-se que ga(Q, a, c) ∈ chasei+1(O). Suponha-se também que ga(Q, a, c) ∈ chasei(O), pois, caso contrario, a propriedade verifica-se trivialmente pela hipótese de indução. Assim, chasei+1(O) é obtido de chasei(O) aplicando a regra (cr2), a regra (cr4) ou a regra (cr5). Considere-se o primeiro caso, (cr2). Nesse caso, existem α = A ∃Q ∈ T e f = A (a) ∈ chasei(O), tal que α é aplicável a f em chasei(O). Pela hipótese de indução A (a) ∈ I∞. Ou seja, existe um ordinal sucessor γ tal que A (a) ∈ Iγ. Além disso, dado que A ∃Q ∈ T então a regra tr(∃Q, x) ← A (x) está em Pd O. Assim, tr(∃Q, a) ∈ TPd O (Iγ), ou seja, tr(∃Q, a) ∈ Iγ+1. Logo, tr(∃Q, a) ∈ I∞. Considere-se o segundo caso, (cr4). Nesse caso, existem α = ∃Q ∃Q ∈ T e f = ga(Q , a, c) ∈ chasei(O), tal que α é aplicável a f em chasei(O). Pela hipótese de indução tr(∃Q , a) ∈ I∞. Ou seja, existe um ordinal sucessor γ tal que tr(∃Q , a) ∈ Iγ. Além disso, dado que ∃Q ∃Q ∈ T então a regra tr(∃Q, x) ← tr(∃Q , x) está em Pd O. Assim, tr(∃Q, a) ∈ TPd O (Iγ), ou seja, tr(∃Q, a) ∈ Iγ+1. Logo, tr(∃Q, a) ∈ I∞. Considere-se o terceiro caso, (cr5). Nesse caso, existem α = Q Q ∈ T ou α = (Q )− Q− ∈ T e f = ga(Q , a, c) ∈ chasei(O), tal que α é aplicável a f em chasei(O) (note-se que ga(Q , a, c) = ga((Q )− , c, a), e por isso se pode ter qualquer um dos α men- cionados). Pela hipótese de indução tr(∃Q , a) ∈ I∞. Ou seja, existe um ordinal sucessor γ tal que tr(∃Q , a) ∈ Iγ. Além disso, dado que Q Q ∈ T ou (Q )− Q− ∈ T então a regra tr(∃Q, x) ← tr(∃Q , x) está em Pd O. Assim, tr(∃Q, a) ∈ TPd O (Iγ), ou seja, tr(∃Q, a) ∈ Iγ+1. Logo, tr(∃Q, a) ∈ I∞. (iii) Suponha-se que P(a, b) ∈ chasei+1(O). Suponha-se também que P(a, b) ∈ chasei(O), pois, caso contrário, a propriedade verifica-se trivialmente pela hipótese de indução. As- sim, chasei+1(O) é obtido de chasei(O) aplicando a regra (cr5). Nesse caso, existem α = Q P ∈ T e f = ga(Q , a, b) ∈ chasei(O), tal que α é aplicável a f em chasei(O). Pela hipótese de indução tr(Q , a, b) ∈ I∞. Ou seja, existe um ordinal sucessor γ tal que tr(Q , a, b) ∈ Iγ. Além disso, dado que Q P ∈ T então a regra P(x, y) ← tr(Q , x, y) está em Pd O. Assim, P(a, b) ∈ TPd O (Iγ), ou seja, P(a, b) ∈ Iγ+1. 87
  • 94.
    8. TRADUÇÃO DIRECTA8.2. Análise Logo, P(a, b) ∈ I∞. (←) Demonstra-se por indução na sequência de interpretações parciais Iα. Passo base. Verifica-se trivialmente, dado que I0 = ∅. Passo de indução. (i) Suponha-se que A(a) ∈ Iγ+1. Suponha-se também que A(a) ∈ Iγ, pois, caso con- trário, a propriedade verifica-se trivialmente pela hipótese de indução. Assim, uma das seguintes condições é verdadeira: a) a regra A(a) ← está em Pd O; b) existe uma regra A(x) ← A (x) em Pd O tal que A (a) ∈ Iγ; c) existe uma regra A(x) ← tr(∃Q , x) em Pd O tal que tr(∃Q , a) ∈ Iγ. a) Nesse caso, A(a) ∈ A = chase0(O). Logo, A(a) ∈ chase(O). b) Dado que A (a) ∈ Iγ, então, pela hipótese de indução, A (a) ∈ chase(O). Portanto, existe um ordinal i tal que A (a) ∈ chasei(O). Além disso, dado que a regra A(x) ← A (x) está em Pd O, então também A A está em T . Suponha-se que A(a) ∈ chasei(O), pois, caso contrário, a propriedade que se pretende demonstrar verifica-se imediatamente. As- sim, A A é aplicável a A (a) em chasei(O). Portanto, pela preposição 19 (considerando a aplicação da regra (cr1)), existe j ≥ i tal que chasej+1(O) = chasej(O) ∪ {A(a)}. Logo, A(a) ∈ chase(O). c) Dado que tr(∃Q , a) ∈ Iγ, então, pela hipótese de indução, ga(Q , a, c) ∈ chase(O), para alguma constante c. Portanto, existe um ordinal i tal que ga(Q , a, c) ∈ chasei(O). Além disso, dado que a regra A(x) ← tr(∃Q , x) está em Pd O, então também ∃Q A está em T . Suponha-se também que A(a) ∈ chasei(O), pois, caso contrário, a propriedade que se pretende demonstrar verifica-se imediatamente. Assim, ∃Q A é aplicável a ga(Q , a, c) em chasei(O). Portanto, pela preposição 19 (considerando a aplicação da re- gra (cr3)), existe j ≥ i tal que chasej+1(O) = chasej(O) ∪ {A(a)}. Logo A(a) ∈ chase(O). (ii) Suponha-se que O, tr(∃Q, a) ∈ Iγ mas tr(∃Q, a) ∈ Iγ+1, pois, caso contrário, a propriedade verifica-se trivialmente pela hipótese de indução. Assim, uma das seguintes condições é verdadeira: a) existe uma regra tr(∃Q, x) ← A (x) em Pd O tal que A (a) ∈ Iγ; b) existe uma regra tr(∃Q, x) ← tr(∃Q , x) em Pd O, tal que tr(∃Q , a) ∈ Iγ; c) tr(Q, a, d) ∈ Iγ, para alguma constante d. a) Dado que A (a) ∈ Iγ, então, pela hipótese de indução, A (a) ∈ chase(O). Por- tanto, existe um ordinal i tal que A (a) ∈ chasei(O). Além disso, dado que a regra tr(∃Q, x) ← A (x) está em Pd O, então também A ∃Q está em T . Suponha-se também que tr(Q, a, d) ∈ chasei(O), para nenhuma constante d, pois, caso contrário, a proprie- dade que se pretende demonstrar verifica-se imediatamente. Assim, A ∃Q é aplicável a A (a) em chasei(O). Portanto, pela preposição 19 (considerando a aplicação da regra 88
  • 95.
    8. TRADUÇÃO DIRECTA8.2. Análise (cr2)), existe j ≥ i tal que chasej+1(O) = chasej(O) ∪ {tr(Q, a, c)}, para um dada cons- tante c. Logo, ga(Q, a, c) ∈ chase(O), para algum constante c. b) Dado que tr(∃Q , a) ∈ Iγ, então, pela hipótese de indução, ga(Q , a, d) ∈ chase(O), para alguma constante d. Portanto, existe um ordinal i tal que ga(Q , a, d) ∈ chasei(O). Além disso, dado que a regra tr(∃Q, x) ← tr(∃Q , x) está em Pd O, então um dos axiomas ∃Q ∃Q, Q Q ou (Q )− Q− está em T . Suponha-se também que ga(Q, a, e) ∈ chasei(O), para nenhuma constante e, pois, caso contrário, a propriedade que se pretende demonstrar verifica-se imediatamente. Assim, qualquer um dos axiomas ∃Q ∃Q, Q Q ou (Q )− Q− é aplicável a ga(Q , a, d) em chasei(O). Portanto, pela preposição 19 (considerando a aplicação da regra (cr4) ou (cr5)), existe j ≥ i tal que chasej+1(O) = chasej(O) ∪ {ga(Q, a, c)}, para uma dada constante c (c = d, se for aplicada (cr5)). Logo ga(Q, a, c) ∈ chase(O), para alguma constante c. c) Segue imediatamente da hipótese de indução (iii). (iii) Suponha-se que P(a, b) ∈ Iγ+1. Suponha-se também que P(a, b) ∈ Iγ, pois, caso contrário, a propriedade verifica-se trivialmente pela hipótese de indução. Assim, uma das seguintes condições é verdadeira: a) a regra P(a, b) ← está em Pd O; b) existe uma regra P(x, y) ← tr(Q , x, y) em Pd O tal que tr(Q , a, b) ∈ Iγ. a) Nesse caso, P(a, b) ∈ A = chase0(O). Logo, P(a, b) ∈ chase(O). b) Dado que tr(Q , a, b) ∈ Iγ, então, pela hipótese de indução, ga(Q , a, b) ∈ chase(O). Portanto, existe um ordinal i tal que ga(Q , a, b) ∈ chasei(O). Além disso, dado que a regra P(x, y) ← tr(Q , x, y) está em Pd O, então também Q P está em T . Suponha- se também que P(a, b) ∈ chasei(O), pois, caso contrário, a propriedade que se pre- tende demonstrar verifica-se imediatamente. Assim, Q P é aplicável a ga(Q , a, b) em chasei(O). Portanto, pela preposição 19 (considerando a aplicação da regra (cr5)), existe j ≥ i tal que chasej+1(O) = chasej(O) ∪ {P(a, b)}. Logo, P(a, b) ∈ chase(O). Finalmente, obtém-se o resultado intermédio, correspondente ao primeiro passo da demonstração. Corolário 69. Sejam O = T , A uma ontologia DL-LiteR satisfazível, A um conceito atómico, P uma relação atómica, e a e b duas constantes que ocorrem em O. Então O |= A(a) se e só se Pd O |=WF A(a) e O |= P(a, b) se e só se Pd O |=WF P(a, b). Demonstração. Segue imediatamente dos lemas 66, 67 e 68. 8.2.2 Propriedades do grafo Começa-se por definir a noção de asserções positivas, possivelmente formadas por con- ceitos não atómicos (resp., relações não atómicas), estarem num conjunto de asserções 89
  • 96.
    8. TRADUÇÃO DIRECTA8.2. Análise DL-LiteR – nas quais só ocorrem conceitos atómicos (resp., relações atómicas). Tal per- mite abstrair a asserção DL-LiteR particular que deriva dada asserção positiva – a pri- meira varia consoante a segunda seja formada por um conceito atómico, uma quantifica- ção existencial de uma relação atómica, ou uma quantificação existencial de uma relação inversa (resp., uma relação atómica ou inversa). Deste modo, tornam-se menos extensas as subsequentes demonstrações. Definição 70. Seja B um conceito básico, Q uma relação básica, a e b duas constantes e S um conjunto de asserções. Diz-se que B(a) está em S se: • B = A e A(a) ∈ S; • B = ∃P e P(a, c) ∈ S, para alguma constante c; ou • B = ∃P− e P(c, a) ∈ S, para alguma constante c. Diz-se que Q(a, b) está em S se: • Q = P e P(a, b) ∈ S; ou • Q = P− e P(b, a) ∈ S. Com os lemas 66 e 67, mostrou-se que se pode estudar as derivações positivas de uma ontologia através do operador chase. Tendo essa possibilidade em conta, com o lema seguinte mostra-se que tal também é possível através da ABox e do grafo da TBox, i.e. que é possível identificar as derivações positivas de uma dada ontologia olhando apenas para a sua ABox e para o grafo da sua TBox, e vice-versa. Lema 71. Seja O = T , A uma ontologia DL-LiteR satisfazível, A um conceito atómico, Q uma relação básica, a e b duas constantes que ocorrem em O e GT o digrafo de T . Então verificam-se as seguinte propriedades: (i) A(a) ∈ chase(O) se e só se, para algum B tal que B(a) está em A, existe um caminho em GT de B para A; (ii) ga(Q, a, c) ∈ chase(O), para alguma constante c, se e só se, para algum B tal que B(a) está em A, existe um caminho em GT de B para ∃Q; ou (iii) ga(Q, a, b) ∈ chase(O) se e só se, para algum Q tal que Q (a, b) está em A, existe um caminho em GT de Q para Q. Demonstração. (→) Demonstra-se por indução na construção de chase(O). Passo base. Dado que chase0(O) = A, tem-se A(a) ∈ chase(O) se e só se A(a) ∈ A e ga(Q, a, b) ∈ chase(O) se e só se ga(Q, a, b) ∈ A. No primeiro caso, tem-se que B(a) está em A, para B = A, e que existe um caminho em GT (de tamanho 0) de B para A. No segundo caso, tem-se que B(a) está em A, para B = ∃Q, e existe um caminho em GT (de tamanho 0) de B para ∃Q; e ainda, que Q (a, b) está em A, para Q = Q, e existe um caminho em GT (de tamanho 0) de Q para Q. 90
  • 97.
    8. TRADUÇÃO DIRECTA8.2. Análise Passo de indução. (i) Suponha-se que A(a) ∈ chasei+1(O). Suponha-se também que A(a) ∈ chasei(O), pois, caso contrário, a propriedade verifica-se trivialmente pela hipótese de indução. As- sim, chasei+1(O) é obtido de chasei(O) aplicando a regra (cr1) ou a regra (cr3). Considere-se o primeiro caso, (cr1). Nesse caso, existem α = A A ∈ T e f = A (a) ∈ chasei(O), tal que α é aplicável a f em chasei(O). Pela hipótese de indução tem-se que, para algum B tal que B(a) está em A, existe um caminho em GT de B para A . Ora, uma vez que A A está em T , existe um arco (A , A) em GT . Logo, por transitividade, existe um caminho em GT de B para A, onde B é um conceito básico tal que B(a) está em A. Considere-se o segundo caso, (cr3). Nesse caso, existem α = ∃Q A ∈ T e f = ga(Q, a, c) ∈ chasei(O), tal que α é aplicável a f em chasei(O). Nesse caso, pela hipótese de indução tem-se que, para algum B tal que B(a) está em A, existe um caminho em GT de B para ∃Q. Ora, uma vez que ∃Q A está em T , existe um arco (∃Q, A) em GT . Logo, por transitividade, existe um caminho em GT de B para A, onde B é um conceito básico tal que B(a) está em A. (ii) Suponha-se que ga(Q, a, c) ∈ chasei+1(O). Suponha-se também que ga(Q, a, c) ∈ chasei(O), pois, caso contrario, a propriedade verifica-se trivialmente pela hipótese de indução. Assim, chasei+1(O) é obtido de chasei(O) aplicando a regra (cr2), a regra (cr4) ou a regra (cr5). Considere-se o primeiro caso, (cr2). Nesse caso, existem α = A ∃Q ∈ T e f = A (a) ∈ chasei(O), tal que α é aplicável a f em chasei(O). Pela hipótese de indução tem-se que, para algum B tal que B(a) está em A, existe um caminho em GT de B para A . Ora, uma vez que A ∃Q está em T , existe um arco (A , ∃Q) em GT . Logo, por transitividade, existe um caminho em GT de B para ∃Q, onde B é um conceito básico tal que B(a) está em A. Considere-se o segundo caso, (cr4). Nesse caso, existem α = ∃Q ∃Q ∈ T e f = ga(Q , a, c) ∈ chasei(O), tal que α é aplicável a f em chasei(O). Pela hipótese de indução tem-se que, para algum B tal que B(a) está em A, existe um caminho em GT de B para ∃Q . Ora, uma vez que ∃Q ∃Q está em T , existe um arco (∃Q , ∃Q) em GT . Logo, por transitividade, existe um caminho em GT de B para ∃Q, onde B é um conceito básico tal que B(a) está em A. Considere-se o terceiro caso, (cr5). Nesse caso, existem α = Q Q ∈ T e f = ga(Q , a, c) ∈ chasei(O), tal que α é aplicável a f em chasei(O). Pela hipótese de indução tem-se que, para algum B tal que B(a) está em A, existe um caminho em GT de B para ∃Q . Ora, uma vez que ∃Q ∃Q está em T , existe um arco (∃Q , ∃Q) em GT . Logo, por transitividade, existe um caminho em GT de B para ∃Q, onde B é um conceito básico tal que B(a) está em A. (iii) Suponha-se que ga(Q, a, b) ∈ chasei+1(O). Suponha-se também que ga(Q, a, b) ∈ chasei(O), pois, caso contrário, a propriedade verifica-se trivialmente pela hipótese de indução. Assim, como a e b são constantes de O, chasei+1(O) é obtido de chasei(O) 91
  • 98.
    8. TRADUÇÃO DIRECTA8.2. Análise aplicando a regra (cr5). Nesse caso, existem α = Q Q ∈ T e f = ga(Q , a, b) ∈ chasei(O), tal que α é aplicável a f em chasei(O). Pela hipótese de indução tem-se que, para algum para algum Q tal que Q (a, b) está em A, existe um caminho em GT de Q para Q . Ora, uma vez que Q Q está em T , existe um arco (Q , Q) em GT . Logo, por transitividade, existe um caminho em GT de Q para Q, onde Q é uma relação básica tal que Q (a, b) está em A. (←) Demonstra-se por indução nos caminhos de GT . Passo base. Similar ao passo base de (→), considerando os caminhos de tamanho 0. Passo de indução. (i) Suponha-se que para algum B tal que B(a) está em A, existe um caminho em GT , de tamanho l+1, de B para A. Nesse caso, tem-se que, para algum B , existe um caminho em GT , de tamanho l, de B para B e que GT tem um arco (B , A). Assim, há dois casos a considerar: B é um conceito atómico A ou B é um existencial ∃Q. Considere-se o primeiro caso. Pela hipótese de indução tem-se que A (a) ∈ chase(O). Ou seja, existe i ∈ N tal que A (a) ∈ chasei(O). Ora, uma vez que se tem um arco (A , A) em GT , o axioma A A está em T . Suponha-se que A(a) ∈ chasei(O), pois, caso contrário, a propriedade verifica-se imediatamente. Nesse caso, tem-se que A A é aplicável a A (a) em chasei(O). Pela preposição 19 (considerando a aplicação de (cr1)), tem-se que existe um j ≥ i tal que chasej+1(O) = chasej(O) ∪ {A(a)}. Logo, A(a) ∈ chase(O). Considere-se o segundo caso. Pela hipótese de indução tem-se que ga(Q, a, c) ∈ chase(O), para alguma constante c. Ou seja, existe i ∈ N tal que ga(Q, a, c) ∈ chasei(O). Ora, uma vez que se tem um arco (∃Q, A) em GT , o axioma ∃Q A está em T . Suponha- se que A(a) ∈ chasei(O), pois, caso contrário, a propriedade verifica-se imediatamente. Nesse caso, tem-se que ∃Q A é aplicável a ga(Q, a, c) em chasei(O). Pela preposição 19 (considerando a aplicação de (cr3)), tem-se que existe um j ≥ i tal que chasej+1(O) = chasej(O) ∪ {A(a)}. Logo, A(a) ∈ chase(O). (ii) Suponha-se que, para algum B tal que B(a) está em A, existe um caminho em GT , de tamanho l + 1, de B para ∃Q. Nesse caso, tem-se que, para algum B , existe um caminho em GT , de tamanho l, de B para B e que GT tem um arco (B , ∃Q). Assim, há dois casos a considerar: B é um conceito atómico A ou B é um existencial ∃Q . Considere-se o primeiro caso. Pela hipótese de indução tem-se que A (a) ∈ chase(O). Ou seja, existe i ∈ N tal que A (a) ∈ chasei(O). Ora, uma vez que se tem um arco (A , ∃Q) em GT , o axioma A ∃Q está em T . Suponha-se que ga(Q, a, d) ∈ chasei(O), para nenhuma constante d, pois caso contrário a propriedade verifica-se imediatamente. Nesse caso, tem-se que A ∃Q é aplicável a A (a) em chasei(O). Pela preposição 19 (considerando a aplicação de (cr2)), tem-se que existe um j ≥ i tal que chasej+1(O) = chasej(O) ∪ {ga(Q, a, c)}, para alguma c. Considere-se o segundo caso. Pela hipótese de indução tem-se que ga(Q , a, d) ∈ chase(O), para alguma constante d. Ou seja, existe i ∈ N tal que ga(Q , a, d) ∈ chasei(O). Ora, uma vez que se tem um arco (∃Q , ∃Q) em GT , o axioma ∃Q ∃Q está em T . 92
  • 99.
    8. TRADUÇÃO DIRECTA8.2. Análise Suponha-se que ga(Q, a, e) ∈ chasei(O), para nenhuma constante e, pois, caso contrário a propriedade verifica-se imediatamente. Nesse caso, tem-se que ∃Q ∃Q é aplicável a ga(Q , a, d) em chasei(O). Pela preposição 19 (considerando a aplicação de (cr4)), tem-se que existe um j ≥ i tal que chasej+1(O) = chasej(O) ∪ {ga(Q, a, c)}, para alguma cons- tante c. (iii) Suponha-se que, para algum Q tal que Q (a, b) está em A, existe um caminho em GT , de tamanho l+1, de Q para Q. Assim tem-se que, para algum Q , existe um caminho em GT , de tamanho l, de Q para Q e que GT tem um arco (Q , Q). Pela hipótese de indução tem-se que ga(Q , a, b) ∈ chase(O). Ou seja, existe i ∈ N tal que ga(Q , a, b) ∈ chasei(O). Ora, uma vez que se tem um arco (Q , Q) em GT , o axioma Q Q está em T . Suponha-se que ga(Q, a, b) ∈ chasei(O), pois, caso contrário a propriedade verifica-se imediatamente. Nesse caso, tem-se que Q Q é aplicável a ga(Q , a, b) em chasei(O). Pela preposição 19 (considerando a aplicação de (cr5)), tem-se que existe um j ≥ i tal que chasej+1(O) = chasej(O) ∪ {ga(Q, a, b)}. Logo, Q(a, b) está em chase(O). O corolário seguinte aplica o resultado anterior a conceitos básicos em geral. Corolário 72. Seja O = T , A uma ontologia DL-LiteR satisfazível, B um conceito básico, a uma constante que ocorre em O e GT o digrafo de T . Então B(a) está em chase(O) se e só se, para algum B tal que B (a) está em A, existe um caminho em GT de B para B. Demonstração. Segue imediatamente do lema 71. Se B é uma conceito atómico A, segue da propriedade (i). Se B é um existencial ∃Q, segue da propriedade (ii). Mostra-se agora que o operador chase juntamente com o grafo da TBox permitem identificar as asserções negativas que uma certa ontologia deriva; e que, no sentido in- verso, essas asserções permitem inferir certas propriedades envolvendo o resultado da aplicação de chase e o grafo da TBox. Tal é o resultado intermédio correspondente ao segundo passo da demonstração. Começa-se pelo caso das asserções de conceitos. Lema 73. Seja O = T , A uma ontologia DL-LiteR satisfazível, A um conceito atómico, e a uma constante. Então O |= ¬A(a) se e só se uma das seguintes condições se verifica: a) para algum B tal que B(a) está em chase(O), existe um caminho em GT de B para ¬A; b) para algum B1 ¬B2 ∈ T , existe um caminho em GT de A para B1 e de A para B2. Demonstração. Pela preposição 51, O |= ¬A(a) se e só se a ontologia O = T , A ∪{A(a)} é insatisfazível. Assim, pelo lema 28 , O |= ¬A(a) se e só se can(O ) |= O . Portanto, pelo lema 21 , O |= ¬A(a) se e só se existe um axioma negativo α ∈ T , tal que can(O ) |= α. Mostra-se que tal axioma negativo existe se e só se alguma das duas condições enuncia- das, a) ou b), se verifica. (←) 93
  • 100.
    8. TRADUÇÃO DIRECTA8.2. Análise b) Trivial (segue do facto de A(a) estar em chase(O ) e de haver um caminho em GT de A para B1 e de A para B2, pelo caso (i) do lema 71, que B1(a) e B2(a) estão em chase(O ), e assim, que o axioma B1 ¬B2 não é satisfeito por can(O )). a) Pela definição 61 tem-se que em qualquer caminho de GT de B para ¬A há exac- tamente um arco da forma (B1, ¬B2), tal que existe um caminho em GT de B para B1 e de ¬B2 para ¬A. Como, pela definição 61 também se tem que sempre que existe um arco (¬B , ¬B ) em GT também existe um arco (B , B ), conclui-se que existe um caminho em GT de A para B2. Assim, dado que A(a) ∈ A ∪ {A(a)}, pelo corolário 72, tem-se que B2(a) está em chase(O ). Ou seja, a ∈ B can(O ) 2 . Por outro lado, dado que B(a) está em chase(O), pelo corolário 72, tem-se que, para algum B tal que B (a) está em A, existe um caminho em GT de B para B. Dado que existe um caminho em GT de B para B1, por transitividade, também existe um caminho em GT de B para B1. Portanto, dado que B (a) está em A, e assim, em A ∪ {A(a)}, pelo corolário 72, tem-se que B1(a) está em chase(O ). Ou seja, a ∈ B can(O ) 1 . Finalmente, dado que há um arco (B1, ¬B2) em GT , o axioma B1 ¬B2 está em T . Logo, como a ∈ B can(O ) 1 e a ∈ B can(O ) 2 , can(O ) |= α, para α = B1 ¬B2. (→) Considere-se α = B1 ¬B2. Nesse caso, existe uma indivíduo c tal que c ∈ B1 can(O ) e c ∈ B2 can(O ) . Ou seja B1(c) e B2(c) estão em chase(O ). Portanto, pelo corolário 72, para algum B1 tal que B1(c) está em A ∪ {A(a)}, existe um caminho em GT de B1 para B1; e, para algum B2 tal que B2(c) está em A ∪ {A(a)}, existe um caminho em GT de B2 para B2. Demonstra-se, por contradição, que se tem c = a e, B1 = A ou B2 = A. Suponha-se então que se tem c = a ou, B1 = A e B2 = A. Em qualquer dos casos, dado que B1(c) e B2(c) estão em A ∪ {A(a)}, também se tem que estão ambos em A. Assim, pelo corolário 72, B1(c) e B2(c) estão em chase(O). Ou seja, c ∈ B1 can(O) e c ∈ B2 can(O) . Portanto, can(O) |= α, e assim, can(O) |= O. Pelo lema 28 , tem-se que O é insatisfazível, o que contradiz a assunção inicial. Logo, tem-se c = a e, B1 = A ou B2 = A. Suponha-se que B1 = A e B2 = A. Nesse caso, existe um caminho em GT de A para B1 e de A para B2, o que corresponde à condição b). Suponha-se agora que B1 = A e B2 = A (o caso em que B1 = A e B2 = A é simétrico). Dado que existe um caminho em GT de B2 para B2, e uma vez que, pela definição 61, sempre que em GT há um arco (B , B) também há um arco (¬B, ¬B ), conclui-se que existe um caminho em GT de ¬B2 para ¬B2 (note-se que no caminho de B2 para B2 não podem ocorrer conceitos da forma ¬B, uma vez que em GT não existem arcos da forma (¬B, B)). Como B1 ¬B2 ∈ T , o arco (B1, ¬B2) está em GT , e assim, por transitividade, existe um caminho em GT de B1 para ¬B2 (se se tivesse assumido B1 = A e B2 = A, considerar-se-ia agora o arco (B2, ¬B1) e um caminho de B2 para ¬B1) Além disso, dado que B1(c) está em A ∪{A(a)}, B1 = A e c = a, então B1(a) está em A. Portanto, dado que existe um caminho em GT de B1 para B1, pelo corolário 72, B1(a) está em chase(O). Logo, dado que B2 = A, tem-se que, para algum B (pelo menos, para B = B1) tal B(a) está em 94
  • 101.
    8. TRADUÇÃO DIRECTA8.2. Análise chase(O), existe um caminho em GT de B para ¬A, o que corresponde à condição a). Considere-se agora que α = Q1 ¬Q2. Nesse caso, existe um par de indivíduos (c, d), tal que (c, d) ∈ Q1 can(O ) e (c, d) ∈ Q2 can(O ) . Ou seja Q1(c, d) e Q2(c, d) estão em chase(O ). Assim, pelo lema 71, para algum Q1 tal que Q1(c, d) está em A∪{A(a)}, existe um caminho em GT de Q1 para Q1; e, para algum Q2 tal que Q2(c, d) está em A ∪ {A(a)}, existe um caminho em GT de Q2 para Q2. Demonstra-se, por contradição, que tal não é possível. Uma vez que Q1(c, d) e Q2(c, d) estão em A ∪ {A(a)}, também estão em A, e assim, pelo lema 71, Q1(c, d) e Q2(c, d) estão em chase(O). Ou seja, (c, d) ∈ Q1 can(O) e (c, d) ∈ Q2 can(O) . Portanto, can(O) |= α, e assim, can(O) |= O. Pelo lema 28 , tem-se que O é insatisfazível, o que contradiz a assunção inicial. Logo, não se pode ter nenhum axioma Q1 ¬Q2 que não seja satisfeito por can(O ). Tratam-se agora as asserções de relações. Lema 74. Seja O = T , A uma ontologia DL-LiteR satisfazível, Q uma relação básica, a e b duas constantes e GT o digrafo de T . O |= ¬Q(a, b) se e só se uma das seguintes condições se verifica: a) para algum B tal que B(a) está em chase(O), existe um caminho em GT de B para ¬∃Q; b) para algum B tal que B(b) está em chase(O), existe um caminho em GT de B para ¬∃Q−; c) para algum Q tal que Q (a, b) está em chase(O), existe um caminho em GT de Q para ¬Q; d) para algum B1 ¬B2 ∈ T , existe um caminho em GT de ∃Q para B1 e de ∃Q para B2; e) para algum B1 ¬B2 ∈ T , existe um caminho em GT de ∃Q− para B1 e de ∃Q− para B2; f) para algum Q1 ¬Q2 ∈ T , existe um caminho em GT de Q para Q1 e de Q para Q2; g) para algum Q1 ¬Q2 ∈ T , existe um caminho em GT de Q− para Q1 e de Q− para Q2; h) a = b e, para algum B1 ¬B2 ∈ T , existe um caminho em GT de ∃Q para B1 e de ∃Q− para B2; i) a = b e, para algum B1 ¬B2 ∈ T , existe um caminho em GT de ∃Q− para B1 e de ∃Q para B2; j) a = b e, para algum Q1 ¬Q2 ∈ T , existe um caminho em GT de Q para Q1 e de Q− para Q2; k) a = b e, para algum Q1 ¬Q2 ∈ T , existe um caminho em GT de Q− para Q1 e de Q para Q2. 95
  • 102.
    8. TRADUÇÃO DIRECTA8.2. Análise Demonstração. Pela preposição 52, O |= ¬Q(a, b) se e só se a ontologia O = T , A ∪ {ga(Q, a, b)} é insatisfazível. Assim, pelo lema 28 , O |= ¬Q(a, b) se e só se can(O ) |= O . Portanto, pelo lema 21 , O |= ¬Q(a, b) se e só se existe um axioma negativo α ∈ T , tal que can(O ) |= α. Mostra-se que tal axioma negativo existe se e só se alguma das condições enunciadas se verifica. (←) d), e), f) e g) Trivial (segue do facto de ∃Q(a), ∃Q−(b), Q(a, b) e Q−(b, a) estarem em chase(O ) e do corolário 72 e lema 71, respectivamente, que o axioma mencionado, em cada uma das condições, respectivamente, não é satisfeito por can(O )). h) e i) Trivial (segue do facto de, nesses casos, ∃Q(a) e ∃Q−(a) estarem em chase(O ) e do corolário 72, que o axioma mencionado nessas condições não é satisfeito por can(O )). j) e k) Trivial (segue do facto de, nesses casos, Q(a, a) estar em GT e do lema 71, que o axioma mencionado, em cada uma das condições, respectivamente, não é satisfeito por can(O )). a) (a condição b) é similar). Pela definição 61 tem-se que em qualquer caminho de GT de B para ¬∃Q há exactamente um arco da forma (B1, ¬B2), tal que existe um caminho em GT de B para B1 e de ¬B2 para ¬∃Q. Como, pela definição 61 também se tem que sempre que existe um arco (¬B , ¬B ) em GT também existe um arco (B , B ), conclui-se que existe um caminho em GT de ∃Q para B2. Assim, dado que ∃Q(a) está em A ∪ {ga(Q, a, b)}, pelo corolário 72, tem-se que B2(a) está em chase(O ). Ou seja, a ∈ B can(O ) 2 . Por outro lado, dado que B(a) está em chase(O), pelo corolário 72, tem-se que, para algum B tal que B (a) está em A, existe um caminho em GT de B para B. Dado que existe um caminho em GT de B para B1, por transitividade, também existe um caminho em GT de B para B1. Portanto, dado que B (a) está em A, e assim, em A ∪ {ga(Q, a, b)}, pelo corolário 72, tem-se que B1(a) está em chase(O ). Ou seja, a ∈ B can(O ) 1 . Finalmente, dado que há um arco (B1, ¬B2) em GT , o axioma B1 ¬B2 está em T . Logo, como a ∈ B can(O ) 1 e a ∈ B can(O ) 2 , can(O ) |= α, para α = B1 ¬B2. c) Pela definição 61 tem-se que em qualquer caminho de GT de Q para ¬Q há exac- tamente um arco da forma (Q1, ¬Q2), tal que existe um caminho em GT de Q para Q1 e de ¬Q2 para ¬Q. Como, pela definição 61 também se tem que sempre que existe um arco (¬Q , ¬Q ) em GT também existe um arco (Q , Q ), conclui-se que existe um caminho em GT de Q para Q2. Assim, dado que Q(a, b) está em A ∪ {ga(Q, a, b)}, pelo lema 71, tem-se que Q2(a, b) está em chase(O ). Ou seja, (a, b) ∈ Q can(O ) 2 . Por outro lado, dado que Q (a, b) está em chase(O), pelo lema 71, tem-se que, para algum Q tal que Q (a, b) está em A, existe um caminho em GT de Q para Q . Dado que existe um caminho em GT de Q para Q1, por transitividade, também existe um caminho em GT de Q para Q1. Portanto, dado que Q (a, b) está em A, e assim, em A ∪ {ga(Q, a, b)}, pelo lema 71, tem- se que Q1(a, b) está em chase(O ). Ou seja, (a, b) ∈ Q can(O ) 1 . Finalmente, dado que há um arco (Q1, ¬Q2) em GT , o axioma Q1 ¬Q2 está em T . Logo, como (a, b) ∈ Q can(O ) 1 e (a, b) ∈ Q can(O ) 2 , can(O ) |= α, para α = Q1 ¬Q2. 96
  • 103.
    8. TRADUÇÃO DIRECTA8.2. Análise (→) Considere-se α = B1 ¬B2. Nesse caso, existe um indivíduo c, tal que c ∈ B1 can(O ) e c ∈ B2 can(O ) . Ou seja B1(c) e B2(c) estão em chase(O ). Portanto, pelo corolário 72, para algum B1 tal que B1(c) está em A ∪ {ga(Q, a, b)}, existe um caminho em GT de B1 para B1; e, para algum B2 tal que B2(c) está em A ∪{ga(Q, a, b)}, existe um caminho em GT de B2 para B2. Demonstra-se, por contradição, que se tem B1(c) = ∃Q(a), B2(c) = ∃Q(a), B1(c) = ∃Q−(b) ou B2(c) = ∃Q−(b). Suponha-se que se tem B1(c) = ∃Q(a), B2(c) = ∃Q(a), B1(c) = ∃Q−(b) e B2(c) = ∃Q−(b). Nesse caso, B1(c) e B2(c) não estão em {ga(Q, a, b)}, e assim, dado que estão em A ∪ {ga(Q, a, b)}, conclui-se que estão em A. Assim, pelo corolário 72, B1(c) e B2(c) estão em chase(O). Ou seja, c ∈ B1 can(O) e c ∈ B2 can(O) . Portanto, can(O) |= α, e assim, can(O) |= O. Pelo lema 28 , tem-se que O é insatisfazível, o que contradiz a assunção inicial. Considere-se então cada um dos possíveis casos (enumeram-se apenas as igualdades, as desigualdades são omitidas). Suponha-se que se tem B1(c) = ∃Q(a) e B2(c) = ∃Q(a) (resp., B1(c) = ∃Q−(b) e B2(c) = ∃Q−(b)). Nesse caso, existe um caminho em GT de ∃Q (resp., ∃Q−) para B1 e de ∃Q (resp., ∃Q−) para B2, o que corresponde à condição d) (resp., e)). Suponha-se que se tem B1(c) = ∃Q(a) e B2(c) = ∃Q−(b) (resp., B1(c) = ∃Q−(b) e B2(c) = ∃Q(a)). Nesse caso, a = b e existe um caminho em GT de ∃Q (resp., ∃Q−) para B1 e de ∃Q− (resp., ∃Q) para B2, o que corresponde à condição h) (resp., i)). Suponha-se agora que se tem B2(c) = ∃Q(a), (resp. B2(c) = ∃Q−(b)). Dado que existe um caminho em GT de B2 para B2, e uma vez que se tem, pela definição 61, que sempre que em GT há um arco (B , B) também há um arco (¬B, ¬B ), conclui-se que existe um caminho em GT de ¬B2 para ¬B2. Como B1 ¬B2 ∈ T , o arco (B1, ¬B2) está em GT , e assim, por transitividade, existe um caminho em GT de B1 para ¬B2. Além disso, dado que B1(c) está em A ∪ {ga(Q, a, b)}, B1(c) = ∃Q(a) e B1(c) = ∃Q−(b), tem-se que B1(c) está em A. Como B2(c) = ∃Q(a) (resp., B2(c) = ∃Q−(b)), e assim, c = a (resp., c = b), tem-se que B1(a) (resp., B1(b)) está em A. Portanto, dado que existe um caminho em GT de B1 para B1, pelo corolário 72, B1(a) (resp., B1(b)) está em chase(O). Logo, tem-se que para algum B (pelo menos, para B = B1) tal que B(a) (resp., B(b)) está em chase(O), existe um caminho em GT de B para ¬∃Q (resp., ¬Q−), o que corresponde à condição a) (resp., b)). O caso B1(c) = ∃Q(a) (resp., B1(c) = ∃Q−(b)) é semelhante ao anterior e também corresponde à condição a)) (resp., b)), basta considerar o caminho de B1 para B1, o arco (B2, ¬B1) e que, nesse caso, B2(c) está em A ∪ {ga(Q, a, b)}. Considere-se agora α = Q1 ¬Q2. Nesse caso, existe um par de indivíduos (c, d), tal que (c, d) ∈ Q1 can(O ) e (c, d) ∈ Q2 can(O ) . Ou seja Q1(c, d) e Q2(c, d) estão em chase(O ). Assim, pelo lema 71, para algum Q1 tal que Q1(c, d) está em A ∪ {ga(Q, a, b)}, existe um caminho em GT de Q1 para Q1; e, para algum Q2 tal que Q2(c, d) está em A∪{ga(Q, a, b)}, existe um caminho em GT de Q2 para Q2. Demonstra-se, por contradição, que Q1(c, d) = Q(a, b), Q2(c, d) = Q(a, b), Q1(c, d) = Q−(b, a) ou Q2(c, d) = Q−(b, a). 97
  • 104.
    8. TRADUÇÃO DIRECTA8.2. Análise Suponha-se que se tem Q1(c, d) = Q(a, b), Q2(c, d) = Q(a, b), Q1(c, d) = Q−(b, a) e Q2(c, d) = Q−(b, a). Nesse caso, se Q1(c, d) e Q2(c, d) estão em A ∪ {ga(Q, a, b)}, então também estão em A. Assim, pelo corolário 72, Q1(c, d) e Q2(c, d) estão em chase(O). Ou seja, (c, d) ∈ Q1 can(O) e (c, d) ∈ Q2 can(O) . Portanto, can(O) |= α, e assim, can(O) |= O. Pelo lema 28 , tem-se que O é insatisfazível, o que contradiz a assunção inicial. Considere- se então cada um dos possíveis casos (enumeram-se apenas as igualdades, as desigual- dades são omitidas). Suponha-se que Q1(c, d) = Q(a, b) e Q2(c, d) = Q(a, b) (resp., Q1(c, d) = Q−(b, a) e Q2(c, d) = Q−(b, a)). Nesse caso, existe um caminho em GT de Q (resp., Q−) para Q1 e de Q (resp., Q−) para Q2, o que corresponde à condição f)(resp., g)). Suponha-se que Q1(c, d) = Q(a, b) e Q2(c, d) = Q−(b, a) (resp., Q1(c, d) = Q−(b, a) e Q2(c, d) = Q(a, b)). Nesse caso a = b e existe um caminho em GT de Q (resp. Q− para Q1) e de Q− (resp. Q) para Q2, o que corresponde à condição j) (resp., k)). Suponha-se agora que Q2(c, d) = Q(a, b) (resp., Q2(c, d) = Q−(b, a)). Nesse caso, dado que existe um caminho em GT de Q2 para Q2, e uma vez que, pela definição 61, sempre que em GT há um arco (Q , Q) também há um arco (¬Q, ¬Q ), conclui-se que existe um caminho em GT de ¬Q2 para ¬Q2. Como Q1 ¬Q2 ∈ T , o arco (Q1, ¬Q2) está em GT , e assim, por transitividade, existe um caminho em GT de Q1 para ¬Q2. Além disso, dado que Q1(c, d) está em A∪{ga(Q, a, b)}, Q1(c, d) = Q(a, b) e Q1(c, d) = Q−(b, a), então Q1(c, d) está em A. Como Q2(c, d) = Q(a, b) (resp., Q2(c, d) = Q−(b, a)), e assim, (c, d) = (a, b) (resp., (c, d) = (b, a)), tem-se que Q1(a, b) (resp., Q1(b, a)) está em A. Dado que existe um caminho em GT de Q1 para Q1, pelo lema 71, Q1(a, b) (resp., Q1(b, a)) está em chase(O). Logo, tem-se que para algum Q (pelo menos, para Q = Q1 (resp., Q = Q− 1 )) tal que Q (a, b) está em chase(O), existe um caminho em GT de Q (resp., Q − ) para ¬Q (resp., ¬Q−), o que corresponde à condição c) (note-se que, se se tiver um caminho de Q − para ¬Q− também se tem um caminho de Q para ¬Q, pois pela definição 61, sempre que há um arco (Q− 3 , Q− 4 ) também há um arco (Q3, Q4), sempre que há um arco (Q− 3 , ¬Q− 4 ) também há um arco (Q3, ¬Q4) e sempre que há um arco (¬Q− 3 , ¬Q− 4 ) também há um arco (¬Q3, ¬Q4)). O caso Q1(c, d) = Q(a, b) (resp., Q1(c, d) = Q−(b, a)) é semelhante ao anterior e também corresponde à condição c), basta considerar o caminho de Q1 para Q1, o arco (Q2, ¬Q1), e que, nesse caso Q2(c, d) está em A ∪ {ga(Q, a, b}. 8.2.3 Derivações negativas Tendo-se estabelecido as correspondências entre os asserções negativas derivadas por uma dada ontologia e as combinações de asserções de chase com caminhos do grafo da TBox, interessa agora relacionar tais combinações com as factos negativos, i.e. os factos formados pelos predicados especiais que denotam as negações clássicas, do modelo bem fundado do programa resultante da tradução directa. 98
  • 105.
    8. TRADUÇÃO DIRECTA8.2. Análise Lema 75. Seja O = T , A uma ontologia DL-LiteR satisfazível, A um conceito atómico, Q uma relação básica, a e b duas constantes, GT o digrafo de T e I∞ o modelo bem fundado de Pd O. Então verificam-se as seguintes propriedades: (i) NA(a) ∈ I∞ se e só se uma das seguinte condições se verifica: (i.a) para algum B tal que B(a) está em chase(O), existe um caminho em GT de B para ¬A; ou (i.b) A ∈ Ω(T ). (ii) tr(¬Q, a, b) ∈ I∞ se e só se uma das seguintes condições se verifica: (ii.a) para algum B tal que B(a) está em chase(O), existe um caminho em GT de B para ¬∃Q; (ii.b) para algum B tal que B(b) está em chase(O), existe um caminho em GT de B para ¬∃Q−; (ii.c) para algum Q tal que Q (a, b) está em chase(O), existe um caminho em GT de Q para ¬Q; (ii.d) Q = P ou Q = P−, e P ∈ Ω(T ). (ii.e) a = b, Q = P ou Q = P−, e P ∈ Ψ(T ). Demonstração. (→) Demonstra-se por indução na sequência de interpretações parciais Iα. Passo base. Trivial (I0 = ∅). Passo de indução. (i) Suponha-se que NA(a) ∈ Iγ+1. Suponha-se também que NA(a) ∈ Iγ, pois, caso contrário, a propriedade verifica-se imediatamente pela hipótese de indução. Assim, pela da definição 64, tem-se que uma das seguintes condições se verifica: 1) existe uma regra NA(x) ← tr(B , x) em Pd O, tal que tr(B , a) ∈ Iγ; 2) existe uma regra NA(x) ← tr(¬B , x) em Pd O, tal que tr(¬B , a) ∈ Iγ; ou 3) A ∈ Ω(T ). 1) Nesse caso, como tr(B , a) ∈ Iγ, pelo lema 68, A (a) ∈ chase(O), se B = A , e ga(Q , a, c) ∈ chase(O), para alguma constante c, se B = ∃Q . Ou seja, B (a) está em chase(O). Além disso, como a regra NA(x) ← tr(B , x) está em Pd O, pela definição 64, o axioma B A está em T . Portanto, pela definição 61, o arco (B , A) está em GT . Logo, para algum B tal que B (a) está em chase(O), existe um caminho em GT de B para ¬A, o que corresponde à condição (i.a). 2) Nesse caso, como tr(¬B , a) ∈ Iγ, pela hipótese de indução ((i), se B é um conceito atómico, e (ii.a) ou (ii.b), se B é um existencial) tem-se que, para algum B tal B (a) está em chase(O), existe um caminho em GT de B para ¬B . Além disso, como a regra NA(x) ← tr(¬B , x) está em Pd O, então, pela definição 64, o axioma A B está em T . 99
  • 106.
    8. TRADUÇÃO DIRECTA8.2. Análise Portanto, pela definição 61, o arco (¬B , ¬A) está em GT . Assim, por transitividade, existe um caminho em GT de B para ¬A. Logo, para algum B , tal que B (a) está em chase(O), existe um caminho em GT de B para ¬A, o que corresponde à condição (i.a). 3) Corresponde directamente à condição (i.b). (ii) Suponha-se que tr(¬Q, a, b) ∈ Iγ+1. Suponha-se também que tr(¬Q, a, b) ∈ Iγ, pois, caso contrário, a propriedade verifica-se imediatamente pela hipótese de indução. Assim, pelos casos (s2), (n2), (i2) e (ir) da definição 64, tem-se que uma das seguintes condições se verifica: 1) existe uma regra tr(¬Q, x, _) ← tr(Q , x, _) em Pd O, tal que tr(Q , a, c) ∈ Iγ, para alguma constante c; 2) existe uma regra tr(¬Q−, x, _) ← tr(Q , x, _) em Pd O, tal que tr(Q , b, c) ∈ Iγ, para alguma constante c; 3) existe uma regra tr(¬Q, x, _) ← tr(¬Q , x, _), tal que tr(¬Q , a, c) ∈ Iγ, para alguma constante c; 4) existe uma regra tr(¬Q−, x, _) ← tr(¬Q , x, _), tal que tr(¬Q , b, c) ∈ Iγ, para al- guma constante c; 5) existe uma regra tr(¬Q, x, y) ← tr(Q , x, y) em Pd O, tal que tr(Q , a, b) ∈ Iγ; 6) existe uma regra tr(¬Q, x, y) ← tr(¬Q , x, y) em Pd O, tal que tr(¬Q , a, b) ∈ Iγ; 7) Q = P ou Q = P−, e P ∈ Ω(T ); 8) a = b, Q = P ou Q = P−, e P ∈ Ψ(T ). 1) Nesse caso, como tr(Q , a, c) ∈ Iγ, pelo lema 68, P (a, c) ∈ chase(O), se Q = P , e P (c, a) ∈ chase(O), se Q = P − . Ou seja, ga(Q , a, c) está em chase(O). Além disso, como a regra tr(¬Q, x, _) ← tr(Q , x, _) está em Pd O, pela definição 64, o axioma ∃Q ¬∃Q está em T . Portanto, pela definição 61, o arco (∃Q , ¬∃Q) está em GT . Logo, para um dado conceito básico B (B = ∃Q ), B(a) está em chase(O) e existe um caminho em GT de B para ¬∃Q, o que corresponde às condição (ii.a). 2) Similar ao caso 1), correspondendo à condição (ii.b). 3) Nesse caso, como tr(¬Q , a, c) ∈ Iγ, pela hipótese de indução, tem-se que, para al- gum B tal que B (a) está em chase(O), existe um caminho em GT de B para ¬∃Q . Além disso, como a regra tr(¬Q, x, _) ← tr(¬Q , x, _) está em Pd O, então, pela definição 64, o axioma ∃Q ∃Q está em T . Portanto, pela definição 61, o arco (¬∃Q , ¬∃Q) está em GT . Assim, por transitividade, existe um caminho em GT de B para ¬∃Q. Logo, para algum B tal que B(a) está em chase(O), existe um caminho em GT de B para ¬∃Q, o que corresponde à condição (ii.a). 4) Similar ao caso 3), correspondendo à condição (ii.b). 100
  • 107.
    8. TRADUÇÃO DIRECTA8.2. Análise 5) Nesse caso, como tr(Q , a, b) ∈ Iγ, pelo lema 68, P (a, b) ∈ chase(O), se Q = P , e P (b, a) ∈ chase(O), se Q = P − . Ou seja, ga(Q , a, b) está em chase(O). Além disso, como a regra tr(¬Q, x, y) ← tr(Q , x, y) está em Pd O, pela definição 64, o axioma Q Q está em T . Portanto, pela definição 61, o arco (Q , Q) está em GT . Logo, para algum Q tal que Q (a, b) está em chase(O), existe um caminho em GT de Q para ¬Q, o que corresponde à condição (ii.c). 6) Nesse caso, como tr(¬Q , a, b) ∈ Iγ, pela hipótese de indução, tem-se que, para al- gum Q tal que Q (a, b) está em chase(O), existe um caminho em GT de Q para ¬Q . Além disso, como a regra tr(¬Q, x, y) ← tr(¬Q , x, y) está em Pd O, então, pela defini- ção 64, o axioma Q Q está em T . Portanto, pela definição 61, o arco (¬Q , ¬Q) está em GT . Assim, por transitividade, existe um caminho em GT de Q para ¬Q. Logo, para algum Q tal que Q (a, b) está em chase(O), existe um caminho em GT de Q para ¬Q, o que corresponde à condição (ii.c). 7) Corresponde directamente à condição (ii.d). 8) Corresponde directamente à condição (ii.e). (←) (i.b) Nesse caso, a regra NA(x) ← está em Pd O. Logo, NA(a) ∈ I∞. (ii.a) Demonstra-se por indução nos caminhos de GT . Passo base (caminhos de tamanho 1, i.e. existe em GT um arco (B , ¬∃Q) para algum B tal que B (a) ∈ chase(O)). Pelo lema 68, A (a) ∈ I∞, se B = A , e tr(Q, a, c) ∈ I∞, para alguma constante c, se B = ∃Q . Ou seja, para algum ordinal γ, tr(B , a) ∈ Iγ. Além disso, como o arco (B , ¬∃Q) está em GT , tem-se, pela definição 61, que o axioma B ¬∃Q ou axioma Q ¬Q, para B = ∃Q , está em T . Portanto, pela definição 64, a regra tr(¬Q, x, _) ← tr(B , x) ou tr(¬Q, x, y) ← tr(Q , x, y), para B = ∃Q , está em Pd O. Em qualquer dos casos, tr(¬Q, a, d) ∈ TPd O (Iγ), para qualquer constante d, e, em particular, para d = b, ou seja, tr(¬Q, a, b) ∈ Iγ+1. Logo tr(¬Q, a, b) ∈ I∞. Passo de indução. Suponha-se então que, para algum B tal que B (a) ∈ chase(O) existe um caminho em GT , de tamanho igual inferior a l + 1, de B para ¬∃Q. Nesse caso, para algum B tal que B (a) está em chase(O), existe em GT um caminho, de tamanho igual ou inferior a l, de B para ¬B e um arco (¬B , ¬∃Q). Assim, pela hipótese de indução, A (a) ∈ I∞, se B = A , e ga(Q, a, b) ∈ I∞, se B = ∃Q . Ou seja, para algum ordinal γ, tr(B , a) ∈ Iγ. Além disso, como o arco (¬B , ¬∃Q) está em GT , tem-se, pela definição 61, que o axioma ∃Q B ou Q Q , para B = ∃Q está em T . Portanto, pela definição 64, a regra tr(¬Q, x, _) ← tr(¬B , x) ou tr(¬Q, x, y) ← tr(Q , x, y), para B = ∃Q , está em Pd O. Em qualquer dos casos, tr(¬Q, a, c) ∈ TPd O (Iγ), para qualquer constante c, e em particular, para c = b, ou seja, tr(¬Q, a, b) ∈ Iγ+1. Logo tr(¬Q, a, b) ∈ I∞. (ii.b) Similar ao caso (ii.a). (i.a) Demonstra-se por indução nos caminhos de GT . Passo base (caminhos de tamanho 1, i.e. existe em GT um arco (B , ¬A) para algum B tal que B (a) ∈ chase(O)). Pelo lema 68, A (a) ∈ I∞, se B = A , e tr(∃Q , a) ∈ I∞, se 101
  • 108.
    8. TRADUÇÃO DIRECTA8.2. Análise B = ∃Q. Ou seja, para algum ordinal γ, tr(B , a) ∈ Iγ. Além disso, como o arco (B , ¬A) está em GT , tem-se, pela definição 61, que o axioma B ¬A está em T . Portanto, pela definição 64, a regra NA(x) ← tr(B , x) está em Pd O. Assim, NA(a) ∈ TPd O (Iγ), ou seja, NA(a) ∈ Iγ+1. Logo NA(a) ∈ I∞. Passo de indução. Suponha-se então que, para algum conceito básico B tal que B (a) ∈ chase(O) existe um caminho em GT , de tamanho igual inferior a l + 1, de B para ¬A. Nesse caso, para algum B tal que B (a) está em chase(O), existe em GT um caminho, de tamanho igual ou inferior a l, de B para ¬B e um arco (¬B , ¬A). Por- tanto, pela hipótese de indução ((i), se B é um conceito atómico) e pela propriedade (ii) ((ii.a) ou ((ii.b), se B é um existencial), tr(B , a) ∈ I∞. Ou seja, para algum ordinal γ, tr(B , a) ∈ Iγ. Além disso, como o arco (¬B , ¬A) está em GT , tem-se, pela definição 61, que o axioma A B está em T . Portanto, pela definição 64, a regra NA(x) ← tr(¬B , x) está em Pd O. Assim, NA(a) ∈ TPd O (Iγ), ou seja, NA(a) ∈ Iγ+1. Logo NA(a) ∈ I∞. (ii.c) Demonstra-se por indução nos caminhos de GT . Passo base (caminhos de tamanho 1, i.e. existe em GT um arco (Q , ¬Q) para algum Q tal que Q (a, b) está em chase(O)). Pelo lema 68, P (a, b) ∈ I∞, se Q = P , e P(b, a) ∈ I∞, se Q = P−. Ou seja, para algum ordinal γ, tr(Q , a, b) ∈ Iγ. Além disso, como o arco (Q , ¬Q) está em GT , tem-se, pela definição 61, que o axioma Q ¬Q está em T . Portanto, pela definição 64, a regra tr(¬Q, x, y) ← tr(Q , x, y) está em Pd O. Assim, tr(¬Q, a, b) ∈ TPd O (Iγ), ou seja, tr(¬Q, a, b) ∈ Iγ+1. Logo tr(¬Q, a, b) ∈ I∞. Suponha-se então que, para algum Q tal que Q (a, b) ∈ chase(O) existe um caminho em GT , de tamanho igual inferior a l+1, de Q para ¬Q. Nesse caso, para algum Q tal que Q (a, b) está em chase(O), existe em GT um caminho, de tamanho igual ou inferior a l, de Q para ¬Q e um arco (¬Q , ¬Q). Assim, pela hipótese de indução, tr(Q , a, b) ∈ I∞. Ou seja, para algum ordinal γ, tr(Q , a, b) ∈ Iγ. Além disso, como o arco (¬Q , ¬Q) está em GT , tem-se, pela definição 61, que o axioma Q Q está em T . Portanto, pela defini- ção 64, a regra tr(¬Q, x, y) ← tr(¬Q , x, y) está em Pd O. Assim, tr(¬Q, a, b) ∈ TPd O (Iγ), ou seja, tr(¬Q, a, b) ∈ Iγ+1. Logo tr(¬Q, a, b) ∈ I∞. (ii.d) Nesse caso, a regra NP(x, y) ←, onde P = Q ou P− = Q, está em Pd O. Logo, tr(Q, a, b) ∈ I∞. (ii.e) Nesse caso, a regra NP(x, x) ←, onde P = Q ou P− = Q, está em Pd O. Logo, tr(Q, a, a) = tr(Q, a, b) ∈ I∞. Finalmente, com base no resultado anterior, e nos resultados obtidos na subsecção anterior, mostra-se que o programa resultante da tradução directa de uma dada onto- logia, avaliado sobre a semântica bem fundada, deriva realmente as mesmas asserções negativas que a própria ontologia. Corolário 76. Sejam O = T , A uma ontologia DL-LiteR satisfazível, A um conceito atómico e P uma relação atómica, e a e b duas constantes. Então O |= ¬A(a) se e só se Pd O |=WF NA(a) e O |= ¬P(a, b) se e só se Pd O |=WF NP(a, b). 102
  • 109.
    8. TRADUÇÃO DIRECTA8.2. Análise Demonstração. Segue dos lemas 73, 74 e 75. Note-se a correspondência entre a proprie- dade (i) do lema 75 e o lema 73; e entre a propriedade (ii) do lema 75 e o lema 74. Pela definição 62, a condição (i.b) corresponde à condição b) do lema 73; as condições d) e e), f) e g) do lema 74 correspondem à condição (ii.d). Pela definição 63, a condição (ii.e) cor- responde às condições h), i), j) e k) do lema 74. 8.2.4 Oráculo Antes de estabelecer a correcção do oráculo, resta então agregar todos os resultados in- termédios relevantes. Corolário 77. Seja O = T , A uma ontologia DL-LiteR satisfazível, A um conceito atómico e P uma relação atómica, e a e b duas constantes que ocorrem em O. Então Pd O |=WF A(a) se e só se Pd O |=WF Ad(a) e Pd O |=WF P(a, b) se e só se Pd O |=WF Pd(a, b). Demonstração. Pela definição 64, um literal A(a) só pode ser derivado através de uma regra A(a) ← ou A(x) ← tr(B, x); e, um literal Ad(a) através de uma regra Ad(a) ← NA(a) ou Ad(x) ← trd(B, x), not NA(a). Ora, dado que O é satisfazível, então O |= A(a) se e só se O |= ¬A(a). Portanto, pelos corolários 69 e 76, Pd O |= A(a) se e só se Pd O |= ¬NA(a). Assim, como a única diferença entre as regras (instanciadas) que derivam A(a) e as que derivam Ad(a) é precisamente o literal not NA(a) no corpo das segundas, que é, portanto, verdadeiro se e só se A(a) é verdadeiro, então, sempre que se deriva A(a) também se deriva Ad(a) e vice-versa. O caso dos literais P(a, b) e Pd(a, b) é semelhante. Termina-se a demonstração mostrando que, além da tradução derivar as mesmas as- serções que a ontologia original, a sua junção com os conjuntos de literais que parametri- zam o oráculo deriva igualmente as mesmas asserções que a ontologia acrescentada com esses literais; e que, portanto pode substituir-se, no SLG(O), o oráculo completo pelo orá- culo parcial definido pela união da tradução directa da ontologia com os conjuntos de literais adicionais. Teorema 78. Seja Kd = (O, O, Pd) uma base de conhecimento MKNF duplicada, onde O é uma ontologia DL-LiteR , e pTO o oráculo de O baseado em regras não monótonas. Então pTO é um oráculo parcial correcto relativamente a compTO. Demonstração. Segue dos corolários 69, 76 e 77 que se tem, para O satisfazível, pTO(∅, S, ∅) se e só se O |= S e O |= S. Ora, considere-se a ontologia O = T , A ∪ I ∪ L , onde I e L são os conjuntos de asserções DL-LiteR correspondentes aos literais de I e L, respectivamente. É fácil constatar, pela definição 64, que Pd O = Pd O ∪ I ∪ L , onde I e L são os conjuntos de regras correspondentes aos literais de I e L, respectivamente. Assim, também segue dos corolários 69, 76 e 77 que se tem, para O ∪ I ∪ L consistentes, que pTO(I, S, L) se e só se O ∪ I ∪ L |= S e O ∪ I ∪ L |= S. Logo pTO é um oráculo parcial para O. 103
  • 110.
    8. TRADUÇÃO DIRECTA8.3. Algoritmos Resta então mostrar que pTO é correcto relativamente a compTO. Ou seja, que para toda a KB híbrida MKNF-consistente, se se substituir compTO por pTO, o SLG(O) sucede exactamente para o mesmo conjunto de queries. Considere-se então uma KB arbitrária Kd = (O, O, Pd) MKNF-consistente. Dado que Kd é MKNF-consistente, então, para qual- quer floresta de avaliação SLG(O), F, sobre Kd, a interpretação induzida IF é consistente com O. Portanto, I+ F também é consistente com O. Além disso, dado que Kd é MKNF- consistente, nenhum literal L que seja inconsistente com O ∪ I+ F pode ser derivado de P. Portanto, para qualquer subgolo S e conjunto de literais L tais que compTO(I+ F , S, L), tem-se que S sucede na avaliação SLG(O) apenas se se tem compTO(I+ F , S, L L ), onde L é o conjunto dos literais de L que são inconsistentes com O ∪ I+ F . Como para tais I+ F , L L consistentes com O se tem pTO(I+ F , S, L L ) se e só se O ∪ I+ F ∪ L L |= S e O ∪ I+ F ∪ L L |= S, conclui-se que, nesse caso, pTO(I+ F , S, L L ) se e só se compTO(I+ F , S, L L ). Logo, pTO é correcto relativamente a compTO. 8.3 Algoritmos O oráculo DL-LiteR directo corresponde, do ponto de vista operacional, à seguinte com- putação. Obtém-se os conjuntos dos conceitos e relações insatisfazíveis (Ω) e o conjunto das relações irreflexivas (Ψ). Depois, traduzem-se asserções da ABox e dos axiomas da TBox (com as axiomatizações já mencionadas). Adicionam-se também as regras que ex- pressam a insatisfazibilidade de conceitos ou relações e das que expressam a irreflexi- vidade de relações, de acordo com os conjuntos obtidos no passo anterior. Finalmente, aplica-se o SLG – alterado de modo a serem recolhidos todos os factos usados na deri- vação – do programa formado pelo resultado da tradução, os factos já provados (I), e os factos formados pelos átomos definidos nas regras (possivelmente contidos em L). O orá- culo parcial é definido pela relação que combina todas as possíveis queries (S), factos já provados (I), e respectivos factos recolhidos através do método descrito, que unifiquem com consequentes de regras (L). Na prática, como ambas as componentes da base de co- nhecimento híbrida, tradução da ontologia e regras, são avaliadas pelo SLG, ele pode ser aplicado directamente à junção das duas: em vez de se recolherem os átomos e se cri- arem, na floresta de avaliação SLG(O), as árvores para os átomos que unifiquem com consequentes de regras, só depois do oráculo devolver o resultado, pode criar-se logo tais árvores em vez de se recolher os átomos. A tradução é obtida iterando as asserções da ABox, os axiomas da TBox, os conceitos e relações insatisfazíveis e as relações irreflexivas, e escrevendo as regras corresponden- tes. Já os conjuntos que os operadores Ω e Ψ definem, envolvem computações mais ela- boradas sobre a TBox e o grafo da TBox formada pelos axiomas positivos. Para os obter, é necessário iterar todos os axiomas negativos da TBox, e para cada um deles, computar os conjuntos dos conceitos (resp., relações) aos antecessores dos conceitos básicos (resp., relações básicas) envolvidos nesses axiomas, para de algum modo os cruzar. No caso das 104
  • 111.
    8. TRADUÇÃO DIRECTA8.3. Algoritmos relações insatisfazíveis, na presença de um axioma B1 ¬B2 (resp., Q1 ¬Q2), basta intersectar o conjunto dos conceitos (resp., relações) antecessoras de B1 (resp., Q1) com o conjunto dos antecessores de B2 (resp., Q2). No caso dos conceitos e relações insatis- fazíveis, perante um axioma, B1 ¬B2 (resp., Q1 ¬Q2), basta filtrar no conjunto das relações básicas que ocorrem nos antecessores de B1 (resp., Q1) as que tem o seu inverso a ocorrer em antecessores de B2 (resp., Q2). Os algoritmos 1 e 2, permitem obter os conjuntos de conceitos e relações definidos pe- los operadores Ω e Ψ, respectivamente, de acordo com o método descrito. A função Atom devolve o símbolo de conceito ou relação com o qual é formado o conceito básico ou rela- ção básica de entrada. A função ANCS, que se baseia no algoritmo Closure, apresentado em [27], permite obter o conjunto de antecessores, no grafo da TBox formada pelos axio- mas positivos, de um dado conceito básico (resp., uma dada relação básica). As funções CInvInter e RInvInter cruzam dois conjuntos de antecessores dos conceitos básicos (resp., relações básicas) envolvidos num axioma negativo, da forma descrita anteriormente. 105
  • 112.
    8. TRADUÇÃO DIRECTA8.3. Algoritmos Algorithm 1 Conceitos e relações insatisfazíveis Require: T , GTp (Vp, Ep) Ensure: O = Ω(T ) global variables: S, M, U, O 1: function ATOM(v) 2: if v = A then 3: return A 4: else if v = ∃P then 5: return P 6: else if v = ∃P− then 7: return P 8: else if v = P then 9: return P 10: else if v = P− then 11: return P 12: end if 13: end function 14: procedure ANCS(v) 15: while ∃u ∈ Uv do 16: Mv ← Mv ∪ Mu ∪ {u} 17: Uv ← Uv ∪ Uu Mv 18: end while 19: end procedure 20: S ← ∅ 21: for all v ∈ Vp do 22: Uv ← ∅ 23: for all u ∈ Vp s.t. (u, v) ∈ Ep do 24: Uv ← Uv ∪ {u} 25: end for 26: Mv ← ∅ 27: end for 28: for all B1 ¬B2 ∈ T do 29: ANCS(B1) 30: ANCS(B2) 31: S ← S ∪ (({B1} ∪ MB1 ) ∩ ({B2} ∪ MB2 )) 32: end for 33: for all Q1 ¬Q2 ∈ T do 34: ANCS(Q1) 35: ANCS(Q2) 36: S ← S ∪ (({Q1} ∪ MQ1 ) ∩ ({Q2} ∪ MQ2 )) 37: end for 38: for all v ∈ S do 39: O ← O ∪ {ATOM(v)} 40: end for 106
  • 113.
    8. TRADUÇÃO DIRECTA8.3. Algoritmos Algorithm 2 Relações irreflexivas Require: T , GTp (Vp, Ep) Ensure: S = Ψ(T ) global variables: S, M, U 1: function CINVINTER(S1, S2) 2: I ← ∅ 3: for all v ∈ S1 do 4: if (v = ∃P and ∃P− ∈ S2) or (v = ∃P− and ∃P ∈ S2) then 5: I ← I ∪ {P} 6: end if 7: end for 8: return I 9: end function 10: function RINVINTER(S1, S2) 11: I ← ∅ 12: for all v ∈ S1 do 13: if (v = P and P− ∈ S2) or (v = P− and P ∈ S2) then 14: I ← I ∪ {P} 15: end if 16: end for 17: return I 18: end function 19: S ← ∅ 20: for all v ∈ Vp do 21: Uv ← ∅ 22: for all u ∈ Vp s.t. (u, v) ∈ Ep do 23: Uv ← Uv ∪ {u} 24: end for 25: Mv ← ∅ 26: end for 27: for all B1 ¬B2 ∈ T do 28: ANCS(B1) 29: ANCS(B2) 30: S ← S ∪ CINVINTER({B1} ∪ MB1 , {B2} ∪ MB2 ) 31: end for 32: for all Q1 ¬Q2 ∈ T do 33: ANCS(Q1) 34: ANCS(Q2) 35: S ← S ∪ RINVINTER({Q1} ∪ MQ1 , {Q2} ∪ MQ2 ) 36: end for 107
  • 114.
  • 115.
    9 Implementação Um dos propósitosda dissertação é, a nível prático, a extensão do NoHR – sistema de querying a bases de conhecimento híbridas MKNF, baseado na resolução SLG(O) – de modo a suportar o perfil OWL 2 QL da linguagem ontológica OWL 2, como já se referiu. Para esse efeito, adopta-se o oráculo DL-LiteR directo, anteriormente elaborado. Optou- se por essa abordagem, por ser, à partida, mais eficiente na fase de tradução da ontologia para regras, já que dispensa a utilização de raciocinadores DL externos e aplicação do fe- cho negativo. Apenas a computação dos conjuntos de conceitos e relações insatisfazíveis e das relações irreflexivas é suficiente. Como a versão original do sistema suporta o per- fil OWL 2 EL implementando um oráculo SLG(O) que também se baseia na tradução da ontologia para regras, a extensão corresponde essencialmente à introdução de um novo componente de tradução para o perfil OWL 2 QL, que é utilizado em lugar do anterior caso a ontologia de entrada esteja neste perfil. Os restantes componentes, de interfacing com o XSB e com o Protégé, e mesmo de processamento das queries e manutenção de dados, (embora sempre susceptíveis a melhorias) podem, para o propósito enunciado, permanecer inalterados. Assim, as modificações necessárias, descritas neste capitulo, localizam-se no componente de tradução, que tem agora de a delegar para o subcom- ponente de tradução OWL 2 EL – já implementado na versão original – ou de tradução OWL 2 QL – implementado na versão estendida – consoante a ontologia de entrada es- teja num ou noutro perfil. A arquitectura da versão estendida do NoHR é apresentada na Secção 9.1. A Sec- ção 9.2 descreve o seu funcionamento. 109
  • 116.
    9. IMPLEMENTAÇÃO 9.1.Arquitectura 9.1 Arquitectura A arquitectura do sistema está representada na figura 9.1, onde os componentes introdu- zidos estão a laranja. Quanto à tradução OWL 2 QL, além das computações inerentes ao próprio oráculo DL-LiteR directo, já abordadas teoricamente no capitulo 8, é necessária uma computação adicional. Com efeito, embora o perfil OWL 2 QL corresponda em termos semânticos e em expressividade ao DL-LiteR , introduz alguns construtores que não fazem parte deste último. Assim, para se suportar completamente o perfil (e se poder aplicar directamente os resultados teóricos obtidos) torna-se necessária uma normalização prévia das ontolo- gias de entrada, de modo a que as expressões usando os construtores adicionais sejam convertidas em expressões (ou conjuntos delas) equivalentes mas formadas apenas pelos construtores definidos pelo DL-LiteR . Essa normalização é apresentada detalhadamente no apêndice A. Tendo em conta todas as computações envolvidas na tradução OWL 2 QL mencio- nadas, podem identificar-se para o componente que lhe diz respeito, subcomponentes com as seguintes funcionalidades: normalização da ontologia de entrada; computação das conceitos e relações insatisfazíveis e das relações irreflexivas 1; tradução da ontologia normalizada. 1 É conveniente agregar ambas num mesmo componente, por serem, tal como os algoritmos 1 e 2 sugerem, muito semelhantes. 110
  • 117.
    9. IMPLEMENTAÇÃO 9.1.Arquitectura <<component>> <<executable>> Protégé <<component>> NoHR <<component>> <<executable>> XSB <<component>> Tradutor <<component>> < < l i b r a r y > > InterProlog <<component>> Tradutor QL <<component>> Tradutor EL <<component>> Normalizador QL <<component>> Analizador de Grafo <<component>> <<executable>> ELK <<component>> Gestor de Regras <<component>> Lançador de Queries <<component>> Editor de Regras <<component... Compilador <<component>> Processador de Queries <<component>> < < f i l e > > result.p Vista de QueriesVista de Regras <<use>> < < u s e > > < < u s e > > <<use>> <<use>> < < u s e > > <<use>> <<use>> <<use>> <<use>><<use>> <<use>> <<use>> <<use>> Powered ByVisual Paradigm Community Edition Figura 9.1: Estrutura do NoHR 111
  • 118.
    9. IMPLEMENTAÇÃO 9.2.Funcionamento 9.2 Funcionamento O funcionamento geral do sistema estendido, quando uma query lhe é lançada, é o se- guinte (ver figura 9.2). Se a query lançada é a primeira, seguem-se os seguintes passos. Verifica-se o perfil da ontologia de entrada. Seguidamente, efectuam se algumas norma- lizações, se necessárias, tanto no caso do EL como no caso do QL. Depois, inicializa-se o ELK e classifica-se com ele a ontologia, no desta ser EL, e a estrutura de dados que representa o grafo do TBox, no caso do QL. Após normalizada a ontologia, traduz-se. Segue-se o processamento regras, que é necessário por causa da duplicação da base de conhecimento. Com as regras obtidas nos dois passos anteriores, escreve-se o ficheiro agregando-as. Depois, inicializa-se o XSB e carrega-se nele o ficheiro obtido no passo anterior. O passo seguinte é elaborar o golo, a lançar ao XSB, correspondente à query pretendida. Esse golo é então lançado ao XSB. No caso de se usarem predicados dupli- cados além desse golo, para os predicados originais, tem de gerar-se e lançar-se outros para os duplicados. Recorde-se que tal é necessário para identificar inconsistências: se o golo para o predicado original sucede e os subgolos para o predicado duplicados falham, então há uma inconsistência entre a ontologia e as regras. Além disso tal permite decidir a falsidade da query quando o golo do predicado original não sucede nem falha, se os golos para os predicados duplicados falharem. Finalmente apresenta-se o resultado na vista a para efeito destinada. Se a query não for a primeira, pode dar-se o caso de alguns dos passos anteriores não serem necessários. Se a base de conhecimento não foi alterada, pode suprimir-se com- pletamente o seu processamento, e passar-se directamente para a geração e avaliação dos golos. Se só as regras foram alteradas, basta apenas processá-las, escrever o ficheiro com as regras, e prosseguir também com a geração e avaliação dos golos. Se apenas a ontolo- gia foi alterada, além de se repetir os passos relativos à tradução da ontologia, e escrita do ficheiro, só é necessário processar novamente as regras se se tiverem introduzido ne- gações (clássicas) – recorde-se que havendo disjunções é sempre necessário duplicar as regras. Quanto à fase de geração e avaliação dos golos, pode ser dispensada se a base de conhecimento não tiver sido alterada e a query for igual à anterior. Relativamente à tradução da ontologia propriamente dita, o funcionamento é o se- guinte. Se a ontologia for EL, começa-se por tratar as disjunções, que no EL podem ser expressas recorrendo a e ⊥, obtendo-se as regras que os permitem representar. De- pois traduzem-se todos os axiomas envolvendo classes. Finalmente, traduzem-se todos os axiomas envolvendo propriedades. Se a ontologia for QL, o processo é o seguinte. Traduz-se cada asserção e axioma, de acordo com a definição 64 (pela ordem em que os diversos casos ai são apresentados). Obtêm-se os conceitos e relações insatisfazíveis e armazenam-se as regras correspondentes; e faz-se o mesmo para as relações irreflexivas. A execução de uma query sobre a base de conhecimento dos Exemplos 2 e 4 é apre- sentada na figura 9.3. 112
  • 119.
    9. IMPLEMENTAÇÃO 9.2.Funcionamento Verificar Perfil Normalizar Ontologia Inicializar ELK Inicializar Grafo Processar Regras Compilar Regras Inicializar XSB Carregar Regras Gerar Golo Lançar Golo Apresentar Resultados Classificar Ontologia Verificar Perfil Inicializ ar ELK Classificar Ontologia Traduzir Ontologia Gerar Subgolo Laçar Subgolo Traduzir Ontologia Perfil Perfil Disjunção Introduzida Regras Alteradas Ontologia Alterada KB Alterada Nova Query Respostas Esgotadas Primeira Query Existem Disjunções Próxima Resposta Verdadeira ou Indefinida [sim] [não] [não] [sim] [não] [sim] [não] [sim] [sim] [não] [não] [sim] [não] [sim] [QL] [EL] [não] [sim] [QL] [EL] [sim] Powered ByVisual Paradigm Community Edition Figura 9.2: Funcionamento do NoHR 113
  • 120.
    9. IMPLEMENTAÇÃO 9.2.Funcionamento Figura 9.3: Execução de uma query na versão final do NoHR 114
  • 121.
    10 Avaliação Para avaliar aimplementação da extensão do NoHR, descrita no capitulo anterior, recorreu- se a um benchmark bem conhecido na literatura, o LUBM [21]. O seu proposito é permitir avaliar repositórios da Web Semântica de forma padronizada e sistemática. É destinado a avaliar o desempenho desses repositórios relativamente a queries sobre conjuntos de da- dos de grande dimensão, constituídos por uma única e realista ontologia. O benchmark consiste nessa ontologia, cujo domínio é o das universidades; num conjunto de dados configuráveis, sintéticos e repetíveis; num conjunto de queries; e em várias métricas de desempenho. O LUBM não enfatiza tanto o tratamento da TBox – a sua dimensão é moderada com- parativamente a outros benchamarks – como o da ABox, ao permitir gerá-la com dimen- sões arbitrariamente grandes. Tal adequa-se particularmente ao perfil OWL 2 QL, que é, como já foi mencionado, especialmente adaptado a domínios onde o número de instân- cias é preponderante sobre a dimensão da terminologia. O capítulo prossegue do seguinte modo. Na Secção 10.1 descreve-se a experiência efectuada. Na Secção 10.2 apresentam-se os resultados obtidos. Na última secção, a Secção 10.3, discutem-se esses resultados. 10.1 Experiência No LUBM, a universidade é a unidade mínima de geração, que envolve a descrição de um conjunto de departamentos; e as instâncias das classes e propriedades são decididas aleatoriamente. Para esses dados serem tão realistas quanto possível, aplicam-se algu- mas restrições baseadas no senso comum e na investigação do domínio em causa. Os dados gerados são completamente repetíveis quanto às universidades, pois é possível 115
  • 122.
    10. AVALIAÇÃO 10.1.Experiência configurar a semente usada pelo gerador de números aleatórios aplicado no processo. Entre as métricas definidas pelo LUBM estão o tempo de carregamento, que compre- ende o tempo que o sistema alvo leva a carregar a KB em memória ou em disco, consoante o caso, e todos os pré-processamentos e raciocínios que efectua sobre os dados; e o tempo de resposta à query, que é medido de forma semelhante à usada pelos benchmarks para sistemas de bases de dados. Para ter em conta o caching, o LUBM executa cada query dez vezes consecutivamente e calcula os tempos médios. No entanto, como no NoHR só na primeira vez que a query é lançada é que é efectuado alguma computação, nas expe- riências que se efectuaram mediu-se apenas os tempos da primeira query. Utilizou-se o LUBM para efectuar uma experiência destinada a avaliar a escalabi- lidade do sistema NoHR relativamente ao tamanho da ABox, no caso do OWL 2 QL. Nessa experiência procedeu-se do seguinte modo. Geraram-se ABoxs com entre 1 a 10 universidades, usando 0 como semente do gerador de números aleatório. Alterou-se a TBox fornecida pelo benchmark, excluindo alguns axiomas não suportados pelo OWL 2 QL – a TBox resultante contém 88 axiomas. Configuraram-se as seguintes queries, que são um subconjunto das prescritas pelo benchmark: 1. GraduateStudent(X), takesCourse(X, wwwDepartment0University0eduGraduate Course0); 2. GraduateStudent(X), University(Y ), Department(Z), memberOf(X, Z), subOrganizationOf(Z, Y ), undergraduateDegreeFrom(X, Y ); 3. publicationAuthor(X, wwwDepartment0University0eduAssistantProfessor0), Publication(X); 4. worksFor(X, wwwDepartment0University0edu), Professor(X), name(X, Y 1), emailAddress(X, Y 2), telephone(X, Y 3); 5. memberOf(X, wwwDepartment0University0edu), Person(X) 6. teacherOf(wwwDepartment0University0eduAssociateProfessor0, Y ), Student(X), Course(Y ), takesCourse(X, Y ). Executou-se o componente de avaliação do LUBM – que carrega uma dada ABox (juntamente com a TBox predefinida) e, para cada query configurada, executa-a 10 vezes consecutivas – medindo-se os tempos de execução das diversas fases de processamento do NoHR, envolvidas no carregamento e resposta às queries, descritas no capítulo an- terior (apenas na primeira vez que é chamado, pelo LUBM, para uma dada query). Tal procedimento foi efectuado por um script criado para esse efeito, e foi sujeito a restrição do uso da memória, sendo interrompido ao restarem apenas 5% de memória livre. As experiências foram efectuadas numa sistema com as seguintes características: 116
  • 123.
    10. AVALIAÇÃO 10.2.Resultados Processador 4x Intel R CoreTMi3-3217U CPU @ 1.80GHz Memória 3938MB Disco ATA WDC WD10JPVX-22J Sistema Operativo Linux 3.17.6-1-ARCH (x86_64) Java OpenJDK 7 Max Heap Size 2GB XSB Versão 3.4.0 10.2 Resultados Os resultados obtidos, para os tempos de carregamento e querying, foram os que se apre- sentam nas tabelas 10.1, 10.2, respectivamente. faseuniversidades (asserções) 1 (102707) 2 (236268) 3 (346709) 4 (491836) carregamento da ontologia 6025 6680 8718 9264 normalizção 35 59 76 115 inicialização do tradutor 3257 3816 5580 8258 construção do grafo 0 0 0 0 tradução da ontologia 3870 6643 8583 12685 processamento das regras 8 2 2 2 compilação das regras 148 247 362 446 carregamento no xsb 25939 222861 352579 1099944 total 39282 240308 375900 1130714 total(segundos) 39 240 376 1131 Tabela 10.1: Tempos de carregamento (ms) Note-se que o tempo de construção do grafo é negligenciável (inferior a 1 ms) porque a TBox contém poucos axiomas (apenas 88). queryuniversidades (asserções) 1 (102707) 2 (236268) 3 (346709) 4 (491836) 1 2150 13065 43983 55109 2 27539 962906 2231281 9402356 3 49 81 75 73 4 184 392 545 972 5 174 5716 9369 13818 6 42616 197544 621369 894367 média 12119 196617 484437 1727783 média (segundos) 12 197 484 1728 Tabela 10.2: Tempos de querying (ms) Como se pode observar pela tabela 10.2 algumas queries exigem mais tempo de re- posta que outras. Tal acontece porque, por um lado, certos subgolos exigem, no SLG(O) , a avaliação de mais subgolos que outros, consoante tenham mais ou menos axiomas que os envolvam. Por outro lado, porque para certos subgolos existem mais respostas que 117
  • 124.
    10. AVALIAÇÃO 10.3.Discussão de resultados para outros. Os gráficos 10.1 e 10.2 mostram os tempos totais de carregamento e os tempos médios de querying, respectivamente. 1 2 3 4 0 200 400 600 800 1000 1200 Figura 10.1: Escalabilidade do carregamento 1 2 3 4 0 500 1000 1500 2000 Figura 10.2: Escalabilidade do querying 10.3 Discussão de resultados O limite mínimo de 5% de memória livre foi atingido durante a segunda query à KB contendo 5 universidades. Com efeito, observou-se que a quantidade de memória utili- zada pelo XSB durante a avaliação das queries aumenta progressivamente com o decorrer dessa avaliação, até devolver um resultado ou a computação ser interrompida (no caso da experiência descrita, quando é atingido o limite mínimo de memória livre). Tal com- portamento pode ser explicado pelo facto de, na implementação actual da tradução OWL 2 QL, todos os predicados serem tabulados. Desse modo, o XSB mantém em memória cada resposta encontrada, para cada subgolo avaliado durante a resolução SLG. Quando 118
  • 125.
    10. AVALIAÇÃO 10.3.Discussão de resultados o número de respostas encontradas numa dada avaliação SLG é suficientemente elevado toda a memória disponível fica ocupada. Embora não seja possível evitar completamente esse efeito – pelo menos alguns predicados terão de ser sempre tabulados, tornando o uso de memória linear no número de respostas, envolvendo esses predicados, encon- tradas na avaliação SLG – acredita-se poder-se mitigá-lo. Por um lado, supõe-se que seja possível evitar o uso de tabulação para certos predicados. Tal possibilidade poderá ser futuramente estudada e, se se confirmar, aplicada na prática. Por outro lado, a forma como se geram e avaliam os golos para se obter a resposta de uma dada query, parece, à partida, ainda ser susceptível de optimizações significativas. Quanto ao tempo de carregamento, consideram-se satisfatórios os valores obtidos. Considera-se que apenas alguns minutos para carregar e traduzir uma ontologia con- tendo cerca de quatro centenas de milhar de asserções – o que só é necessário efectuar apenas uma vez para todas as queries subsequentes – são aceitáveis. Relativamente à es- calabilidade do sistema na fase de carregamento, os dados são pouco conclusivos – seria necessária mais memória para se poder prosseguir a experiência com mais universida- des. Embora os resultados obtidos possam sugerir que o sistema possa ser pouco esca- lável perante ontologias com ABox de dimensões superiores às utilizadas na experiência (veja-se o gráfico da figura 10.1), tal como acontece com os sistemas estudados em [21], pode supor-se, dado que os tempos obtidos se mantiveram na ordem dos segundos, que o sistema seria capaz de carregar (e traduzir) ontologias com ABox relativamente gran- des, em tempos aceitáveis. Quanto ao tempo de queries, os valores obtidos revelam a necessidade de algumas melhorias. Não se coadunam com a eficiência pela qual o XSB é conhecido – note-se que na fase de querying a computação é delegada, quase completamente, ao XSB. Uma das explicações que se colocou em hipótese foi a de que o uso de predicados hilog 1 pudesse ter um impacto negativo no desempenho do XSB. Tal hipótese foi, de facto, corroborada por algumas experiências que se fizeram posteriormente. Assim, acredita-se que, supri- mindo o uso dos predicados hilog, e implementando as melhorias já mencionadas, po- derão obter-se tempos de resposta mais satisfatórios. Embora os resultados possam su- gerir haverem algumas limitações quanto à escalabilidade do sistema, em geral, (veja-se o gráfico da figura 10.2), como ainda existem lugar para algumas melhorias importantes, crê-se que tal não é o caso. Além da experiência descrita, faria sentido realizar outras em que se comparasse o NoHR com outros raciocinadores. No entanto, existem algumas restrições importantes. 1 Predicados hilog (consultar http://xsb.sourceforge.net/manual1/manual1.pdf ) são predi- cados de segunda ordem, i.e. podem sem formados por qualquer termo, seja ele uma constante, uma variá- vel, ou um termo composto – f(x), por exemplo. Tais predicados permitem, por exemplo, escrever as regras dom(P)(X) : −P(X, _). e ran(P)(X) : −P(_, X). onde P e X são variáveis, e dom e ran são functores que denotam o domínio e contradomínio, respectivamente, de uma relação. Usando unicamente essas duas regras é possível expressar exactamente o mesmo que o conjunto de todas as regras escritas no caso (e) da tradução directa (64) expressa. Foi no sentido de aproveitar essa possibilidade, reduzindo assim significati- vamente o número de regras no programa resultante da tradução, que se optou por recorrer aos predicados hilog. 119
  • 126.
    10. AVALIAÇÃO 10.3.Discussão de resultados Por um lado, a maioria dos raciocinadores que suportam querying só o faz para KB que sejam ou ontologias DL ou programas em lógica, e não uma combinação dos dois. Por outro lado, os raciocinadores em que tal é possível, além ainda estarem em fase experi- mental e por isso haverem algumas limitações práticas no seu uso em experiências, têm para as regras uma sintaxe bastante distinta da utilizada no NoHR. Assim, considera-se que, neste momento, o contributo das mencionadas experiências para a presente avalia- ção não compensaria o esforço adicional necessário à sua realização. 120
  • 127.
  • 128.
    11 Conclusões e TrabalhoFuturo A presente dissertação lega alguns contributos relevantes à área de Representação de Co- nhecimento. A um nível conceptual, vem fortalecer a visão de bases de conhecimento como algo heterogéneo nas formas de representação – como são heterogéneas as formas como o ser humano representa mentalmente a realidade – em vez de como conhecimento expresso sob uma linguagem particular, que o limita e constrange a certa perspectiva, juntando-se a uma linha de investigação emergente – a das bases de conhecimento hí- bridas – com já muito trabalho realizado e várias provas de sucesso dadas. Constitui, em certa medida, mais uma evidência da viabilidade dessa abordagem à representação de conhecimento. Entre os vários formalismos híbridos existentes, o MKNF híbrido é provavelmente o que melhor revela as potencialidades de se combinar lógicas de descrição com progra- mação em logica, na medida em que as bases de conhecimentos que suporta realmente beneficiam, por completo, da expressividade de ambas as formas de representação, e se mantêm, ainda assim, coesas – tal não é o caso em outros formalismos conhecidos, como SWRL [23, 25], DLP [20], AL-log [11], CARIN [34], DL + log [41], Horn-SHIQ [26], pro- gramas dl [13, 14], programas dl disjuntivos [16], lógica de equilíbrio quantificado para bases de conhecimento híbridas [16], grafos de descrição [36] , esquemas nominais [31], regras híbridas sob semântica bem fundada [12] e programas HEX [15]. O formalismo MKNF híbrido, por si só, mostra o potencial da agregação das duas técnicas de representação numa mesma base de conhecimento. A definição de um algo- ritmo de querying tratável – o SLG(O) – para as bases de conhecimento híbridas MKNF com ontologias em DLs tratáveis foi um passo em frente no estabelecimento da sua apli- cabilidade, ao mostrar que raciocinadores destinados a querying – que poderão vir a 122
  • 129.
    11. CONCLUSÕES ETRABALHO FUTURO estender, e já começam a fazê-lo, os actuais Sistemas de Gestão de Bases de Dados – po- derão assentar sobre essa abordagem híbrida de representação. O NoHR é precisamente um desses raciocinadores e, na sua versão original, já suporta uma linguagem ontológica importante, o OWL 2 EL, que em expressividade corresponde à lógica de descrição EL+ ⊥. Nesta dissertação, estendeu-se o raciocinador NoHR com o suporte a outro perfil importante da linguagem ontológica OWL 2: o OWL 2 QL, que se baseia na lógica de descrição DL-LiteR . Tal como para OWL 2 EL, recorreu-se ao algoritmo SLG(O) . Como esse algoritmo é paramétrico quanto à lógica de descrição utilizada, define a operação sobre a ontologia de forma abstracta, introduzindo apenas a noção de um “oráculo” que computa as derivações dela, e enunciado as propriedades que este deve satisfazer. Do ponto de vista teórico, tal implicou a definição de um oráculo concreto para o DL-LiteR . Nesse sentido, esta dissertação contribui com duas abordagens distintas. Ambas se inspiram na ideia de traduzir a ontologia para regras não monótonas que derivem as mesmas respostas a queries, anteriormente aplicada no NoHR, para o OWL 2 EL. A primeira delas, de forma similar à do oráculo EL+ ⊥ definido para a versão original do NoHR, aplica uma redução preliminar à ontologia, de modo a evitar certas constru- ções mais difíceis de expressar sob a forma de regras, e só depois a traduz. Esta tradução é um contributo relevante desta dissertação, uma vez que, além de poder ser aplicada no oráculo DL-LiteR , pode facilmente ser generalizada – a ideia de evitar as construções não suportadas pela programação em lógica com a redução presta-se particularmente a isso – em conjunto com a tradução do oráculo EL+ ⊥, para outras lógicas de descrição, possivelmente mais expressivas. Como se demonstrou que tal tradução preserva as res- postas a queries da ontologia original, ela poderá ser também aplicada, tal como definida ou adaptada, em futuras técnicas de querying DL que recorram a raciocinadores de re- gras. A redução utilizada nesta abordagem implica a classificação da ontologia. Tratando- se esse de um serviço custoso de implementar, e havendo já vários raciocinadores que o suportam, o mais conveniente é recorrer a tais sistemas. No entanto, como nenhum des- ses raciocinadores suporta a classificação completa 1 em DL-LiteR de forma comprova- damente eficiente, é pertinente adaptar a classificação em outra lógica de descrição, para a qual se conheçam classificadores mais efectivos, como EL++ , para essa lógica de des- crição. Por esse motivo, definiu-se uma redução da classificação DL-LiteR à classificação EL++ . Tal constitui, e em particular para ontologias com TBox positivas, onde a penali- zação da adaptação é menos significativa, outro contributo importante desta dissertação. A segunda abordagem ao oráculo DL-LiteR é traduzir a ontologia directamente, sem a reduzir, expressando os construtores evitados na primeira abordagem com o auxilio de predicados especiais que os representam. Desse modo, dispensa-se a classificação da ontologia com um raciocinador DL externo e evita-se a computação do fecho negativo, apenas com a contrapartida de acrescentar algumas regras adicionais e de ter-se de obter 1 Neste contexto, entende-se por classificação completa a obtenção de todas as subsunções, incluindo entre conceitos e relações não atómicos, nomeadamente complementos, contrariamente ao que é habitual. 123
  • 130.
    11. CONCLUSÕES ETRABALHO FUTURO os conceitos e relações que apresentam certas propriedades que devem reflectir-se nas re- gras – a insatisfazibilidade e a irreflexividade. Tal técnica é comparável, em efectividade, à anterior – embora se suponha que tenha, na prática, significativamente melhor desem- penho, por não necessitar de uma classificação completa e não ser tão penalizada com a presença de axiomas negativos. Independente de esta abordagem ser ou não superior à anterior, constitui igualmente outro contributo importante desta dissertação, uma vez que se mostrou analiticamente a sua correcção e empiricamente a sua viabilidade. Tal como a tradução da abordagem anterior, também esta poderá inspirar futuras técnicas de querying DL recorrendo a raciocinadores de regras. A implementação da extensão do NoHR com o suporte ao OWL 2 QL, é também, por si só, outro contributo relevante desta dissertação. O perfil QL da linguagem OWL 2 é particularmente aplicável em contexto empresarial e na Web, uma vez que apresenta pro- priedades computacionais que lhe conferem a escalabilidade, quanto ao volume de da- dos, habitualmente requerida em tal contexto. Por esse motivo, de ser escalável quanto aos dados, é essa a linguagem adoptada no Acesso a Dados Baseado em Ontologias – técnica na qual se abstrai uma camada dos dados, constituída por diversas bases de dados, com uma camada ontológica sobre a primeira, de modo a facilitar a integração de informação proveniente de diversas fontes e em vários formatos distintos – que será provavelmente padrão em muitas das aplicações do futuro. O NoHR, com a extensão realizada nesta dissertação, é o primeiro raciocinador a suportar querying a bases de co- nhecimento híbridas coesas beneficiando completamente, e simultaneamente, da expres- sividade desse perfil e das regras não monótonas – que são particularmente úteis nos contextos mencionados, já que sustentam a assunção do mundo fechado, como as bases de dados. Recorde-se que outros raciocinadores conhecidos, como NLP-DL 2, DReW [43], dlhex 3, e HD-rules 4, baseiam-se em formalismos que não permitem tirar o mesmo pro- veito de ambas as formas de representação nem exibem a mesma coesividade. Embora ainda haja lugar para algumas melhorias no NoHR, os resultados empíricos obtidos per- mitem concluir que o sistema é viável e que poderá assim vir a servir de base a futu- ras aplicações Web, empresariais ou governamentais (recorde-se o exemplo de aplicação enunciado na introdução). Para trabalho futuro, num plano mais imediato, há as várias melhorias à implemen- tação já apontadas, e alguns estudos possíveis. A nível teórico, estudar se se pode evitar tabular certos predicados no XSB, e em que circunstâncias, poderá revelar oportunida- des de optimização significativas. Além disso, comparar empiricamente a performance do NoHR usando o oráculo EL+ ⊥ou DL-LiteR seria interessante tanto para enriquecer a avaliação de ambas as técnicas, como para determinar qual delas deverá ser seleccionada no caso de ontologias que estejam em ambas as lógicas de descrição. Os desenvolvimentos desta dissertação deixaram, naturalmente, algumas questões 2 http://www.kr.tuwien.ac.at/research/systems/semweblp/ 3 http://www.kr.tuwien.ac.at/research/systems/dlvhex/ 4 http://www.ida.liu.se/hswrl/ 124
  • 131.
    11. CONCLUSÕES ETRABALHO FUTURO em aberto, que poderão também estudar-se futuramente. Uma delas é acerca da redução da classificação DL-LiteR à classificação EL++ . Uma avaliação empírica desta técnica em ontologias com TBox positivas poderá revelar a sua competitividade face a outras técni- cas existentes. Além disso, em geral (para ontologias possivelmente contendo axiomas negativos), pode tentar-se melhorá-la, procurando alternativas ao fecho negativo, menos onerosas computacionalmente; ou até mesmo dar-se o caso de o impacto dos axiomas ne- gativos, não ser na prática (para a maioria das ontologias reais), tão significativo quanto esperado. Outro aspecto susceptível de ser avaliado empiricamente é a viabilidade da aborda- gem do oráculo DL-LiteR indirecto. Poderão conduzir-se estudos no sentido de por à prova essa abordagem e compará-la a abordagem actualmente implementada no NoHR para o DL-LiteR . Nesses estudos, poderá recorrer-se tanto à adaptação de um clas- sificador EL++ , do modo descrito, como directamente a um raciocinador suportando DL-LiteR . Uma área de estudo importante, e emergente, na qual as técnicas elaboradas nesta dis- sertação poderão também ser aplicadas é o Acesso a Dados Baseado em Conhecimento 5 – uma generalização do Acesso a Dados Baseado em Ontologias, anteriormente menci- onado, visando também a sinergia entre ontologias e regras. Sustenta a ideia de usar bases de conhecimento, constituídas por ontologias e/ou regras, como esquemas globais generalizados, sobre os quais se possa raciocinar, para dados em bases de dados locais, heterogéneas entre si – algo que se torna cada vez mais imperativo pela crescente mul- tiplicidade e heterogeneidade de fontes de informação em certos domínios. Como, para esse propósito, é particularmente pertinente armazenar essas bases de conhecimento sob a forma de regras 6, considera-se que as técnicas de tradução de ontologias para regras elaboradas nesta dissertação poderão contribuir para a mencionada área de estudo. 5 Um resumo pode ser consultado em http://www.cs.unb.ca/~boley/talks/RulesOBDA.pdf 6 Uma discussão dessa questão pode ser lida em http://www.cs.unb.ca/~boley/talks/ RulesOBDA.pdf 125
  • 132.
    Bibliografia [1] J. J.Alferes, M. Knorr e T. Swift. “Queries to Hybrid MKNF Knowledge Bases th- rough Oracular Tabling”. Em: The Semantic Web - ISWC 2009, 8th International Se- mantic Web Conference, ISWC 2009, Chantilly, VA, USA, October 25-29, 2009. Procee- dings. Ed. por A. Bernstein, D. R. Karger, T. Heath, L. Feigenbaum, D. Maynard, E. Motta e K. Thirunarayan. Vol. 5823. Lecture Notes in Computer Science. Springer, 2009, pp. 1–16. ISBN: 978-3-642-04929-3. [2] J. J. Alferes, M. Knorr e T. Swift. “Query-Driven Procedures for Hybrid MKNF Kno- wledge Bases”. Em: ACM Trans. Comput. Log. 14.2 (2013), 16:1–16:43. [3] F. Baader, S. Brandt e C. Lutz. “Pushing the EL Envelope”. Em: IJCAI-05, Proceedings of the Nineteenth International Joint Conference on Artificial Intelligence, Edinburgh, Sco- tland, UK, July 30-August 5, 2005. Ed. por L. P. Kaelbling e A. Saffiotti. Professional Book Center, 2005, pp. 364–369. ISBN: 0938075934. URL: http://www.ijcai. org/papers/0372.pdf. [4] F. Baader, D. Calvanese, D. L. McGuinness, D. Nardi e P. F. Patel-Schneider, eds. The Description Logic Handbook: Theory, Implementation, and Applications. Cambridge University Press, 2003. ISBN: 0-521-78176-0. [5] T. Berners-Lee, J. Hendler e O. Lassila. “The Semantic Web”. Em: Scientific American (2001), pp. 96–101. [6] H. Boley e M. Kifer, eds. RIF Overview (Second Edition). Available from http:// www.w3.org/TR/2013/NOTE-rif-overview-20130205/. W3C Recommen- dation 05 February 2013, 2013. [7] R. J. Brachman e H. J. Levesque. Knowledge Representation and Reasoning. Elsevier, 2004. ISBN: 978-1-55860-932-7. URL: http://www.elsevier.com/wps/find/ bookdescription.cws_home/702602/description. [8] S. Bratt, ed. Emerging Web Technologies to Watch. Available from http://www.w3. org/2006/Talks/1023-sb-W3CTechSemWeb/. 2006. 126
  • 133.
    BIBLIOGRAFIA [9] D. Calvanese,G. D. Giacomo, D. Lembo, M. Lenzerini e R. Rosati. “Tractable Rea- soning and Efficient Query Answering in Description Logics: The DL-Lite Family”. Em: J. Autom. Reasoning 39.3 (2007), pp. 385–429. [10] W. Chen e D. S. Warren. “Query Evaluation under the Well Founded Semantics”. Em: Proceedings of the Twelfth ACM SIGACT-SIGMOD-SIGART Symposium on Prin- ciples of Database Systems, May 25-28, 1993, Washington, DC, USA. Ed. por C. Beeri. ACM Press, 1993, pp. 168–179. ISBN: 0-89791-593-3. URL: http://dl.acm.org/ citation.cfm?id=153850. [11] F. M. Donini, M. Lenzerini, D. Nardi e A. Schaerf. “AL-log: Integrating Datalog and Description Logics”. Em: J. Intell. Inf. Syst. 10.3 (1998), pp. 227–252. [12] W. Drabent e J. Maluszynski. “Well-Founded Semantics for Hybrid Rules”. Em: Web Reasoning and Rule Systems, First International Conference, RR 2007, Innsbruck , Austria, June 7-8, 2007, Proceedings. Ed. por M. Marchiori, J. Z. Pan e C. de Sainte Marie. Vol. 4524. Lecture Notes in Computer Science. Springer, 2007, pp. 1–15. ISBN: 978-3-540-72981-5. [13] T. Eiter, G. Ianni, T. Lukasiewicz e R. Schindlauer. “Well-founded semantics for description logic programs in the semantic web”. Em: ACM Trans. Comput. Log. 12.2 (2011), 11:1–11:41. [14] T. Eiter, G. Ianni, T. Lukasiewicz, R. Schindlauer e H. Tompits. “Combining answer set programming with description logics for the Semantic Web”. Em: Artif. Intell. 172.12-13 (2008), pp. 1495–1539. [15] T. Eiter, G. Ianni, R. Schindlauer e H. Tompits. “Effective Integration of Declarative Rules with External Evaluations for Semantic-Web Reasoning”. Em: The Semantic Web: Research and Applications, 3rd European Semantic Web Conference, ESWC 2006, Budva, Montenegro, June 11-14, 2006, Proceedings. Ed. por Y. Sure e J. Domingue. Vol. 4011. Lecture Notes in Computer Science. Springer, 2006, pp. 273–287. ISBN: 3-540-34544-2. [16] T. Eiter, T. Lukasiewicz, R. Schindlauer e H. Tompits. “Well-Founded Semantics for Description Logic Programs in the Semantic Web”. Em: Rules and Rule Markup Lan- guages for the Semantic Web: Third International Workshop, RuleML 2004, Hiroshima, Japan, November 8, 2004. Proceedings. Ed. por G. Antoniou e H. Boley. Vol. 3323. Lec- ture Notes in Computer Science. Springer, 2004, pp. 81–97. ISBN: 3-540-23842-5. [17] A. V. Gelder, K. A. Ross e J. S. Schlipf. “The Well-Founded Semantics for General Logic Programs”. Em: J. ACM 38.3 (1991), pp. 620–650. [18] M. Gelfond e V. Lifschitz. “The Stable Model Semantics for Logic Programming”. Em: Logic Programming, Proceedings of the Fifth International Conference and Sympo- sium, Seattle, Washington, August 15-19, 1988 (2 Volumes). Ed. por R. A. Kowalski e K. A. Bowen. MIT Press, 1988, pp. 1070–1080. ISBN: 0-262-61056-6. 127
  • 134.
    BIBLIOGRAFIA [19] B. C.Grau, A. Fokoue, B. Motik, Z. Wu e I. Horrocks, eds. OWL 2 Web Ontology Language Profiles (Second Edition). Available from http://www.w3.org/TR/ 2012/REC-owl2-profiles-20121211/. 2012. [20] B. N. Grosof, I. Horrocks, R. Volz e S. Decker. “Description logic programs: combi- ning logic programs with description logic”. Em: Proceedings of the Twelfth Interna- tional World Wide Web Conference, WWW 2003, Budapest, Hungary, May 20-24, 2003. Ed. por G. Hencsey, B. White, Y. R. Chen, L. Kovács e S. Lawrence. ACM, 2003, pp. 48–57. ISBN: 1-58113-680-3. [21] Y. Guo, Z. Pan e J. Heflin. “LUBM: A benchmark for OWL knowledge base sys- tems”. Em: J. Web Sem. 3.2-3 (2005), pp. 158–182. [22] V. Haarslev e R. Möller. “RACER System Description”. Em: Automated Reasoning, First International Joint Conference, IJCAR 2001, Siena, Italy, June 18-23, 2001, Procee- dings. Ed. por R. Goré, A. Leitsch e T. Nipkow. Vol. 2083. Lecture Notes in Compu- ter Science. Springer, 2001, pp. 701–706. ISBN: 3-540-42254-4. [23] I. Horrocks, P. Patel-Schneider, H. Boley, S. Tabet, B. Grosof e M. Dean, eds. SWRL: A Semantic Web Rule Language Combining OWL and RuleML. Available from http: //www.w3.org/Submission/SWRL/. 2004. [24] I. Horrocks, O. Kutz e U. Sattler. “The Even More Irresistible SROIQ”. Em: KR. Ed. por P. Doherty, J. Mylopoulos e C. A. Welty. AAAI Press, 2006, pp. 57–67. ISBN: 978-1-57735-271-6. [25] I. Horrocks, P. F. Patel-Schneider, S. Bechhofer e D. Tsarkov. “OWL rules: A propo- sal and prototype implementation”. Em: J. Web Sem. 3.1 (2005), pp. 23–40. [26] U. Hustadt, B. Motik e U. Sattler. “Data Complexity of Reasoning in Very Expres- sive Description Logics”. Em: IJCAI-05, Proceedings of the Nineteenth International Joint Conference on Artificial Intelligence, Edinburgh, Scotland, UK, July 30-August 5, 2005. Ed. por L. P. Kaelbling e A. Saffiotti. Professional Book Center, 2005, pp. 466– 471. ISBN: 0938075934. URL: http://www.ijcai.org/papers/0326.pdf. [27] Y. E. Ioannidis, R. Ramakrishnan e L. Winger. “Transitive Closure Algorithms Ba- sed on Graph Traversal”. Em: ACM Trans. Database Syst. 18.3 (1993), pp. 512–576. [28] V. Ivanov, M. Knorr e J. Leite. “A Query Tool for EL with Non-monotonic Rules”. Em: The Semantic Web - ISWC 2013 - 12th International Semantic Web Conference, Syd- ney, NSW, Australia, October 21-25, 2013, Proceedings, Part I. Ed. por H. Alani, L. Kagal, A. Fokoue, P. T. Groth, C. Biemann, J. X. Parreira, L. Aroyo, N. F. Noy, C. Welty e K. Janowicz. Vol. 8218. Lecture Notes in Computer Science. Springer, 2013, pp. 216–231. ISBN: 978-3-642-41334-6. [29] Y. Kazakov, M. Krötzsch e F. Simancik. “The Incredible ELK - From Polynomial Procedures to Efficient Reasoning with EL Ontologies”. Em: J. Autom. Reasoning 53.1 (2014), pp. 1–61. 128
  • 135.
    BIBLIOGRAFIA [30] M. Knorr,J. J. Alferes e P. Hitzler. “Local closed world reasoning with descrip- tion logics under the well-founded semantics”. Em: Artif. Intell. 175.9-10 (2011), pp. 1528–1554. [31] M. Krötzsch, F. Maier, A. Krisnadhi e P. Hitzler. “A better uncle for OWL: nominal schemas for integrating rules and ontologies”. Em: Proceedings of the 20th Internati- onal Conference on World Wide Web, WWW 2011, Hyderabad, India, March 28 - April 1, 2011. Ed. por S. Srinivasan, K. Ramamritham, A. Kumar, M. P. Ravindra, E. Bertino e R. Kumar. ACM, 2011, pp. 645–654. ISBN: 978-1-4503-0632-4. [32] D. Lembo, V. Santarelli e D. F. Savo. “A Graph-Based Approach for Classifying OWL 2 QL Ontologies”. Em: Informal Proceedings of the 26th International Workshop on Description Logics, Ulm, Germany, July 23 - 26, 2013. Ed. por T. Eiter, B. Glimm, Y. Kazakov e M. Krötzsch. Vol. 1014. CEUR Workshop Proceedings. CEUR-WS.org, 2013, pp. 747–759. URL: http://ceur-ws.org/Vol-1014/paper_21.pdf. [33] N. Leone, G. Pfeifer, W. Faber, T. Eiter, G. Gottlob, S. Perri e F. Scarcello. “The DLV system for knowledge representation and reasoning”. Em: ACM Trans. Comput. Log. 7.3 (2006), pp. 499–562. [34] A. Y. Levy e M.-C. Rousset. “Combining Horn Rules and Description Logics in CARIN”. Em: Artif. Intell. 104.1-2 (1998), pp. 165–209. [35] V. Lifschitz. “Nonmonotonic Databases and Epistemic Queries”. Em: Proceedings of the 12th International Joint Conference on Artificial Intelligence. Sydney, Australia, August 24-30, 1991. Ed. por J. Mylopoulos e R. Reiter. Morgan Kaufmann, 1991, pp. 381–386. ISBN: 1-55860-160-0. [36] B. Motik, B. C. Grau, I. Horrocks e U. Sattler. “Representing ontologies using des- cription logics, description graphs, and rules”. Em: Artif. Intell. 173.14 (2009), pp. 1275– 1309. [37] B. Motik e R. Rosati. “Reconciling description logics and rules”. Em: J. ACM 57.5 (2010), 30:1–30:62. [38] P. Patel-Schneider, B. Motik e B. C. Grau, eds. OWL 2 Web Ontology Language Direct Semantics (Second Edition). Available from http://www.w3.org/TR/2012/REC- owl2-direct-semantics-20121211/. 2012. [39] L. M. Pereira e J. J. Alferes. “Well Founded Semantics for Logic Programs with Explicit Negation”. Em: ECAI. 1992, pp. 102–106. [40] R. Reiter. “On Closed World Data Bases”. Em: Logic and Data Bases. 1977, pp. 55–76. [41] R. Rosati. “DL+log: Tight Integration of Description Logics and Disjunctive Data- log”. Em: KR. Ed. por P. Doherty, J. Mylopoulos e C. A. Welty. AAAI Press, 2006, pp. 68–78. ISBN: 978-1-57735-271-6. 129
  • 136.
    BIBLIOGRAFIA [42] T. Swift.“A New Formulation of Tabled Resolution with Delay”. Em: Progress in Ar- tificial Intelligence, 9th Portuguese Conference on Artificial Intelligence, EPIA ’99, Évora, Portugal, September 21-24, 1999, Proceedings. Ed. por P. Barahona e J. J. Alferes. Vol. 1695. Lecture Notes in Computer Science. Springer, 1999, pp. 163–177. ISBN: 3-540-66548-X. [43] G. Xiao, T. Eiter e S. Heymans. “The DReW System for Nonmonotonic DL-Programs”. English. Em: Semantic Web and Web Science. Ed. por J. Li, G. Qi, D. Zhao, W. Nejdl e H.-T. Zheng. Springer Proceedings in Complexity. Springer New York, 2013, pp. 383– 390. ISBN: 978-1-4614-6879-0. 130
  • 137.
    A Normalizações A.1 Expressões normais ClassAssertion(ClassIndividual) ObjectPropertyAssertion(ObjectPropertyExpression Individual Individual) DataPropertyAssertion(DataProperty Individual Literal) SubClassOf(subClassExpression subClassExpression) SubObjectPropertyOf(ObjectPropertyExpression ObjectPropertyExpression) SubDataPropertyOf(DataProperty DataProperty) DisjointClasses(subClassExpression subClassExpression) DisjointObjectProperties(ObjectPropertyExpression ObjectPropertyExpression) DisjointDataProperties(DataProperty DataProperty) 131
  • 138.
    A. NORMALIZAÇÕES A.2 Expressõesignoradas ClassAssertion(owl:Thing a) ClassAssertion(owl:Nothing a) ObjectPropertyAssertion(owl:topObjectProperty a b) ObjectPropertyAssertion(owl:bottomObjectProperty a b) DataPropertyAssertion(owl:topDataProperty a b) DataPropertyAssertion(owl:bottomDataProperty a b) SubClassOf(B owl:Thing) SubClassOf(owl:Thing B) SubClassOf(owl:Nothing B) SubClassOf(DataSomeValuesFrom(DPE DR) CE) SubClassOf(CE DataSomeValuesFrom(DPE DR)) SubObjectPropertyOf(Q owl:topObjectProperty) SubObjectPropertyOf(owl:topObjectProperty Q) SubObjectPropertyOf(owl:bottomObjectProperty Q) SubDataPropertyOf(Q owl:topDataProperty) SubDataPropertyOf(owl:topDataProperty Q) SubDataPropetyOf(owl:bottomDataProperty Q) DisjointClasses(B owl:Nothing) DisjointClasses(owl:Nothing B) 132
  • 139.
    A. NORMALIZAÇÕES DisjointObjectProperties(Q owl:bottomObjectProperty) DisjointObjectProperties(owl:bottomObjectPropertyQ) DisjointDataProperties(Q owl:bottomDataProperty) DisjointDataProperties(owl:bottomDataProperty Q) DataDomain(DPE C) DataRange(DPE DR) DifferentIndividuals(I1 I2 ... In) A.3 Expressões normais em DL-LiteR ClassAssertion(A a) A(a) ObjectPropertyAssertion(P a b) P(a, b) DataPropertyAssertion(P a b) P(a, b) SubClassOf(B owl:Nothing) B ¬B SubClassOf(B1 B2) B1 B2 SubObjectPropertyOf(Q owl:bottomObjectProperty) Q ¬Q SubObjectPropertyOf(Q1 Q2) Q1 Q2 133
  • 140.
    A. NORMALIZAÇÕES SubDataPropertyOf(Q owl:bottomObjectProperty) Q¬Q SubDataPropertyOf(Q1 Q2) Q1 Q2 DisjointClasses(B owl:Thing) / DisjointClasses(owl:Thing B) B ¬B DisjointClasses(B1 B2) B1 ¬B2 B2 ¬B1 DisjointObjectProperties(Q owl:topObjectProperty) / DisjointObjectProperties(owl:topObjectProperty Q) Q ¬Q DisjointObjectProperties(Q1 Q2) Q1 ¬Q2 Q2 ¬Q1 DisjointDataProperties(Q owl:topDataProperty) / DisjointDataProperties(owl:topDataProperty Q) Q ¬Q DisjointDataProperties(Q1 Q2) Q1 ¬Q2 Q2 ¬Q1 134
  • 141.
    A. NORMALIZAÇÕES A.4 Normalizações norm(SubClassOf(CE1ObjectComplementOf(CE2)) { DisjointClasses(CE1 CE2) } norm(SubClassOf(CE1 ObjectIntersectionOf(CE2 CE3 ... CEn))) = { norm(SubClassOf(CE1 CE2)), norm(SubClassOf(CE1 CE3)), ..., norm(SubClassOf(CE1 CEn)) } norm(SubClassOf(CE1 ObjectSomeValuesFrom(OPE C))) = { SubObjectPropertyOf(OPE’ OPE), SubClassOf(ObjectSomeValuesFrom(ObjectInverseOf(OPE’) owl:Thing) C), SubClassOf(CE1 ObjectSomeValuesFrom(OPE’ owl:Thing)) } norm(EquivalentClasses(CE1 CE2 ... CEn) = { SubClassOf(CEi CEj), SubClassOf(CEj CEi) } norm(DisjointClasses(CE1 CE2 ... CEn)) = { DisjointClases(CEi CEj) } norm(InverseObjectProperties(OPE1 OPE2)) = { SubObjectPropertyOf(OPE1 ObjectInverseOf(OPE2)), SubObjectPropertyOf(ObjectInverseOf(OPE1) OPE2) } norm(EquivalentObjectProperties(OPE1 OPE2 ... OPEn)) = 135
  • 142.
    A. NORMALIZAÇÕES { SubObjectPropertyOf(OPEi OPEj), SubObjectPropertyOf(OPEjOPEi) } norm(EquivalentDataProperties(DPE1 DPE2 ... DPEn)) = { SubDataPropertyOf(DPEi DPEj), SubDataPropertyOf(DPEj DPEi) } norm(ObjectPropertyDomain(OPE CE)) = { norm(SubClassOf(ObjectSomeValuesFrom(OPE owl:Thing) CE)) } norm(ObjectPropertyRange(OPE CE)) = { norm(SubClassOf(ObjectSomeValuesFrom(ObjectInverseOf(OPE) owl:Thing) CE)) } norm(DisjointObjectProperties(OPE1 OPE2 ... OPEn)) = { DisjointObjectProperties(OPEi OPEj) } norm(DisjointDataProperties(DP1 DPE2 ... DPEn)) = { DisjointDataProperties(DPEi DPEj) } norm(SymmetricObjectProperty(OPE)) = { SubObjectPropertyOf(OPE ObjectInverseOf(OPE)), SubObjectPropertyOf(ObjectInverOf(OPE) OPE) } norm(ReflexiveObjectProperty(OPE)) = { SubClassOf(ObjectSomeValuesFrom(OPE owl:Thing) 136
  • 143.
    A. NORMALIZAÇÕES ObjectSomeValuesFrom(ObjectInverseOf(OPE) owl:Thing)), SubClassOf(ObjectSomeValuesFrom(ObjectInverseOf(OPE)owl:Thing) ObjectSomeValuesFrom(OPE owl:Thing)) } norm(IrreflexiveObjectProperty(OPE)) = { DisjointClasses(ObjectSomeValuesFrom(OPE owl:Thing) ObjectSomeValuesFrom(ObjectInverseOf(OPE) owl:Thing)) } norm(AsymmetricObjectProperty(OPE)) = { DisjointObjectProperties(OPE ObjectInverseOf(OPE)) } 137