Introdução à Modelagem Conceitual 4. Ontologias Universidade Católica de Pelotas Centro Politécnico Laboratório de Modelagem Computacional Introdução à Modelagem Conceitual 4. Ontologias Luiz A M Palazzo Maio, 2011
Roteiro Motivação Conceitos Projeto Prática de Projeto Protégé Construção Feedback 04 - Ontologias
1 Motivação
Motivation! 04 - Ontologias
Motivação Noção de ontologia Afinal, ontologias pra quê? Áreas de aplicação Exemplos de aplicações Desafios Perspectivas futuras 04 - Ontologias
Noção de Ontologia Ramo da filosofia que lida com a natureza e organização da realidade. Ciência do ser (Aristóteles). Tenta responder as questões: O que é ser ? Quais as características comuns a todos os seres? Em computação: Uma especificação formal e compartilhada de uma conceitualização. (Gruber, 1993). 04 - Ontologias
Afinal, ontologias pra quê? Para compartilhar conhecimento comum sobre a estrutura da informação: Entre pessoas Entre agentes de software Para permitir a reutilização do conhecimento sobre um domínio: Para evitar a “reinvenção da roda” Para introduzir padrões que permitam a interoperabilidade entre aplicações 04 - Ontologias
Algumas Áreas de Aplicação Modelos conceituais, Recuperação de informações, Bibliotecas digitais, Web semântica, Gestão de conhecimento, Processamento da linguagem natural, Inteligência artificial, Sistemas multiagentes... 04 - Ontologias
Exemplos de Aplicações (KA)2: Anotação de documentos Web CIA World Factbook OntoShare Semantic Web Research Community SWAP: Ontologias + P2P Gene: Bioinformática CVA-ON: Comunidades Virtuais 04 - Ontologias
Bibliotecas Virtuais Ontologias para a indexação de grandes repositórios de recursos digitais. The WWW Virtual Library http://vlib.org/ Wikipedia em português http://pt.wikipedia.org/wiki/ Outras bibliotecas virtuais brasileiras http://www.cg.org.br/gt/gtbv/alfabetica.htm Ontologias... http://www.cs.utexas.edu/users/mfkb/related.html 04 - Ontologias
Web Semântica Iniciativa do W3C com o objetivo de adicionar significado à Web. Baseada na tecnologia xml/rdf, fazendo evoluir o html da Web Sintática. WWW Consortium http://www.w3.org Linguagens para a Web Semântica: RDF – http://www.w3.org/RDF/ DAML+OIL - http://www.daml.org/ OWL - http://www.w3.org/TR/owl-features/ 04 - Ontologias
DAML+OIL / OWL Estendem o vocabulário XML e RDF/S Web Languages RDF/S XML Estendem o vocabulário XML e RDF/S São linguagens ricas para a representação de ontologias Orientadas a uma implementação eficiente DAML-ONT OIL DAML+OIL OWL Frame Systems Formal Foundations Description Logics FACT, CLASSIC, DLP, … 04 - Ontologias
Camadas da Web Semântica Camada de Estrutura Responsável por estruturar os dados e definir seu significado Camada de Esquema Responsável por definir relações entre os dados Uso de ontologias em páginas web torna mais simples a resolução de indefinição ou conflito de terminologia Camada Lógica Responsável por definir mecanismos para fazer inferência sobre os dados Composta por um conjunto de regras de inferência Regras de inferência fornecem aos agentes computacionais o poder de raciocinar sobre as estruturas de dados 04 - Ontologias
Camadas da Web Semântica Busca Semântica … E-commerce Aplicações Web Semântica Regras de Inferência Camada Lógica Ontologia Ontologia Ontologia Camada de Esquema Camada de Estrutura Dados 04 - Ontologias
A Arquitetura de Tim Berners-Lee 04 - Ontologias
Gestão de Conhecimento The KM Research Center http://www.cio.com/research/knowledge/ Portal KMOL http://www.kmol.online.pt/ KM na Wikipédia http://pt.wikipedia.org/wiki/Gestão_do_Conhecimento#Links_Externos Gestão Estratégica do Conhecimento http://www.cni.org.br/links/links-at-gestaoconhecimento.htm Debate: GC... Onde? 04 - Ontologias
Desafios da Web Semânttica Carência de profissionais especializados, Evolução de culturas (html xml/rdf), Padrões digitais de mídia instáveis, Crescimento simultâneo e continuado da Web Sintática, Falta de investimento adequado, Falta de visibilidade da área. 04 - Ontologias
Perspectivas Base para a computação móvel e ubíqua, Grande disseminação prevista a médio prazo, Novo patamar para as interações homem-computador, Novos produtos e oportunidades de pesquisa, Aplicação em grande escala em educação e gestão de conhecimento. 04 - Ontologias
2 Conceitos
Conceitos Noção precisa de Ontologia Elementos de uma Ontologia Exemplos de Ontologia Vocabulários Glossários Thesauri Taxonomias Redes Semânticas Ontologias 04 - Ontologias
Noção Precisa de Ontologia Especificação formal explícita de uma conceitualização compartilhada (Gruber, 1993). Conceitualização: modelo das entidades, relações, axiomas e regras de algum domínio. Formal: Processável por máquina Permitindo raciocínio automático Com semântica lógica formal Compartilhada: por uma comunidade, permitindo entendimento. Conceitos de computação relacionados: Base de conhecimento reutilizável Esquema de banco de dados 04 - Ontologias
Elementos de uma Ontologia Hierarquia de conceitos Entidades Relações Restrições Regras Dedutivas Instâncias de Conceitos 04 - Ontologias
Hierarquia de Conceitos Entidades Cada entidade é definida por um conjunto de pares atributo-valor Correspondem: às classes dos modelos orientado a objetos às entidades do modelo relacional aos termos do modelo lógico Relações sem hierarquia x em hierarquia paralela a hierarquia de entidades correspondem: às associações, agregações e atributos dos modelos OO cujos valores são objetos às relações do modelo relacional aos predicados do modelo lógico 04 - Ontologias
Restrições Sobre valores possíveis dos atributos dos conceitos Correspondem: às assinaturas de classes em modelos OO aos axiomas universalmente quantificados em modelos lógicos às restrições de integridade nos esquema de BD 04 - Ontologias
Regras Dedutivas Sobre atributos de (conjuntos de) conceitos Permitem inferência automática da existência de instâncias de conceitos a partir da existência de outras instâncias Correspondem: às regras dos sistemas especialistas e da programação em lógica aos métodos dos modelos OO às visões em BD 04 - Ontologias
Instâncias de Conceitos Definição de entidades e relações específicas (indivíduos) Correspondem: aos fatos de sistemas especialistas e programação em lógica aos objetos dos modelos OO aos dados das BD 04 - Ontologias
Tipos de Ontologias Especialista: modela um domínio particular restrito Geral: modela o conhecimento de senso comum compartilhado por todos os seres humanos. parte de mais alto nível, reutilizável em vários domínios. Conceitual: fundamentada na capacidade de raciocinar. Lingüística: fundamentada no vocabulário de alguma(s) língua(s). De Metadados: “especializada” na descrição de recursos on-line sobre qualquer domínio De Tarefas e Métodos: modela procedimentos e comportamentos abstratos no lugar de entidades ou relações 04 - Ontologias
Exemplo de Ontologia Especialista: Fragmentos de uma Ontologia Acadêmica em UML 04 - Ontologias
Pessoas em uma Universidade Person address : String editor : Publication email : String fax : String firstName : String lastName : String memberOfPC : Event middleInitial : String name : String organizerOrChairOf : Event phone : String photo : String publication : Publication Employee affiliation : Organization headOf : Project headOfGroup : ResearchGroup worksAtProject : Project Student studiesAt : University PhDStudent supervisor : AcademicStaff Researcher cooperatesWith : Researcher memberOf : ResearchGroup researchInterest : ResearchTopic AcademicStaff supervises : PhDStudent Lecturer AdministrativeStaff TechnicalStaff Secretary secretaryOf : ResearchGroup Pessoas em uma Universidade 04 - Ontologias
Publicações 04 - Ontologias ConferencePaper conference : Conference firstPage : Number lastPage : Number proceedingsTitle : String ArticleInBook book : Book JournalArticle journal : Journal TechnicalReport number : Number organization : Organization series : String WorkshopPaper workshop : Workshop Article Book containsArticle : ArticleInBook editor : Person publisher : Organization OnlinePublication onlineVersionOf : Publication type : String Journal containsArticle : JournalArticle volume : Number Publication abstract : String author : Person describeProject : Project onlineVersion : OnlinePublication title : String year : Number SpecialIssue Publicações 04 - Ontologias
Exemplo de Ontologia Conceitual Geral: Fragmentos da Ontologia de Senso Comum de Russell e Norvig em UML 04 - Ontologias
Qualquer Coisa (Russel e Norvig) 04 - Ontologias Anything AbstractObjects Events Sets Numbers RepresentationalObjects Categories Sentences Measurements Intervals Places PhysicalObjects Processes Moments Things Stuff Animals Agents Humans Solid Liquid Gas Qualquer Coisa (Russel e Norvig) 04 - Ontologias
Problemas de Modelagem em uma Ontologia Geral Categorias e conjuntos Medidas Objetos compostos Tempo Espaço Mudanças Eventos e processos Objetos físicos Substâncias Objetos mentais e crenças 04 - Ontologias
Ontologias Gerais: Categorias Também chamadas de classes, relações, tipos ... Conjuntos de objetos com propriedades comuns Organiza e simplifica a base de conhecimento. Exemplos de simplificação: Gato é um mamífero - instanciação/classificação Todo mamífero bebe leite - herança de atributos Taxonomia: Tipo particular de ontologia: relações hierárquicas entre classe e sub-classes em forma de árvores Propriedades discriminantes ex. biologia sistemática Relações Disjunção Decomposição exaustiva Partição: decomposição exaustiva disjunta 04 - Ontologias
Ontologias Gerais também podem representar: Medidas Valores atribuídos às propriedades dos objetos do mundo real: peso, comprimento, altura, etc... Objetos compostos formados por partes que também são objetos: relação “parte-de”. Mudanças com eventos Cálculo de eventos: um fato é verdade em um intervalo de tempo. 04 - Ontologias
Medidas Valores atribuídos aos objetos do mundo real: servem para descrever objetos ex. peso, comprimento, altura, diâmetro, ... Medidas quantitativas são fáceis de representar ex. Tamanho(L1) = Polegadas(1,5) = Centímetros (3,81) Medidas qualitativas são mais complicadas ex. beleza de um poema, dificuldade de um exercício O importante é ordenar: "e1, e2 : e1 Î Exercícios Ù e2 Î Exercícios Ù Elabora(João,e1) Ù Elabora(Pedro,e2) Þ Dificuldade(e1) < Dificuldade(e2) 04 - Ontologias
Objetos Compostos Objetos formados por partes que também são objetos: São caracterizados pela estrutura dos objetos que os compõem Ex. massa de um carro é a soma das massas de suas partes (carroceria, motor, pneu, ...) Para representá-los, emprega-se a relação ParteDe: Ex. ParteDe(motor, Carro), ParteDe(pneu, Carro) 04 - Ontologias
Objetos Compostos ParteDe também serve para descrever estrutura de eventos: Script ou Schema. ex. comer no restaurante Quando se está interessado apenas nas características do conjunto: BunchOf ex. peso do saco de maçãs BunchOf(maçãs) define um objeto composto formado pelas maçãs do saco. 04 - Ontologias
Representando Mudanças com Eventos Cálculo de situações: adequado quando temos um único agente realizando ações discretas e instantâneas (uma ação por situação). inadequado quando: existem vários agentes no mundo. o mundo pode mudar espontaneamente. mudanças ocorrem continuamente. Cálculo de eventos: versão contínua do calculo de situações No cálculo de situações, um fato é verdade em uma situação No cálculo de eventos, uma coisa é verdade num intervalo de tempo ex. SubEvento(BatalhaDaNormandia, SegundaGuerraMundial) SubEvento(SegundaGuerraMundial, SéculoXX) 04 - Ontologias
Exemplo de Ontologia Lingüística Geral: WordNet 04 - Ontologias
WordNet Princeton WordNet: Euro WordNet: http://www.hum.uva.nl/~ewn/ redes semânticas de 155.327 significados de 207.016 palavras (145.104 substantivos) do inglês organizados em 4 categorias sintática: substantivos, verbos, adjetivos e advérbios, são agrupados em conjuntos de sinônimos disponível online: http://www.cogsci.princeton.edu/~wn/ resulta de 15 anos de desenvolvimento manual por um time de psico linguistas Euro WordNet: http://www.hum.uva.nl/~ewn/ Resultado de um grande projeto da comunidade européia Versão multilíngua adicionando e interligando WordNets do Espanhol, Francês, Italiano, Alemão, Holandês, Tcheco e Estoniano ao do Inglês 04 - Ontologias
Aplicações com o WordNet Extração e recuperação de informação Classificação de texto Ensino de linguagens Construção de redes semânticas em outras linguagens (EuroWordnet) Chatterbots (Geração e interpretação de texto) 04 - Ontologias
Construindo Ontologias Vocabulários Glossários Thesauri Taxonomias Redes Semânticas Ontologias 04 - Ontologias
Vocabulários São conjuntos de termos que descrevem as entidades do e as relações entre elas. Há vocabulários estabelecidos para diferentes classes de domínios: Dublin Core: http://dublincore.org/ Vocabulários e ontologias: http://www-usr.inf.ufsm.br/~rrocha/proj/cva-on/metadados.html 04 - Ontologias
Glossários Listas alfabéticas de termos, limitados a uma área de conhecimento especial, acompanhados das respectivas definições. http://www.google.com (define:glossary). 04 - Ontologias
Thesauri Uma compilação de termos, com os respectivos sinônimos e/ou antônimos e termos relacionados empregada na indexação de bases de dados. Forma um vocabulário controlado para descrever os registros na base de dados. http://www.google.com/ (define:thesaurus). 04 - Ontologias
Taxonomias Teoria e prática de descrever, nomear e classificar plantas e animais. http://www.google.com/ (define:taxonomy). Vocabulário controlado, usado principalmente para a criação de estruturas de navegação para um website. Frequentemente baseada em um tesauro, mas pode apresentar hierarquias mais superficiais, ou ausências de alguma estrutura. 04 - Ontologias
Redes Semânticas Um grafo direcionado e rotulado, com nodos representando objetos físicos ou conceituais e arcos representando relações entre os objetos. Permite o uso de regras genéricas, herança e programação orientada a objetos. http://www.google.com/ (define:”semantic network”). 04 - Ontologias
Ontologias É a especificação de uma conceituação de um domínio do conhecimento. É um vocabulário controlado que descreve os objetos do domínio e as relações entre eles. Possui uma gramática para usar os termos do vocabulário na expressão de algo significativo sobre o domínio de interesse. O vocabulário é empregado na construção de consultas e declarações. Ontologias podem incluir glossários, taxonomias e tesauros, mas normalmente apresentam maior expressividade e capacidade de inferência. http://www.google.com/ (define:ontology). 04 - Ontologias
3 Projeto
Roteiro Engenharia de Ontologias Projeto de Ontologias Domínio e Escopo Reutilização Termos Classes Propriedades Restrições Instâncias 04 - Ontologias
Engenharia de Ontologias Definir os termos do domínio e o relacionamento entre eles: Definir os conceitos do domínio (classes) Organizar os conceitos em uma hierarquia (sub-classes e superclasses). Definir os atributos e propriedades (slots) que as classes podem apresentar e as restrições sobre seus valores. Definir indivíduos e os valores de seus slots 04 - Ontologias
Projeto de Ontologias Determinar o domínio e o escopo, Considerar reutilização, Enumerar Termos, Definir Classes, Definir Propriedades, Definir Restrições, Criar Instâncias. 04 - Ontologias
A ontologia é só o começo: Bases de dados Declarar estrutura Ontologias Bases de Conhecimento Descrição do domínio Aplicações independentes Agentes de Software Solução de Problemas 04 - Ontologias
Dimensões de Ontologias
Engenharia de Ontologias x Modelagem Orientada a Objetos Uma Ontologia: Reflete a estrutura do mundo. Apresenta-se como uma estrutur ação de conceitos. A representação física não é uma questão. Uma Classe da OO: Reflete a estrutura dos dados e código. É usualmente sobre comportamento (métodos). Descreve a representação física dos dados: (long int, char, etc.). 04 - Ontologias
O Triângulo do Significado 04 - Ontologias
O Processo de Desenvolvimento de Ontologias Em teoria: determine scope consider reuse enumerate terms define classes properties constraints create instances Na realidade, um processo interativo: determine scope consider reuse enumerate terms define classes define properties create instances classes constraints consider reuse define properties constraints create instances 04 - Ontologias
Passo1: Determinar o Domínio e o Escopo determine scope consider reuse enumerate terms define classes define properties define constraints create instances Qual o domínio a ser coberto pela ontologia? Para quê será usada esta ontologia? Para que tipo de questões a informação na ontologia deve oferecer respostas? Respostas a estas questões podem mudar ao longo do ciclo de vida da ontologia. 04 - Ontologias
Passo 2: Considerar a Reutilização determine scope consider reuse enumerate terms define classes define properties define constraints create instances Por que reutilizar outras ontologias? Para poupar esforços. Para interagir com as ferramentas que usam outras ontologias. Para empregar ontologias que foram validadas através do uso em outras aplicações. 04 - Ontologias
O que reutilizar (I): Bibliotecas de Ontologias Protégé Ontology Library http://protege.stanford.edu/ontologies.html DAML ontology library http://www.daml.org/ontologies/ Ontolingua Ontology Library http://www.ksl.stanford.edu/software/ontolingua/ Ontologias de Senso Comum IEEE Standard Upper Ontology http://suo.ieee.org/ Cyc http://www.cyc.com/ 04 - Ontologias
O que reutilizar (II): Ontologias Gerais Ontologias de Domínio DMOZ http://www.dmoz.org WordNet http://www.cogsci.princeton.edu/~wn/ Ontologias de Domínio UMLS Semantic Net GO (Gene Ontology) http://www.geneontology.org/ GLIF HL7 04 - Ontologias
Passo 3: Enumerar os Termos Importantes enumerate terms determine scope consider reuse define classes define properties define constraints create instances Quais os termos sobre os quais vamos falar? Quais as propriedades desses termos? O que queremos dizer sobre esses termos? 04 - Ontologias
Passo 4: Definir Classes e Hierarquias de Classes define classes determine scope consider reuse enumerate terms define properties define constraints create instances Uma classe é um conceito do domínio. Representa uma coleção de elementos com propriedades similares. Classes podem ser estruturadas em hierarquias, incluindo os conceitos de superclasses e subclasses. Os objetos do domínio são instâncias de classes. 04 - Ontologias
Herança entre Classes As classes normalmente constituem uma hierarquia taxonômica. Uma hierarquia de classes é uma hierarquia É_UM. Uma instância de uma subclasse é uma instância de uma superclasse. Se a classe for pensada como um conjunto de elementos, uma subclasse é um subconjunto. 04 - Ontologias
Exemplos de Herança entre Classes Maçã é uma subclasse de Fruta: Toda maçã é uma fruta. Vinho Tinto é uma subclasse de Vinho: Todo vinho tinto é um vinho. Chianti é uma subclasse de Vinho Tinto: Todo Chianti é um vinho tinto. 04 - Ontologias
Níveis na Hierarquia de Classes Nível Superior Nível Interme- diário Nível Inferior 04 - Ontologias
Formas de Desenvolvimento Top-down – define os conceitos mais gerais e depois os especializa. Bottom-up – define os conceitos mais específicos e então os organiza em classes mais gerais. Middle-out – define os conceitos mais importantes primeiro e depois os generaliza ou especializa, conforme o caso. 04 - Ontologias
Documentação Classes (e slots) usualmente possuem documentação: Descrevendo a classe em linguagem natural Listando hipóteses do domínio relevantes para a definição da classe Listando sinônimos Documentar classes e seus slots é tão importante quanto documentar o código de programas. 04 - Ontologias
Passo 5: Definir as Propriedades das Classes – Slots determine scope consider reuse enumerate terms define classes define properties define constraints create instances Os slots, na definição de uma classe descrevem atributos de instâncias da classe e sua relação com outras instâncias Cada vinho possui uma cor, quantidade de açucar, produtor, distribuidor, ano de safra, etc. 04 - Ontologias
Propriedades (Slots) Tipos de Propriedades: Propriedades intrínsecas: sabor e cor de um vinho. Propriedades extrínsecas: nome e preço de um vinho. Partes: ingredientes em um prato. Relações com outros objetos: produtor do vinho (adega). Propriedades Simples e Complexas: Propriedades simples (atributos): contém valores primitivos (strings, números, ...). Propriedades complexas: contém (ou apontam para) outros objetos. 04 - Ontologias
Slots e Herança de Classes Uma subclasse herda todos os slots da superclasse. Se um vinho tem um nome e um sabor, um vinho tinto também tem um nome e um sabor. Se uma classe tem múltiplas superclasses ela herda os slots de todas elas. Vinho do porto é tanto um vinho de sobremesa quanto um vinho tinto. Ele herda “conteúdo de açucar: alto” da primeira superclasse e “cor:vermelha” da segunda. 04 - Ontologias
Passo 6: Definir Restrições determine scope consider reuse enumerate terms define classes define constraints define properties create instances Restrições sobre Propriedades (facetas) descrevem ou limitam o conjunto de valores possíveis para um slot. O nome de um vinho é um string O produtor do vinho é uma instância de adega A adega possui exatamente uma localização 04 - Ontologias
Facetas Comuns Cardinalidade do Slot – o número de valores que um slot possui. Tipo de Valor do Slot – o tipo de valor que o slot pode apresentar. Valores Mínimo e Máximo – um intervalo de valores para um slot numérico. Valor Default – o valor que um slot apresenta, a menos que explicitamente especificado de outra forma. 04 - Ontologias
Cardinalidade do Slot Cardinalidade Cardinalidade Mínima Cardinalidade N significa que o slot deve ter N valores. Cardinalidade Mínima Cardinalidade mínima 1 significa que o slot deve apresentar pelo menos um valor (requerido) Cardinalidade mínima 0 significa que o valor do slot é opcional. Cardinalidade Máxima Cardinalidade máxima 1 significa que o slot pode ter no máximo um valor (slot mono valorado) Cardinalidade máxima maior do que 1 significa que o slot pode ter mais do que um valor (slot multivalorado) 04 - Ontologias
Tipos de Valores String: um string de caracteres (“Château Lafite”) Numero: inteiro ou em ponto flutuante (15, 4.5) Booleano: um valor lógico verdadeiro/falso Tipo enumerado: uma lista de valores permitidos (alto, médio, baixo) Tipo complexo: uma instância de uma outra classe. Especificar a classe a que a instância pertence 04 - Ontologias
Facetas e Herança entre Classes Uma subclasse herda todos os slots da superclasse. Uma subclasse pode reescrever as facetas para restringir a lista de valores permitidos. Diminuir o escopo da cardinalidade Substituir uma classe em um determinado escopo por uma subclasse. 04 - Ontologias
Passo 7: Criação de Instâncias create instances determine scope consider reuse enumerate terms define classes define properties define constraints Criar uma instância de uma classe: A classe se torna um tipo direto da instância. Qualquer superclasse do tipo direto é um tipo da instância. Atribuir os valores dos slots para a instância: Devem estar de acordo com as restrições nas facetas Ferramentas de aquisição de conhecimento podem ser empregadas para esta verificação. 04 - Ontologias
4 Prática de Projeto
Projetar uma ontologia Organização das Equipes Definir Domínio e Escopo Tentar Reutilização Seleção dos Termos Definição das Classes Definição das Propriedades Definição das Restrições Definição das Instâncias 04 - Ontologias
Organizar equipes O desenvolvimento de ontologias é uma atividade que idealmente deve ser executada em equipes. Perfil das equipes neste curso: 2 a 4 participantes cobrindo as seguintes habilidades: Uso de computador e Internet Perspectiva das Ciências Humanas: Educação, Filosofia, Sociologia, ... Liderança, organização e iniciativa 04 - Ontologias
Definir Domínio e Escopo Algumas Sugestões: Veículos Refeições Vinhos Música Filmes Casa Esportes 04 - Ontologias
Tentar Reutilização Bibliotecas de Ontologias Protégé Ontology Library http://protege.stanford.edu/ontologies.html DAML ontology library http://www.daml.org/ontologies/ Ontolingua Ontology Library http://www.ksl.stanford.edu/software/ontolingua/ Ontologias de Senso Comum IEEE Standard Upper Ontology http://suo.ieee.org/ Cyc http://www.cyc.com/ 04 - Ontologias
Seleção dos Termos Usar um Vocabulário Controlado: O vocabulário vai nomear os conceitos, identificar suas propriedades e as relações desejadas. Resource Library http://sky.fit.qut.edu.au/~middletm/cont_voc.html Outra Biblioteca: http://www.lub.lu.se/metadata/subject-help.html 04 - Ontologias
Definição das Classes Classes são os conceitos do domínio, nomeados pelo alfabeto controlado. As classes são organizadas em hierarquias, definindo relacionamentos de generalização (subclasses superclasse) e especialização (superclasse subclasse). As classes apresentam propriedades (atributos e relacionamentos) em slots. 04 - Ontologias
Definição das Propriedades Cada classe é caracterizada por um conjunto de atributos e relacionamentos, cada um ocupando um slot. As propriedades de uma classe são herdadas por suas subclasses. Portanto as propriedades somente precisam ser definidas em um dos níveis da hierarquia. A técnica de overriding é empregada para alterar alguma propriedade na subclasse. 04 - Ontologias
Definição das Restrições Cada propriedade é modelada por um conjunto de restrições que definem os valores que pode m ser assumidos. As restrições (facetas) mais comuns são a cardinalidade do valor da propriedade, seus limites, strings, números, elemento de um conjunto, etc. 04 - Ontologias
Definição das Instâncias Instâncias são entidades do domínio que atendem às especificações de uma classe. A atividade de instanciação corresponde a criar os registros de uma base de dados a partir do seu esquema (descrição das classes). 04 - Ontologias
Produto Final do Projeto Descrição semi-formal da ontologia Termos, classes, hierarquias, propriedades, restrições, instâncias. Todos esses os elementos irão permitir o uso de uma ferramenta de software para a especificação da ontologia em alguma linguagem formal. 04 - Ontologias
5 Protégé 04 - Ontologias
Roteiro O que é Protégé? Download e Instalação Getting Started Criando um Projeto Salvando e nomeando um projeto Criando classes Criando slots Criando instâncias Criando formulários Criando e salvando consultas 04 - Ontologias
O que é Protégé? Protégé é um ambiente extensível e independente de plataforma para a criação e edição de ontologias e bases de conhecimento. Escrito em Java, utiliza uma máquina virtual para a execução em quase qualquer plataforma. Permite representar classes como instâncias e valores de slots, em concordância com o protocolo da Open Knowledge Base Connectivity (OKBC) . Importa e exporta ontologias em diversos formatos, facilitando a reutilização e intercâmbio de ontologias. 04 - Ontologias
Download e Instalação A última versão do Protégé pode ser obtida em: http://protege.stanford.edu/ Um excelente FAQ pode ser encontrado em http://protege.stanford.edu/doc/faq.html Para o download da versão para o Windows, recomenda-se usar o instalador automático oferecido pelo site. A versão para Windows, incluindo a máquina virtual Java tem cerca de 100MB. É um software ainda algo “pesado” e emprega diversos plugins para obter funcionalidade. 04 - Ontologias
Getting Started Após baixar e instalar o Protégé, coloque-o em execução a partir do menu Iniciar> Programas> Protégé> Na janela “Welcome” que vai se abrir, use o botão “Getting Started” para obter rápido auxílio nas funcionalidades do Protégé. Mantenha o “Getting Started” aberto para acompanhar o desenvolvimento da sua ontologia. Use a FAQ e o “User Guide” sempre que necessário. 04 - Ontologias
Criando o Projeto Selecione “Create New Project” da Janela “Welcome” ou clique no botão “New Project” se esta já estiver fechada. Abre-se a janela para a seleção do tipo de arquivo. Escolha “Protégé Files (pont e pins)” e clique em “Finish”. Aparecem os painéis “Class Browser” à esquerda e “Class Editor” à direita. No box “Class Hierarchy” aparecem THING e SYSTEM_CLASS 04 - Ontologias
Salvando e nomeando o Projeto Selecione o botão “Save Project”. Use o navegador para selecionar uma pasta e dar um nome ao Projeto (pprj). Os arquivos de classes (pont) e de instâncias (pins) são nomeados automaticamente. Tecle OK. O projeto foi salvo. Confira o nome na barra da janela. Voltam o browser e o editor. 04 - Ontologias
Criando Classes Na hierarquia de classes selecione SYSTEM_CLASS. Clique o botão “Create Class”. Uma nova classe é criada, como classe do sistema, e automaticamente nomeada. Passe para o painel “Class Editor”. Modifique ou acrescente a informação que quiser. Aproveite para criar os “Template Slots” Use o mesmo método para criar outras classes e subclasses. 04 - Ontologias
Criando Slots Clique na aba “Slots”. Como anteriormente, há um painel “Slot Browser” e outro “Slot Editor”. Na hierarquia de slots escolha o tipo de slot apropriado (p.ex: ANNOTATED_INSTANCE). Passe para a janela “Slot Editor”. Faça as modificações e as entradas desejadas. Use o mesmo método para criar slots de cada classe. 04 - Ontologias
Criando Instâncias Clique na aba “Instances”. Aparecem os painéis “Class Browser”, “Instance Browser” e “Instance Editor”. Escolha a classe na hierarquia de classes. Somente classes concretas podem ter instâncias. Clique em “Create Instance”. Edite a instância para refletir a informação desejada. Repetir para as demais instâncias. 04 - Ontologias
Criando Formulários Na aba “Forms” é possível construir formulários para a entrada de instâncias on-line. Selecione a classe e o slot desejados e use o editor para configurar e posicionar a correspondente região do formulário. 04 - Ontologias
Criando e Salvando Consultas Use a aba “Queries” para formular e salvar consultas à ontologia. Após a formulação e teste, a consulta pode ser salva em uma biblioteca de consultas através do botão “Add to Query Library”. 04 - Ontologias
Ontologias importadas pelo Protégé Não deixe de consultar: http://protege.stanford.edu/download/ontologies.html. Qualquer uma dessas ontologias pode ser lida e editada com o Protégé. Outras fontes: DAML ontology library http://www.daml.org/ontologies/ Ontolingua Ontology Library http://www.ksl.stanford.edu/software/ontolingua O Protégé tem suporte nativo para .rdfs e .owl Outros formatos através de plugins. 04 - Ontologias
Plugins do Protégé O Protégé tem muitos plugins: http://protege.stanford.edu/download/plugins.html. Qualquer um desses plugins pode ser adicionado como uma nova funcionalidade ao Protégé. Entre eles, recursos de compatibilidade com xml, xmls, daml+oil, visualização gráfica e muitos outros. O Protégé tem suporte nativo para .rdfs e .owl 04 - Ontologias
6 Construção 04 - Ontologias
Implementação Use esta apresentação, os links, a documentação disponível, o projeto de ontologia e o Protégé para implementar sua primeira ontologia. 04 - Ontologias
7 Feedback 04 - Ontologias
Feedback Nesta etapa os estudantes apresentam seus trabalhos para os colegas e fazem um breve relato do aprendizado, dificuldades, idéias e possíveis projetos futuros. 04 - Ontologias
FIM 04 - Ontologias