Ontologias: definições e conceitos básicos Cristiane Akemi Yaguinuma cristiane_yaguinuma@dc.ufscar.br Orientadora: Profª. Drª. Heloisa Arruda Camargo Co-orientadora: Profª. Drª. Marilde T. P. Santos Setembro/2009
Sumário Introdução Definição de ontologia Tipos de ontologias Formalismos de representação e linguagens Regras e mecanismos de inferência Ferramentas para desenvolvimento baseado em ontologias Bibliotecas de ontologias Aplicações Referências 2/31
Introdução Heterogeneidade semântica palavras-chave X significado Banco Laranja Banco assento Banco instituição Laranja fruta Laranja cor 3/31
Motivação Necessidade de especificar domínios, áreas de conhecimento Consultas mais eficazes Interoperabilidade e integração de informação Aplicações/agentes inteligentes Web Semântica Integração de dados Ontologias Mineração de dados 4/31
Definição de ontologia (1) Uma ontologia é uma especificação formal e explícita de uma conceitualização compartilhada. [GRUBER, 1993] Conceitualização: modelo abstrato que descreve conceitos e relacionamentos de algum domínio particular Especificação explícita: definições e nomes explícitos são atribuídos aos conceitos e relacionamentos do modelo abstrato Formal: a especificação é codificada em uma linguagem formal Evitar ambiguidade Mecanismos de inferência automática para derivar novas informações Compartilhada: reuso de ontologias em diferentes aplicações e comunidades Conhecimento de consenso 5/31
Definição de ontologia (2) No contexto das ciências da computação e da informação, uma ontologia define um conjunto de primitivas representacionais com as quais é possível modelar um domínio de conhecimento ou de discurso. [GRUBER, 2007]. Primitivas representacionais Classes (ou conjuntos) Atributos (ou propriedades) Relacionamentos (relações entre os membros das classes) 6/31
Tipos de representação considerados ontologias Hierarquias ad hoc (Yahoo!) Glossários estruturados XML Schema Lógicas de Descrição Termos Thesauri DTDs XML Taxonomias formais Glossários comuns Hierarquias informais Modelos de dados (UML) Dicionários de dados Glossários e Dicionários de Dados Esquemas de BD Thesauri Taxonomias Figura extraída adaptada de de [USCHOLD; GRÜNINGER, 2004] 2004] Frames Metadados, XML Schemas e modelos de dados Lógica Geral Ontologias Formais e inferência 7/31
Componentes gerais de ontologias Classes classificação de conceitos Propriedades atributos Relacionamentos Axiomas restrições e inferência de conhecimento Transitividade, simetria, disjunção, entre outros Instâncias 8/31
Componentes de uma ontologia exemplo Man(?x1) Woman(?x1) (disjunção) 9/31
Tipos de ontologias [GUARINO, 1998] Espaço Matéria Tempo Ontologia de nível superior Carros Livros Ontologia de domínio Ontologia de tarefa Aluguel [MARTINS; FALBO, 2008] Ontologia de aplicação Aluguel de carros Aluguel de livros 10/31
The Lending Task Ontology [MARTINS; FALBO, 2008] 11/31
Formalismos de representação e linguagens Ontologias são tipicamente especificadas em linguagens que permitem abstrair os detalhes de estruturas de dados e estratégias de implementação; na prática, as linguagens de ontologias são mais próximas do poder expressivo da lógica de primeira ordem do que das linguagens utilizadas para modelar bancos de dados. Por esta razão, ontologias são conhecidas por estarem no nível semântico, enquanto esquemas de bancos de dados estão em um nível lógico ou físico. [GRUBER, 2007]. 12/31
Formalismos de representação e linguagens Lógicas de Descrição [NARDI, D.; BRACHMAN, 2003] Subconjunto da Lógica de Primeira Ordem Representação por meio de predicados lógicos Conceitos e atributos predicados unários Relacionamentos predicados binários OIL (Ontology Inference Layer), OWL (Web Ontology Language) 13/31
Web Ontology Language (OWL) [OWL, 2004] Baseia-se em XML, RDF e RDF Schema Especificação W3C Três dialetos OWL Lite taxonomia, propriedades e restrições simples OWL DL expressividade com inferências mais complexas OWL Full maior complexidade sem garantias computacionais 14/31
OWL Lite Elementos básicos owl:class rdfs:subclassof rdf:property rdfs:subpropertyof rdfs:domain rdfs:range 15/31
OWL Lite Equivalência equivalentclass : (Carro, Automóvel) equivalentproperty: (ministrardisciplina, lecionardisciplina) sameas: (João, João Silva) differentfrom: (João, Maria) AllDifferent: (João, Maria e José) 16/31
OWL Lite Tipos de Propriedade datatypeproperty: atributos (nome, idade) objectproperty: relacionamentos (ministrardisciplina) Cardinalidade restrita ( 0 ou 1 ) mincardinality maxcardinality cardinality Intersecção de classes intersectionof 17/31
OWL Lite Axiomas relacionados a propriedades inverseof: (possuifilho, possuipai) TransitiveProperty: (possuiancestral, possuidescendente) SymmetricProperty: (temamigo) FunctionalProperty : (possuipai) P(x,y) and P(x,z) implies y = z InverseFunctionalProperty (chave primária) P(y,x) and P(z,x) implies y = z 18/31
OWL DL e OWL Full Elementos de OWL Lite, incluindo: disjointwith: (classe Homem, classe Mulher) unionof, complementof, intersectionof para classes mincardinality, maxcardinality, cardinality: valores quaisquer (não restritos a 0 ou 1) Classes complexas Classes enumeradas Classes resultantes de restrições de propriedades e de operações de conjunto 19/31
Exemplo de ontologia em OWL Lite 20/31
Regras e inferência Estendem o conjunto de axiomas presentes em ontologias hasparent(?x,?y) Λ hassibling(?y,?z) Λ Man(?z) hasuncle(?x,?z) Linguagens de representação de regras Rule Markup Language (RuleML) Semantic Web Rule Language (SWRL) Jena Rule Language 21/31
Mecanismos de inferência Motores de inferência (Reasoner) Inferir novas informações Classificação de instâncias Verificação de regras Verificação de consistência Reasoner para OWL Racer, Pellet, Jess, Bossam, Jena, entre outros 22/31
Mecanismos de inferência - exemplo hasparent(?x,?y) Λ hassibling(?y,?z) Λ Man(?z) hasuncle(?x,?z) hasuncle 23/31
Ferramentas para desenvolvimento baseado em ontologias Editores de ontologias Protégé: http://protege.stanford.edu/ OntoEdit: http://www.ontoknowledge.org/tools/ontoedit.shtml OBO-Edit: http://oboedit.org/ Frameworks para desenvolvimento Jena: http://jena.sourceforge.net/ OWL-API: http://owlapi.sourceforge.net/ Protégé API: http://protege.stanford.edu/plugins/owl/api/ 24/31
25/31
Bibliotecas de ontologias Propósito geral Swoogle: http://swoogle.umbc.edu/ DAML Ontology Library: http://www.daml.org/ontologies/ Protégé Ontology Library: http://protege.stanford.edu/download/ontologies.html Biologia Molecular, biomedicina Open Biomedical Ontologies (OBO): http://obo.sourceforge.net/main.html Ontology Lookup Service (OLS): http://www.ebi.ac.uk/ontology-lookup/ 26/31
Aplicações de ontologias Compartilhamento, reuso, organização e processamento de informação semântica Especificação de sistemas baseada em ontologias Interoperabilidade entre sistemas Aplicações inteligentes agentes Consultas considerando a semântica dos dados Web semântica (conteúdo e serviços) Sistemas de integração de dados 27/31
Referências [GRUBER, 1993] GRUBER, T. R. A translation approach to portable ontology specifications. Knowledge Acquisition, v.5, n. 2, p. 199-220, 1993. [GRUBER, 2007] GRUBER, T. R. Ontology. To appear in the Encyclopedia of Database Systems, Ling Liu and M. Tamer Özsu (Eds.), Springer-Verlag, 2008. Disponível em <http://tomgruber.org/ writing/ontology-definition-2007.htm>. Acesso em 9 set. 2009. [GUARINO, 1998] GUARINO, N. Formal Ontology and Information Systems. In: INTERNATIONAL CONFERENCE ON FORMAL ONTOLOGIES IN INFORMATION SYSTEMS, 1998, Trento, Italy. Proceedings... Amsterdam: IOS Press, 1998. p. 3-15. 28/31
Referências [MARTINS; FALBO, 2008] MARTINS, A. F. ; FALBO, R. A. Models for Representing Task Ontologies. In: 3rd Workshop on Ontologies and their Applications - WONTO 2008, 2008, Salvador. Proceedings of the 3rd Workshop on Ontologies and their Applications, 2008. [NARDI, D.; BRACHMAN, 2003] NARDI, D.; BRACHMAN, R. J. An Introduction to Description Logics. In: Baader, F. et al. The Description Logic Handbook. New York: Cambridge University Press, 2003. p. 5-44 [OWL, 2004] SMITH, M. K., WELTY, C. e MCGUINESS, D. L. OWL Web Ontology Language Guide. Disponível em: <http://www.w3.org/tr/2004/rec-owl-guide-20040210>. Acesso em: 9 set 2009. 29/31
Referências [USCHOLD; GRÜNINGER, 2004] USCHOLD, M.; GRÜNINGER, M. Ontologies and semantics for seamless connectivity. SIGMOD Record, v.33, n. 4, p. 58-64, 2004. 30/31
Links interessantes Semantic Web Best Practices: http://www.w3.org/2001/sw/bestpractices/ Semantic Web Central: http://projects.semwebcentral.org/ CO-ODE: http://www.co-ode.org/resources/tutorials/ Pellet: http://pellet.owldl.com/ Racer: http://www.racer-systems.com/ Bossam: http://projects.semwebcentral.org/projects/bossam/ RuleML: http://www.ruleml.org/ SWRL: http://www.w3.org/submission/swrl/ 31/31