Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouIsaac Lama Alterado mais de 9 anos atrás
1
Protégé-OWL e JessTab Adriano Melo Monitoria Sistemas Inteligentes Prof. Fred Freitas
2
Agenda Introdução Instalação JessTab Importar Ontologia OWL Manipular Elementos da Ontologia
3
Introdução Ontologias são legais, mas..... … sozinhas elas não podem fazer nada! (Henrik Eriksson, Karl-Heinz Krempels) - [0]
4
Motivação Problemas relacionados ao Protégé Dificuldade de integrar diretamente a resolução de problemas com a modelagem da ontologia Linguagens/shells precisam de acesso direto ao protégé Dificuldade de administrar ontologias muito grandes/complexas Editores de ontologia poderiam ser programáveis Protégé permite atravéz de sua API que motores de resolução de problemas sejam integrados a ele
5
Por que Jess e JessTab? Jess Linguagem/shell popular Comunidade de usuários ativa Implementado em Java JessTab Plug-in para rodar o Jess dentro do Protégé Integra os recursos do Jess e Protégé
6
Usos práticos do JessTab Linguagem Cria classes facilmente Facilita fazer grandes mudanças na ontologia Motor de Inferença Recuperação de Informações Classificação Suporte a decisão Planejamento
7
Instalação Protégé-OWL 3.4 + Jess http://adrianomelo.com/proteje-owl-jess.zip
8
Habilitando JessTab Menu Project >> Configure...
9
Funções do jess com Protégé - [1] mapclass mapinstanc e unmapinsta nce defclass make- instance initialize- instance modify- instance duplicate- instance definstance s unmake- instance slot-get slot-set slot- replace$ slot-insert$ slot-delete$ slot-facets slot-types slot- cardinality slot-range slot- allowed- values slot- allowed- classes slot- allowed- parents slot- document ation slot-sources facet-get facet-set class class-existp class- abstractp class- reactivep superclassp subclassp class- superclass es class- subclasse s get- defclass- list class-slots instancep instance- existp instance- name instance- address instance- addressp instance- namep slot-existp slot-default- value set-kb-save get-kb-save load-kb- definitions load-project include- project save-project jesstab- version- number jesstab- version- string get- knowledge- base get-tabs
10
função mapclass (mapclass [nonreactive | reactive]) Mapeia uma classe do Protégé para o Jess. Gera o deftemplate que representa a classe Cria fatos que corespondem às instâncias do protégé [nonreactive] => desabilita o mapeamento recursivo dos filhos da classe
11
função mapclass - exemplo (antes: abrir projeto pizza.owl.pprj) - [2] (mapclass http://www.co- ode.org/ontologies/pizza/2005/10/18/pizza.owl #DomainConcept) (facts)
12
função make-instance (make-instance [ ] of * [map]) Cria uma instância do Projégé a partir do Jess = nome da instância (opcional) = classe a ser instanciada = pares (slot valor) a serem atribuidos à instância
13
função make-instance – exemplo 1 (make-instance sorvete_1 of http://www.co- ode.org/ontologies/pizza/2005/10/18/pizza.owl #IceCream)
14
função make-instance – exemplo 2 (bind ?m (make-instance massa-grossa of http://www.co- ode.org/ontologies/pizza/2005/10/18/pizza.owl#Deep PanBase)) (bind ?c (make-instance cobertura-mozzarella of http://www.co- ode.org/ontologies/pizza/2005/10/18/pizza.owl#Mozz arellaTopping)) (make-instance pizza-queijo of http://www.co- ode.org/ontologies/pizza/2005/10/18/pizza.owl#Chee seyPizza (http://www.co- ode.org/ontologies/pizza/2005/10/18/pizza.owl#hasBase ?m) (http://www.co- ode.org/ontologies/pizza/2005/10/18/pizza.owl#hasToppi ng ?c) )
15
função unmake-instance (unmake-instance +) Deleta o indivíduo especificado = um ou mais ponteiros para instâncias ou nomes de indivíduos
16
função unmake-instance - exemplo (defrule nao-tem-massa (object (is-a http://www.co- ode.org/ontologies/pizza/2005/10/18/pizza.owl#Pizza) (http://www.co- ode.org/ontologies/pizza/2005/10/18/pizza.owl#hasBase ) (OBJECT ?o)) => (printout t "a pizza " ?o " nao tem massa, será apagada" crlf) (unmake-instance ?o))
17
função defclass (defclass [ ] (is-a +) [role] *) Define uma nova classe do Protégé. = especifica o nome da nova classe = classes que a nova classe vai herdar
18
função defclass - exemplo (defclass Pessoa (is-a http://www.co- ode.org/ontologies/pizza/2005/10/18/pizza.owl#Do mainConcept) (slot nome (type string)) (slot idade (type integer))) (defclass PizzaQueijo (is-a http://www.co- ode.org/ontologies/pizza/2005/10/18/pizza.owl#Pizza ))
19
Exemplo – Pizza vs Tipo (defrule tipo-de-massa (object (is-a http://www.co- ode.org/ontologies/pizza/2005/10/18/pizza.owl#Pizza) (http://www.co- ode.org/ontologies/pizza/2005/10/18/pizza.owl#hasBase ?base) (OBJECT ?o)) (object (OBJECT ?base) (is-a ?tipomassa)) => (printout t "a pizza " ?o " tem massa " ?base " e a massa é do tipo " ?tipomassa crlf))
20
Exemplo – Pizza do Usuário (defrule inserir-pizza ?in <- (inserir-massa-grossa) => (printout t "digite um nome de pizza depois um de massa..") (assert (inserir pizza (read) massa (read))) (retract ?in) ) (assert (inserir-massa-grossa))
21
Exemplo – Pizza do Usuário (cont.) (defrule criar-pizza ?in <- (inserir pizza ?pizza massa ?massa) => (make-instance ?massa of http://www.co- ode.org/ontologies/pizza/2005/10/18/pizza.owl#DeepPanBa se) (make-instance ?pizza of http://www.co- ode.org/ontologies/pizza/2005/10/18/pizza.owl#Pizza (http://www.co- ode.org/ontologies/pizza/2005/10/18/pizza.owl#hasBase ?massa)) (retract ?in) )
22
Referências JessTab & JessAgentTab Tutorial - [0] http://www.ida.liu.se/~her/JessTab/tutorial07/JessTabTutorial.ppt JessTab Documentation - [1] http://www.ida.liu.se/~her/JessTab/JessTab.pdf Ontologia de Pizzas - [2] http://www.cin.ufpe.br/~astm/si/pizza
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.