Home

Um guia prático de construção de ontologias OWL

image

Contents

1. Metadata Ontology1212596108 0w1 O Mses EE Properties Oiividals Forms SUBCLASS EXPLORER ni CLASS EDITOR For Project O For Class O Pazo gt O 0 ted Mes an chy y o E F oy ba E Thing Property Value O Pza O r is comment Sar owt Th Figura 4 1 vis o parcial da etiqueta Classes SUBCLASS EXPLORER For Project O Asserted Hierarchy ty pe E D ow Thing O Pizza Figura 4 2 o painel Asserted Hierarchy Hierarquia Declarada 13 of 83 Create subclass Criar subclasse Create sibling class Criar classe irm E Delete selected class es Apagar classes selecionadas Tabela 2 legenda dos bot es do painel de Hierarquia de Classes Exerc cio 3 Cria o das classes Pizza PizzaTopping e PizzaBase Para saber quais os tipos de pizza os PizzaTopping Recheio de Pizza e as PizzaBase Bases de Pizza cria se uma classe para cada um desses termos 1 Selecione a etiqueta Classes 2 Pressione o bot o Create subclass Criar subclasse conforme FIG 4 2 Este bot o cria uma nova classe como subclasse da classe selecionada neste caso est sendo criada uma subclasse de owl Thing 3 Renomele a classe usando o campo For class FIG 4 3 localizado a direita da hierarquia de classes e pressione Enter CLASS EDITOR J For Class O Pizza instance of owtClass inferred View gt 9 a 3 e ey z Ls J Annotations Figura 4 3 campo para nomear a classe For Cla
2. 2 A primeira p gina do assistente solicita a sele o das classes Selecione todas as classes de recheios de pizza e arraste as para a lista do lado direito conforme apresentado na FIG 4 63 Selecione somente as classes que s o recheios reais e assim classes como CheeseTopping n o devem ser selecionadas Pressione Next 3 Selecione a propriedade hasSpiciness e arraste a para a coluna da direita Pressione Next 4 Especifique os fillers das propriedades clicando no campo Default padr o de cada classe e selecionando um valor Mild Medium ou Hot Selecione o filler de Mild para todas as propriedades exceto para PepperoniTopping e SalamiTopping que devem ter fillers Medium e exceto para JalapenoPepperTopping e SpicyBeef Topping os quais devem ter fillers Hot A tela deve estar similar a apresentada na FIG 4 65 5 O pr ximo passo solicita que se atualize cada classe alterada para a dada propriedade Deixe a caixa Close desmarcada 6 Pressione Finish para fechar o assistente e criar as restri es sobre os recheios Selecione alguns recheios e observe que possuem restri es atrav s da propriedade hasSpiciness com fillers de subclasses da parti o SpicinessValuePartition 56 of 83 Kick Restriction Editor Introduction Choose classes mm rog Choose properties Select From xX Selected F te X Defaults Thing a il HATO a Edit restrictions Doma i 10 ArtichokeT 19 Closure i m nedTomatoTop Results O Cou DA
3. At agora foram criado classes nomeadas simples algumas das quais s o subclasses de outras A constru o da hierarquia de classes pode parecer intuitiva Contudo o que realmente significa ser subclasse de alguma coisa em OWL Por exemplo o que significa 17 of 83 18 of 83 para VegetableTopping RecheioDeVegetal ser subclasse de PizzaTopping RecheioDePizza ou para TomatoTopping RecheioDeTomate ser subclasse de VegetableTopping RecheioDeVegetais Em OWL ser uma subclasse significa uma implica o necess ria Em outras palavras se VegetableTopping uma subclasse de PizzaTopping ent o TODAS as inst ncias de VegetableTopping s o inst ncias de PizzaTopping sem exce o Se alguma coisa um VegetableTopping isto implica que tamb m um PizzaTopping Veja a FIG 4 9 PizzaTopping TomatoTopping VegetableTopping Figura 4 9 O significado de ser uma subclasse todos os indiv duos que s o membros da classe TomatoTopping s o membros da classe VegetableTopping e PizzaTopping uma vez que se estabeleceu que TomatoTopping subclasse de VegetableTopping que por sua vez subclasse de PizzaTopping 4 4 Propriedades OWL As propriedades OWL representam relacionamentos entre dois indiv duos Existem dois tipos principais de propriedades Object Properties Propriedades de Objeto e DataType Properties Propriedades de Tipos de Dados As Object Properties Propriedades de Objeto conectam um indiv duo a
4. Cria o de recheios para Pizza Com algumas classes b sicas inseridas vai se criar recheios de Pizza Os recheios s o agrupados em categorias meat toppings recheios de carne vegetable toppings recheios de vegetais cheese toppings recheios de queijo e seafood toppings recheios de frutos do mar Exerc cio 6 cria o de recheios para pizzas l Selecione a classe PizzaTopping na hierarquia de classes 2 Use o OWL Wizzard Assistente OWL e adicione as seguintes subclasses de PizzaTopping MeatTopping RecheioDeCarne VegetableTopping RecheioDeVegetais CheeseTopping Recheio DeQueijo SeafoodTopping RecheioDeFrutosDoMar As classes devem estar disjuntas 3 Em seguida adicione diferentes recheios de carne Selecione a classe MeatTopping RecheioDeCarne e use O assistente Create Multiple Subclasses Assistente para criar m ltiplas classes para adicionar as seguintes subclasses SpicyBeefTopping RecheioDeCarneApimentada PepperoniTopping RecheioDeCalabresa SalamiTopping RecheioDeSalame HamTopping RecheioDePresunto Certifique que as classes est o classes disjuntas 4 Adicione alguns tipos de recheios de vegetais criando as seguintes subclasses disjuntas de VegetableTopping RecheioDeVegetais TomatoTopping RecheioDeTomate OliveTopping RecheioDeAzeitona MushroomTopping RecheioDeCogumelo PepperTopping RecheioDePimenta OnionTopping RecheioDeCebola CaperTopping RecheioDeAlcaparras
5. Tuesday Ter a Wednesday Quarta Thursday Quinta Friday Sexta e Saturday S bado Classes definidas dessa forma s o conhecidas como Enumerated Classes Classes Enumeradas No Protege OWL as classes enumeradas s o definidas usando se o editor de express es no campo Asserted Conditions Condi es Declaradas Os imdiv duos que comp em a classe enumerada s o listados separados por espa os e dentro de colchetes por exemplo Sunday Monday Tuesday Wednesday Thursday Friday Saturday Os indiv duos j devem ter sido criados na ontologia etiqueta Individuals As classes enumeradas descritas dessa forma s o classes an nimas s o as classes dos indiv duos e apenas dos indiv duos listados na enumera o Pode se anexar esses indiv duos a uma Named Class Classe Nomeada criando a enumera o como uma condi o NECESSARY amp SUFFICIENT Exerc cio 53 convers o da classe Country em uma classe enumerada 1 Selecione a classe Country na etiqueta OWLClasses 2 Selecione NECESSARY amp SUFFICIENT em Asserted Conditions Condi es Declaradas 3 Pressione Create new expression Criar nova express o para abrir o Inline Expression Editor Editor de Express es 4 Digite America England France Germany Italy na caixa de edi o de fillers lembre se de usar colchetes A fun o auto completar est dispon vel para us la digite as primeiras letras de um indiv duo e pressione tab para mostrar a lista de op
6. falsa presume se que tal conhecimento apenas n o foi adicionado a base de conhecimento No caso da ontologia de Pizza indica se que MargheritaPizza tem recheios que s o tipos de MozzarellaTopping e tamb m tipos de TomatoTopping Por causa da Suposi o de Mundo Aberto at que se diga explicitamente que uma MargheritaPizza tem apenas esses dois tipos de recheios presume se pelo MD que uma MargheritaPizza pode ter outros recheios Para especificar explicitamente que uma MargheritaPizza tem recheios que s o tipos de MozzarellaTopping ou tipos de MargheritaTopping e apenas estes deve se adicionar um Closure Axiom Axioma de Fechamento propriedade hasTopping Um closure axiom tamb m chamado de Closure Restriction Restri o de Fechamento 49 of 83 4 15 1 Axiomas de fechamento Um Closure Axiom Axioma de Fechamento consiste em uma restri o universal que atua na propriedade informando que ela pode apenas ser preenchida por fillers espec ficos A restri o tem um filler que a uni o dos fillers que ocorrem nas restri es existenciais da propriedade Por exemplo o Closure Axiom Axioma de Fechamento da propriedade hasTopping para MargheritaPizza uma restri o universal que atua na propriedade hasTopping com um filler que a uni o de MozzarellaTopping e de TomatoTopping ou seja a declara o A hasTopping MozzarellaTopping TomatoTopping Exerc cio 34 adi o de axioma de fechamento propriedade h
7. o sabe se que uma coisa n o pode ser queijo e vegetal ao mesmo tempo Uma coisa n o pode ser inst ncia de CheeseTopping RecheioDeQueijo e inst ncia de VegetableTopping RecheioDeVegetal simultaneamente Entretanto o nome para 39 of 83 as classes escolhido pelo desenvolvedor Para um MI os nomes n o tem significado e ele n o pode determinar se alguma coisa inconsistente baseando se em nomes O motivo de a classe ProbeInconsistentTopping ser detectada como inconsistente que suas superclasses VegetableTopping e CheeseTopping s o disjuntas Assim indiv duos que s o membros de CheeseTopping n o podem ser membros de VegetableTopping e vice versa Exerc cio 26 remo o de declara o disjunta de CheeseTopping e VegetableTopping 1 Selecione a classe CheeseTopping na hierarquia de classes 2 No campo Disjoints Disjun es est o as classes irm s a CheeseTopping as quais s o VegetableTopping RecheioDeVegetais SeafoodTopping RecheioDeFrutosDoMar e MeatTopping RecheioDeCarne Selecione VegetableTopping no campo Disjoints 3 Pressione o bot o Delete selected row Apagar linha selecionada no campo Disjoints para remover o axioma de disjun o que mant m disjuntas CheeseTopping e MeatTopping 4 Pressione Classify Taxonomy Classificar Taxonomia na barra de ferramentas OWL para enviar a ontologia ao MI A ontologia classificada e resultados s o exibidos SIGNIFICADO observe que Probelnco
8. o use o bot o InsertComplementOf InserirComplementoDe conforme FIG 5 2 para inserir o s mbolo 60 of 83 61 0f 83 complementOf e use o bot o Insert class Inserir Classe para exibir o di logo no qual pode se selecionar VegetarianPizza Insert ComplementOf 200 ooe oco e 4 0 00 Insert Class Figura 5 2 uso do Expression Builder Panel Painel Construtor de Express es para inserir Complement Of 5 Pressione enter para criar e atribuir a express o Asserted Conditions gt UE X ql lima a J tarianPizza Vu o Sr OO Figura 5 2 o recurso auto completar DICA um recurso til do editor de express es o auto completar que funciona para nomes de classes nomes de propriedades e nomes de indiv duos O auto completar no Inline Expression Editor Editor de Express es ativado com a tecla tab No exemplo acima ao digitar Vege no editor de express es e pressionar a tecla tab as op es para completar Vege s o apresentadas como mostra na FIG 5 3 As teclas de up e down podem ser usadas para selecionar VegetarianPizza A forma gr fica condi es deve agora parecer com a imagem mostrada na FIG 5 4 O not VegetarianPizza Cs O Pizza CE hasBase sonr Figura 5 4 campo Asserted Conditions Condi es Declaradas mostrando um passo intermedi rio na cria o da defini o de Non VegetarianPizza No entanto preciso adicionar Pizza as condi es necess rias
9. subclasse de Pizza e disjunta de VegetarianPizza 1 Selecione Pizza na hierarquia de classes da etiqueta OWLClasses Pressione o Create subclass Criar Subclasse para criar uma nova subclasse de Pizza 2 Renomeje a nova classe como NonVegetarianPizza 3 Torne disjuntas a classes NonVegetarianPizza e a classe VegetarianPizza Selecione NonVegetarianPizza e pressione o Add disjoint class Adicionar Classe Disjunta no campo Disjoint Classes Classes Disjuntas Deseja se definir uma NonVegetarianPizza como uma Pizza que n o VegetarianPizza Exerc cio 46 NonVegetarianPizza complemento de VegetarianPizza 1 Selecione NonVegetarianPizza na hierarquia de classe da etiqueta OWLClasses 2 Selecione NECESSARY amp SUFFICIENT no campo Asserted Conditions Condi es Declaradas 3 Pressione o bot o Create new expression Criar nova express o abrindo o Inline Expression Editor Editor de Express es no campo Asserted Conditions conforme FIG 5 1 O Editor de Express es cont m uma caixa de edi o e um painel de constru o de express es que pode ser usado para inserir nomes de classes e s mbolos l gicos s l oL T 0909 ooo BH E Sme 690 0 Figura 5 1 Inline Expression Editor Editor de Express es 4 Digite not VegetarianPizza na caixa de edi o A palavra chave NOT convertida para o s mbolo complement of complemento de Como alternativa para inserir a express o no painel para constru
10. Adicione seguintes classes como subclasses de PepperTopping RecheioDePimenta RedPepperTopping RecheioDePimentaVermelha GreenPepperTopping RecheioDePimentaVerde JalapenoPepperTopping RecheioDePimentaMexicana As subclasses de PepperTopping devem ser disjuntas 5 Agora adicione alguns recheio de queijo Assim como feito anteriormente adicione as seguintes subclasses de CheeseTopping RecheioDeQueijo assegurando se de que as subclasses s o disjuntas MozzarellaTopping RecheioDeMussarela ParmezanTopping RecheioDeParmes o 5 Finalmente adicione subclasses de SeafoodTopping RecheioDeFrutosDoMar TunaTopping RecheioDeAtum AnchovyTopping RecheioDeAnchova PrawnTopping RecheioDeCamar o Nesse momento a hierarquia de classes deve parecer com a apresentada na FIG 4 8 abaixo o ordenamento das classes podem estar ligeiramente diferente For Project O Pizza Asserted Hierarchy to t E O Pizza l ja v O PizzaBase O DeepPanBase B ThinandCrispy v O PizzaTopping v O CheeseTopping O MozzarelaTopping B ParmezanTopping Y O MesTopping 6 SpicyBeetTopping O PepperoniTopping a SalarraToppina a HamTopping y 6 Vegetable Topping D TomatoTopping B OlveTopping O MushroomTopping 7 O PepperTopping O RecPepper Topping O GreenPepper Topping A JalapenoPepper Topping OnionTopping D CaperTopping v 1 SeafoodTopping O TunaTopping O AnchovyTopping O PrawnTopping ES Figura 4 8 hierarquia de classes SIGNIFICADO
11. ent o hasBirthMother uma propriedade funcional ou seja Peggy e Margaret s o mesma pessoa Contudo observe que se Peggy e Margaret s o descritos explicitamente como duas pessoas diferentes ent o as afirma es anteriores levam a uma inconsist ncia lt gt Pega gt not xs Y AN Jean lt A Implies Peggy and Margaret A are the same individual SSB 4 frth Bo Mother gt Margaret Figura 4 19 exemplo da propriedade funcional hasBirth Mother temMaeBiol gica 23 0183 4 6 2 Propriedades funcionais inversas Se uma propriedade uma funcional inversa isto significa que a sua propriedade inversa funcional Para o indiv duol pode existir no m ximo um indiv duo relacionado ao indiv duo atrav s da propriedade A FIG 4 20 mostra um exemplo da propriedade funcional inversa isBirthMotherOf M eBiol gicaDe que a propriedade inversa de hasBirthMother temMaeBiol gica Se hasBirthMother temM eBiol gica funcional isBirthMotherOf M eBiol gicaDe funcional inversa Se Peggy a m e natural de Jean e Margareth a m e natural de Jean infere se que Peggy e Margaret correspondem a mesma pessoa Peggy y ISBirth y 4 A M ero E NA Implies same individual y Jean 1 ve P Margaret i gt Fig 4 20 Exemplo de uma propriedade funcional inversa 4 6 3 Propriedades transitivas Se uma propriedade P transitiva relaciona o indiv duo a ao indiv duo
12. es adicionais sobre os tipos de restri es para propriedades OWL E indicado para leitores n o familiarizados com no es de l gica Todos os tipos de restri es descrevem um conjunto sem nome que pode conter indiv duos Esse conjunto corresponde a uma classe an nima Quaisquer indiv duos membros dessa classe an nima satisfazem a restri o que descreve a classe FIG A 1 O termo restri es descreve restri es sobre rela es atrav s de propriedades das quais participam indiv duos Quando se descreve uma classe nomeada usando restri es o que se faz realmente na pr tica descrever uma superclasse an nima da classe nomeada A 1 Restri es de quantifica o Restri es de quantifica o possuem tr s partes 1 O quantificador que pode ser um quantificador existencial E ou um universal A 2 Uma propriedade sobre a qual a restri o atua 3 Um filler que corresponde a classe nomeada cujos indiv duos atendem a restri o O quantificador imp e restri es sobre um relacionamento do qual um indiv duo participa Isso ocorre porque o quantificador especifica que pelo menos um tipo de relacionamento deve existir ou especifica os tipos de relacionamentos que podem existir O A set of individuals that satisfy S a restriction the restriction essentially describes an anonymous unnamed class that contains these individuals Figura A 1 restri es que descrevem uma classe de indiv duos an
13. n o se pode assumir que um indiv duo n o um membro de uma classe espec fica simplesmente porque n o se declarou que ele um membro daquela classe Para desconectar um grupo de classes preciso torn las disjuntas Isto garante que um indiv duo que tenha sido declarado como sendo membro de uma das classes do grupo n o pode ser um membro de nenhuma outra classe naquele mesmo grupo No exemplo Pizza PizzaTopping e PizzaBase a disjun o foi realizada o que significa que n o poss vel a um indiv duo ser membro de uma combina o destas classes N o faz sentido um indiv duo ser uma Pizza e uma PizzaBase 4 3 Uso do assistente OWL para criar classes O plug in OWL Wizard Assistente OWL consiste de um conjunto de assistentes projetados para executar tarefas comuns repetitivas e demoradas Nesta se o usa se o assistente Create Multiple Classes Criar m ltiplas classes para adicionar subclasses a classe PizzaBase Para utilizar o Assistente OWL necess rio que o plug in correspondente esteja instalado Exerc cio 5 use o Assistente Create Multiple Classes Criar m ltiplas classes para criar ThinAndCrispy FinaECrocante e DeepPan BaseGrossa como subclasses de PizzaBase 1 Selecione a classe PizzaBase na hierarquia de classes 2 No menu Tools selecione o comando Quick OWL e a op o Create Multiple Subclasses Criar m ltiplas classes Pressione Next 3 O assistente apresentado como FIG 4 6
14. ncias na ontologia Este tutorial utiliza a OWL DL 3 1 5 OWL Full A OWL Full a sub linguagem OWL mais expressiva Destina se a situa es onde alta expressividade mais importante do garantir a decidabilidade ou completeza da linguagem N o poss vel efetuar infer ncias em ontologias OWL Full 3 1 4 A escolha da sub linguagem Para maiores detalhes sobre as tr s sub linguagens OWL ver informa es no W3C Embora muitos fatores interfiram na escolha da sub linguagem adequada existem algumas regras b sicas Entre OWL Lite e OWL DL necess rio saber se os constructos da OWL Lite s o suficientes Entre OWL DL e OWL Full preciso saber se importante realizar infer ncias na ontologia ou se importante usar funcionalidades altamente expressivas ou funcionalidades de modelagem tais como as 8 of 83 meta classes classes de classes O plug in do Protege OWL n o faz distin o entre a edi o de ontologias OWL Lite e OWL DL No entanto n o oferece a opc o de restringir a ontologia sob edic o para OWL DL nem permite a expressividade da OWL Full 3 2 Componentes da Ontologia OWL As ontologias OWL t m componentes similares a estrutura do Frame based Protege mas a terminologia usada para descrever tais componentes um pouco diferente da utilizada no Protege Frames correspond ncia entre as duas nomenclaturas apresentada na TAB 1 Protege Frames Protege OWL Instances Inst ncias Indiv duo
15. para exibir a hierarquia de classes da ontologia 7 Pressione o bot o Ok na caixa de di logo Create Restriction Criar Restri o para criar a restri o desejada Caso exista algum erro a restri o n o ser criada e uma mensagem de erro ser exibida no painel de constru o de express es Agora especifique que MargheritaPizza tamb m tem TomatoTopping Exerc cio 20 criar uma restri o existencial E para a classe MargheritaPizza a propriedade hasTopping e o filler TomatoTopping para que uma MargheritaPizza tenha pelo menos um TomatoTopping 1 Selecione MargheritaPizza na hierarquia de classes 2 Selecione NECESSARY no campo Asserted Conditions Condi es Declaradas do Class Editor Editor de Classes para adicionar uma condi o necess ria 3 Use Create Restriction Criar Restri o no campo Asserted Conditions Condi es Declaradas da interface Class Editor Editor de Classes para exibir o di logo 4 Na caixa de di logo Create Restriction Criar Restri o fa a com que a restri o criada seja um quantificador existencial selecionando o tipo de restri o tipo E someValuesFrom 5 Selecione hasTopping como a propriedade a sofrer restri o 6 Entre com a classe TomatoTopping como o filler para a restri o 7 Clique no bot o Ok para criar restri o O campo Asserted Conditions Condi es Declaradas deve estar semelhante com a imagem da FIG 4 35 1 NamedPizza 155 porren E h
16. E HasTopping MozzarellaTopping descreve o conjunto de indiv duos participante de pelo menos uma rela o hasTopping com outro indiv duo que membro da classe MozzarellaTopping Em linguagem natural pode se dizer que a restri o existencial pode aquela que descreve as coisas que tem um recheio de mussarela O fato de a restri o existencial descrever um grupo de indiv duos que tem pelo menos um relacionamento atrav s da propriedade hasTopping com um indiv duo membro da classe MozzarellaTopping n o significa que os relacionamentos apenas podem ocorrer atrav s da propriedade hasTopping ou apenas com indiv duo membro de MozzarellaTopping Podem existir outras rela es hasTopping n o especificadas explicitamente A 1 2 allValuesFrom Restri es Universais Restri es Universais s o tamb m conhecidas como allValuesFrom ou All uma vez que restringem o filler de certa propriedade para uma classe especifica Restri es Universais s o representadas pelo s mbolo A A de cabe a para baixo Descrevem o conjunto de indiv duos os quais para uma dada propriedade tem relacionamento apenas com outros indiv duos membros de uma classe espec fica Para uma dada propriedade o conjunto de indiv duos descritos pela restri o universal vai tamb m conter os indiv duos que n o tem qualquer relacionamento com essa propriedade para qualquer outro indiv duo A restri o universal apresentada na FIG A 3 possui a proprie
17. Matthew As Propriedades podem tamb m ser inversas Por exemplo a propriedade inversa de hasOwner temDono isOwnedBy PropriedadeDe As propriedades podem limitar se a um valor nico s o as Functional Properties propriedades funcionais Elas tamb m podem ser Transitive Properties Propriedades transitivas ou Symetric Properties Propriedades Sim tricas Estas caracter sticas das propriedades s o detalhadas adiante A FIG 3 2 mostra propriedades que conectam indiv duos 9 of 83 VOCABUL RIO Propriedades s o equivalentes aos slots no Protege Frames Tamb m s o conhecidas como pap is roles em l gica descritiva e rela es relationships em UML Unified Modeling Language e em outras abordagens de orienta o a objeto Em muitos formalismos como no GRAIL elas s o denominadas de atributos England Matthew hasSiblin Gemma Figura 3 2 representa o de propriedades ray England Figura 3 3 representac o de classes contendo indiv duos 3 2 3 Classes Classes As classes OWL s o conjuntos que cont m os indiv duos Elas s o descritas formalmente descri es matem ticas de forma que sejam apresentados os requisitos para a participa o na classe Por exemplo a classe Cat gato pode conter todos os indiv duos que s o gatos no dom nio de interesse As classes podem ser organizadas em hierarquias superclasse subclasse tamb m conhecidas como taxonomias Subclasses s o especializa e
18. Selecione a classe PizzaBase a qual subclasse de Domain Concept Sep 201 5 Prev Next Cancel Figura 4 6 tela do assistente para criar m ltiplas classes 4 Pressione o bot o Next no assistente abaixo exibida Agora preciso dizer ao assistente qual subclasses de PizzaBase deve ser criada Na rea de texto maior digite no nome da classe ThinAndCrispyBase PizzaDeBaseFina e tecle enter Digite o nome de classe DeepPanBase BaseGrossa A tela deve estar parecida com a da FIG 4 7 a seguir Erter subciasses below Profix all in Est wh Resu s Sutit all in bat wth Y Tab indert to cresta hierarchy Tidy up rrabd names Tidy up invalid names 1 ThinAndCrispyBase 2 DeepPanBase Step 3015 Prev Net Cancel Figura 4 7 tela do assistente para criar m ltiplas classes 5 Clique no bot o Next do Assistente e os nomes digitados s o verificados quanto ao estilo letras mai sculas min sculas sem espa os etc Tamb m verificada a unicidade das classes ou seja duas classes n o podem ter o mesmo nome Erros no nome das classes s o apresentados na tela juntamente com sugest es para corre o 15 of 83 16 of 83 6 Clique no bot o Next no assistente Selecione a op o Make all primitive siblings disjoints Marcar todas as irm s primitivas como disjuntas Ao inv s de utilizar a interface das classes disjuntas o assistente tornar as novas classes disjun
19. classes tem uma defini o e qualquer indiv duo que satisfa a tal defini o pertence a classe Classes que n o tem nenhum conjunto de condi es necess rias e suficientes apenas condi es necess rias s o conhecidas como Primitive Classes Classes Primitivas No Protege OWL as Defined Classes Classes Definidas possuem um cone com fundo alaranjado As Primitive Classes Classes Primitivas possuem um cone com fundo amarelo importante entender que o MI pode classificar automaticamente apenas as classes definidas ou seja classes com pelo menos um conjunto de condi es necess ria e suficientes 4 11 Classifica o autom tica Um dos benef cios em construir uma ontologia com a sublinguagem OWL DL a possibilidade computar automaticamente a hierarquia de classes atrav s de um MI No caso de ontologias muito grandes milhares de classes esse aux lio autom tico para computar relacionamentos subclasse superclasse vital Sem um MI muito dif cil manter grandes ontologias em um estado logicamente correto Em casos em que as ontologias tem classes com muitas superclasses heran a m ltipla uma boa pr tica construir uma hierarquia de classes como uma rvore simples Dessa forma as classes na Asserted Hierarchy Hierarquia Declarada aquela constru da manualmente n o t m mais do que uma superclasse Computar e manter heran a m ltipla tamb m trabalho do MI Esta t cnica as vezes chamada normaliza o de
20. condi es necess rias e suficiente As condi es n o v o ser apenas necess rias para associa o a classe CheesyPizza elas v o ser tamb m suficientes para determinar que qualquer indiv duo que as satisfa a um membro de CheesyPizza VOCABUL RIO classes que tem apenas condi es necess rias s o tamb m conhecidas como Partial Classes Classes Parciais Classes que tem pelo menos um conjunto de condi es necess rias e suficientes s o tamb m conhecidas como Complete Classes Classes Completas Para converter condi es necess rias para condi es necess rias e suficientes movem se as condi es do cabe alho NECESSARY no campo Asserted Conditions Condi es Declaradas para o cabe alho NECESSARY amp SUFFICIENT Isto pode ser feito arrastando e soltando as condi es uma a uma Exerc cio 29 convers o de condi es necess rias de CheesyPizza em condi es necess rias e suficientes 1 Selecione CheesyPizza na hierarquia de classes 2 Em Asserted Conditions Condi es Declaradas selecione E hasTopping CheeseTopping 3 Arraste a restri o E hasTopping CheeseTopping de NECESSARY para NECESSARY amp SUFFICIENT 4 Selecione a classe Pizza 5 Arraste a classe Pizza de NECESSARY para cima de E hasTopping CheeseTopping O campo Asserted Conditions deve parecer com a FIG 4 41 des Aaa Condition zey O Pizza O hasTopping some Cheese Topping ome PizzaBas Figura 4 41 a descri
21. di logo n o fechada e uma mensagem de erro exibida no painel para constru o de express es nesse caso verifique se a restri o a propriedade e o filler foram especificados corretamente DICA um recurso til para a constru o de express es o auto completar utilizado para nomes de classes nomes de propriedades e nomes de indiv duos O recurso auto completar ativado pressionando se alt tab No exemplo acima ao digitar Pi as op es iniciadas com Pi s o apresentadas conforme mostra a FIG 4 32 abaixo Com as teclas up e down seleciona se PizzaBase Filler pi y PizzaBase 0o 000 PizzaTopping RR Pr qe E amp b O E Error Invalid symbol after Figura 4 32 o recurso auto completar do construtor de express es A interface Asserted Conditions aparece agora de forma similar a apresentada na FIG 4 33 ot Thing F E E hasBase some PizzaBase EH Figura 4 33 Interface Asserted Conditions descri o de uma pizza SIGNIFICADO at aqui descreveu se a classe Pizza como uma subclasse de owl Thing e como uma subclasse das coisas que possuem uma base a qual por sua vez algum tipo de PizzaBase Note que tais condi es s o necess rias ou seja se alguma coisa uma Pizza necess rio que tal coisa seja membro da classe owl Thing em OWL todas as coisas s o membros de owl Thing e ainda necess rio que tal coisa tenha um tipo de PizzaBase Em linguagem formal
22. e suficientes uma vez que no momento a defini o de NonVegetarianPizza diz que um indiv duo que n o um membro da classe VegetarianPizza qualquer outro indiv duo uma NonVegetarianPizza Exerc cio 47 adic o de Pizza a condi es necess rias e suficientes Non VegetarianPizza 1 Selecione NonVegetarianPizza na hierarquia de classes da etiqueta OWLClasses 2 Selecione Pizza no campo Asserted Conditions Condi es Declaradas 3 Arraste Pizza de NECESSARY e solte sobre a condi o VegetarianPizza para adicion la ao mesmo conjunto de condi es necess rias e suficientes que VegetarianPizza O campo Asserted Conditions Condi es Declaradas deve parecer agora com a FIG 5 5 e Ri e Asserted Condition 6 Pizza EN O not VegetarianPizza Ee ome PizzaBase 62 of 83 Figura 5 5 O campo Asserted Conditions mostrando a defini o de NonVegetarianPizza SIGNIFICADO o complemento de uma classe inclui todos os indiv duos que n o s o membros da classe Ao tornar NonVegetarianPizza uma subclasse de Pizza e complemento de VegetarianPizza indica se que os indiv duos que s o Pizzas e n o s o membros de VegetarianPizza s o membros de NonVegetarianPizza Observe que VegetarianPizza e NonVegetarianPizza s o disjuntas se um indiv duo membro de VegetarianPizza ele n o pode ser um membro de NonVegetarianPizza Exerc cio 48 uso do MI para classificar a ontologia 1 Pressione Classify taxon
23. es 67 of 83 5 Pressione enter para aceitar a enumera o e feche o editor de express o O campo Asserted Conditions Condi es Declaradas deve parecer agora com a FIG 6 5 0 America England France Germariy Italy a tese di LE LIS om Thing Figura 6 5 Asserted Conditions mostrando a Enumeration Class Classe Enumerada SIGNIFICADO um indiv duo que um membro da classe Country na verdade um dos indiv duos listados ou seja um daquelas da lista America England France Germany Italy Formalmente a classe country equivalente a cont m os mesmos indiv duos que a classe an nima que definida pela enumera o conforme apresentado na FIG 6 6 5 TN Enumerated Class se Na E 4 dashed line England O America 1 lt gt Italy O France 4 lt gt Germany AN 5n l A Country solid line Figura 6 6 esquema da classe Country como equivalente a uma Enumerated Class DICA existem um assistente para cria o de classes enumeradas 6 4 Propriedades de Anota o Annotation Properties O OWL permite que classes propriedades indiv duos e o pr prio cabe alho ontologia sejam comentados usando metadados Esses metadados podem assumir a forma de informa es de auditoria ou de informa es editoriais Por exemplo coment rios data de cria o autor refer ncias para pesquisas tais como p ginas web etc O OWL Full n o imp e
24. mostrando a descri o para AmericanaPizza Exerc cio 22 criar classes AmericanHotPizza e SohoPizza 1 Uma AmericanHotPizza quase uma AmericanaPizza mas possui Jalapeno PimentaDiferente Crie o novo tipo clonando a classe AmericanaPizza e adicionando uma restri o existencial a propriedade hasTopping com um filler JalapenoPepperTopping 2 Uma SohoPizza quase uma MargheritaPizza mas tem recheios adicionais de Olive Azeitona e Parmezan Parmes o Crie este novo tipo clonando MargheritaPizza e adicionando duas restri es existenciais junto a propriedade hasTopping uma com o filler OliveTopping e outra com o ParmezanTopping Para a AmericanHotPizza a forma gr fica Asserted Conditions Condi es Declaradas deve agora parecer como a imagem da FIG4 37 NamedPizza hasTopping some TomatoTopping O has Topping some MozzarelaTopping hasToppinga some PepperoniTopping hasTopping some JalapenoPepper Topping E ajaja hasBase some Pizzabaze Figura 4 37 o campo Asserted Conditions com a descric o para AmericanaHotPizza Para SohoPizza a forma gr fica Asserted Conditions Condi es Declaradas deve parecer como a imagem da FIG4 38 LJ O NamedPizza O has Topping some TomatoTopping 6 hasTopping some Mozzarella Toppina O hasToppng some OliveTopping hasTopping some ParmezanTopping FEF hasBase some PizzaBaze Figura 4 38 o campo Asserted Conditions mostrando a descri o para
25. o 7 Na caixa de edi o do filler digite CheeseTopping ou use o bot o Insert class Inserir classe para exibir um di logo do qual CheeseTopping pode ser selecionado Pressione Ok para fechar o di logo e criar a restri o A forma gr fica Asserted Conditions Condi es Declaradas deve agora estar parecida como a apresentada na FIG 4 46 IO Pizza E hasTopping some CheeseToppina info EJ ll hasbDas Pizzat Figura 4 46 a descri o de CheesyPizza usando Necessary Conditions Condi es Necess rias SIGNIFICADO a descri o de CheesyPizza indica que se alguma coisa membro da classe CheesyPizza necess rio que seja membro da classe Pizza e necess rio que tenha pelo menos um recheio que seja membro da classe CheeseTopping 41 of 83 A atual descri o de CheesyPizza indica que se alguma coisa um CheesyPizza necessariamente uma Pizza e al m disso ainda precisa ter pelo menos um recheio que um tipo de CheeseTopping Para dizer Isto usam se condi es necess rias Considere agora um indiv duo qualquer Sabe se que esse indiv duo membro da classe Pizza sabe se tamb m que tem pelo menos um tipo de CheeseTopping Entretanto pela atual descri o de CheesyPizza essas informa es n o s o suficientes para determinar que o indiv duo membro da classe CheesyPizza Para que isto seja poss vel preciso mudar as condi es de CheesyPizza de condi es necess rias para
26. o HTTP especifica o endere o IP e o n mero da porta Caso deseje usar uma porta diferente preciso configurar o Prot g OWL atrav s do comando Preferences Prefer ncias do menu OWL vide FIG 4 41 Figura 4 40 tela inicial do RACER a OWL Preferences a General Visiblly Datatypes Searching Encodrg Tabs Tests ter rieriace Tendre Y Drag and Drop DS yrtaocCas Display Compact Clas sDisplary Y Constant checking red borders al edit time 3 hester OM Syria Manchester O x t enter s ez A ow re creativo 04 external resources untyped URIs Icon Style Detail Teto Mocalrost 3490 import Protege metadata ortology O Use Hadari profe OVL OL bs Use custom porte E y O DetuA Jena wrter Expermerntal native wrier Save forms to forms fies Figura 4 41 menu OWL comando Preferences 4 9 3 Funcionamento do MI Ap s iniciar o RACER ou outro MI a ontologia pode ser enviada ao mecanismo para execu o dos 37 of 83 servi os No Protege OWL a hierarquia de classe constru da manualmente chamada de asserted hierarchy hierarquia declarada a hierarquia de classes calculada automaticamente pelo MI chamada inferred hierarchy hierarquia inferida Para classificar automaticamente a ontologia e verificar sua consist ncia utiliza se o comando Classify Taxonomy Classificar Taxonomia dispon vel atrav s de bot o no menu superior do Protege OWL ou atrav s de comando no menu OWL Para verificar a co
27. o de CheesyPizza usando condi es Necessary and Sufficient SIGNIFICADO a descri o de CheesyPizza foi convertida em uma defini o Se alguma coisa uma CheesyPizza necess rio que seja uma Pizza e tamb m necess rio que pelo menos um de seus recheios seja membro da classe CheeseTopping Al m disso se um indiv duo 2 um membro da classe Pizza e ele tem pelo menos um recheio que membro da classe CheeseTopping ent o essas condi es s o suficientes para determinar que o indiv duo deve ser um membro da classe CheesyPizza A no o de condi es necess rias e suficientes ilustrada na FIG 4 48 e 4 48a 42 of 83 NECESSARY CONDITIONS Condition s A Fi implies Condition NamedClass ny IR q Sonditon A Condition D If an individual is a member of NamedClass then it must satisfy the conditions However if some individual satisfies these necessary conditions we cannot say that itis a member of Named Class the conditions are not sufficient to be able to say this this is indicated by the direction of the arrow NECESSARY amp SUFFICIENT CONDITIONS Condition implies E NamedClass 2 Condition Condition Condition If am individual is a memeber of NamedCiass then it must satisfy the conditions If some individual satisfies the condtions then the individual must be a member of NamedClass this is indicated by the double arrow Fig
28. o via URIs Unigue Resource Identifiers terminados com ou com Por exemplo o namespace padr o no Protege OWL o namespace atribu do a ontologias rec m criadas http a com ontology Isto significa que todos identificadores de classes de propriedades e de indiv duos criados no Protege OWL por padr o s o prefixados com http a com ontology Por ex o nome completo da classe PizzaTopping http a com ontology PizzaTopping O nome completo da classe MargheritaPizza http a com ontology amp MargheritaPizza O Protege OWL esconde os namespaces prefixados de forma que n o seja preciso digitar nomes longos a cada uso de classes propriedades ou indiv duos Os namespaces contribuem para evitar conflitos entre nomes quando uma ontologia referencia classes propriedades e indiv duos em uma outra ontologia Por exemplo uma ontologia sobre aeronaves AircraftOntology tem uma classe de nome Wing que descreve a asa de um aeroplano Uma ontologia sobre p ssaros BirdOntology tamb m tem uma classe chamada Wing que descreve a asa de um p ssaro O namespace para a AircraftOntology http www ontologies com aircraftf o namespace para a segunda ontologia BirdOntology http www birds com ontologies BirdOntology Evidentemente a classe Wing na ontologia de aeronaves n o a mesma que a classe Wing na ontologia de p ssaros Suponha que a ontologia de aeronaves importa a ontologia de p ssaros Por causa do mecanismo namespac
29. ontologia ajuda a manter a ontologia em um estado sustent vel e modular Isso promove a reutiliza o da ontologia e minimiza erros humanos inerentes na manuten o de hierarquias com heran a m ltipla Uma vez criada uma defini o para CheesyPizza pode se usar o MI para computar automaticamente subclasses de CheesyPizza Exerc cio 30 uso do MI para computar automaticamente a subclasse de CheesyPizza 1 Certifique se de que um MI por exemplo o RACER est funcionando 2 Pressione o bot o Classify Taxonomy Classificar Taxonomia na barra de ferramentas A Inferred Hierarchy Hierarquia Inferida calculada e abre se a nova janela com os resultados similar aos apresentados FIG 4 50 As FIG 5 51 e FIG 4 52 mostram uma vis o OWLViz plug in das hierarquias declarada e inferida respectivamente Observe que as classes cujas superclasses foram modificadas pelo MI s o destacadas em azul SUBCLASS EXPLORER A SUBCLASS EXPLORER zN ctt O Pizza r Proj O Prz AET ONIA DI A toreo Hiara a y D ontT gt ot Thing Y Prz Y Deza O CreesyPara Y O creesyrzza gt O NemecPizzs O anmann Y O Prrsbsce O Armas D Ieepprbsce Aa sir O minandiCrispy O Sorn Y Deroga Oure O CreeseTo prg b Om pras gt O mesTo prg e otica gt O Sestoodtopprg gt O vegetatie Topprng Ja LLAR Jn p Figura 4 50 A Asserted Hierarchy Hierarquia Declarada e a Inferred Hierarchy Hierarquia Inferida apresentando os resultados da classific
30. outro indiv duo As DataType Properties Propriedades de Tipos de Dados por sua vez conectam um indiv duo a um valor do XML Schema Datatype dispon vel em http www w3 org TR xmischema 2 ou a um literal do RDF Resource Description Framework dispon vel em http www w3 org TR rdf primer O OWL tamb m tem um terceiro tipo de propriedade denominada Annotation Property Propriedade de Anota o as quais s o usadas para adicionar metadados as classes aos indiv duos e as Object Properties Propriedades de Objeto e as DataType Properties Propriedades de Tipos de Dados A FIG 4 10 apresenta um exemplo de cada tipo de propriedade hasSister Matthew Gemma Uma propriedade de objeto conectando o indiv duos Matthew ao indiv duo Gemma Matthew 25 AAxsd integer Uma propriedade de tipo de dados conectando o ind duo Matthew ao dado literal 25 que um tipo de xml integer dc creator O JetEngine Matthew Horridge Uma propriedade de anota o conectando a classe JetEngine ao dado literal string Matthew Horridge Figura 4 10 diferentes tipos de propriedades OWL 19 of 83 As propriedades podem ser criadas usando a etiqueta Properties Propriedades mostrada na FIG 4 11 Para criar propriedades OWL a partir etiqueta Properties da utilize o bot o localizado no canto superior esquerdo Como se pode ver na FIG 4 13 existem bot es para cria o de propriedades de tipos de dados propriedades de objeto e p
31. resultante a uni o das classes individuais B 1 Classes interse o Uma classe interse o descrita pela combina o de duas ou mais classes as quais utilizam o operador AND e Por exemplo seja a interse o de human humano e male masculino conforme FIG B l descreve se a classe an nima que cont m indiv duos membros da classe human e da classe male A sem ntica de uma classe intersec o define que a classe an nima descrita uma subclasse de human e tamb m uma subclasse de male Essa classe interse o an nima pode tamb m ser usada em outra descri o de classes Por exemplo ao se construir uma descri o da classe man especifica se que man uma subclasse da classe an nima descrita pela intersec o de human e de male Em outras palavras man subclasse de human e de male O b O O O 4 o Human Male Intersection of Human and Male Figura B 1 a intersec o Human Male a rea escura representa a intersec o B 2 Classes uni o A classe uni o criada pela combinac o de duas ou mais classes usando o operador OR Por exemplo seja a uni o de man e woman conforme a FIG B 2 Ela descreve a classe an nima que contem os indiv duos pertencentes a classe man ou a classe woman ou a ambas Man Woman Figura B 2 uni o Man Woman a rea escura representa a uni o A classe an nima descrita pode ser usada em outra descri o de classe Por exemplo a classe person po
32. se um Covering Axiom Axioma de Cobertura o qual consiste de duas partes a classe que est sendo coberta e as classes que formam a cobertura Por exemplo tem se tr s classes A Be C e as classes B e C s o subclasses de A Tem se um Covering Axiom Axioma de Cobertura que especifica que a classe A coberta pela classe B e tamb m pela classe C Isto significa que um membro da classe A deve ser membro da classe B e ou C Se as classes B e C s o disjuntas ent o um membro de A deve ser um membro de B ou de C Em geral embora B e C sejam subclasses de A um indiv duo pode ser um membro de A sem ser membro de uma das classes B ou C No Protege OWL um Covering Axiom Axioma de Cobertura manifesta se como uma classe que a uni o das classes que est o sendo cobertas as quais formam a superclasse da classe que est sendo coberta No caso de A Be C a classe A pode ter uma superclasse de B C O efeito de um axioma de cobertura representado na Fig 4 61 Without a coveringaxiom With a covering axiom Band Care subclasses of A Band Care subclasses of A and Aisa subclass of B union Figura 4 61 um esquema que mostra o efeito de usar um Covering Axiom para cobertura da classe A com as classes B e C A SpicinessValuePartition tem uma axioma de cobertura para indicar sua cobertura pelas classes Mild Medium e Hot as quais s o disjuntas para que um indiv duo n o possa ser um membro de mais de uma delas A classe SpicinessVa
33. solicita que a ontologia seja recarregada Pressione Yes 4 DC Ontology importada Feche o di logo DC metadata com o bot o Close 5 Alterne para a etiqueta Properties Conforme apresentado na FIG 7 3 verifique que v rias propriedades de anota o do Dublin Core Metadata Terms foram importadas Essas propriedades podem ser usadas no normalmente IO o e Figura 7 3 Elementos Dublin Core dispon veis como propriedades de anota o 7 2 6 Protege OWL Metadata Ontology Ontologia de metadados do Protege OWL V rios recursos usados pelo plug in Protege OWL tal como a marca o de classes para que qualquer subclasse primitiva seja disjunta automaticamente se baseiam em propriedades de anota o Essas propriedades s o parte da Protege OWL Meta Data Ontology localizada na pasta do plug in Protege OWL Para usar essas propriedades de anota o preciso importar o Protege OWL Meta Data Ontology Exerc cio 59 importa o do Protege OWL Meta Data Ontology 1 Selecione Preferences Prefer ncias no menu OWL 2 No novo di logo marque Import Protege Metadata Ontology Importar Ontologia de Metadados do Protege Pressione Close para fechar o di logo Corera Vielbily Deistypes Seucieg Encodrg Tabe Tests Y Drag and Drop Ol SprtarCias ses piay E Macrester OVA Syrtax Y Coratr e e Coratrart cheiro red bordes s edit ime o PA Con Abya Ta creston ot eternal tesoros Cartipes US leon Ser Det Ep caros A
34. tamb m que qualquer coisa que uma Pizza e tem pelo menos um recheio com spiciness tempero apimentado Hot muito apimentado um SpicyPizza OBSERVA O no passo final do exerc cio anterior criou se uma restri o utilizando a express o de classe PizzaTopping E hasSpiciness Hot ao inv s de uma classe nomeada com seu filler Tal filler foi constru do pela interse o entre a classe nomeada PizzaTopping e a restri o E hasSpiciness Hot Uma outra forma para fazer isto criar uma subclasse de PizzaTopping chamada HotPizzaTopping e defini la com um recheio hot tempero apimentado a partir da condi o necess ria E hasSpiciness Hot Pode se ent o usar E hasTopping HotPizzaTopping na defini o de SpicyPizza 58 of 83 Agora vai se chamar o MI e determinar quais pizzas s o spicy apimentadas na ontologia Exerc cio 42 uso do MI para classificar a ontologia 1 Pressione o bot o Classifty Taxonomy Classificar Taxonomia na barra de ferramentas do OWL para chamar o MI e classificar a ontologia Depois de realizada a classifica o autom tica surge o painel Inferred Hierarchy Hierarquia Inferida Observe que AmericanHotPizza foi classificada como subclasse de SpicyPizza o MI computou automaticamente que qualquer indiv duo que membro de AmericanHotPizza tamb m membro de SpicyPizza 4 16 Restri es de Cardinalidade Em OWL pode se descrever a classe dos indiv duos que tem pelo menos um ou no m xi
35. torna poss vel definir conceitos da forma como s o descritos Conceitos complexos podem ser constitu dos a partir de defini es de conceitos simples Al m disso o modelo l gico permite a utiliza o de um MI o qual pode verificar se as declara es e as defini es da ontologia s o mutuamente consistentes entre si e reconhecer se conceitos s o adequados a defini es O MI pode portanto ajudar a manter a herarquia o que til quando existem casos em que uma classe tem mais de um pai 3 1 As tr s esp cies de OWL As ontologias OWL podem ser classificadas em tr s esp cies de acordo com a sub linguagem utilizada OWL Lite OWL DL e OWL Full A caracter stica principal de cada sub linguagem a sua expressividade a OWL Lite a menos expressiva a OWL Full a mais expressiva a expressividade da OWL DL est entre a duas entre a OWL Lite e a OWL Full 3 1 1JOWL Lite A OWL Lite a sub linguagem sintaticamente mais simples Destina se a situa es em que apenas s o necess rias restri es e uma hierarquia de classe simples Por exemplo o OWL Lite pode fornecer uma forma de migra o para tesauros existentes bem como de outras hierarquias simples 3 1 2 0WL DL A OWL DL mais expressiva que a OWL Lite e baseia se em l gica descritiva um fragmento de L gica de Primeira Ordem pass vel portanto de racioc nio autom tico E poss vel assim computar automaticamente a hierarquia de classes e verificar inconsist
36. 7 Selecione novamente NECESSARY amp SUFFICIENT no campo Asserted Conditions Pressione o bot o Create restriction para exibir o di logo correspondente 8 Selecione cardinality cardinalidade como o tipo de restri o a ser criado Selecione hasAngle como a propriedade a sofrer restri o Na caixa de edi o dos fillers digite 3 Pressione Ok para fechar o di logo e criar a restri o 9 Arraste Polygon de NECESSARY para sobre a restri o hasSide 3 10 Selecione a restri o hasAngle 3 Clique no bot o Add named class para exibir um di logo com hierarquia de classes Selecione a classe Polygon e clique Ok N do T Na vers o 3 4 Build 130 do Protege este exerc cio apresenta um erro quando se solicita sele o da classe Polygon Aparece a seguinte mensagem de erro Could not add a polygon O campo Asserted Conditions deve estar similar ao apresentada na FIG 6 9 COAR Assorted Conditi 0 Potygon wag gt erstes Figura 6 9 a defini o de um triangulo usando condi es necess rias e suficientes 70 0f 83 7 Outros t picos 7 1 Perfil da linguagem Conforme mencionado anteriormente existem tr s sub linguagens OWL OWL Lite OWL DL e OWL Full Ao editar uma ontologia o Protege OWL tem capacidade de restringir os constructos usados de forma que a ontologia possa ser classificada em uma das sub linguagens OWL DL ou OWL Full A sub linguagem desejada ou perfil da linguagem a ser utilizada definida a
37. Conven es Os exerc cios s o apresentados da seguinte forma Exerc cio 1 Fa a o seguinte 1 Fa a isso 2 Em seguida fa a isso 3 Em seguida fa a isso Outras conven es utilizadas DICA SIGNIFICADO ATEN O OBSERVA O VOCABUL RIO 2 Requisitos Para seguir este tutorial necess rio instalar no m nimo o Protege 3 4 o plug in Protege OWL e tamb m o plug in OWL Wizards dispon veis na Web em http protege stanford edu Recomenda se opcional o plug in OWLViz que permite visualizar as declara es e infer ncias obtidas Os passos para instala o s o documentados Finalmente necess rio ter um DIG Description Logics Implementaters Group compat vel com o MI instalado o que permite computar as rela es de subsun o entre as classes e detectar inconsist ncias Recomenda se o uso do MI denominado RACER o qual est dispon vel na Internet 70183 3 0 que sao as ontologias OWL Ontologias s o utilizadas para capturar conhecimento sobre um dom nio de interesse Uma ontologia descreve os conceitos de um dom nio e tamb m as rela es que existem entre esses conceitos As diversas linguagens para constru o de ontologias fornecem diferentes funcionalidades O padr o mais recente de linguagens para ontologias o OWL desenvolvido no mbito do W3C World Wide Web Consortium O Protege OWL possui um conjunto de operadores por exemplo o AND o OR e o NOT e baseado em um modelo l gico que
38. O Pazabase gt 9 PizzaTopping Y oK Y Cancel Figura 4 25 interface para Range escopo ATEN O tamb m poss vel mas n o recomend vel indicar que uma classe e n o seus indiv duos s o range de uma propriedade de um erro pensar que o range de uma propriedade uma classe quando um range corresponde na verdade aos indiv duos membros da classe Ao especificar o range de uma propriedade como uma classe trata se tal classe como um indiv duo Isto um tipo de meta declara o e pode levar a ontologia para o OWL Full OBSERVA O poss vel especificar v rias classes como range de uma propriedade Caso Isso seja feito no Protege OWL o range da propriedade interpretada como uma um o das classes Por exemplo se uma propriedade tem as classes Man homem e Woman mulher listadas na interface range isso significa que a range daquela propriedade ser interpretada como Man uni o com Woman Exerc cio 13 especificar dom nio da propriedade hasTopping como Pizza 1 Selecione a propriedade hasTopping na hierarquia da etiqueta Properties 2 Pressione Specialise domain Especialize dom nio na interface Domain Surge uma caixa de di logo para selec o de uma classe da hierarquia conforme FIG 4 26 3 Selecione Pizza e pressione Ok A classe Pizza agora exibida na lista de dom nio Em tt J Pieza gt O PirzsBase gt a PazaTopping Y oK Y Cancel Figura 4 26 Interface domain dom nio da pro
39. Propriedades DICA Embora n o existam regras nicas para nomear propriedades recomenda se que os nomes das propriedades comecem com letra min scula sem espa o e que a primeira letra da pr xima palavra seja uma mai scula Recomenda se tamb m que as propriedades tenham como prefixo a palavra has tem ou a palavra is por exemplo hasPart temParte isPartOf ParteDe hasManufacturer temFabricante IsProducerOf ProdutoDe Essas conven es ajudam n o s a facilitar o entendimento sobre as propriedades como tamb m permitem usar a English Prose TooltipGenerator ferramenta geradora de dicas em ingl s a qual se utiliza dessa conven o para gerar express es leg veis e descrever classes A ferramenta exibe a descri o da classe em linguagem natural ingl s facilitando o entendimento de uma descri o 20 of 83 de classe Ela ativada quando o cursor colocado sobre a descric o da classe na interface do usu rio Tendo adicionado a propriedade hasingredient temlgredient adicionam se em seguida mais duas propriedades hasTopping temRecheio e hasBase TemBase As propriedades podem ter subpropriedades de modo que se formam hierarquias de propriedades As subpropriedades especializam superpropriedades da mesma forma que subclasses se diferenciam das superclasses Por exemplo a propriedade hasMother temM e diferente da propriedade mais geral hasParent temPais No caso da ontologia de piz
40. RI usada para referenciar uma ontologia que define elementos da ontologia tais como classes propriedades e indiv duos Por exemplo a propriedade de anota o rdfs comment usada para guardar coment rios sobre as classes dos plug ins do Protege OWL A propriedade de anota o rdfs label pode ser usada para fornecer nomes alternativos para classes propriedades etc Existem tamb m propriedades de anota o que podem ser usadas para comentar uma ontologia A propriedades de anota o de ontologias listadas abaixo tem como range escopo uma URI usada para refer ncia a outra ontologia tamb m poss vel usar a propriedade de anota o owl VersionInfo para coment rios de ontologia owl priorVersion identifica vers es anteriores da ontologia s owl backwardsCompatible With identifica vers o anterior da ontologia que compat vel com a vers o atual Isso quer dizer que todos os identificadores da vers o anterior possuem o mesmo significado na vers o atual Assim ontologias e aplica es que fazem refer ncia a vers o anterior podem alterar a referencia para a nova vers o s owl incompatible With identifica a vers o anterior de uma ontologia que n o compat vel com a atual Para criar propriedades de anota o usam se os bot es Create annotation datatype property Criar anota o de propriedade de tipo de dados e Create annotation object property Criar anota o de propriedade de objetos localizados na et
41. RTO 4 13 1 Axiomas de fechamento 4 14 PARTI ES DE VALOR 4 14 1 Axiomas de Cobertura 4 15 0 PROPERTY MATRIX WIZARD ASSISTENTE MATRIZ DE PROPRIEDADE 4 16 RESTRI ES DE CARDINALIDADE 5 MAIS SOBRE OWR OPEN WORLD REASONING RACIOC NIO DE MUNDO ABERTO 6 OUTRAS CONSTRU ES OWL NO PROTEGE OWL 6 1 CRIA O DE INDIV DUOS 6 2 RESTRI ES HASVALUE TEM VALOR CLASSES ENUM ERADAS 6 3 6 4 PROPRIEDADES DE ANOTA AO AN NOTATION PROPERTIES 6 5 CONJUNTOS M ULTIPLOS DE CONDI ES NECESSARIAS E SUFICIENTES 7 OUTROS T PICOS kk ur ur ur m ar ek ur ur n 2 0183 7 1 PERFIL DA LINGUAGEM 12 NAM Diea E IM PORTA O DE ONTOLOGIAS 7 2 a OWL M etadata Ontoloo y E de metadados do Protege OWL 7 3 TESTES EM ONTOLOGIAS 7 4 TODO LIST LISTA DE TAREFAS A FAZER AP NDICE A A 1 RESTRI T ES DE QUANTIFICA C O A 1 1 someValuesFrom Restri es Existenciais A 1 2 allValuesFrom Restri es Universais A 1 3 Combina o de restri es Existenciais e Universais na descri o de classes A 2 RESTRI ES HASVALUE A 3 RESTRI ES DE CARDINALIDADE A 3 1 Restri es de cardinalidade m nima A 3 2 Restri es de cardinalidade m xima A 3 3 Restri es de cardinalidade exata A 3 4 UNA Unique Name Assumption Presun o de nome nico e cardinalidades AP NDICE B B 1 CLASSES INTERSE O B 2 CLASSES UNI O E 3 0f 83 LISTA DE EXERC CIOS Exer
42. SohoPizza Ap s criar essas Pizzas preciso torn las disjuntas Exerc cio 23 tornar disjuntas as subclasses de NamedPizza 1 Selecione a classe MargheritaPizza na hierarquia da etiqueta OWLClasses 2 Pressione o bot o Add all siblings Adicionar todas as irm s no campo Disjoints Disjun es para tornar as Pizzas disjuntas 4 9 Uso de um MI Mecanismo de Infer ncia reasoner 4 9 1 Determina o a sub linguagem OWL Conforme j mencionado a OWL possui tr s sub linguagens OWL Lite OWL DL e OWL Full a definic o exata dessas sub linguagens pode ser encontrada no site do W3C World Wide Web Consortium O Protege OWL possui um mecanismo de valida o que capaz de determinar a sub linguagem da ontologia em edi o Para usar o mecanismo de valida o na op o do menu Tools Ferramentas selecione o comando Determine OWL Sublanguage Determinar a sub linguagem OWL conforme apresentado na FIG 4 39 Tools window Help Determine OWL Sublanguage Start Debugger Generate OWWLDoc Quick OyL Patterns Refactor b Figura 4 39 o menu Tools Ferramentas Uma importante caracter stica de ontologias descritas com o OWL DL a possibilidade processamento por um reasoner mecanismo de infer ncia Um relevante servi o oferecido por mecanismos de infer ncia o teste para saber se uma classe ou n o uma subclasse de outra classe subsumption test ou seja as 35 of 83 36 0f 83 des
43. Um auia pr tico de logias s using the Protege OWL net al pdf gt Access 20 June jumo ae Zuuy 1 0f 83 SUM RIO 1 INTRODUCAO 1 1 CONVEN ES 2 REQUISITOS 3 0 QUE S O AS ONTOLOGIAS OWL 3 1 AS TR S ESP CIES DE OWL 3 1 1 J0WL Lite 3 1 2 0WL DL 3 1 3 0W L Full 3 1 4 A escolha da sub linguagem 3 2 COM PONENTES DA ONTOLOGIA OWL 3 2 1 Individuals Indiv duos 3 2 2 Properties Propriedades 3 2 3 Classes Classes 4 CONSTRU O DE UMA ONTOLOGIA OWL 4 1 CRIA O DE CLASSES 4 2 CLASSES DISJUNTAS 4 3 USO DO ASSISTENTE OWL PARA CRIAR CLASSES 4 4 PROPRIEDADES OWL 4 5 PROPRIEDADES INVERSAS 4 6 CARACTER STICAS DAS PROPRIEDADES OWL 4 6 1 Propriedades funcionais 4 6 2 Propriedades funcionais inversas 4 6 3 Propriedades transitivas 4 6 4 Propriedades sim tricas 4 7 DOMAINS DOMINIOS E RANGES ESCOPO DE UM A PROPRIEDADE 4 8 DESCRI O E DEFINI O DE CLASSES 4 8 1 Restri es de propriedades 4 8 2 Restri es existenciais 4 9 USO DE UM MI M ECANISM O DE INFER NCIA REASONER 4 9 1 Determina o a sub linguagem OWL 4 9 2 Uso do RACER 4 9 3 Funcionamento do MI 4 9 4 Classes inconsistentes 4 10 CONDI ES NECESS RIAS E SUFICIENTES CLASSES PRIM ITIVAS E DEFINIDAS 4 10 1 Classes Primitivas e definidas 4 11 CLASSIFICA O AUTOM TICA 4 11 1 Resultados da classifica o 4 12 RESTRI ES UNIVERSAIS 4 13 CLASSIFICA O AUTOM TICA E OWR OPEN WORLD REASONING RACIOC NIO DE MUNDO ABE
44. Y togn Feature Y impor Protege metadata ortoogy Lise standard proie OWL DL v Une custom profis O Doina dera verter Expermerntal nie verter Save toma do forms ties Figura Extra 11 caixa de di logo OWL Preferences 7 3 Testes em ontologias O Protege OWL possibilita a aplica o de v rios testes a ontologia em edi o Tais testes variam desde testes de sanidade como por exemplo verificar se uma caracter stica da propriedade corresponde a sua correspondente na propriedade inversa at testes OWL DL os quais s o projetados para encontrar constructos tais como metaclasses que caracterizam a ontologia como OWL Full A estrutura de testes baseada em uma arquitetura de plug ins que permite a adi o de novos testes por terceiros Verifique no site do Protege OWL sobre a disponibilidade de testes add on Os testes podem ser configurados atrav s do di logo Test Settings Configura es dos Testes conforme mostrado na FIG 7 4 acess vel atrav s do comando Test Settings no menu OWL Para rodar os testes selecione Run Ontology Tests Rodar testes na ontologia no menu OWL ou no bot o Run Ontology Tests na barra de ferramenta OWL Donan of a property sds nal De empty Domain of a property houidi nat cortam redindarnt classes rreenseQtF unctonaMustBeinver sef unctonal Y Y Y v Donain of a subproperty can ony narrow superproperty Y Y krer setri sef ncbocodA telf uncional Y Errerse rtp operty Ms Be Si proper
45. a o para CheesyPizza SIGNIFICADO o MI determinou que MargheritaPizza AmericanaPizza SohoPizza e AmericanHotPizza s o subclasses da CheesyPizza Isto ocorreu porque definiu se CheesyPizza usando condi es necess rias e suficientes Um indiv duo que uma Pizza e que tem pelo menos um recheio que um CheeseTopping RecheioDeQueijo membro da classe CheesyPizza Como todos os indiv duos descritos pelas classes MargheritaPizza AmericanaPizza AmericanHotPizza e SohoPizza s o Pizzas e tem pelo menos um recheio que um CheeseTopping ou recheios que pertencem a subclasses de CheeseTopping o MI inferiu que essas classes devem ser subclasses de CheeseTopping a Y Pizza Es K hamenzza gt EE 2 AA gt Sh Ca roher sritaPiz pizza C Cerica ericana Pi napizzaD G Gora oPiz Piza Figura 4 51 vista do plug in OWLViz z apresiando a Asserted Hierarchy Hierarquia Declarada para CheesyPizza 6 N Pizza IR SCheesynzza gt DC C Namepizza o gt Aces Chmerts ericanHotP aA gt ES Ga tahertanizza a me ericanaPi izza Fig 4 52 vista do plug in OWLViz apresentando a Inferred Hierarchy Hierarquia Inferida para CheesyPizza ATEN AO em geral as classes n o s o classificadas como subclasses de Primitive Classes Classes Primitivas pelo MI As classes primitivas s o aquelas que possuem apenas condi es necess rias A exce o a esse fato ocorre quando uma propriedade tem um dom
46. a que diferentes nomes pode se referr ao mesmo indiv duo Por exemplo os nomes Matt e Matthew podem se referir ao mesmo indiv duo ou n o Restri es de cardinalidade consideram indiv duos distintos e dessa forma importante especificar que Matt e Matthew s o o mesmo indiv duo ou que s o diferentes Seja um indiv duo Nick relacionado a indiv duos Matt Matthew e Matthew Horridge via propriedade worksWith Tamb m existe um indiv duo Nick membro da classe de indiv duos que trabalham com no m ximo dois outros Uma vez que o OWL n o adota o UNASs ao inv s da situa o resultar em um erro a infer ncia autom tica indica que dois dos nomes se referem ao mesmo indiv duo Ao afirmar que Matt Matthew e Matthew Horridge s o indiv duos diferentes a base de conhecimento pode ser considerada inconsistente 82 of 83 Ap ndice B Uma classe OWL especificada em termos de suas superclasses Tais superclasses s o em geral classes nomeadas e restri es sendo que as restri es s o de fato classes an nimas As superclasses tamb m podem tomar a forma de descri es complexas constru das a partir de descri es simples conectadas por operadores l gicos Os operadores mais conhecidos s o AND a classe formada com o operador AND e conhecida como classe interse o a classe resultante a interse o das classes individuais OR 6 a classe formada com o operador OR e conhecida como classe uni o a classe
47. aTopping RecheioDePizza O domain e a range para isToppingOf s o o domain e a range para hasTopping ATEN O Domains dom nios e Ranges escopos em OWL n o s o restri es sujeitas a verifica o e s o utilizados como axiomas em infer ncias Por exemplo se a propriedade hasTopping tem o conjunto dom nio Pizza e aplica se a propriedade hasTopping a IceCream indiv duos membros da classe IceCream o resultado pode ser um erro E poss vel inferir que a classe IceCream subclasse de Pizza um erro gerado atrav s do MI apenas se Pizza for disjunta de IceCream Deseja se especificar que a propriedade hasTopping temRecheio tem um range escopo PizzaTopping RecheioDePizza Para tal usa se a interface Range Escopo O menu suspenso do Protege assume Instance Inst ncia como padr o indicando que a propriedade conecta inst ncias de classes a inst ncias de classes Exerc cio 12 especificar range escopo da rela o hasTopping 1 Selecione a propriedade hasTopping temRecheio na hierarquia de propriedades da etiqueta Properties 2 Pressione o bot o Specialise Range Especializar escopo na interface Range Escopo Surge uma caixa de di logo que permite selecionar a classe na hierarquia de classes conforme FIG 4 25 3 Selecione PizzaTopping RecheioDePizza e pressione Ok A rela o PizzaTopping deve ser exibida na lista de range escopo 26 of 83 Select named class es to add O Pirza gt
48. ade utiliza se o campo de Property Characteristics Caracter stica da Propriedade conforme a FIG 4 23 a qual est localizada no canto inferior direito da etiqueta Property Functional rrwerseFuncionel Y Transtive mp me MM singredentOt Figura 4 23 Interface Property Characteristics Caracter stica da Propriedade Exerc cio 10 tornar hasIngredient temIngrediente uma propriedade transitiva 1 Selecione a propriedade hasingredient na hierarquia de propriedades etiqueta Properties 2 Assmale a op o Transitive no Property Editor Editor de Propriedades no canto direito acima da interface Inverse 3 Selecione a propriedade isingredientOf que a inversa de haslngredient Confirme que Transitive est marcado OBSERVA O se uma propriedade transitiva ent o a propriedade inversa a ela tamb m transitiva Essa opera o feita manualmente no Protege OWL Contudo o MI assume que se a propriedade transitiva a propriedade inversa tamb m transitiva ATEN O se uma propriedade transitiva ela n o pode ser funcional uma vez que a propriedade transitiva por sua pr pria natureza pode formar cadeias de indiv duos Deseja se afirmar que uma Pizza pode ter apenas uma base Existem v rias formas para fazer isso Escolhe se tornar hasBase uma propriedade funcional de modo que ela possa ter apenas um valor para um determinado indiv duo Exerc cio 11 tornar funcional a propriedade h
49. anPizza porque tem recheios vegetarianos pela defini o recheios vegetarianos s o membros das classes CheeseTopping ou VegetableTopping e de suas subclasses Tendo anteriormente criado uma defini o para VegetarianPizza usando um conjunto de condi es necess rias e suficientes pode se usar o MI para classifica o autom tica e para determinar as pizzas que s o VegetarianPizza na ontologia Exerc cio 33 uso do MI para classificar a ontologia Certifique se de que um MI por exemplo o RACER est em execu o Pressione o bot o Classify taxonomy Classificar Taxonomia Observe que MargheritaPizza e SohoPizza n o foram classificadas como subclasses de VegetarianPizza Pode parecer estranho pois MargheritaPizza e SohoPizza tem imgredientes vegetarianos ou seja ingredientes que s o tipos de CheeseTopping ou de VegetableTopping No entanto pode se observar que MargheritaPizza e SohoPizza perderam algo da defini o e assim n o podem ser classificadas como subclasses de VegetarianPizza As infer ncias em OWL L gica Descritiva se baseiam na OWA Open World Assumption Suposi o de Mundo Aberto tamb m conhecida como OWR Open World Reasoning Racioc nio de Mundo Aberto A Suposi o de Mundo Aberto significa que n o se pode assumir que alguma coisa n o existe at que seja estabelecido explicitamente que ela n o existe Em outras palavras porque alguma coisa n o foi definida como verdade n o significa que ela
50. ando Cut amp Paste Cortar e Colar Clique com o bot o direito em uma condi o e selecione Cut amp Paste no menu Resumindo se a classe A descrita por condi es necess rias ent o pode se dizer que se um indiv duo membro de A ele deve satisfazer as condi es N o se pode dizer que qualquer indiv duo que satisfa a tais condi es um membro da classe A Entretanto se a classe A definida usando condi es necess rias e suficientes pode se dizer que se um indiv duo membro da classe A ele deve satisfazer as condi es e pode se dizer que qualquer indiv duo satisfaz essas condi es ent o ele deve ser membro de A As condi es n o s o apenas necess rias para a associa o com A mas tamb m suficientes de forma a determinar que se alguma coisa satisfaz essas condi es um membro de A Como 1sso til na pr tica Suponha outra classe B e que quaisquer indiv duos que s o membros da classe B tamb m satisfazem as condi es que definem a classe A Pode se determinar que a classe B subclasse de A Verificar a rela o classe superclasse subsumption relationship de classes uma tarefa b sica de um 43 of 83 MI de l gica descritiva e poss vel us lo para computar automaticamente a hierarquia 4 10 1 Classes Primitivas e definidas As classes que tem pelo menos um conjunto de condi es necess rias e suficientes s o conhecidas como Defined Classes Classes Definidas tais
51. artition onde SpicinessValuePartition Mild Medium ou Hot Como existem mais de vinte recheios na ontologia de pizza o trabalho pode ser demorado Para ajudar nesse trabalho existe o Property Matrix Wizard Assistente Matriz de Propriedade o qual usado para adicionar restri es existenciais junto a propriedades de muitas classes N do T Na vers o 3 4 Build 130 do Protege o Property Matrix Wizard n o est presente com esse nome O recurso correspondente o Quick Restriction Editor Algumas funcionalidades s o diferentes daquelas apresentadas no tutorial como por exemplo os bot es de transfer ncia gt gt e lt lt que n o existem no Quick Restriction Editor os objetos devem ser arrastados Assim os exerc cios seguintes foram adaptados para que sua realiza o se tornasse poss vel na vers o do Protege mencionada Exerc cio 40 uso do Assistente Matriz de Propriedade para especificar o tempero de recheios de Pizza 1 Inicie o assistente atrav s do comando Quick Restriction Editor Editor de Restri o R pido dispon vel no menu Tools Quick OWL ver FIG Extra 9 Tools Yindow Help Determine OML Sublanguage Start Debugger Generate CHA Dos Forms Quick OML LE Create multiplie subclasses Patterns d LE Creste multiple properties Retactor LE Creste multiple individuais PU Thate serra owi ortologes com nte LE Quick Restriction Editor QQ Figura Extra 9 menu do Editor de Restri o R pido
52. asBase 1 Selecione a propriedade hasBase temBase 2 Marque Functional na interface Property Charachteristics Caracter sticas da Propriedade caso esteja desmarcada 25 0183 OBSERVA O se uma datatype property propriedade de tipos de dados est selecionada a interface Property Characteristics Caracter sticas da Propriedade reduzida de modo que apenas as op es Functional e Inverse Functional sejam exibidas O OWL DL n o permite que uma datatype property seja transitiva sim trica ou tenha uma propriedade inversa 4 7 Domains dom nios e Ranges escopo de uma propriedade Uma propriedade possui domain dom nio e range escopo As propriedades conectam indiv duos de um domain dom nio a indiv duos de um range escopo Por exemplo na ontologia de Pizza a propriedade hasTopping temRecheio liga indiv duos pertencentes a classe Pizza a indiv duos pertencentes a classe PizzaTopping RecheioDePizza Neste caso o domain dom nio da propriedade hasTopping Pizza e O range escopo PizzaTopping RecheioDePizza conforme apresentado na FIG 4 24 _hasTopping qo o Pd Su A hasTopping BE i de Hlonpiagot cn 4 aa ha AA gt J mj Pizza PizzaTopping Figura 4 24 o domain domain e o range escopo para a propriedade hasTopping temRecheio e suas propriedades inversas isToppingOf RecheioDe O domain para hasTopping Pizza e a range para hasTopping Pizz
53. asTopping para MargheritaPizza 1 Selecione MargheritaPizza na hierarquia de classe da etiqueta OWLClasses 2 Selecione NECESSARY no campo Asserted Conditions Condi es Declaradas 3 Pressione o bot o Create Restriction Criar Restri o no campo Asserted Conditions Condi es Declaradas para exibir o di logo 4 Selecione o tipo de restri o allValuesFrom restri o universal 5 Selecione hasTopping como a propriedade a sofrer restri o 6 Na caixa de edi o de fillers digite MozzarellaTopping TomatoTopping Isto tamb m pode ser feito digitando MozzarellaTopping OR TomatoTopping e nesse caso o OR OU convertido automaticamente para o s mbolo Pode se tamb m usar o bot o Insert class Inserir Classe e o bot o Insert unionOf Inserir UnidoDe insere se a classe MozzarellaTopping depois insere se o s mbolo unionOf e por fim a classe TomatoTopping 7 Pressione o bot o Ok para criar a restri o e adicion la a classe MargheritaPizza A forma gr fica Asserted Conditions Condi es Declaradas deve estar similar a mostrada na FIG 4 57 O NamedPiza E O hasTopping only MozzarellaTopping or TomatoTopping E E hasTopping some MozzarelaTopping 6 hasTopping some TomatoTopping ER Figura 4 57 campo Asserted Conditions Condi es Declaradas MargheritaPizza com o axioma de fechamento para a propriedade hasTopping SIGNIFICADO isto significa que um indiv duo membro da classe Marge
54. asTopping some TomatoTopping 6 has Topping some MozzarellaT opping G Figura 4 35 o campo Asserted Conditions com a descric o de MargheritaPizza SIGNIFICADO adicionaram se restri es a MargheritaPizza para informar que uma MargheritaPizza uma NamedPizza que tem pelo menos um tipo de MozzarellaTopping e pelo menos tipo de TomatoTopping Formalmente l se para que alguma coisa seja membro da classe MargheritaPizza necess rio que seja membro da classe NamedPizza necess rio que seja tamb m um membro da classe an nima de coisas que est o ligadas a pelo menos um membro da classe MozzarellaTopping via a propriedade hasTopping e ainda necess rio que seja um membro da classe TomatoTopping via propriedade hasTopping Crie uma classe para representar a AmericanaPizza que tem recheio de Pepperoni Mozzarella e Tomato 34 of 83 A classe AmericanaPizza similar a classe MargheritaPizza uma AmericanaPizza quase uma MargheritaPizza com a diferen a de que tem um recheio a mais Pepperoni Dessa forma fa a um clone da classe MargheritaPizza e ent o adicione uma restric o extra para informar que ela tem um recheio Pepperont Exerc cio 21 clonar e modificar a descri o de MargheritaPizza 1 Selecione MargheritaPizza na hierarquia de classes e clique com o bot o direito do mouse dentro do campo Asserted Hierarchy Hierarquia Declarada para exibir um novo menu 2 No menu exibido selecione Create clone Cr
55. ass denominada ProbeInconsistentTopping como subclasse de CheeseTopping e de Vegetable 1 Selecione a classe CheeseTopping na hierarquia da etiqueta OWLClasses 2 Crie uma subclasse de CheeseTopping com o nome ProbelnconsistentTopping Classe de investiga o inconsistente 3 Adicione um coment rio a classe ProbelnconsistentTopping por exemplo essa classe ser marcada 38 0f 83 como inconsistente quando a ontologia for classificada Isso possibilita que outra pessoa ao analisar a ontologia entenda que a classe foi deliberadamente criada como inconsistente 4 Selecione a classe ProbelnconsistentTopping na hierarquia de classes e escolha o NECESSARY no campo Asserted Conditions Condi es Declaradas 5 Clique no bot o Add Named Class Adicionar Classes Nomeadas no campo Asserted Conditions Condi es Declaradas Ser exibido um di logo com a hierarquia de classes permitido que uma delas seja selecionada Selecione a classe VegetableTopping e pressione o bot o Ok A classe VegetableTopping ser adicionada como uma condic o necess ria como superclasse O campo Asserted Conditions deve estar parecido com FIG 4 44 EN G Asserted Conditio O CheeseTopping E D vegetabie Topping HE Figura 4 44 campo Asserted Conditions Condi es Declaradas mostrando a classe ProbelnconsistentTopping SIGNIFICADO ao examinar a hierarquia a classe ProbelnconsistentTopping aparece como subclasse de CheeseToppin
56. b e tamb m um indiv duo b ao indiv duo c infere se que o indiv duo a est relacionado ao indiv duo c atrav s da propriedade P Por exemplo a FIG 4 21 mostra um exemplo da propriedade transitiva hasAncestor temAncestral Se o indiv duo Matthew tem o ancestral Peter e Peter tem o ancestral Willian ent o Mathew tem um ancestral que Willian Esse fato indicado pela linha tracejada na FIG 4 21 William Matthew Figura 4 21 exemplo de propriedade transitiva hasAncestor temAncestral 4 6 4 Propriedades sim tricas Se uma propriedade P sim trica e relaciona um indiv duo a ao indiv duo b ent o o indiv duo b tamb m est relacionado ao indiv duo a atrav s da propriedade P A FIG 4 22 mostra um exemplo Se o indiv duo Matthew est relacionado ao indiv duo Gemma atrav s da propriedade hasSibling temirm o ent o Gemma tamb m est relacionada a Matthew atrav s da propriedade hasSibling Em outras palavras se Matthew tem uma irm Gemma ent o Gemma tem um irm o que Matthew Dito de outra forma a propriedade a pr pria inversa hasSiblin qu Figura 4 22 exemplo da propriedade sim trica hasSibling temirm o 24 0183 Deseja se tornar hasIngredient temingrediente uma propriedade transitiva de modo que por exemplo se um recheio de pizza tem um ingrediente ent o uma pizza do mesmo recheio deve que ter o mesmo ingrediente Para definir as caracter sticas da propried
57. c cio 1 fa a o seguinte Exerc cio 2 criar um exemplo de projeto Exerc cio 3 cria o das classes pizza pizzatopping e pizzabase Exerc cio 4 tornar disjuntas as classes pizza pizzatopping e pizzabase Exerc cio 5 use o assistente create multiple classes criar m ltiplas classes para criar thinandcrispy finaecrocante e deeppan basegrossa como subclasses de pizzabase Exerc cio 6 cria o de recheios para pizzas Exerc cio 7 criar uma propriedade de objeto cnamada hasingredient Exerc cio 8 cria o de subpropriedades de hasingredient hastopping e hasbase Exerc cio 9 cria o de propriedades inversas Exerc cio 10 tornar hasingredient temingrediente uma propriedade transitiva Exerc cio 11 tornar funcional a propriedade hasbase Exerc cio 12 especificar range escopo da relac o hastopping Exerc cio 13 especificar dom nio da propriedade hastopping como pizza Exerc cio 14 especificar domain dom nio e range escopo para istoppingof Exerc cio 15 especifique domain dom nio e range escopo para a propriedade hasbase tembase e a sua propriedade inversa isbaseof basede Exerc cio 16 adicionar restri o a pizza de forma que pizza tenha uma pizzabase Exerc cio 17 adicione restri o a pizza especificando que pizza deve ter uma pizzabase Exerc cio 18 criar uma subclasse de pizza chamada namedpizza e uma subclasse de namedpizza chamada margheritapizza Exerc cio 19 criar uma restri o
58. classe na etiqueta OWLClasses ou uma propriedade na etiqueta Properties s Test Result Resultados do teste uma mensagem que descreve o resultado obtido Em alguns casos o Protege OWL capaz de modificar ou corrigir aspectos da ontologia em que um teste detectou defeitos Quando o teste selecionado fica dispon vel um pequeno bot o de ferramentas denominado spanner s mbolo de uma chave inglesa do lado esquerdo do painel do resultados Clicando neste bot o poss vel reparar o defeito na ontologia detectado pelo teste 7 4 TODO list Lista de tarefas a fazer Uma caracter stica e til simples do Protege OWL o TODO List Lista de tarefas a realizar Classes propriedades e mesmo ontologias podem ser marcadas com itens TODO Tais itens s o associados as entidades usando o bot o Add TODO List Item Adicionar um item na lista de tarefa localizado na interface Annotation Pressionando Add TODO List Item cria se uma nova propriedade de anota o que pode ser preenchida com a descri o textual da tarefa TODO Para localizar os itens TODO selecione o comando Show TODO List Mostrar lista de tarefas no menu OWL ou use o bot o Show TODO List da barra de ferramentas OWL Abre se assim uma lista de itens no painel inferior da tela Com um chque duplo em cada TODO da lista poss vel navegar para o item correspondente na ontologia 78 0f 83 Ap ndice A Tipos de restri es Esse ap ndice cont m informa
59. country pa s e inser o de indiv duos Exerc cio 52 cria o da restri o hasvalue para especificar que mozzarellatopping tem italy como pa s de origem 4 of 83 Exerc cio 53 convers o da classe country em uma classe enumerada Exerc cio 54 cria o de classe para definir um triangle tri ngulo usando m ltiplos conjuntos de condi es necess rias e suficientes Exerc cio 55 cria o de namespace e pre xo para se referir a classes a propriedades e a indiv duos na ontologia de vinhos Exerc cio 56 importa o da ontologia koala para outra ontologia Exerc cio 57 especifica o de local alternativo para uma ontologia importada Exerc cio 58 importar a ontologia dublin core meta data elements 5 of 83 6 of 83 1 Introducao O presente guia descreve a cria o de ontologias utilizando o editor de ontologias Protege associado ao Plug in Protege OWL Apresenta se brevemente a linguagem OWL Ontology Web Language uma linguagem baseada em L gica Descritiva e enfatiza se a constru o de ontologias OWL DL Utiliza se um MI Mecanismo de Infer ncia reasoner baseado em L gica Descritiva para verificar a consist ncia da ontologia e para computar automaticamente a hierarquia de classes Al m disso descrevem se constructos OWL tais como a restri o temValor e Classes Enumeradas descrevem se namespaces Importa o de ontologias caracter sticas e funcionalidades da ferramenta Protege OWL 1 1
60. cri es das classes condi es s o utilizadas para determinar se existe dentre elas uma rela o superclasse subclasse Atrav s de tais testes em todas as classes de uma ontologia poss vel inferir automaticamente a hierarquia de classes da ontologia Outro servi o padr o oferecido pelo mecanismo de infer ncia o de consistency checking verifica o da consist ncia Baseado na descri o condi es de uma classe o mecanismo de infer ncia pode verificar se poss vel ou n o que uma classe possua Inst ncias Uma classe considerada inconsistente se n o poss vel a ela ter inst ncias VOCABUL RIO MI Mecanismos de infer ncia reasoners s o tamb m chamados de classificadores 4 9 2 Uso do RACER Para executar infer ncias em ontologias no Protege OWL preciso instalar um MI compat vel com o DIG Description Logic Implementers Group Grupo de Desenvolvedores de L gica Descritiva Um compat vel DIG possibilita comunica o via um protocolo padr o para acesso ao MI Antes disso o MI deve ser instalado configurado e iniciado Neste tutorial utiliza se o RACER dispon vel na Internet em uma variedade de plataformas Depois de instalado o RACER deve ser iniciado com a configura o padr o o padr o de comunica o o HTTP ativado na porta 8080 A FIG 4 40 apresentar uma vis o dos dados exibidos na inicializa o do RACER a segunda linha de baixo para cima indica o estabelecimento da comunica
61. dade prop e o filler ClassA Cabe destacar que uma restri o universal n o garante a exist ncia de um relacionamento atrav s da propriedade Ela simplesmente estabelece que se existe tal relacionamento atrav s da propriedade ent o ele deve ocorrer com um indiv duo que um membro da classe especificada a ae _ prop ne SE i ai e PB oS Class A Prop _ ha A Prop os IS Anonymo us class Figura A 3 Uma vis o esquem tica da restric o universal A prop ClassA Por exemplo a restri o hasTopping TomatoTopping descreve a classe an nima de indiv duos que tem apenas relacionamentos hasTopping com indiv duos membros da classe TomatoTopping ou indiv duos que definitivamente n o participam em qualquer outro relacionamento hasTopping A 1 3 Combina o de restri es Existenciais e Universais na descri o de classes Um procedimento comum combinar restri es universais e existenciais em defini es de classes para certa propriedade Por exemplo as seguintes restri es podem ser usadas em conjunto E hasTopping MozzarellaTopping e hasTopping MozzarellaTopping 80 of 83 Essa combina o descreve o conjunto de indiv duos que tem pelo menos um relacionamento hasTopping com um indiv duo da classe MozzarellaTopping e apenas tem relacionamentos hasTopping com indiv duos da classe MozzarellaTopping N o comum e em geral significa um erro ao descrever uma classe que se use a restri o universa
62. das selecione a restri o universal A na propriedade hasTopping 3 Arraste hasTopping de NECESSARY para NECESSARY amp SUFFICIENT 4 Selecione a classe Pizza 5 Arraste a classe Pizza que est em NECESSARY para cima de hasTopping 47 of 83 48 of 83 O campo Asserted Conditions Condi es Declaradas deve estar semelhante a FIG 4 56 O Pizza hasTopping onty CheeseTopping or YegetableTopping Figura 4 56 o campo Asserted Conditions e a defini o de VegetarianPizza com Necessary and Sufficient Conditions Condi es Necess rias e Suficientes SIGNIFICADO converteu se a descri o de VegetarianPizza em uma defini o Se alguma coisa uma VegetarianPizza ent o necess rio que seja uma Pizza e tamb m necess rio que todos os recheios perten am a classe CheeseTopping ou VegetableTopping Al m disso se alguma coisa membro da classe Pizza e todos os recheios s o membros da classe CheeseTopping ou VegetableTopping essas condi es s o suficientes para reconhecer que tal coisa ser um membro da classe VegetarianPizza 4 13 Classifica o autom tica e OWR Open World Reasoning Racioc nio de Mundo Aberto Deseja se usar o MI para computar automaticamente o relacionamento superclasse subclasse subsumption relationship entre MargheritaPizza e VegetarianPizza e entre SohoPizza e VegetarianPizza Acredita se que MargheritaPizza e SohoPizza devem ser pizzas vegetarianas subclasses de Vegetari
63. de ser equivalente a uni o de man e woman 83 0f 83
64. diz se que alguma coisa uma Pizza se necess rio existir um relacionamento entre tal coisa e um indiv duo membro da classe PizzaBase atrav s da propriedade hasBase Essa situa o representada na FIG 4 34 a seguir 32 of 83 Pizza Q cu o Things that have at least one PizzaBase 3 hasBase PizzaBase PizzaBase Figura 4 34 para que algo seja uma Pizza necess rio que tenha pelo menos uma PizzaBase uma Pizza uma subclasse de coisas que tem pelo menos um PizzaBase Cria o de tipos diferentes de Pizzas Deseja se adicionar diferentes Pizzas a ontologia Adicione primeiro a MargheritaPizza uma Pizza que tem recheio de mussarela e tomate Para manter a ontologia organizada agrupe os diferentes tipos de Pizzas na classe NamedPizza PizzasNomeadas Exerc cio 18 criar uma subclasse de Pizza chamada NamedPizza e uma subclasse de NamedPizza chamada MargheritaPizza 1 Selecione a classe Pizza na hierarquia de classes da etiqueta OWLClasses 2 Pressione Create subclass para criar uma nova subclasse de Pizza e nomeie essa nova subclasse como NamedPizza 3 Crie uma nova subclasse de NamedPizza e nomeie essa subclasse como MargheritaPizza 4 Adicione um coment rio a classe MargheritaPizza usando a caixa de coment rio localizada abaixo da campo For class no Class Editor Editor de Classes uma pizza que tem apenas recheio de Mozzarella e Tomato Adicionar um coment rio uma boa
65. do mi para classificar a ontologia Exerc cio 34 adi o de axioma de fechamento propriedade hastopping para margheritapizza Exerc cio 35 adici o de axioma de fechamento a propriedade hastopping para sohopizza Exerc cio 36 cria o automatica de axioma de fechamento na propriedade hastopping para americanapizza Exerc cio 37 cria o automatica de axioma de fechamento para a propriedade hastopping de americanhotpizza Exerc cio 38 usao do mi para classificar a ontologia Exerc cio 39 cria o de um valuepartition para representar o spiciness tanto de pimenta em recheios de pizza Exerc cio 40 uso do assistente matriz de propriedade para especificar o tempero de recheios de pizza Exerc cio 41 cria o de uma classe spicypizza como uma subclasse de pizza Exerc cio 42 uso do mi para classificar a ontologia Exerc cio 43 cria o de interestingpizza pizza interessante com pelo menos 3 recheios Exerc cio 44 uso do mi para classificar a ontologia Exerc cio 45 cria o de nonvegetarianpizza subclasse de pizza e disjunta de vegetarianpizza Exerc cio 46 nonvegetarianpizza complemento de vegetarianpizza Exerc cio 47 adic o de pizza a condi es necess rias e suficientes nonvegetarianpizza Exerc cio 48 uso do mi para classificar a ontologia Exerc cio 49 cria o de subclasse de namedpizza com recheio de mozzarella Exerc cio 50 uso do mi para classificar a ontologia Exerc cio 51 cria o da classe
66. e o nome completo http www ontologies com aircraftWing representa a classe Wing na ontologia de aeronaves e O 71 0f 83 nome completo para a classe Wing na ontologia de p ssaros http www birds com ontologies BirdOntologyF Wing Dessa forma quando a ontologia de aeronaves se refere a classes da ontologia de p ssaros n o h conflito entre os nomes Observe que nenhum dos URIs que representam os namespaces s o URLs ou seja n o exigida necessariamente uma localiza o f sica na web O uso de URIs se baseia na garantia de unicidade Utilizam se prefixos de namespaces para tornar gerenci vel o referenciamento a classes a propriedades e a indiv duos quando namespaces m ltiplos s o usados Um prefixo de namespace um pequeno string uma sequ ncia de dois ou tr s caracteres que representa o namespace completo Por exemplo pode se usar ac para representar o namespace da ontologia de aeronaves http www ontologies com aircraftt e o prefixo bird para o namespace da ontologia de p ssaros http www birds com ontologies BirdOntologyf Ao usar identificadores tais como nomes de classes usa se o identificador com o prefixo do namespace seguido por dois pontos Por exemplo ac Wing ou bird Wing O namespace padr o corresponde ao namespace da ontologia sob edi o Quando est o sendo usados identificadores que pertencem ao namespace padr o a ontologia que est sendo editada n o se usam prefixos classes pro
67. e Partitions Parti es de Valor as quais s o usadas para refinar as descri es de classes Value Partitions Parti es de Valor n o s o parte da linguagem OWL ou de outra linguagem de ontologia s o um padr o de projeto Padr es de projetos em ontologias s o similares a padr es de projeto em programa o orientada a objetos s o solu es desenvolvidas por especialistas e reconhecidos como solu es para problemas comuns de modelagem Conforme mencionado as Value Partitions Parti es de Valor podem ser criadas para refinar descri es de classe Por exemplo cria se uma Value Partition chamada SpicinessValuePartition ParticaoDeValorApimentada para descrever o spiciness o tanto de pimenta de PizzaToppings RecheiosDePizza As Value Partitions restringem a faixa de valores poss veis para uma lista exaustiva por exemplo a SpicinessValuePartition restringe a faixa para Mild Levemente apimentado Medium M dio e Hot Muito Apimentado 52 of 83 Para criar uma Value Partition em OWL s o necess rios alguns passos 1 Criar uma classe para representar a Value Partition Por exemplo para representar a parti o de valor spiciness o tanto de pimenta cria se a classe SpicinessValuePartition Parti oDeValorApimentada 2 Criar subclasses da parti o para representar as op es Por exemplo pode se criar as classes Mild Levemente apimentado Medium M dio e Hot Muito Apimentado como subclasse
68. e definidas As classes criadas at agora foram descritas apenas com condi es necess rias A condi o necess ria pode ser lidas se alguma coisa um membro da classe ent o necess rio que preencha essas condi es O uso de condi es necess rias n o permite dizer se alguma coisa preenche essas condi es ent o deve ser um membro dessa classe VOCABUL RIO se uma classe tem apenas condi es necess rias ela conhecida como uma classe primitiva Exemplo uma subclasse de Pizza chamada CheesyPizza PizzaDeQueijo uma Pizza com pelo menos um tipo de CheeseTopping RecheioDeQueijo Exerc cio 28 cria o de subclasse de Pizza chamada CheesyPizza com pelo menos um recheio que um tipo de CheeseTopping 1 Selecione Pizza na hierarquia de classes da etiqueta OWLClasses 2 Pressione Create Subclass Criar Subclasse para criar uma subclasse de Pizza renomele a como CheesyPizza 3 Selecione CheesyPizza na hierarquia de classes selecione NECESSARY na interface Asserted Conditions Condi es Declaradas Ao selecionar Asserted Declarada a op o Inferred Inferida aparece automaticamente ap s a execu o da classifica o 4 Pressione Create restriction Criar Restri o na mterface Asserted Conditions Condi es Declaradas para exibir o di logo correspondente 5 Selecione E some ValuesFrom como o tipo de restri o a criar 6 Selecione hasTopping como propriedade a sofrer restri
69. e o item Create subproperty Criar subpropriedade do menu criando uma nova propriedade de objeto como subpropriedade de hasingredient temlngredient 210183 3 Renomele a nova propriedade para hasTopping temRecheio 4 Repita o passo acima usando agora o nome de propriedade hasBase temBase Observe que poss vel criar subpropriedades de propriedades de tipos de dados Contudo n o poss vel combinar propriedades de objetos e propriedades de tipos de dados nas subpropriedades Por exemplo n o poss vel criar uma propriedade de objeto que seja a subpropriedade de uma propriedade de tipos de dados e vice versa 4 5 Propriedades Inversas Uma propriedade de objeto tem uma propriedade inversa correspondente Se um propriedade liga um indiv duo a a um indiv duo b ent o a propriedade inversa correspondente liga o indiv duo b ao indiv duo a Por exemplo a FIG 4 16 mostra a propriedade hasParent temPais e sua propriedade inversa hasChild temFilho se Matthew hasParent Jean da propriedade inversa pode se inferir que Jean hasChild Matthew hasParent Matthew haschild_ 7 Jean q Figura 4 16 exemplo de propriedade inversa hasParent tem com inversa hasChild Propriedades inversas s o criadas na interface Inverse Property Propriedade Inversa conforme apresentado na FIG 4 17 Inverse a EL Set inverse property Figura 4 17 Interface de propriedade inversa Especifique as propr
70. elacionamentos inferidos em hierarquias constru das manualmente ou na hierarquia declarada enquanto a ontologia est sendo desenvolvida Por isso aconselha se evitar o uso desse bot o durante o desenvolvimento de uma ontologia 4 12 Restri es Universais Todas as restri es criadas at agora s o restri es existenciais E Esse tipo de restri o especifica a exist ncia de pelo menos um relacionamento atrav s de determinada propriedade com um indiv duo membro de uma classe identificada pelo filler Entretanto a restri o existencial n o obriga que os nicos relacionamentos atrav s da propriedade que possa existir sejam obrigatoriamente com indiv duos membros de uma classe espec fica filler Por exemplo pode se usar uma restri o existencial E hasTopping MozzarellaTopping para descrever os indiv duos que tem pelo menos um relacionamento atrav s da propriedade hasTopping com um indiv duo membro da classe MozzarellaTopping Esta restri o n o implica em que todos os relacionamentos hasTopping devam ser obrigatoriamente membros da classe MozzarellaTopping Para restringir um relacionamento atrav s de uma propriedade com indiv duos membros de uma classe especifica deve se usar a Universal Restriction Restri o Universal As Universals Restictions Restri es Universais s o identificadas pelo s mbolo A Tais restri es condicionam o relacionamento atrav s da propriedade com indiv duos que s o membr
71. entos Selecione o tipo de restri o na lista Restriction Restri o num 2 na FIG 4 30 o padr o uma restri o existencial E Selecione a propriedade a qual deseja aplicar a restri o na lista Restricted Properties Propriedade a ser Restrita num 1 na FIG 4 30 Especifique um filler para a restri o na caixa de edi o de fillers num 3 na FIG 4 30 possivelmente ser preciso usar o painel para constru o de express es num 4 na FIG 4 30 Exerc cio 17 Adicione restri o a Pizza especificando que Pizza deve ter uma PizzaBase 30 of 83 31 0f 83 continua o do 16 1 Selecione a declara o E someValuesFrom na lista de tipos de restri o some ValuesFrom outro nome para a restric o existencial 2 Selecione a propriedade hasBase da lista de propriedades 3 Especifique que o filler PizzaBase o que pode ser feito de duas maneiras digite PizzaBase na caixa de edi o de fillers ou pressione o bot o Insert class no painel de constru o de express es FIG 4 31 para exibir a hierarquia de classe de onde PizzaBase pode ser selecionada 200 006 0006 Sim 406 000 aer epsa nter a filler at Figura 4 31 Painel Expression Builder Construtor de Express es e bot o Insert Class 4 Pressione o bot o Ok para criar a restri o e feche a caixa di logo A restri o ser exibida na interface Asserted Conditions Caso algum erro seja detectados a caixa de
72. eressante descreve o conjunto de indiv duos que s o membros da classe Pizza e que tem pelo menos tr s relacionamentos hasTopping com outros indiv duos distintos um do outro Exerc cio 44 uso do MI para classificar a ontologia 1 Pressione Classify Taxonomy Classificar Ontologia na barra de ferramentas OWL Ap s a classifica o autom tica da ontologia surge a janela Inferred Hierarchy Hierarquia Inferida Abra a hierarquia e observe que InterestingPizza agora tem como subclasses AmericanaPizza AmericanHotPizza e SohoPizza Observe ainda que MargheritaPizza n o foi classificada sob InterestingPizza porque tem apenas dois tipos distintos de recheio 5 Mais sobre OWR Open World Reasoning Racioc nio de Mundo Aberto Os exemplos dessa se o demonstram novas nuances do Racioc nio Aberto de Mundo Vai se criar uma classe NonVegetarianPizza PizzaN o Vegetariana para complementar a categoriza o de Pizzas de VegetarianPizzas A NonVegetarianPizza deve conter todas as Pizzas que n o s o VegetarianPizzas Para isso cria se uma classe que o complemento de VegetarianPizza Uma complement class classe complemento cont m todos os indiv duos que n o est o contidos na classe da qual ela complemento Portanto ao criar NonVegetarianPizza subclasse de Pizza como complemento de VegetarianPizza ela deve conter todas as Pizzas que n o s o membros de VegetarianPizza Exerc cio 45 cria o de Non VegetarianPizza
73. ess tanto de pimenta em recheios de Pizza l Selecione Create Value Partition Criar Parti o de Valor no menu do Protege Toolsa Patternsa Value Partition para chamar o ValuePartition Wizard Assistente de Parti o de Valor Vide FIG Extra 8 2 Na primeira p gina do assistente digite SpicinessValuePartition como nome da classe ValuePartition e pressione o Next 3 Em seguida digite hasSpiciness como o nome da propriedade ValuePartition e pressione o Next Tools Window Help Determine OWL Sublanguage Start Debugger Generate OWWLDoc Quick OyL A Patterns A value Partition Refactor b LE Enumeration TL om List A ROF List N ary Relation FIG Extra 8 acesso ao menu ValuePartition no Protege 3 4 Property ES rdfs comment 4 Agora preciso especificar os valores para o valueType tipo de valor Na rea de texto digite Mild e pressione enter digite Medium e pressione enter e digite Hot e pressione enter Isto ir criar as subclasses Mild Medium e Hot da classe SpicinessValuePartition Pressione Next para continuar 5 O nome do ValuePartition verificado Pressione Next 6 A p gina de anota es est dispon vel pode se adicionar anota es para o ValuePartition caso desejado Para continuar pressione Next 7 A ltima p gina do assistente solicita que se especifique uma classe para funcionar como um root raiz abaixo da qual todos a
74. existencial E para a classe margheritapizza a propriedade hastopping e o filler mozzarellatopping para que uma margheritapizza tenha pelo menos um mozzarellatopping Exerc cio 20 criar uma restri o existencial E para a classe margheritapizza a propriedade hastopping e o filler tomatotopping para que uma margheritapizza tenha pelo menos um tomatotopping Exerc cio 21 clonar e modificar a descri o de margheritapizza Exerc cio 22 criar classes americanhotpizza e sohopizza Exerc cio 23 tornar disjuntas as subclasses de namedpizza Exerc cio 24 adicionar uma probe class denominada probeinconsistenttopping como subclasse de cheesetopping e de vegetable Exerc cio 25 verifica o de inconsist ncia de probeinconsistenttopping Exerc cio 26 remo o de declara o disjunta de cheesetopping e vegetabletopping Exerc cio 27 corre o da ontologia com a disjun o entre cheesetopping e vegetable Exerc cio 28 cria o de subclasse de pizza chamada cheesypizza com pelo menos um recheio que um tipo de cheesetopping Exerc cio 29 convers o de condi es necess rias de cheesypizza em condi es necess rias e suficientes Exerc cio 30 uso do mi para computar automaticamente a subclasse de cheesypizza Exerc cio 31 cria o de classe para descrever vegetarianpizza pizza vegetariana Exerc cio 32 convers o das condi es necess rias de vegetarianpizza em condi es necess rias e suficientes Exerc cio 33 uso
75. g e subclasse de VegetableTopping Isso quer dizer que ProbelnconsistentTopping um CheeseTopping e um VegetableTopping ou seja todos os indiv duos que s o membros de ProbelnconsistentToppping s o tamb m necessariamente membros da classe CheeseTopping e necessariamente membros de VegetableTopping Isto incorreto visto que algo n o pode ser queijo e vegetal ao mesmo tempo Exerc cio 25 verifica o de inconsist ncia de ProbeInconsistentTopping 1 Pressione Classify Taxonomy Classificar Taxonomia na barra de ferramenta OWL Depois de alguns segundos a inferred hierarchy hierarquia inferida calculada e a janela correspondente apresentada ao lado da janela Asserted Hierarchy Hierarquia Declarada conforme apresentado na FIG 4 45 Note se que a classe ProbelnconsistentTopping est circulada em vermelho indicando que o MI definiu a classe como inconsistente ou seja ela n o pode ter indiv duos como membros For Project O Pizza Asserted Hierarchy Y p Ex D ot Thing fez gt Pizza gt O PizrzaBase Y O Pizzatopping Y O CheeseTopping O MozzarellaToppina O ParmezanTopping O ProbelnconsistentTopping gt 8 Mest Topping p O SenfoodTopping Y s Vegelable Topping Caper Topping 0 MushroomTopping OliveTopping O OrionTopping gt O PepperTopping O ProbelnconsistentTopping Figura 4 45 a classe ProbeInconsistentTopping marcada como inconsistente pelo MI SIGNIFICADO analise a situa
76. i o a um conjunto existente de condi es necess rias e suficientes uma das 69 of 83 condi es do conjunto selecionada e ent o a nova condi o criada ou uma condi o existente arrastada sobre o conjunto existente sobre o cabe alho NECESSARY amp SUFFICIENT NECESSARY amp SUFFICIENT CONDITIONS Aee q Mmplies NamedC qe Ma ande L f Poj fes NECESSARY amp SUFFICIENT CONDITIONS 4 F Sa NECESSARY CONDITIONS Figura 6 8 conjuntos m ltiplos de condi es necess rias e suficientes Exerc cio 54 cria o de classe para definir um Triangle tri ngulo usando m ltiplos conjuntos de condi es necess rias e suficientes 1 Criar uma subclasse de owl Thing chamada Polygon Pol gono 2 Criar uma subclasse de Polygon chamada Triangle 3 Criar uma object property propriedade de objeto chamada hasSide temLado 4 Criar uma object property propriedade de objeto chamada hasAngle tem ngulo 5 Em OWLClasses selecione a classe Triangle Selecione NECESSARY amp SUFFICIENT no campo Asserted Conditions Condi es Declaradas Pressione Create restriction Criar Restri es na forma gr fica Asserted Conditions para exibir o di logo correspondente 6 Selecione cardinality cardinalidade como tipo de restri o a ser criada Selecione hasSide como a propriedade a sofrer restri o Na caixa de edi o do filler digite 3 Pressione Ok para fechar o di logo e criar a restri o
77. iar clone o que cria uma c pia da classe MargheritaPizza com o nome MargheritaPizza2 a qual tem as mesmas caracter sticas restri es etc de MargheritaPizza 3 Renomeie MargheritaPizza 2 para AmericanaPizza usando o campo For class do Class Editor Editor de Classes 4 Selecione AmericanaPizza escolha o cabe alho NECESSARY no campo Asserted Conditions Condi es Declaradas do Class Editor Editor de Classes para adicionar a nova restri o as condi es necess rias de AmericanaPizza 5 Pressione Create restrictions Criar Restri es no campo Asserted Conditions Condi es Declaradas do Class Editor Editor de Classes para exibir a caixa de di logo 6 Selecione E someValuesFrom como tipo de restri o para criar a restri o de quantificador existencial 7 Selecione a propriedade hasTopping como a propriedade a sofrer restri o 8 Especifique no campo de restri es a classe PepperoniTopping digitando o termo na caixa de edi o do filler ou usando o bot o Insert Class Inserir Classe para apresentar o di logo o qual permite a sele o de Pepperonifopping 9 Pressione o bot o Ok para criar a restri o A forma gr fica Asserted Conditions Condi es Declaradas deve agora parecer como a imagem da FIG4 46 O NamedPizza E hasTopping some TomatoTopoing Es E hasTopping some MozzarelaTopping E hasTopping some PepperoniTopping E hasBase Figura 4 36 o campo Asserted Conditions
78. iedade 4 3 2 Restri es de cardinalidade m xima As restri es de cardinalidade m xima especificam o n mero m ximo de relacionamentos que um indiv duo pode participar para uma dada propriedade O s mbolo para restri es de cardinalidade m xima o menor ou igual a Por exemplo a cardinalidade m xima 9 hasTopping 2 descreve a classe de indiv duos que participam no m ximo de dois relacionamentos hasTopping Cabe notar que as restri es de cardinalidade m xima n o estabelecem limites m nimos sobre o n mero de relacionamentos que um indiv duo deve participar para uma propriedade A 3 3 Restri es de cardinalidade exata As restri es de cardinalidade exata especificam o n mero exato de relacionamentos dos quais um indiv duo deve participar para uma propriedade O s mbolo para as restri es de cardinalidade o igual Por exemplo a cardinalidade hasTopping 5 descreve o conjunto dos indiv duos a classe an nima de indiv duos que participam em exatamente 5 relacionamentos hasTopping Cabe notar que a restri o de cardinalidade na verdade uma forma simplificada de combina o entre as cardinalidades m nimas e m ximas Por exemplo a restri o de cardinalidade acima pode ser representada como uma interse o de duas restri es m nima e m xima 9 hasTopping 5 e U hasTopping 5 4 3 4 UNA Unique Name Assumption Presunc o de nome nico e cardinalidades A OWL adota o UNA o que signific
79. iedades inversas das propriedades existentes na ontologia de Pizza Exerc cio 9 cria o de propriedades inversas 1 Use o bot o Create object property na etiqueta Properties para criar uma nova propriedade de objeto chamada islngredientOf IngredientDe inversa de hasIngredient temlngredient 2 Pressione o bot o Set inverse property Configurar propriedade inversa na interface da Inverse Property propriedade inversa conforme apresentado na mostrada na FIG 4 17 Na caixa de di logo apresentada selecione a propriedade hasingredient e pressione Ok A propriedade hasingredient temlngrediente aparece agora na interface Inverse Property Propriedade Inversa A hierarquia de propriedades indica que hasingredient e islngredientOf s o propriedades inversas 3 Selecione a propriedade hasBase temBase 4 Pressione o bot o Create new inverse property Criar nova propriedade inversa na interface Inverse Property Propriedade Inversa Uma caixa de di logo apresenta dados sobre a propriedade mais recente Use a caixa de di logo para renomear a propriedade isBaseOf BaseDe e ent o feche a Observe que a 22 0183 propriedade isBaseOf BaseDe foi criada como subpropriedade de isIngredientOf Isto ocorre porque hasBase temBase uma subpropriedade de hasingredient temlngrediente e isingredientOf lngredienteDe a propriedade inversa de hasingredient temingrediente 5 Selecione a propriedade hasTopping temRechei
80. ima a qual cont m os indiv duos que s o membros da classe PizzaTopping e tamb m membros da classe de indiv duos relacionados aos membros da classe Hot atrav s da propriedade hasSpiciness Em outras palavras diz respeito as coisas que s o PizzaToppings e tem um spiciness tempero apimentado que Hot Para entrar com esta restri o como um tipo de filler digite no campo de edi o de fillers a declara o PizzaTopping AND SOME hasSpiciness Hot A palavra AND convertida para o s mbolo de interse o a palavra SOME convertida para o s mbolo de quantificador existencial E 7 O di logo Create Restriction Criar Restri o deve agora estar similar a FIG 4 67 Pressione Ok para fechar o di logo e criar a restri o e 1 i 0006069 TELI 50117 gt R 53 ooo ooo ooo Y o mo 4060 00e Y o Y Cancel Figura 4 67 Di logo Create Restriction uma restric o que descreve um SpicyTopping 8 Arraste Pizza de NECESSARY para a rec m criada restric o E hasTopping PizzaTopping E hasSpiciness Hot O campo Asserted Conditions Condi es Declaradas deve estar agora similar a FIG 4 66 O Pizza hasTopping some PizzaTopping E Fig 4 66 a defini o de SpicyPizza SIGNIFICADO a descri o apresentada para SpicyPizza diz que todos os membros de SpicyPizza s o Pizzas e tem pelo menos um recheio com um spiceness Tempero Apimentado Hot muito apimentado Informa
81. in da propriedade hasTopping Exerc cio 15 especifique domain dom nio e range escopo para a propriedade hasBase temBase e a sua propriedade inversa isBaseOf BaseDe 1 Selecione a propriedade hasBase 2 Especifique Pizza como o dom nio da propriedade hasBase 3 Especifique PizzaBase como o escopo da propriedade hasBase 4 Selecione a propriedade isBaseOf 5 Defina PizzaBase como o dom nio da propriedade isBase Of 6 Defina Pizza como o escopo da propriedade isBase Of 280183 configurados para as propriedades inversas de maneira correta Em geral o dom nio para uma propriedade o escopo de seu inverso e o escopo para uma propriedade o dom nio de sua inversa ATEN O embora se tenha especificado dom nios e escopos de v rias propriedades para o presente tutorial n o se recomenda que esse procedimento seja rotineiro As condi es de dom nio e de escopo n o se comportam como restri es e al m disso podem causar resultados inesperados na classifica o Esses problemas e seu efeitos indesejados s o de dif cil localiza o em uma grande ontologia 4 8 Descric o e defini o de classes Ap s a cria o de algumas propriedades pode se agora utiliz las para definir e descrever as classes da ontologia de Pizza 4 6 1 Restri es de propriedades Em OWL as propriedades s o usadas para criar restri es Tal como o nome sugere restri es s o utilizadas para restringir os ind
82. iomas de fechamento na propriedade hasTopping para as Pizzas usa se agora o MI para computar automaticamente a classifica o Exerc cio 38 usao do MI para classificar a ontologia 1 Pressione o bot o Classify taxonomy Classificar Taxonomia na barra de ferramentas OWL para chamar o MI A ontologia classificada e os resultados s o apresentados no painel Inferred Hierarchy Hierarquia Inferida Desta vez MargheritaPizza e SohoPizza est o classificadas como subclasses de VegetarianPizza Isto ocorreu porque especificou se a propriedade hasTopping como Closed Fechada nas Pizzas para dizer exatamente quais recheios elas tem Al m disso VegetarianPizza foi definida para ser uma Pizza apenas com tipos de CheeseTopping e de VegetableTopping A FIG 4 58 apresenta as hierarquias atuais a declarada e a inferida Observe que a Asserted Hierarchy Hierarquia Declarada mais simples e mais limpa do que a Inferred Hierarchy Hierarquia Inferida Embora a ontologia em quest o uma estrutura simples neste est gio o uso do MI pode auxiliar especialmente no caso de grandes ontologias a manter a hierarquia de heran a m ltipla Hierarquia Declarada Asserted Hierarchy Pirra Hierarquia Inferida Inferred Hierarchy AmericanaPizza y Figura 4 58 As hierarquias inferida e declarada mostrando o antes e o depois da classifica o de Pizzas em CheesyPizzas e VegetarianPizzas 4 14 Parti es de Valor Nessa se o criam se Valu
83. iqueta Properties Propriedades Para usar as propriedades de anota o acessa se a interface de anota es conforme apresentado na FIG 6 7 A interface de anota o est dispon vel em todas as etiquetas OWL Classes Properties Individuals e Metadata possibilitando anota es em classes propriedades indiv duos e ontologias respectivamente Uma anota o pode tamb m ser adicionada a restri es e a outras classes an nimas clicando com o bot o direito no campo Asserted Conditions Condi es Declaradas e selecionando Edit annotation properties Editar propriedades da anota o G 0 J LI a LE Property Value Lang ES rdts comment v Figura 6 7 a interface de anota es 6 5 Conjuntos m ltiplos de Condi es Necess rias e Suficientes No OWL poss vel ter conjuntos m ltiplos de condi es necess rias e suficientes No campo Asserted Conditions Condi es Declaradas conjuntos m ltiplos de condi es necess rias e suficientes s o representados usando m ltiplos cabe alhos NECESSARY amp SUFFICIENT com as respectivas condi es listadas sob cada cabe alho conforme FIG 6 8 Para criar um novo conjunto de condi es necess rias e suficientes seleciona se um cabe alho NECESSARY amp SUFFICIENT dispon vel e cria se ent o a condi o por exemplo usando o di logo Create Restriction como alternativa uma condi o arrastada sobre um NECESSARY amp SUFFICIENT Para adicionar uma cond
84. iv duos de uma classe As restri es OWL s o classificadas em tr s categorias principais Quantifier Restrictions Restri es de Quantificador Cardinality Restrictions Restri es de Cardinalidade Restri es hasValue Restri es temValor As Restri es de Quantificador s o compostas por um quantificador uma propriedade e uma classe nomeada que cont m indiv duos os quais atendem a restri o denominada filler Os dois quantificadores dispon veis s o O quantificador existencial E l se como pelo menos um ou algum em OWL tamb m pode ser lido como some ValuesFrom algunsValoresDe O quantificador universal A l se como apenas em OWL tamb m pode ser lido como allValuesFrom todosValoresDe Por exemplo a restri o E hasTopping MozzarellaTopping constitu da pelo quantificador existencial E pela propriedade hasTopping e pelo filler MozzarellaTopping Esta restri o descreve o conjunto ou a L classe de indiv duos que tem pelo menos um recheio e esse recheio um indiv duo da classe MozzarellaTopping Esta restri o representada na FIG 4 27 os s mbolos em forma de diamante representam indiv duos Note que a restri o descreve uma classe an nima de indiv duos que satisfazem a restri o 29 of 83 Mozzarella HS Pa hasTopping Na q r j E lt gt v ia Pa f VA ki Things that have at least one MozzarellaTopping 3 hasToppi
85. izza chamada InterestingPizza Pizza interessante a qual ser definida com tr s ou mais recheios Exerc cio 43 cria o de InterestingPizza Pizza Interessante com pelo menos 3 recheios 1 Selecione a classe Pizza na etiqueta OWLClasses 2 Crie uma subclasse de Pizza chamada InterestingPizza 3 Selecione o NECESSARY amp SUFFICIENT no campo Asserted Conditions Condi es Declaradas 59 of 83 4 Pressione o bot o Create restriction Criar Restric o para abrir o di logo correspondente 5 Selecione gt minCardinality como o tipo de restri o 6 Selecione hasTopping como propriedade a sofrer a restri o 7 Especifique uma Minimum Cardinality Restriction Restri o de Cardinalidade M nima de 3 digitando o n mero 3 na caixa de edi o do filler 8 Pressione Ok para fechar o di logo e criar a restri o 9 O campo Asserted Conditions Condi es Declaradas deve estar com uma condi o NECESSARY de Pizza e uma condi o NECESSARY amp SUFFICIENT de hasTopping gt 3 E preciso que Pizza seja parte das condi es NECESSARY amp SUFFICIENT Arraste Pizza e solte sobre condi o hasTopping gt 3 O campo Asserted Conditions deve estar similar a imagem apresentada na FIG 4 69 ST eo atd Condition O Pizza e has Topping min 3 H Figura 4 69 o campo Asserted Conditions mostrando a descri o de InterestingPizza SIGNIFICADO O que significa isso A defini o de InterestingPizza Pizza Int
86. l junto a propriedade sem uso da restri o universal correspondente junto mesma propriedade No exemplo acima caso se use apenas a restri o universal hasTopping Mozzarella ent o se pode ter descrito o conjunto de indiv duos que apenas participa na rela o hasTopping com membros da classe Mozzarella e tamb m aqueles indiv duos que n o participam em qualquer relacionamento hasTopping provavelmente um erro A 2 Restri es has Value Uma restri o hasValue representada pelo s mbolo descreve uma classe an nima de indiv duos que est o relacionados a outros indiv duos espec ficos por uma propriedade Trata se de uma situa o diferente daquela apresentada na restri o de quantificador em que os indiv duos descritos pela restri o est o relacionados a qualquer indiv duo de uma classe espec fica atrav s da propriedade espec fica A FIG 4 mostra uma vis o esquem tica da restri o hasValue prop abc Essa restri o descreve a classe an nima de indiv duos que tem pelo menos um relacionamento atrav s da propriedade prop com o indiv duo abc As linhas pontilhadas FIG A 4 representam o fato de que para um dado indiv duo a restri o hasValue n o restringe a propriedade usada na restri o a um relacionamento com o individuo participante da restri o isto podem existir outros relacionamentos com a propriedade prop Cabe notar que as restri es hasValue s o semanticamente equivalentes a uma rest
87. luePartition tem uma superclasse que Mild Medium Hot A cobertura indica que um membro de SpicinessValuePartition deve ser membro de uma das classes Mild ou Medium ou Hot A diferenca entre usar ou n o um axioma de cobertura representada na Fig 4 62 Em ambos os casos as classes Mild Medium e Hot s o disjuntas elas n o se sobrep e No caso de n o utiliza o do axioma de cobertura um indiv duo pode ser um membro da classe Spiciness ValuePartition e n o ser membro de Mild Medium ou Hot uma vez que SpicynessValuePartition n o coberta por Mild Medium e Hot Compare com o caso em que a cobertura de axioma usada Se um indiv duo membro da classe SpicinessValuePartition ele deve ser membro de uma das tr s subclasses Mild Medium ou Hot uma vez que SpicinessValuePartition coberta por Mild Medium e Hot SpicinessvavePartition SpidnessvalueParttion N N M i kW Without covering axom With a covering axiom SpkinessValuePartition iscoveres by Mild Medium Hot Figura 4 62 o efeito de usar um covering axiom sobre Spiciness ValuePartition 55 of 83 4 15 0 Property Matrix Wizard Assistente Matriz de Propriedade Pode se usar o SpicinessValuePartition para descrever os temperos dos recheios de Pizza Para fazer isto adicione uma restri o existencial para cada tipo de PizzaTopping Recheio de Pizza de forma a indicar que ela apimentada A forma da restri o E hasSpiciness SpicynessValueP
88. mo Fome CLASS OROWSINR WSTANCE IROWSIR DOMDA PINTOR PILS coses O Figura 6 1 A etiqueta Individuals Indiv duos File Edf Project QML Ressoning Code Tous Window Help BA aae q O Metodista Ortology1212874596 01 OW Classes E Properties Qinsaduis E Forms CLASS BROWSER INSTANCE BROWSER INDIVIDUAL EDITOR For Project O Pizza For Class O Courtry For individua GOES A Asserted Interred NE owt Thing A ted Inston e lt 9 Y Prz O Creesypizza bot o para cria o de inst ncias Figura 6 2 bot es para manipula o de inst ncias 65 of 83 O OWL n o usa o UNA Unique Name Assumption vide se o 3 2 1 Por 1sso os indiv duos podem ser declarados como SameAs IgualA ou DifferentFrom DiferenteDe de outros indiv duos FIG 6 3 Tendo criado alguns indiv duos pode se us los em descri es de classes fio Eda Project QUA Code Tools Yindow Help Je Es 15 Mica q J Metadata pirraowl C OM Classes PllProperies 1 Indi duals forms pizza owt Thing Assorted k ermred Figura 6 3 op es SameAs IgualA e DiferentFrom DiferenteDe 6 2 Restri es has Value Tem Valor Uma restri o hasValue TemValor representada pelo s mbolo descreve o conjunto de indiv duos que possui pelo menos um relacionamento atrav s da propriedade com indiv duo espec fico Por exemplo a restri o hasValue representada pela declara o hasCountryOfOrigin Italy onde I
89. mo ou exatamente um n mero especifico de relacionamentos com outros indiv duos ou datatype values valores de tipos de dados As restri es que descrevem essas classes s o conhecidas como Cardinality Restrictions Restri es de Cardinalidade Para uma dada propriedade P uma Minimum Cardinality Restriction Restri o de Cardinalidade M nima especifica o n mero m nimo de relacionamentos P dois quais um indiv duo deve participar Uma Restri o Cardinalidade M xima Maximum Cardinality Restriction especifica o n mero m ximo de relacionamentos P dos quais um indiv duo pode participar Uma Cardinality Restriction Restri o de Cardinalidade especifica o n mero exato de relacionamentos P dos quais um indiv duo participa Os relacionamentos por exemplo entre dois indiv duos s o considerados como relacionamentos separados quando se pode garantir que tamb m s o distintos os indiv duos que funcionam como fillers dos relacionamentos Por exemplo a FIG 4 68 apresenta o indiv duo Matthew relacionado ao indiv duos Nick e Hai atrav s da propriedade worksWith O indiv duo Matthew satisfaz uma restri o de cardinalidade m nima 2 na propriedade works With caso os indiv duos Nick e Hai sejam indiv duos distintos Matthew Nick Figura 4 68 Cardinality Restrictions Restri es de Cardinalidade Counting Relationships Adiciona se uma restri o de cardinalidade a ontologia de Pizza Vai se criar uma nova subclasse de P
90. mpleto na linha Project Projeto Os nomes dos outros arquivos ser o preenchidos automaticamente 4 1 Cria o de classes A janela principal do Protege consiste de tabs etiquetas que apresentam caracter sticas do base de conhecimento A etiqueta mais importante que surge ao se iniciar um projeto a etiqueta Classes Em geral classes correspondem a objetos ou a tipos de objetos no dom nio Por exemplo em um jornal as classes podem ser pessoas tais como editores rep rteres e vendedores componentes do layout do jornal tais como se es e conte do do jornal tais como an ncios e artigos As classes no Protege s o mostradas em uma hierarquia com heran as e apresentadas em um Class Browser Navegador de Classes do lado esquerdo da etiqueta Classes As propriedades da classe selecionadas no momento s o apresentadas no Class Editor Editor de Classes direita Nessa se o o objetivo criar classes e subclasses modificar a hierarquia de classes criar classes abstratas e adicionar superclasses adicionais a classes j existentes Uma nova ontologia cont m uma classe chamada owl Thing Conforme mencionado as classes OWL s o interpretadas como conjuntos de indiv duos ou conjunto de objetos A classe owl Thing a classe que representa o conjunto que cont m todos os indiv duos uma vez que todas as classes s o subclasses de owl Thing Ele Et Project QOM Reasoning Code Jools Widow Hep eE TR Er A to ICO T lt
91. nforme demonstrado na se o 4 9 4 Se a classe CheeseTopping e VegetableTopping n o s o disjuntas poss vel dizer isso com legitimidade l gica Dessa forma a classe n o inconsistente e portanto n o ser destacada por um MI 2 ATEN O no exemplo acima uma op o criar duas restri es universais uma para CheeseTopping A hasTopping CheeseTopping e outra para VegetableTopping hasTopping VegetableTopping Entretanto quando restri es m ltiplas s o utilizadas para qualquer tipo de restri o a descri o total considerada como a interse o das restri es individuais Isso equivalente a uma restri o com um filler que a interse o de MozzarellaTopping e TomatoTopping Conforme explicado isto incorreto do ponto de vista l gico No momento VegetarianPizza descrita usando condi es necess rias Entretanto a descri o de VegetarianPizza poderia ser considerada como completa Sabe se que qualquer indiv duo que satisfa a a essas condi es deve ser um VegetarianPizza Pode se portanto converter as condi es necess rias de VegetarianPizza em condi es necess rias e suficientes Isto vai permitir usar o MI para determinar a subclasse de VegetarianPizza Exerc cio 32 convers o das condi es necess rias de VegetarianPizza em condi es necess rias e suficientes 1 Selecione VegetarianPizza na hierarquia de classes 2 No campo Asserted Conditions Condi es Declara
92. ng Por causa da Suposi o de Mundo Aberto e do fato de que n o se adicionou um axioma de fechamento a propriedade hasTopping uma UnclosedPizza pode ter um recheios adicionais que n o s o tipos de MozzarellaTopping Exerc cio 50 uso do MI para classificar a ontologia 1 Pressione Classify taxonomy Classify Taxonomy na barra de ferramentas OWL Examine a hierarquia de classes e observe que UnclosedPizza n o uma VegetarianPizza ou uma NonVegetarianPizza SIGNIFICADO a UnclosedPizza n o foi classificada como VegetarianPizza em fun o do OWR O MI n o pode determinar se UnclosedPizza uma VegetarianPizza porque n o existe um axioma de fechamento em hasTopping e a Pizza pode ter outros recheios UnclosedPizza poderia ser classificada como NonVegetarianPizza desde que n o fosse classificada como VegetarianPizza No entanto o OWR n o demanda que UnclosedPizza por n o ser um VegetarianPizza seja uma VegetarianPizza ela pode ser VegetarianPizza e pode n o ser VegetarianPizza Dessa forma UnclosedPizza n o pode ser classificada como NonVegetarianPizza 63 0f 83 64 of 83 6 Outras constru es OWL no Protege OWL Nessa se o discute se como criar outras constru es OWL usando o Protege OWL Tais constru es n o s o parte principal do tutorial e podem ser criadas em um novo projeto 6 1 Cria o de Indiv duos O OWL permite definir indiv duos e declarar propriedades sobre eles Os indiv duo
93. ng Mozzarella Figura4 27 A restric o E hasTopping MozzarellaTopping descrevendo a classe de indiv duos que tem pelo menos um recheio que Mozzarella SIGNIFICADO uma restri o descreve uma classe an nima n o nomeada a qual composta de indiv duos que satisfazem a restri o vide o Ap ndice A para detalhes sobre quantifica o existencial e universal Na realidade quando restri es s o usadas para descrever classes elas especificam superclasses an nimas da classe que est sendo descrita Por exemplo pode se dizer que MargheritaPizza uma subclasse de Pizza dentre outras coisas e tamb m uma subclasse das coisas que tem pelo menos um recheio que MozzarellaTopping As restri es de uma classe s o exibidas e editadas na interface Asserted Conditions Condi es Declaradas apresentada na FIG 4 28 A mterface Asserted Conditions a parte mais importante da etiqueta Classes do Prot g OWL uma vez que det m praticamente todas as informa es para descri o de uma classe dee ot Thing F Figura 4 28 a interface Conditions da etiqueta Classes As restri es s o usadas em descri es de classes OWL para especificar superclasses an nimas daquelas classes a serem descritas 4 8 2 Restri es existenciais Restri es Existenciais E s o o tipo mais comum de restri o em ontologias OWL Para um conjunto de indiv duos uma restri o existencial especifica a exist ncia de um
94. nima A 1 1 someValuesFrom Restri es Existenciais Restri es existenciais conhecidas como someValuesFrom ou Some s o representadas pelo s mbolo E E ao contr rio As restri es existenciais descrevem o conjunto de indiv duos que tem pelo menos um tipo espec fico de relacionamento com indiv duos membros de uma classe A FIG A2 apresenta uma vis o esquem tica de uma restri o existencial E prop ClassA ou seja uma restri o sobre a propriedade prop com um descritor ClassA Observe que todos os indiv duos da classe an nima definida pela restri o t m pelo menos uma rela o atrav s da propriedade prop com um indiv duo que membro da classe ClassA As linhas pontilhadas FIG A2 representam o fato de que os indiv duos podem ter relacionamentos prop adicionais com outros indiv duos que n o s o membros da classe ClassA mesmo que isso n o tenha sido explicitamente estabelecido A restri o existencial n o restrmge a rela o prop a membros da classe ClassA apenas estabelece que cada indiv duo deve ter pelo menos um relacionamento prop com um membro de ClassA Essa caracter stica recebe o nome de OWA Open World Assumption Pressuposi o de mundo aberto 79 0f 83 re SP TF q e mai A Pi S ps Ts SN L Class A Prop ido Je LO 09 NS 2 NS my gt Op Lo pige class Figura A2 esquema de uma restri o existencial E prop ClassA Por exemplo a restri o existencial
95. nio que uma classe primitiva Isto pode fazer com que as classes sejam reclassificadas sob a classe primitiva que o dom nio da propriedade N o se recomenda o uso do dom nio de propriedade para causar tais efeitos 4 11 1 Resultados da classifica o Depois de finalizada a classifica o as classes inconsistentes s o exibidas em um pamel conforme 44 of 83 45 of 83 apresentado na FIG 4 53 o pamel Classification Results Resultados de Classifica o aberto na parte de baixo da tela do Protege OWL O cone Spanner uma pequena chave inglesa no lado esquerdo do painel corresponde ao bot o Assert Selected Changes Aceitar Altera es Selecionadas Ao pressionar este bot o os relacionamentos superclasse subclasse inferidos pelo MI s o transportados para a Asserted Hierarchy Hierarquia Declarada a qual foi manualmente constru da Por exemplo se o bot o Assert Selected Changes Aceitar Altera es Selecionadas foi acionado com a sele o mostrada na FIG 4 53 CheesyPizza adicionado como superclasse de AmericanaPizza Class Changed direct 1 Added CheesyPirza Added CheesyPizza O MorghertaPizza Added CheesyPizza cal O Probeinconsistem Topping inconsistent p O SohoPizza Added CheesyPirza E CC Classification Results Figura 4 53 o painel Classi cation Results Resultados de Classifica o ATEN O Apesar da exist ncia desta facilidade ela n o considerada uma boa pr tica para Inserir r
96. nsist ncia da ontologia usa se o comando Check consistency Verificar Consist ncia dispon vel atrav s de bot o no menu superior do Protege OWL ou atrav s de comando no menu OWL Esses bot es s o apresentados na FIG 4 42 2m ce La 2 gt Check consistency Verificar consist ncia CD Classify taxonomy Classificar taxonomia I gt Compute inferred types Computar tipos inferidos Figura 4 42 fragmento da barra de ferramentas do Protege OWL Quando a inferred hierarchy hierarquia inferida for calculada o resultado apresentado ao lado da asserted hierarchy hierarquia declarada vide FIG 4 43 Se alguma classe foi reclassificada ou seja se a superclasse foi alterada o seu nome aparece em azul na hierarquia inferida Se uma classe inconsistente foi encontrada o cone correspondente aparece circulado em vermelho Figura 4 43 O painel Inferred Hierarchy Hierarquia Inferida aberto ao lado do painel Asserted Hierarchy Hierarquia Declarada 4 9 4 Classes inconsistentes Para demonstrar o uso do MI na detec o de inconsist ncias foi criada uma classe subclasse de CheeseTopping RecheioDeQueijo e de MeatTopping RecheioDeCarne Est estrat gia normalmente usada para verificar se a ontologia foi constru da corretamente As classes adicionadas para testar a integridade da ontologia s o conhecidas como ProbeClasses Classes de Investiga o Exerc cio 24 adicionar uma Probe Cl
97. nsistentTopping n o mais inconsistente Isto significa que indiv duos que s o membros da classe ProbelnconsistentTopping s o tamb m membros da classe CheeseTopping e de VegetableTopping Ou seja estabeleceu se de forma err nea que alguma coisa pode ser um queijo e um vegetal ao mesmo tempo Isto ilustra a import ncia do cuidado no uso de axiomas de disjun o As classes OWL se sobrep em at que sejam declaradas disjuntas Se algumas classes n o s o disjuntas resultados inesperados podem surgir Se certas classes s o marcadas como disjuntas de forma incorreta novamente resultados mesperados podem surgir Exerc cio 27 corre o da ontologia com a disjun o entre CheeseTopping e Vegetable 1 Selecione a classe CheeseTopping na hierarquia de classes 2 O campo Disjoints Disjun es deve conter MeatTopping e SeafoodTopping 3 Pressione Add disjoint class Adicionar classes disjuntas no campo Disjoints para exibir um di logo onde se pode escolher classes Selecione a classe VegetableTopping e pressione o bot o Ok A classe CheeseTopping deve ser disjunta de VegetableTopping 4 Verifique se o axioma de disjun o foi adicionado corretamente pressione Classify Taxonomy 40 of 83 Classificar Taxonomia na barra de ferramentas OWL A ontologia classificada e a classe ProbelnconsistentTopping marcada em vermelho indicando inconsist ncia 4 10 Condi es necess rias e suficientes classes primitivas
98. ntology v o estar dispon veis para uso na AircraftOntology Isto torna poss vel a re utiliza o de classes de propriedades e de indiv duos da BirdOntology em descri es de classe da AircraftOntology poss vel tamb m estender as descri es de classes de propriedades e de indiv duos na BirdOntology pela cria o da descri es estendidas na AircraftOntology Observe a distin o entre referenciar as classes as propriedades e os indiv duos em outra ontologia usando 13 0183 namespaces e importar totalmente a ontologia Quando uma ontologia importa outra n o feita uma simples referencia as classes as propriedades e aos indiv duos os axiomas e fatos contidos na ontologia importada s o inclu dos na ontologia destino Observe que o OWL permite importar ontologias de maneira c clica como por exemplo OntologyA importa OntologyB e OntologyB importa OntologyA 2 4 Importa o de ontologias no Protege OWL A importa o de ontologias normalmente coordenada pelo uso de namespaces Configuram se o namespace e o prefixo de namespace da ontologia a importar e em seguida ocorre a importa o Para importar uma ontologia no Protege OWL preciso primeiro localiz la e determinar sua URL Importa se ontologia Koala uma ontologia simples criada por Holger Knublauch autor do plug in Protege OWL para demonstrar possibilidades dos constructos OWL A ontologia Koala est localizada em http protege stanford edu plugins
99. o 6 Pressione o bot o Create new inverse property Criar uma nova propriedade inversa na interface Inverse Property Propriedade Inversa Na caixa de di logo apresentada renomeie a propriedade isToppingOf RecheioDe Feche a caixa de di logo e observe que isToppingOf RecheioDe sub propriedade de islngredientOf IngredienteDe A hierarquia de propriedades deve parecer com a FIG 4 18 Observe a seta bidirecional que indica a propriedade inversa PROPERTY BROWSER For Project O Pizza Object Datatype Annotation a E Properties ed ni t c ie mi E gt W isingredientOf hasingredient Y Ml hasingredient isingredientO MM hasTopping isToppingOf Ml hasBase isBaseOf Figura 4 18 propriedades inversas 4 6 Caracter sticas das propriedades OWL O OWL permite enriquecer o significado das propriedades atrav s do uso de Property characteristics caracter sticas das propriedades As se es seguintes discutem as v rias caracter sticas que as propriedades podem ter 4 6 1 Propriedades funcionais Se uma propriedade funcional para um determinado indiv duo 1 pode existir at no m ximo um indiv duo 2 que est relacionado ao indiv duo 1 atrav s dessa propriedade A FIG 4 19 apresenta um esquema de exemplo para a propriedade funcional hasBirthMother TemMaeBiol gica algu m s pode nascer de uma nica m e Se Jean hasBirthMother Peggy e Jean hasBirthMother Margaret
100. omaticamente convertida para o s mbolo unionOf 7 Pressione Ok para criar a restri o e fechar o di logo Se o di logo n o fechar devido a erros verifique se Os nomes das classes foram escritos corretamente Para complementar adicione um Closure Axiom Axioma de Fechamento a propriedade hasTopping em AmericanaPizza e em AmericanHotPizza A atividade de inserir manualmente axiomas de fechamento parece trabalhosa mas o Protege OWL possui recursos para a cria o facilit la Exerc cio 36 cria o automatica de axioma de fechamento na propriedade hasTopping para AmericanaPizza 1 Selecione AmericanaPizza na hierarquia de classes da etiqueta OWLClasses 2 No campo Asserted Conditions Condi es Declaradas clique com o bot o direito sobre uma das restri es existenciais de hasTopping Selecione Add closure axiom Adicionar um axioma de fechamento Uma restri o de fechamento restri o universal criada na propriedade hasTopping a qual cont m a um o dos fillers existenciais de hasTopping Exerc cio 37 cria o automatica de axioma de fechamento para a propriedade hasTopping de AmericanHotPizza 1 Selecione AmericanHotPizza na hierarquia de classes da etiqueta OWLClasses 2 No campo Asserted Conditions Condi es Declaradas clique com o bot o direito sobre uma das restri es existenciais de hasTopping Selecione Add closure axiom Adicionar um axioma de fechamento 51 of 83 Tendo adicionado ax
101. omo a FIG 4 55 O Pizza LE hasTopping onty Cheese Topping or VegetableTopping 6 Figura 4 55 descri o de VegetarianPizza usando Necessary Conditions Condi es Necess rias SIGNIFICADO se alguma coisa membro da classe VegetarianPizza necess rio que ela seja uma Pizza e necess rio que tenha apenas quantificador universal recheios que s o tipos de CheeseTopping RecheioDeQueijo ou tipos de VegetableTopping RecheiosDeVegetais Em outras palavras todos os relacionamentos hasTopping temRecheio dos quais os indiv duos membros de VegetarianPizza participam devem ser com indiv duos que s o membros das classes CheeseTopping ou VegetableTopping A classe VegetarianPizza tamb m cont m indiv duos que s o Pizzas e n o participam em nenhum relacionamento hasTopping DICA Em vez de usar o bot o Insert union Inserir uni o no exerc cio anterior pode se simplesmente digitar OR OU na caixa de edi o do filler e a palavra automaticamente convertida para o s mbolo de uni o ATEN O em situa es como a do exemplo acima um erro comum usar a interse o ao inv s da uni o Por exemplo CheeseTopping VegetableTopping lido como CheeseTopping AND VegetableTopping Embora CheeseTopping AND VegetableTopping seja uma frase comum em linguagem natural em termos l gicos significa que algo simultaneamente um tipo de CheeseTopping e de VegetableTopping Isto incorreto co
102. omy Classificar Taxonomia na barra de ferramentas OWL Ap s classifica o os resultados s o apresentados no painel de Inferred Classes Classe Inferidas A hierarquia de classes inferidas deve parecer com a FIG 5 6 As classes MargheritaPizza e SohoPizza foram classificados como subclasses de VegetarianPizza as classes AmericanaPizza e AmericanHotPizza foram classificadas como NonVegetarianPizza As coisas pareciam estar corretas Entretanto vai se adicionar uma pizza sem axioma de fechamento a propriedade hasTopping Exerc cio 49 cria o de subclasse de NamedPizza com recheio de Mozzarella 1 Criar uma subclasse de NamedPizza chamada UnclosedPizza PizzaSemFechamento 2 Selecione UnclosedPizza e no campo Asserted Conditions Condi es Declaradas selecione NECESSARY 3 Pressione Create restriction Criar Restri o para exibir o di logo correspondente 4 Selecione E someValuesFrom para criar uma restri o existencial 5 Selecione hasTopping como a propriedade a sofrer restri o 6 Digite MozzarellaTopping na caixa de edi o dos fillers para especificar que os recheios devem ser indiv duos membros da classe MozzarellaTopping 7 Pressione Ok para fechar o di logo e criar a restri o SIGNIFICADO se um indiv duo um membro de UnclosedPizza necess rio que ele que seja uma NamedPizza e que tenha pelo menos um relacionamento hasTopping com um indiv duo que um membro da classe MozzarellaToppi
103. onada use a forma gr fica Disjoints Disjun o localizada no canto inferior direito da etiqueta OWL Classes Se asa ti OD disioints gt gt Logic View Properties View Figura 4 5 Interface Disjoints Disjun es Create disjoint class from OWL expression criar classe disjunta para express o OWL Add disjoint class adicionar classe disjunta Add all siblings adicionar todas as classes irm s py o a Remove all siblings remover todas as classes irm s Delete selected row apagar linha selecionada Tabela 3 bot es da interface Disjoints Exerc cio 4 tornar disjuntas as classes Pizza PizzaTopping e PizzaBase 1 Selecione a classe Pizza na hierarquia 2 Clique no bot o Add all siblings adicione todas as irm s na interface Disjoint Uma caixa de di logo aberta como a mostrada na FIG Extra7 Basta marcar a primeira op o e escolher Ok para finalizar Isto tornar PizzaBase e PizzaTopping as classes irm s de Pizza disjuntas de Pizza Add siblings to Mutually between all siblings Only between this class and its siblings Lo X Cancel Figura Extra7 dialogo tipo de disjun o Observe que a interface Disjoint Disjun o agora exibe as classes PizzaTopping e PizzaBase Selecione a classe PizzaBase e note a interface Disjoint exibe agora as classes que disjuntas para PizzaBase ou seja Pizza e Pizzafopping SIGNIFICADO Considera se que as classes OWL se sobrep em Por isso
104. ontained in a specific local file Importe uma ontologia de um arquivo local espec fico e pressione Next 3 Na interface Specify file path Especificar o caminho do arquivo digite o endere o ou busque o caminho clicando no cone adequado 4 Selecione a pasta onde a ontologia ser salva Selecione um arquivo da pasta e clique em Select A forma gr fica Specify file path preenchida Pressione Next 5 Clique em Finish para finalizar a importa o N do T Na vers o 3 4 Build 130 do Protege o exerc cio 57 foi realizado de forma ligeiramente diferente do original o qual apresenta funcionalidades ainda n o dispon veis na vers o citada 7 2 5 Importa o da ontologia Dublin Core A ontologia Dublin Core baseada no Dublin Core Meta Data Terms desenvolvido pela Dublin Core Meta Data Initiative http www dublincore org Consiste de um conjunto de elementos e termos para descri o de recursos tais como classes propriedades e indiv duos de uma ontologia A defini o completa de Dublin Core Meta Data Terms est dispon vel em http www dublincore org documents dcmi terms A lista seguinte cont m alguns exemplos s title t tulo um t tulo um nome pelo qual o recurso formalmente conhecido creator criador autor uma pessoa uma organiza o ou um servi o em geral o nome do creator usado para indicar uma entidade s subject assunto expresso por palavras chaves frases ou c digos de clas
105. ood j crr Lo Ro ketTor LC Mild LO Pepero ing Mediur E daili 0 p L Mild LO EmuilToppina LC Mild LO LeekTopping LC Mi a VegetarianTop LO Mila LC TornatoT oppir eo kg Sun pir Ic Mild LO HOG epg Mild QH LO veg tat opp LO Mila Step 5 of 7 LC Meal 3 LO Mild Prev Ned Cancel Figura 4 65 painel de fillers de restri o no Quick Restriction Editor Para completar esta se o cria se uma nova classe SpicyPizza que deve ter Pizzas com recheios apimentados como subclasses Para fazer isto define se a classe SpicyPizza como uma Pizza com pelo menos um recheio hasTopping e um tempero apimentado hasSpiciness que Hot Isto pode ser feito de mais de uma maneira vai se criar uma restri o na propriedade hasTopping que tem uma restri o sobre a propriedade hasSpiciness como seu filler Exerc cio 41 cria o de uma classe SpicyPizza como uma subclasse de Pizza 1 Criar uma subclasse de Pizza chamada SpicyPizza 2 Selecione SpicyPizza na hierarquia de classes escolha NECESSARY amp SUFFICIENT em Asserted Conditions Condi es Declaradas 57 0f 83 3 Pressione o bot o Create restriction Criar Restri o no campo Asserted Conditions Condi es Declaradas para mostrar o di logo 4 Selecione E some ValuesFrom como o tipo de restri o 5 Selecione hasTopping como a propriedade a sofrer restric o 6 O filler deve ser PizzaTopping E hasSpiciness Hot Este filler descreve uma classe an n
106. os no pamel de constru o de express es 8 Pressione Ok para fechar o di logo e criar a restri o 66 of 83 O campo Asserted Conditions Condi es Declaradas deve agora estar similar a Fig 6 4 So A A red Conditio 1 CheeseTopping Ls E hasCountryOfOrigin has Italy eH Figura 6 4 o campo Asserted Conditions mostrando restri o has Value para MozzarellaTopping SIGNIFICADO as condi es definidas para MozzarellaTopping informam que indiv duos membros da classe MozzarellaTopping s o tamb m membros da classe CheeseTopping e est o relacionados ao indiv duo Italy atrav s da propriedade hasCountryOfOrigin est o relacionadas a pelo menos um membro da classe Mild atrav s da propriedade hasSpyciness Em linguagem natural pode se dizer que coisas que s o tipos de MozzarellaTopping RecheioDeMussarela s o tamb m CheeseTopping RecheioDe Queijo vem da Italy e tem Mild Spyciness mediamente apimentados ATEN O no n vel de evolu o atual dos MIs a classifica o autom tica n o completa para os indiv duos Use indiv duos em descri es de classe com cuidado resultados mesperados podem ser gerados pelo MI 6 3 Classes enumeradas O OWL permite que classes sejam definidas listando se os indiv duos que s o seus membros Por exemplo pode se definir uma classe DaysOfThe Week DiasDaSemana como a classe que cont m os indiv duos e somente os indiv duos Sunday Domingo Monday Segunda
107. os de uma classe espec fica Por exemplo a restri o universal expressa pela declara o hasTopping MozzarellaTopping descreve os indiv duos cuja totalidade dos relacionamentos hasTopping ocorre com membros da classe MozzarellaTopping Os indiv duos n o tem relacionamentos hasTopping com indiv duos que n o s o membros de MozzarellaTopping ATEN O a Restri o Universal citada acima A hasTopping MozzarellaTopping tamb m descreve os indiv duos que n o participam de nenhum relacionamento hasTopping Um indiv duo que n o participa de nenhum relacionamento hasTopping por defini o nunca ter um relacionamento hasTopping com indiv duos que n o s o membros da classe MozzarellaTopping e a restri o assim satisfeita 46 of 83 ATEN O para uma determinada propriedade Universals Restictions Restri es Universais n o especificam a exist ncia de relacionamento Apenas indicam que se existe um relacionamento para a propriedade ele ocorre para indiv duos membros de uma classe Por exemplo deseja se criar a classe VegetarianPizza Pizza Vegetariana de forma que os indiv duos membros dessa classe possam apenas ter recheios que s o ou CheeseTopping RecheioDeQueijo ou VegetableTopping RecheioDeVegetais Nesse caso pode se usar a restri o universal Exerc cio 31 cria o de classe para descrever VegetarianPizza Pizza Vegetariana 1 Crie uma subclasse de Pizza e nome la VegetarianPi
108. owl owl library koala owl Importa se a ontologia koala em uma nova ontologia OWL vazia Exerc cio 56 importa o da ontologia koala para outra ontologia 1 Acesse a etiqueta Metadata 2 Pressione Add new prefix Adicione novo prefixo na interface Namespace prefix criando novos namespace e prefixo namespace 3 Edite o prefixo namespace alterando o para koala 4 Especifique o namespace ao importar ontologias o namespace deve ser a URL real onde a ontologia est localizada seguida por ou Edite o namespace para o prefixo koala mudando o para http protege stanford edu plugins owl owl library koala owl 5 Agora clique em Import ontology Importar ontologia localizado no canto superior esquerdo do Ontology Browser Navegador da Ontologia Na nova janela marque a op o Import an ontology from the web by specifying the http URL Importar uma ontologia da Web especificando a URL http e pressione Next Especifique o namespace digitando o no espa o em branco o endere o est na interface Namespace prefixes Agora clique em Finish para que a ontologia selecionada seja importada Depois da execu o desses passos o Protege OWL importa a ontologia koala Salve e recarregue o projeto Em seguida observe que a etiqueta OWLClasses cont m classes da ontologia koala De forma an loga a etiqueta Property exibe propriedades da ontologia koala Observe amda que as classes importadas n o podem ser edi
109. pr tica para documentar classes propriedades etc durante a edi o da ontologia comunicando o significado pretendido para outros desenvolvedores Tendo criado a classe MargheritaPizza preciso especificar os recheios dessa Pizza Adicionam se ent o duas restri es para dizer que uma MargheritaPizza tem os recheios MozzarellaTopping e TomatoTopping Exerc cio 19 criar uma restri o existencial E para a classe MargheritaPizza a propriedade hasTopping e o filler MozzarellaTopping para que uma MargheritaPizza tenha pelo menos um MozzarellaTopping 1 Certifique que MargheritaPizza est selecionada na hierarquia de classes 2 Selecione NECESSARY no campo Asserted Conditions Condi es Declaradas da interface Class Editor Editor de Classes de forma a criar uma condi o necess ria 3 Use Create restriction Criar Restri es no campo Asserted Conditions Condi es Declaradas da interface Class Editor Editor de Classes para exibir a caixa de di logo 4 Na caixa de di logo Create restrictions fa a com que a restri o criada seja um quantificador existencial selecionando o tipo de restri o tipo E someValuesFrom 33 of 83 5 Selecione hasTopping como a propriedade a sofrer a restric o 6 Entre com a classe MozzarellaTopping como o filler da restric o Isto pode ser realizado digitando o nome da classe MozzarellaTopping dentro da caixa de edi o Filler ou usando o bot o Insert class Inserir Classe
110. priedade SIGNIFICADO os indiv duos citados do lado esquerdo da propriedade hasTopping s o membros da classe Pizza os indiv duos citado do lado direito da propriedade hasTopping s o membros da classe PizzaTopping Por exemplo sejam os indiv duos a e b e uma declara o 27 0183 2 Y a hasTopping b infere se que a um membro da classe Pizza e que b um membro da classe PizzaTopping OBSERVACAO quando diversas classes s o especificadas como domain dom nio de uma propriedade o Protege OWL interpreta o domain dom nio da propriedade como a uni o dessas classes ATEN O embora a OWL permita o uso de class expressions express es de classes subjetivas para o domain dom nio de uma propriedade isto n o permitido durante a edi o de ontologias no Protege OWL Deseja se preencher o domain dom nio e o range escopo para o inverso da propriedade hasTopping temRecheio e para isToppingOf RecheioDe Exerc cio 14 especificar domain dom nio e range escopo para isToppingOf 1 Selecione a propriedade isToppingOf 2 Utilize os mesmos passos explicados anteriormente para definir o domain dom nio da propriedade isToppingOf para PizzaTopping 3 Defina Pizza como range escopo da propriedade sToppingOf Observe que o domain dom nio da propriedade isToppingOf o range escopo da propriedade inversa hasTopping e que a range da propriedade isToppingOf o doma
111. priedades e indiv duos s o referenciados simplesmente pelo uso de seus nomes locais No entanto para importar ontologias preciso usar um prefixo namespace para se referir as classes as propriedades e aos indiv duos da ontologia importada Por exemplo suponha a edi o da ontologia de aeronaves que tem um namespace http www ontologies com aircraftf e deseja se referenciar classes da ontologia de p ssaros cujo namespace outro http www birds com ontologies BirdOntologyf com prefixo namespace bird Ao se referir a classes sem um prefixo namespace por exemplo Wing a refer ncia considerada para a ontologia de aeronaves Ao se referir a classes com o prefixo namespace bird por exemplo bird Wing est se referindo a classes da ontologia de p ssaros 7 2 2 Criagdo e edi o de namespaces no Protege OWL Edi o do namespace padr o O namespace padr o definido na interface Default Namespace localizada no canto superior esquerdo da etiqueta Metadata Metadados conforme mostra a FIG 7 1 Para mudar o namespace padr o digite um novo namespace na caixa de edi o O namespace deve ser uma URI v lida e deve terminar com ou FF Alguns exemplos v lidos s o myNameSpacef universityOfManchester ontologies pizzas http www cs man ac uk ontologies pizzas lefauit Hamespact hip Prere orwt ortologies comiOntology1 212574596 0wik FA Fl Prefix Namespace Figura 7 1 namespace padr o e in
112. quaisquer restri es as essas propriedades mas OWL DL tem restri es ao uso da anota o sendo que as duas mais importantes s o s O filler para as propriedades de anota o deve ter um dado hteral uma URI de refer ncia ou um indiv duo Um dado literal um caractere de representa o de um datatype value valor de tipo de dados por exemplo Matthew 25 3 11 s As propriedades de anota o n o podem ser usadas em axiomas que atuam sobre propriedades Por exemplo n o podem ser usados na hierarquia de propriedades de forma que n o podem ter subpropriedades ou ser subpropriedade de outra propriedade Tamb m n o podem ter Domain Dom nio e Range Escopo especifico O OWL tem cinco propriedades de anota o pr definidas que podem ser usadas para fazer coment rios em classes inclusive classes an nimas tais como restri es propriedades e indiv duos 1 owl versioninfo em geral o range escopo dessa propriedade um string PA rdfs label o range escopo um string Esta propriedade usada para adicionar nomes significativos para pessoas aos elementos da ontologia tais como classes propriedades e indiv duos O rdfs label tamb m ser usado para fornecer nomes multil ngiies para elementos de ontologia 68 of 83 3 rdfs comment o range escopo um string 4 rdfs seeAlso o range escopo uma URI usada para identificar recursos 5 rdfs isDefinedBy o range escopo uma U
113. relacionamento ou seja pelo menos um de um desses indiv duos com outro indiv duo o qual membro de uma classe espec fica atrav s da propriedade Por exemplo E hasBase PizzaBase descreve todos os indiv duos que tem pelo menos um relacionamento com um indiv duo membro da classe PizzaBase atrav s da propriedade hasBase Em linguagem natural todos os indiv duos que tem pelo menos uma base de pizza VOCABUL RIO a Restri o Existencial tamb m conhecida como Some Restrictions Algumas Restri es Exerc cio 16 Adicionar restri o a Pizza de forma que Pizza tenha uma PizzaBase 1 Selecione Pizza na hierarquia de classes da etiqueta Classes 2 Selecione NECESSARY na interface Asserted Conditions de forma a criar uma condi o necess ria 3 Pressione o bot o Create restriction Criar Restri o mostrado na FIG 4 29 Surge a caixa de di logo Create Restriction vide FIG 4 30 utilizada para criar uma restri o hp A Asserted Conditions Criar restri o omtThing e Figura 4 29 bot o Criar Restri o Create Restriction Jo X cora Figura 4 30 caixa de di logo Criar Restri o A caixa de di logo Create Restriction Criar Restri o tem quatro partes principais a lista de propriedades a lista de tipos de restri o a caixa de edi o do filler O painel para constru o de express es E YO a Para criar uma restri o s o necess rios tr s procedim
114. ri o existencial junto a uma propriedade hasValue a qual tem um filler que uma classe enumerada que cont m o indiv duo e apenas ele usado na restri o hasValue gt Prop Anonymous class 0 e e s Figura A 4 restri o hasValue prop abc onde as linhas pontilhadas indicam que esse tipo de restri o n o restringe a propriedade usada na restri o a indiv duos usados exclusivamente na restri o hasValue A 3 Restri es de cardinalidade As restri es de cardinalidade s o usadas para explicitar o n mero de relacionamentos em que um indiv duo pode participar para uma propriedade S o conceitualmente simples e apresentadas em tr s formas restri es de cardinalidade m nima restri es de cardinalidade m xima e restri es de cardinalidade exata 4 3 1 Restri es de cardinalidade m nima As restri es de cardinalidade m nima especificam o n mero m nimo de relacionamentos que um indiv duo pode participar para uma dada propriedade O s mbolo para a restri o de cardinalidade m nima o maior 81 of 83 ou igual a U Por exemplo a cardinalidade m nima U hasTopping 3 descreve os indiv duos uma classe de an nimos que cont m indiv duos que participam em pelo menos tr s relacionamentos hasTopping As restri es de cardinalidade m nima n o estabelecem limites m ximos relativos ao n mero de relacionamentos que um indiv duo pode participar em uma propr
115. ritaPizza deve ser membro da classe Pizza deve ter pelo menos um recheio que um tipo de MozzarellaTopping deve ter pelo menos um recheio que membro de TomatoTopping e os recheios devem ser apenas tipos de MozzarellaTopping ou TomatoTopping 50 of 83 ATEN O um erro comum usar apenas restri es universais nas descri es Por exemplo descreve se MargheritaPizza como subclasse de Pizza usando apenas a declara o A hasTopping MozzarellaTopping TomatoTopping sem nenhuma restri o existencial Entretanto pela sem ntica da restri o universal a declara o significa realmente coisas que s o Pizzas e somente tem recheios que s o MozzarellaTopping ou TomatoTopping OU coisas que s o Pizzas e n o tem qualquer recheio Exerc cio 35 adici o de axioma de fechamento a propriedade hasTopping para SohoPizza 1 Selecione SohoPizza na hierarquia de classes da etiqueta OWLClasses 2 Selecione NECESSARY no campo Asserted Conditions Condi es Declaradas 3 Pressione o bot o Create restriction Criar Restri o para exibir o di logo 4 Selecione o tipo de restri o A allValuesFrom para criar uma restri o de quantificador universal 5 Selecione hasTopping como a propriedade a sofrer restri o 6 Na caixa de edi o dos fillers insira a uni o dos recheios para SohoPizza digitando ParmezanTopping L OR MozzarellaTopping OR TomatoTopping OR OlveTopping A palavra chave OR OU aut
116. ropriedades de anota o A maioria das propriedades criadas neste tutorial s o propriedades de objeto Pode se tamb m pode criar propriedades a partir da etiqueta OWLClasses usando a interface Properties apresentada na FIG 4 12 Ele Edt Project QM Reasoning Code oos Window Hep E of Ni ses 4 E gt gt T lt q gt O Metadata Ontology1 212874598 0m OM Classes EE Properties O individuals E Forms PROPERTY BROWSER PROPERTY EDITOR For Project O Pizza For Property Object Datatype Annotation Al W Obje t properties 14 Figura 4 11 a etiqueta Properties CLASS EDITOR PS A For Class SeatoodTopping instance of owt Class inferred View oo ICA TE Annotatio Property Value Lang E rdts comment v Figura 4 12 a interface Properties na etiqueta OWL Classes For Projei t y Pizza Object Datatype Annotation Al mn ropero M af T c c a Figura 4 13 bot es para a cria o Properties Propriedades l Create datatype property Criar propriedade de tipos de dados m Create object property Criar propriedade de objeto t Create Subproperty Criar subpropriedade i Create annotation datatype property Criar propriedade de anota o tipo de dados 4 Create annotation object property Criar propriedade anota o objeto mi Create annotation property Criar propriedade de anota o Delete properties apagar propriedades Tabela 5 bot es para cria o de Properties
117. rot g Recent Fies prot g a pr AS newspaper pprj Open teme collabor streePizza owi por coa Getting Started FAQ User s Guide Al Topics New Project X conce Figura Extral dialogo inicial do Protege 2 Clique em New Project Novo Projeto e uma nova caixa de di logo ser aberta Create New Project Criar Novo Projeto permitindo a escolha do tipo de projeto Selecione o tipo OWL RDF Files Arquivos OWL RDF e clique em Finish Terminar Create from Existing Sources Select a Project Type Prot g Files pont and pins Prot g Database Experimental XML File xmi OMA fRDF Database OVA I ROF Files ROF Files Next gt Cancel Figura Extra2 escolha do tipo de projeto 3 A janela do Protege aberta e as tabs se tornam vis veis Um novo projeto sempre aberto na vis o Metadata Metadados 4 7 des 13 de ico ir s Opr O esta Orbo 121258731800 DOCS ME Propertes O eisai E Forms e O Ordog ip herreros comido IST HE o naaa el ct Orba nterral name i y i ej 9 ei Y O Ortolog yy Arere renato combat PERE AAN OVA SPSD AS CORREIA N 2587316 vA w gt ye o WA PSB ow lt FR ein Property Voto tu O neve coment hip Morar rte comricios rI EINE cms Prot Manei peoe Figura Extra3 tela inicial etiqueta Metadata do Protege 4 Nomear e salvar o projeto importante salvar o projeto o que permite encerrar as atividades quando conveniente Para salvar o projeto sigas as Instr
118. s individuals Slots Slots Propriedades Properties Classes Classes Classes Classes Tabela 1 correspond ncia entre nomenclaturas 3 2 1 Individuals Indiv duos Indiv duos representam objetos no dom nio de interesse ou dom nio do discurso Uma diferen a importante entre o Protege e o OWL que este ltimo n o usa o UNA Unique Name Assumption Isto significa que dois nomes diferentes podem remeter ao mesmo indiv duo Por exemplo Queen Elizabeth Rainha Elizabeth The Queen A rainha e Elizabeth Windsor podem ser refer ncias ao mesmo indiv duo Em OWL deve se declarar explicitamente que os indiv duos s o os mesmos ou diferentes uns dos outros A FIG 3 1 mostra uma representa o de alguns indiv duos em alguns dom nios Neste tutorial representam se os indiv duos como diamantes em diagramas O England O Italy ne USA O Fluffy Gemma Matthew o Fido Figura 3 1 representa o de indiv duos VOCABUL RIO Os indiv duos s o tamb m conhecidos como inst ncias Os indiv duos podem ser referenciados como Inst ncias de Classes 3 2 2 Properties Propriedades Propriedades s o rela es bin rias rela es que cont m duas coisas entre indiv duos ou seja as propriedades ligam dois indiv duos Por exemplo a propriedade hasSibling temirm o pode ligar o indiv duo Matthew ao indiv duo Gemma ou a propriedade hasChild temCrian a pode ligar o indiv duo Peter ao indiv duo
119. s ValuePartitions ser o criadas Recomenda se que as ValuePartitions sejam criadas sob uma classe nomeada a qual a op o padr o Pressione Finish para criar a ValuePartition Analise as tarefas do assistente que reduzem o trabalho manual do usu rio FIG 4 59 e 4 60 1 Cria se uma classe ValuePartition como subclasse de owl Thing 2 Cria se uma classe SpicinessValuePartition como subclasse de ValuePartition 3 Criam se as classes Mild Medium Hot como subclasses de SpicinessValuePartition 4 Aplica se a disjun o as classes Mild Medium e Hot 5 Cria se a classe uni o de Mild Medium e Hot como subclasse de SpicinessValuePartition 6 Cria se uma Object Property propriedade de objeto hasSpiciness 7 A propriedade hasSpiciness se torna funcional 8 Define se SpicinessValuePartition como o escopo da propriedade hasSpiciness SUBCLASS EXPLORER For Project O Pizza Asserted Hierarchy t g amp gt ow Thing gt O pizza gt amp PizzaBase gt O PizzaTopping Y O spicinessValuePartition B mila 5 Medium O Hot Figura 4 59 classes adicionadas pelo assistente Create ValuePartition Criar Parti o Asserted Conditions vp QM 4 Mild u Medium u Hot Ca ValuePartition CE 53 of 83 54 0183 Figura 4 60 o campo Asserted Conditions Condi es Declaradas mostrando a descri o da classe Spiciness ValuePartition 4 14 1 Axiomas de Cobertura Como parte do padr o ValuePartition usou
120. s da classe Spicyness ValuePartition 3 Tornar essas subclasses disjuntas 4 Fornecer um Covering Axiom Axioma de Cobertura de forma a que a lista de valores seja exaustiva 5 Criar uma Object Property Propriedade Objeto para a Value Partition Por exemplo para a SpicinessValuePartition pode se criar a propriedade hasSpiciness TemPimenta 6 Torne essa propriedade funcional 7 Defina o range escopo da propriedade como a classe ValuePartition Por exemplo para a propriedade hasSpiciness o escopo definido como SpicinessValuePartition Devido ao maior n mero e a complexidade de passos que mais f cil cometer erros Despende se mais tempo para criar algumas poucas ValuePartitions Felizmente o Protege OWL possui um assistente para criar ValuePartitions o qual denominado Create ValuePartition Criar Parti o de Valor Deseja se criar um ValuePartition para descrever o tempero dos recheios de Pizza Ent o ser poss vel classificar as Pizzas em pizzas apimentadas e em pizzas n o apimentadas Ser poss vel tamb m dizer que os recheios das pizzas t m um tanto de pimenta que as classifique como Mild Levemente apimentado Medium M dio e Hot Muito Apimentado Note se que tais op es s o mutuamente exclusivas alguma coisa n o pode ser ao mesmo tempo mild Levemente apimentado e hot Muito Apimentado ou uma combina o de op es Exerc cio 39 cria o de um ValuePartition para representar o spicin
121. s de suas superclasses Por exemplo considere se as classes Animal e Cat Cat pode ser subclasse de Animal e assim Animal superclasse de Cat Isso quer dizer que Todos os Gatos s o Animais Todos os membros da classe Cat s o membros da classe Animal Ser um Gato implica ser um Animal Gato subclasse de Animal Uma caracter stica do OWL DL que o relacionamento superclasse subclasse pode ser computado automaticamente por um MI A FIG 3 3 mostra uma representa o de classes que cont m indiv duos as classes s o representadas como c rculos VOCABUL RIO O termo conceito as vezes usado no lugar de classe As classes s o representa es concretas de conceitos Em OWL as classes s o constru das a partir de descri es as quais especificam as condi es que devem ser satisfeitas por um individuo para que ele possa ser um membro da classe A formula o dessas descri es explicada ao longo do tutorial 10 of 83 4 Constru o de uma ontologia OWL Essa se o descreve a cria o de uma ontologia de Pizzas A id ia de utilizar pizzas reside no fato de que nesse dom nio podem ser constru dos bons exemplos Exerc cio 2 criar um exemplo de projeto 1 Inicie o Protege Caso j exista um projeto aberto feche o e reinicie o programa Ao re iniciar o Protege a caixa de di logo de boas vindas apresentada para que se possa criar um novo projeto abrir um projeto recente ou obter ajuda Welcome to P
122. s podem tamb m ser usados em descri es de classe a saber em restri es hasValue e Classes Enumeradas veja explica o adiante Para criar indiv duos no Protege OWL usa se a etiqueta Individuals Indiv duos Deseja se descrever o pa s de origem dos recheios usados nas Pizzas Em primeiro lugar preciso adicionar os pa ses a ontologia por exemplo England Inglaterra Italy It lia America Estados Unidos etc Para criar essa situa o na ontologia de Pizza vai se criar uma classe Country Pa s e ent o popular essa classe com indiv duos Exerc cio 51 cria o da classe Country Pa s e inser o de indiv duos 1 Crie Country como subclasse de owl Thing 2 Acesse a etiqueta Individuals Indiv duos conforme FIG 6 1 e selecionar Country 3 Pressione o bot o Create Instance Criar Inst ncia conforme FIG 6 2 O termo Instance Inst ncia outro nome para Individual Indiv duo na terminologia de ontologias 4 O indiv duo membro de Country criado com um nome gen rico atribu do pela ferramenta Renomeie o indiv duo para Italy usando o campo For Individual localizada na etiqueta Individual Indiv duo na parte superior da Individual Editor 5 Use os mesmos passos para criar mais alguns indiv duos membros da classe Country como por exemplo America England France e Germany Ele Em Project QM fResorg Code Tools Widow tp Metadata Ortologr121 2874508 ow DD O Classes Ml Prigetes O ra
123. sifica o que descrevem um t pico da pesquisa a pr tica recomenda selecionar um termo a partir de um vocabul rio controlado ou esquema de classifica o s description descri o inclui resumos tabela de assuntos refer ncia para uma representa o gr fica de assuntos ou texto livre sobre o assunto dentre outras contributor contribuinte uma pessoa uma organiza o ou um servi o em geral o nome do 75 of 83 contributor usado para indicar a entidade Para marcar classes e outras entidades da ontologia com esse tipo de informa o por exemplo do Dublin Core preciso importar a ontologia Dublin Core Metadata Terms DC Ontology O Dublin Core Metadata usada com freq ncia pois o Protege OWL tem um mecanismo autom tico para importar a DC Ontology Veja os passos apresentados Exerc cio 58 importar a ontologia Dublin Core Meta Data Elements 1 A partir do menu OWL selecione Ontology repositories Reposit rios de Ontologias 2 Na nova caixa de di logo use Add repository Adicionar reposit rio localizado no canto superior direito para inserir o local do reposit rio Marque a op o HTTP Repository e pressione finish 3 Na janela Create Ontology Repository Criar reposit rio para ontologia preencha o campo URL com o endere o http dublincore org 2008 01 14 dcterms rdf e pressione Finish Figura EXTRA 10 Create Ontology REPOSO Criar reposit rio para ontologia 3 Uma mensagem
124. sione Add new prefix Adicionar novo prefixo na interface Namespace prefix conforme FIG 7 1 para criar um novo namespace E criado um namespace http www domain2 comf com o prefixo pl 2 D um clique duplo no prefixo p1 para edit lo Mude o para vin o qual o prefixo do namespace usado na ontologia de vinhos 3 D um clique duplo no namespace http www domain2 comfF para edit lo Mude o para http wyw w3 org FR 2004 REC owl guide 20040210 winef Se o namespace est escrito incorretamente ou seja se o namespace n o uma URI v lida e n o termina em ou F o Protege OWL rejeita a entrada e volta ao valor anterior 4 Agora pode se referenciar conceitos na ontologia de vinho e criar classes e propriedades no namespace da ontologia de vinho Por exemplo criar uma nova propriedade objeto e nome la como vin myWineProperty A propriedade my WineProperty reside no namespace vin http www w3 org TR 2004 REC owl guide 20040210 wineF o nome prefixado ser vin myWineProperty O nome completo da propriedade http wuw w3 org PR 2004 REC owl guide 20040210 winemyWinePropert y 7 2 5 Importa o de ontologias em OWL Ontologias OWL podem importar uma ou v rias outras ontologias Por exemplo suponha que AircraftOntology ontologia de aeronaves importa a BirdOntology ontologia de p ssaros a qual cont m descri es de v rios p ssaros Todas as classes as propriedades os indiv duos e os axiomas contidos na BirdO
125. snaraousT m y Fi g O Piz A chesseyveg eTor J y suceToppar Ae LC SwestPepper O PizaTopping DS A pt q O CheeseTopping LO SpinachTops O FourCheesesTopping LO Ming Se 2900 ng i vocketTopf O GoatsCheezeTopping y etneo D GorgonzolaTopping LOM mit ng C MozareltaTopping EA Tops ParmesanToppir LO LeekT opping LO vegeta sa 9 O FishTopping DE Tomate 6 Anchovies Topping w KO Sultana 4 1 i anstaro r i egetat spa zJ yesos Prev Next Cancel Figura 4 63 p gina de selec o de classes no Quick Restriction Editor AM Introduction F t k 5 yo lik jit Choose classes z Calart Es A Mes Pi calariad Choose properties gt i o DS eg bed ds Selected F ta X Defaults o Oj isingredientos O hasSpiciness Edit restrictions g Toppingo Ciosure gji Results s oe Dihasir Qj prote erty Ol ha Olhas e Step 3 of 7 Prev Next Cancel Figura 4 64 p gina de sele o de propriedades no Quick Restriction Editor om Restriction Editor Introduction tthe values for the chos t Choose classes has Choose properties x l Defaults KO NutTops CET a Edit restrictions Lo ArtichokeTopp Le Mild Closure Le SundriedTom toTopp LO Mild E VASO gu 4 M Results EL f ra T C Mild CI weTopping LC Mild LO Cheeseyvegeta 19 LC Mild LO Sau Topping LO Mi d ko Swe IPepperTopping LC Mild LC Anchovie sTopoing LC Mi j LC SpinachToppir LO Mild LO HamTopping LO MI d LC Mir ISeaf
126. ss 4 Repita o passo anterior para adicionar as classes PizzaTopping e tamb m PizzaBase a classe owl Thing deve estar selecionada antes de pressionar Create subclass Criar subclasse de forma que as classes sejam criadas como subclasses de owl Thing A hierarquia de classes deve parecer como mostrada na FIG 4 4 File Edit Project WA Reasoning Code Tous Window hep D dy D lt O Metadata Ortology1212598108 0w D OwtCiasses ME Properties 0 hd viduals E Forms For Project O For Class omtThing ca 2 9 ooo i als ot Trina Property O pars O rats comment Figura 4 4 a hierarquia de classes inicial VOCABUL RIO A hierarquia de classe tamb m pode ser chamada de Taxonomia DICA Apesar de n o existir uma regra obrigat ria para nomear classes OWL recomenda se que todos os nomes de classes iniciem com letra mai scula e n o contenham espa os Este tipo de nota o conhecida como CamelBack Por exemplo Pizza PizzaTopping MargheritaPizza Pode se usar o underscore _ para juntar palavras Por exemplo Pizza Topping A regra Importante para a consist ncia da ontologia 14 of 83 4 2 Classes disjuntas Tendo adicionado as classes Pizza PizzaTopping e PizzaBase preciso agora dizer que estas classes s o disjuntas de modo que um indiv duo ou objeto n o poder ser inst ncia de mais de uma dentre as tr s classes Para especificar as classes que ser o disjuntas da classe seleci
127. tadas ou exclu das pode se ter apenas adicionar dados as descri es de classes Locais Alternativos Quando se pretende tornar uma ontologia dispon vel para importa o uma boa pr tica definir a URI do namespace como uma URL que aponta para o lugar onde est a ontologia Na maioria das vezes trata se de um endere o web Assinalando a caixa de sele o Imported Importada o Protege OWL tenta achar a ontologia no local especificado pela URI do namespace Mas e se n o existe conex o a Internet ou a ontologia n o existe naquela URI Nesse caso poss vel especificar uma URI URL alternativa a qual aponta para uma c pia local da ontologia Por exemplo uma URL que aponta para um local no disco 74 0f 83 r gido ou para o servidor rede local etc Locais alternativos s o especificadas no arquivo de Ontology Polices Pol ticas da ontologia localizado na pasta do plug in do Protege OWL Este arquivo n o precisa ser editado manualmente pode ser editado com o di logo de pol tica da ontologia Para especificar um local alternativo para uma ontologia importada siga esses passos Exerc cio 57 especifica o de local alternativo para uma ontologia importada 1 Selecione ontologia considerada na interface Namespaces Prefixes 2 Pressione Import ontology Importar ontologia localizado na interface Ontology Browser Navegador da Ontologia no canto superior esquerdo Na nova janela marque a opc o Import an ontology c
128. taly um indiv duo descreve o conjunto de indiv duos a classe an nima de indiv duos que tem pelo menos um relacionamento atrav s da propriedade hasCountryOfOrigin com o indiv duo Italy Para mais informa es sobre restri es hasValue vide Ap ndice A 2 Deseja se especificar a origem dos ingredientes na ontologia de Pizza Por exemplo pode se dizer que MozzarellaTopping vem da Italy Alguns pa ses foram inseridos na ontologia de Pizza os quais que s o representadas como indiv duos Pode se usar a restri o hasValue junto a esses indiv duos para especificar que o pa s de origem de MozzarellaTopping Italy Exerc cio 52 cria o da restri o has Value para especificar que MozzarellaTopping tem Italy como pa s de origem 1 Acesse a etiqueta Properties Propriedades crie uma nova Object Property Propriedade de Objeto e d lhe o nome de hasCountryOfOrigin 2 Acesse a etiqueta OWLClasses e selecione a classe MozzarellaTopping 3 Selecione NECESSARY no campo Asserted Conditions Condi es Declaradas 4 Pressione Create restriction Criar Restri o no campo Asserted Conditions para abrir o di logo correspondente 5 Selecione hasValue como o tipo de restri o a ser criada 6 Selecione hasCountryOfOrigin como a propriedade a sofrer a restri o 7 No campo Filler insira o indiv duo Italy digite Italy na caixa de edi o de fillers ou pressione o bot o Insert individual Inserir Indiv du
129. tas automaticamente 7 Clique no bot o Next para visualizar e adicionar anota es Em geral as anota es s o usadas para gravar dados sobre a edi o da ontologia quem e quando a criou quando foi revisada etc As anota es b sicas de propriedades OWL s o selecionadas por default Nenhuma dado ser informado nesse momento Pressione Finish DICA caso tenha sido importada a ontologia DC Dublin Core mais detalhes adiante as propriedades de anota o DC podem estar dispon veis para anota o das classes no passo 7 do exerc cio 5 O DC um conjunto de metadados que pode ser usado para anota es em ontologias de dados tais como creator criador date data language l ngua etc Depois de pressionar Finish o assistente cria as classes as torna disjuntas e as seleciona na etiqueta OWLClasses A ontologia tem ThinAndCrispyBase e DeepPanBase como subclasses de PizzaBase Essas novas classes s o disjuntas e por isso a BasePizza base da pizza n o pode ser uma ThinAndCrispyBase base fina e torrada e uma DeepPanBase base grossa ao mesmo tempo No caso de muitas classes a adicionar o assistente acelera o processo DICA na segunda tela do assistente Create Multiple Subclasses as classes s o criadas e inseridas Caso existam muitas classes a criar com o mesmo prefixo ou sufixo poss vel usar as op es de auto anexar no In cio e auto anexar no final em conjunto com os nomes de classes inseridos
130. terface de namespaces Cria o de outros Namespaces Assim como se especifica um namespace padr o para a ontologia poss vel configurar outros prefixos namespace mapeamentos de namespaces Isto possibilita fazer refer ncia a classes a propriedades e a indiv duos em outras ontologias 72 0183 Usa se a interface Namespace Prefixes FIG 7 1 para criar ou para configurar namespaces e prefixos associados no Protege OWL A interface cont m tr s colunas Prefix Namespace e Imported a coluna Imported ser tratada mais adiante N do T Na vers o 3 4 Build 130 do Protege conforme pode se notar na FIG 7 1 a interface ligeiramente diferente apresentando apenas duas colunas a saber Prefix e Namespace Na cria o de um novo projeto em OWL o Protege OWL automaticamente configura os tr s namespaces s rdf http www w3 0rg 1999 02 22 rdf syntax nst Resource Description Framework namespace s rdfs http www w3 0rg 2000 01 rdf schemaf RDF Schema namespace ow http www w3 0rg 2002 07 0wlk OWL vocabulary namespace Vai se adicionar prefixo e namespace para uma ontologia de vinho que tem o namespace http wuw w3 org PR 2004 REC owl guide 2004021 0 winek A ontologia de vinhos um exemplo did tico utilizado no guia W3C OWL que cont m dados sobre tipos de vinhos e vin colas Exerc cio 55 cria o de namespace e pre xo para se referir a classes a propriedades e a indiv duos na ontologia de vinhos 1 Pres
131. trav s do comando Preferences Prefer ncias do Protege OWL A escolha entre OWL DL e OWL Full feita pelo comando Supports One of the Following OWL Species Suporte a Uma das Seguintes Esp cies OWL e selecionada dentre uma das duas op es dispon veis OWL DL Optimized for reasoning otimizado para infer ncias ou o OWL Full supports the complete range of OWL elements suporta todos os elementos OWL 7 2 Namespaces e importa o de ontologias Ontologias OWL s o capazes de importar outras ontologias OWL Esta se o descreve os namespaces mecanismos para fornecer nomes gen ricos usados para facilitar a importa o de ontologias Descreve se como importar ontologias 7 2 1 Namespaces Cada ontologia tem seu pr prio namespace o que conhecido com o namespace padr o Uma ontologia pode usar outros namespaces Um namespace uma sequ ncia de caracteres que precede os identificadores de classes de propriedades e de indiv duos em uma ontologia poss vel a uma ontologia referenciar classes propriedades e indiv duos em outra ontologia sem ambig idades e sem causar problemas com nomes atrav s da manuten o de namespaces distintos para todas as ontologias Por exemplo as ontologias OWL inclusive a ontologia de Pizza fazem refer ncia a classe owl Thing a qual reside no vocabul rio da ontologia OWL namespace http www w3 org 2002 07 0wl A garantia de que os namespaces s o nico reside em sua representa
132. ty Olr sea ger pe opearty v Frer se SyremetrcPro ertyMusBeS Ao ad Ck Figura 7 4 0 di logo de testes da ontologia Depois do teste na ontologia os resultados s o apresentados em um painel na parte inferior da tela como mostrado na FIG 7 5 Type Sorte Test Rena x Ur UN rroaren OS Vat CASS TAS MAC ESSAS parents Ri Domt Missing dsjorts on peiie sutciasses kosia Arenal kosis Degres kosik Gender tosia Matias Pizza Pirzabiase Pirra D e Messrg sports on prime subciestes bosia Koala kosia Guido koaia Tasmarar Dev r D y Mssirg dsjorte on prm brre subciastes kosia Forest koaia Urerersty D D koala Forest Mssrg dejorts on prembrre subciestes kosia Derylucalyptf cores kosia Ranforest D O vegete Topeng Missing dsjorts on primbive subclasses Caper Topping Mushroom Topping Otre Topping Orson Toppng Pepper Topping Pr P o Name PIN Mssng dejorts on primiive subciasses Amercansfirra AmencartiadPara MerghertaPirza SoroPirza UnciosedPirr v O Creta Topprg Missing dsjorts on primibive subciasses MozzarelaToppno ParmezanTopping ProbeinconsistertToppng D Test Results Figura 7 5 painel de resultados de testes 76 of 83 17 of 83 O painel do resultado do teste possui as seguintes colunas Type tipo corresponde ao tipo de resultado do teste advert ncia erro etc s Source fonte corresponde a fonte do resultado do teste por exemplo uma classe ou um propriedade Um clique duplo sobre a fonte leva a origem da fonte por exemplo uma
133. u es abaixo 1 Clique no bot o Save Project Salvar Projeto o terceiro da esquerda no menu superior do Protege Pode se escolher tamb m Save project Salvar Projeto no menu File Arquivo A caixa de di logo Protege Files Arquivos do Protege aberta OWL RDF Files Figura Extrad dialogo para salvar projeto 2 Escolha a local adequado para salvar o projeto clique no bot o a direita da linha Project Projeto A caixa de di logo de Protege Files Arquivos do Protege aberta navegue para selecionar ou para criar um diret rio Look 3 Maur cio Monografia A cr BR E Projeto Files of Type ppri fles y Open Cancel Figura Extra5 dialogo para selecionar local a salvar projeto 3 Entre com um nome de arquivo por exemplo Pizza Look in C Projeto El a CF BRR g Fis Name Pizza Files of Type pprj Mes Select Cancel Figura ExtraS dialogo para selecionar local a salvar projeto 4 Clique em Select Selecionar 5 Na caixa de di logo de Protege Files Arquivos do Protege clique em Ok para salvar os arquivos e fechar a caixa de di logo 11 0f 83 12 of 83 OWL RDF Files Project xX e Organiza o da Informa oWMauricio Monografia ProjetoPizzal OWL file name or URI a Pizza ow Language RDF XML ABBREV X Fox X Cancel Figura Extra6 dialogo para salvar projeto preenchido Nota Pode se tamb m escolher uma localiza o digitando o caminho co
134. ura 4 48 Necessary and Sufficient conditions 2 Se um indiv duo membro de NamedClass ClasseNomeada ent o obrigat rio que satisfa a as condi es Entretanto se algum indiv duo satisfaz as condi es necess rias n o se pode dizer que seja membro de NamedClass as condi es n o s o suficientes para que se possa dizer isso Tal fato indicado pela dire o da seta Condi es necess rias Se um indiv duo membro de NamedClass ClasseNomeada ent o obrigat rio que satisfa a as condi es Se algum indiv duo satisfaz as condi es ent o obrigat rio que seja membro de NamedClass Tal fato indicado pela seta bidirecional Condi es necess rias e suficientes Fig 4 48 a condi es necess rias e suficientes ATEN O Se por acidente Pizza foi descrita como NECESSARY amp SUFFICIENT ao inv s de E hasTopping CheeseTopping no exerc cio 29 o campo Asserted Conditions Condi es Declaradas vai aparecer como a imagem mostrada na FIG 4 49 Neste caso uma nova condi o necess ria e suficiente foi criada e n o a desejada Para corrigir este erro arraste Pizza sobre a restri o E hasTopping CheeseTopping Asserted Conditions y DE AM JO Pizza Pe 3 3 hasTopping CheeseTopping 3 3 hasBase PizzaBase Figura 4 49 Uma descri o incorreta de CheesyPizza DICA condi es podem tamb m ser transferidas de NECESSARY para NECESSARY amp SUFFICIENT e vice versa us
135. za as propriedades hasTopping e hasBase devem ser criadas como subpropriedades de hasingredient temlngrediente Se a propriedade hasTopping ou hasBase conecta dois indiv duos Isto implica que os dois indiv duos est o relacionados tamb m pela propriedade haslngredient Exerc cio 7 criar uma propriedade de objeto chamada hasIngredient 1 Na etiqueta Properties Propriedades use o bot o Create Object Property Criar Propriedade Objeto para criar uma nova propriedade Uma Object Property propriedade de objeto com um nome gen rico criada 2 Renomeie a propriedade para hasingredient Temingrediente no campo For Property conforme apresentado na FIG 4 14 PROPERTY EDITOR we ly For Property singredien nstance of owtObjectProperty Figura 4 14 cria o da propriedade hasIngredient Exerc cio 8 cria o de subpropriedades de hasIngredient hasTopping e hasBase l Para criar a propriedade hasTopping temRecheio como subpropriedade de hasingredient temlngrediente clique com o bot o direito do mouse sobre a propriedade hasIngredient na hierarquia de propriedades da etiqueta Properties O menu apresentado na FIG 4 15 ser aberto For Project O Pizza Object Datatype Annotation Al E Properties tc a hasingreda T Create subproperty Change property metaciass E Convert to owtDatatypeProperty Retactor Sesech and View voqe Figura 4 15 menu da hierarquia de propriedades 2 Selecion
136. zza 2 Selecione VegetarianPizza clique em NECESSARY no campo Asserted Conditions Condi es Declaradas 3 Pressione Create restriction Criar Restri o no campo Asserted Conditions Condi es Declaradas para exibir o di logo Create restriction Criar Restri o 4 Selecione o tipo de restri o allValuesFrom para criar uma restri o de quantificador universal 5 Selecione hasTopping como a propriedade a sofrer restri o 6 O filler CheeseTopping RecheioDeQueijo ou VegetableTopping RecheioDeVegetais Digite CheeseTopping na caixa de edi o do filler ou use o bot o Insert class Agora preciso usar o operador unionOf unidoDe entre os nomes das classes insira operador unionOf usando o bot o correspondente no pamel de constru o de express es conforme apresentado na FIG 4 54 Em seguida digite a classe VegetableTopping ou use o bot o Insert class A express o CheeseTopping VegetableTopping ent o apresentada na caixa de edi o de filler bot o UnionOf UnidoDe 000 008 a o Ome 066 D0 Error Please enter a filler at Figura 4 54 Expression Builder Panel Painel Construtor de Express es para inserir UnionOf Uni doDe 7 Pressione o bot o Ok para fechar o di logo e criar a restric o Caso exista algum erro o di logo n o fechado e uma mensagem de erro aparece na parte de baixo do painel Neste ponto o campo Asserted Conditions Condi es Declaradas deve parecer c

Download Pdf Manuals

image

Related Search

Related Contents

Agent Portal  Sony VPL-SW535  LED ネームプレート兼用POP② 取扱説明書  M-Audio PROKEYS SONO 61 User's Manual  Mitch`s B830 Acrobat File  Engineered for the road ahead  Manual de Instruções  Service Manual ARGUS 60 M & ARGUS 100 M    Conservation - Atlantis France  

Copyright © All rights reserved.
Failed to retrieve file