A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Protégé-OWL e JessTab Adriano Melo Monitoria Sistemas Inteligentes Prof. Fred Freitas.

Apresentações semelhantes


Apresentação em tema: "Protégé-OWL e JessTab Adriano Melo Monitoria Sistemas Inteligentes Prof. Fred Freitas."— Transcrição da apresentação:

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


Carregar ppt "Protégé-OWL e JessTab Adriano Melo Monitoria Sistemas Inteligentes Prof. Fred Freitas."

Apresentações semelhantes


Anúncios Google