Ontologias na web Thiago Santos, Valdeci e Jacques Robin CIn-UFPE Roteiro 1. 2. 3. 4. Lógicas descritivas CARIN DAML-OIL RuleML Lógicas descritivas: definição e origem Filosofia das lógicas descritivas Serviços fornecidos pelos sistemas de lógica descritivas T-Box: operadores de composição de conceitos A-Box: operadores de instanciação de conceitos Ontologia acadêmica abaixo da ontologia geral do AIMA em lógica descritiva Exemplo de ontologia em lógica descritiva Verificação de consistência Classificação de conceito Classificação de instância Semântica formal das lógicas descritivas Complexidade dos serviços de raciocínio com lógicas descritivas Regras em lógicas descritivas CARIN: uma linguagem híbrida com lógica descritiva e regras dedutivas Complemento da ontologia acadêmica abaixo da ontologia geral do AIMA com regras CARIN Exemplo de regras CARIN Motivação de linguagens de ontologias na WEB* Evolução da distribuição da informação na WEB (para ser processados por software e não apenas lidos por humanos) Softwares de busca e mineração de dados; Necessidade de agregar representação semântica aos dados, ao invés de apenas sintaxe; Prover comunicação entre agentes de softwares; Linguagens padrão para representação de ontologias na web Elementos de uma ontologia: Hierarquia de conceitos (ou taxonomia) Restrições sobre os valores dos atributos dos conceitos (parte dos axiomas) Regras dedutivas sobre os conceitos (outra parte dos axiomas) Instâncias dos conceitos Linguagem ideal para representação de ontologias: Contemple todos os elementos de uma ontologia (taxonomia, axiomas e intâncias) Ainda não existe Atualmente: De um lado DAML-OIL para taxonomia, instâncias e restrições Do outro lado RuleML para regras dedutiva Ainda não propriamente integrado No entanto, ambos camadas em cima de XML F-Logic, por exemplo, contemple todos os elementos, mas não possui em si facilidade para distribuição na web DAML-OIL: definição e características Junção de duas linguagens de representação de conhecimento: DAML - DARPA Markup Language: inicialmente desenvolvida pelo DARPA e atualmente apoiada pela W3C; Camada em cima de XML e RDF; Extensão de RDFS para codificar classes de maneira mais sofisticada OIL - Ontology Inference Layer: desenvolvimento financiado pela União Européia; linguagem baseada em Frames; semântica formal e serviços de raciocínio provido por lógica descritiva; compatível com RDF Schema (explicar o que quer dizer por compatível) Como DAML-OIL estende RDFS Definindo e implementado conceitos não suportados em RDFS: bounded lists; restrições de cardinalidade; expressões de classes; tipos de dados; classes definidas; enumerações; equivalência; inferência; restrições locais; restrições qualificadas. Ontologia acadêmica abaixo da ontologia geral do AIMA em DAML-OIL Exemplo de ontologia em DAML-OIL Exemplificar cada conceito visto anteriormente com o nosso exemplo de modelagem acadêmica Não esquecer de colocar alguns exemplos de definição de instâncias Semântica formal de DAML-OIL Existe duas propostas: Baseada na lógica] Traduz sentenças DAML-OIL para sentenças KIF (outra linguagem padrão para ontologia na web ) que por suas vezes possuem tradução direta para sentenças da lógica dos predicados na primeira ordem aumenta com listas de elementos Baseada na teoria do conjuntos Define funções de interpretação entre .... Para um exemplo simples: Mostrar sentença em DAML-OIL Formula equivalente em lógica dos predicados Conjunto de interpretação usando model-theoretic-semantics Ferramentas de desenvolvimento e uso de ontologias em DAML-OIL http://www.daml.org/tools/ Mostrar a pagina e navegar na tabela por categoria Limitações de DAML-OIL RuleML: definição e motivação - Necessidade de representar regras na Web Semântica - Regras reativas: especificar comportamento em resposta a eventos do browse ou agente Regras dedutivas: Regras de definição de restrições de integridade - Construção de uma linguagem independente de padrões proprietários => provimento de interoperabilidade; - Unificação das linguagens previamente propostas para representação de regras na WEB. - RuleML = RFML + URML + AORML + .... Manter compatibilidade com versões anteriores RuleML: filosofia e abordagem - Rule Markup Iniative: participantes da academia e indústria líderes em representação de conhecimento e Markup Languages - Tentar construir uma linguagem em conformidade com os padrões da WEB e que atenda às necessidades dos participantes. - Rule Markup Language: representação de regras em XML. - Representação de regras reativas, derivativas, restrições de integridade e fatos. Representação de sua sintaxe em DTD (versão atual 0.8) Filosofia de RuleML - dividir a linguagem em sublinguagens - Manter compatibilidade com versões anteriores. Revisão das várias linguagens de regras usadas em IA Regras de reação ou produção: P1 ... Pn do A, onde A é uma ação a executar quando a conjunção de premissas é verificada Regras de derivação e regras Prolog: P1 ... Pn do assert C Caso particular de regra de produção no qual a ação é acrescentar conclusão C na base de conhecimento Equivalente a regra Prolog C :- P1, ..., Pn. Fatos: regras de derivação sem premissas Regras Datalog: Restrição de regras Prolog sem funções aninhadas dentro de predicados Ex, p(g(X,b),f(a)) :- q(X), r(f(d)), OK em Prolog, mas não em Datalog Restrições adicionais de Datalog: Apenas predicados binários, ex, excluindo vende(V,C,P) Lógica proposicional, sem variáveis, apenas constantes Revisão das várias linguagens de regras usadas em IA Extensões de Prolog Com igualdade entre constantes Ex, Restrições de integridade P1 ... Pn do signal inconsistency RuleML extende esses formalismos com URL e URI como constantes Subconjuntos de RuleML: árvore p.6 do artigo de RuleML Sintaxe RuleML para vários tipos de regras (identar) - Reaction rules: <rule> <_body> <and> prem1 ... premN </and> </_body> <_head> action </_head> </rule> - Integrity constraints: <ic> <_body> <and> prem1 ... premN </and> </_body> </ic> implemented by <rule> <_body> <and> prem1 ... premN </and> </_body> <_head> <signal> inconsistency </signal> </_head> </rule> - Derivation rules: <imp> <_head> conc </_head> <_body> <and> prem1 ... premN </and> </_body> </imp> implemented by <rule> <_body> <and> prem1 ... premN </and> </_body> <_head> <assert> conc </assert> </_head> </rule> Tipologia das regras RuleML - A desenvolver: - Representação de and e or. Tipos de negação e sua representação Prioridades Agentes e RuleML - 2 transparências para cada item Complemento da ontologia acadêmica abaixo da ontologia geral do AIMA com regras RuleML Exemplo de regras RuleML Representar alguns fragmentos da modelagem Semântica formal de RuleML ????? Ferramentas de desenvolvimento e uso de base de regras RuleML - RuleML rulebase, GEDCOM - Mandarax RuleML - XSLT translators between the Horn-logic subsets of RuleML and RFML Ferramentas de desenvolvimento e uso de base de regras RuleML Transformação de regras via XSLT Limitações de RuleML - Base de regras não referencia um modelo de informação onde possa atuar: - RuleML deveria prover formas de incluir modelos de informação como DAML-OIL em sua base. Ex: um atributo da base. - Variáveis da base poderiam ser linkadas a modelos externos onde estas poderiam ser definidas. Ex: UML class. Ontologias distribuídas na web: questão resolvida? Primeiro passo está sendo dado; desenvolvimento e padronização de linguagens Construção de ontologias maiores e mais abrangentes