Professional Documents
Culture Documents
Entendendo ontologias... o O que uma ontologia? o Porque criar uma ontologia? o Como criar uma ontologia? o Como saber se est se fazendo certo? o Por onde comear? Desenvolvimento de um exemplo Para criar e salvar um projeto o Criao de um exemplo de projeto o Nomear e salvar o exemplo de projeto Criao de classes o Criao da classe Colunista (Columnist) o Criao da classe Autor (Author) o Criao das subclasses de Autor (Author) o Modificao da hierarquia o Criao de uma classe abstrata o Criao da classe Empregado (Employee) o Adio de outra superclasse a uma classe existente o Adio de uma superclasse com arrastar-e-soltar Criao de slots o Criao de um slot a partir da "etiqueta slot" (Slots tab) o Atribuio de um slot a uma classe o Criao de um slot na "etiqueta classes" (Classes tab) o Slots e herana Criao de facetas (facets) para slots o Definio de facetas de slots para salrio (salary) o Criao de um relacionamento com o uso de slots Insero de instncias Configurao do slot de apresentao Criao de um relacionamento entre instncias Personalizao de um formulrio o Redimensionamento de formas grficas (widgets) o Movimentao de formas grficas (widgets) o Personalizao dos botes das formas grficas (widgets) o Ocultamento de uma forma grfica (widget) o Apresentao de uma forma grfica (widget) oculta o Uso do layout padro Criao e armazenamento de uma consulta o Criao de uma consulta (query) o Execuo de uma consulta (query) o Armazenamento de uma consulta (query) o Recuperao de uma consulta (query)
Entendendo ontologias...
Esse tutorial apresenta uma introduo ao Protege, um ambiente para criao e edio de ontologias e bases de conhecimento, que permite ao usurio iniciar o projeto de uma ontologia rpida e intuitivamente. O usurio aprende a criar, modificar e salvar um projeto no Protege. Ser criado um projeto chamado "tutorial", o qual contm umas poucas classes e exemplos de um exemplo, denominado newspaper, que acompanha a instalao do Protege. Uma vez lido o tutorial, se est pronto para explorar o Protege por conta prpria. Nem todos os usurios do Protege esto familiarizados com o projeto e o desenvolvimento de ontologias. Dessa forma, alm de introduzir a interface do Protege, esse tutorial apresenta uma breve viso geral de alguns conceitos bsicos do projeto de ontologias e se baseia nos conceitos descritos no artigo Ontology Development 101 . Caso se esteja familiarizado com o projeto de ontologias, pode-se pular diretamente para o item "Criar e salvar um projeto". Para documentao mais completa, tutoriais, artigos e apresentaes, veja a pgina de documentao (documentation page ) no site do Protege.
O que uma ontologia? Porque criar uma ontologia? Como criar uma ontologia? Como saber se est se fazendo certo? Por onde comear?
Uma ontologia descreve os conceitos bsicos em um domnio de conhecimento e define relaes entre eles. Os fundamentos bsicos do projeto de ontologias incluem:
Classes ou conceitos; Propriedades de cada conceito, que descrevem caractersticas e atributos de um conceitos (slots, algumas vezes denominados "papis" ou "propriedades"); Facetas (facets), algumas vezes denominadas "restries sobre slots".
Uma ontologia mais um conjunto de instncias individuais de classes constitui uma base de conhecimento.
Possibilitar o reuso do domnio de conhecimento; Tornar explcitas hipteses sobre o domnio; Separar o conhecimento do domnio e o conhecimento do conhecimento operacional; Analisar o domnio de conhecimento.
No existe uma nica maneira correta de modelar um domnio sempre existem alternativas viveis. A melhor soluo quase sempre depende da aplicao que se est concebendo e nas previso para seu uso; O desenvolvimento de ontologias , necessariamente, um processo interativo; Conceitos em uma ontologia devem representar objetos (fsicos ou lgicos) e relaes do domnio de interesse. So muito provavelmente substantivos (objetos) ou verbos (relaes) em sentenas que descrevem o domnio.
(problem-solving methods ), ou discutindo com especialistas da rea. Como resultado, quase sempre ser preciso revisar a ontologia inicial. Esse processo de projeto interativo continua atravs de todo o ciclo de vida da ontologia.
Desenvolvimento de um exemplo
Suponho que preciso desenvolver um sistema que auxilia a gerencia custo e a organizao de um jornal. A subpasta "examples/newspaper" do diretrio de instalao do Protege contm um projeto completo, denominado newspaper, o qual fornece uma ontologia possvel para esse domnio. Algumas questes que pode-se desejar responder so:
Quem responsvel para cada seo do jornal? Qual o contedo de cada artigo em uma seo, e quem o autor? A quem cada autor se reporta? Qual o layout e o custo de cada seo?
Uma vez que se tem uma idia do que preciso cobrir, pode-se listas alguns termos importantes que so necessrios. Esses termos podem incluir conceitos bsicos, propriedade que os conceitos devem ter e relaes entre eles. Para comear, pode-se apenas coletar termos sem preocupao sobre o papel que eles vo desempenhar na ontologia. No exemplo do jornal, tem-se sees. Cada seo contem contedo, tal como artigos e anncios, e cada uma tem tambm um editor, que responsvel por cada seo. Cada artigo tem um autor, e aquele autor pode ter ou no um empregado. Para cada empregado, preciso determinar o nome e o salrio, e tambm a quem ele se reporta. Ao continuar a gerar termos, se est implicitamente definindo o escopo da ontologia, ao definir o que se deve incluir ou excluir. Por exemplo, ao examinar preliminarmente o termo empregado, pode-se desejar adicionar zelador ou motorista. Entretanto, refletindo, pode-se perceber que a ontologia enfatize custos diretamente associados com a gerao de contedo e a apresentao do jornal. Dessa forma, poder-se-ia decidir no incluir zelador como um termo de interesse. Quando se tem uma lista suficientemente completa, pode-se iniciar o processo de categorizar diferentes termos, de acordo com sua funo na ontologia. Conceitos que so objetos, tais como artigo ou autor, so provavelmente representados por classes. Propriedades das classes, tais como contedo ou salrio, podem ser representados por slots; e restries sobre as propriedades ou sobre relaes entre classes ou slots, so representados por restries sobre slots. Em seguida, descreve-se como usar a interface do Protege para criar a estrutura desses componentes da ontologia.
Em primeiro lugar, deve-se criar um novo projeto no Protege. Uma explicao mais detalhada do modelo de conhecimento do Protege est disponvel na seo Overview do site do Protege.
Nota: Para explorar os exemplos includos no Protege, clique em Abrir um projeto existente... (Open Existing Project...) e selecione o projeto desejado. Para criar um novo projeto, selecione Arquivo | Novo projeto (File | New Project...)
2. Clique em Criar novo projeto... (Create New Project...). Uma caixa de dilogo ser aberta, permitindo a escolha do tipo de projeto. A menos que seja necessrio um tipo especial de formato para os arquivos, apenas clique em Terminar (Finish) para aceitar a definio padro: "Protege Files (.pont and pins)".
3. A janela do Protege aberta e as etiquetas (tabs) se tornam visveis. Um novo projeto sempre aberto na viso de Classes. As classes internas de sistema do Protege (:THING e :SYSTEM-CLASS) so apresentadas. No sero criadas instncias.
Sumrio | Acima: Para criar e salvar um projeto | Anterior: Criao de um exemplo de projeto
2. Escolha a localizao para salvar o projeto, clique no boto a direita da linha "Projeto" (Project). A caixa de dilogo de arquivos do Protege (Protege Files), navegue para selecionar ou criar um diretrio.
4. Clique em "Selecionar" (select). 5. A caixa de dilogo de arquivos do Protege (Protege Files) aparecer novamente. Clique em OK para salvar os arquivos e deixar a caixa de dilogo.
Nota: Pode-se tambm escolher uma localizao digitando o caminho completo na linha Projeto (Project). Os nomes dos outros arquivos sero preenchidos automaticamente.
Criao de Classes
A janela principal do Protege consiste de etiquetas (tabs) que apresentam vrios aspectos do modelo de conhecimento. A etiqueta mais importante que aparece ao se iniciar um projeto a etiqueta "Classes". Em geral, classes vo corresponder a objetos, ou tipos de objetos, no domnio. No exemplo do jornal, classes podem ser pessoas, tais como editores, reprteres e vendedores; componentes do layout do jornal, tais como sees; e contedo do jornal, tais como anncios e artigos.
Classes no Protege so mostradas em uma hierarquia com heranas, apresentadas em um "Navegador de Classes" (Class Browser), do lado esquerdo da etiqueta "Classes". As propriedades da classe selecionadas na rvore, no momento, so apresentadas no "Editor de Classes" (Class Editor) direita. Nessa seo, o objetivo ensinar como criar classes e subclasses, modificar a hierarquia de classes, criar classes abstratas, e adicionar superclasses adicionais a classes existentes.
Criao da classe Colunista (Columnist) Criao da classe Autor (Author) Criao das subclasses de Autor (Author) Modificao da hierarquia Criao de uma classe abstrata Criao da classe Empregado (Employee) Adio de outra superclasse a uma classe existente Adio de uma superclasse com arrastar-e-soltar
3. Assegure-se de que a classe :THING est destacada. Quase todas as classes que sero criadas estaro subordinadas a :THING. A classe :SYSTEM_CLASS usada para definir a estrutura de vrios formulrios do Protege. 4. Clique no boto Criar classe (Create Class) , do na parte superior direita do "Navegador de Classes". Uma classe criada com um nome genrico, baseado no nome do projeto, tal como "tutorial_Class_0". Pode-se ver o nome no "Navegador de Classes" e, alm disso, ele
5. Digite Colunista (Columnist). Uma conveno recomendvel no Protege criar o primeiro carter de cada palavra em um nome de classe, em maisculo, e o resto do nome em minsculo, alm de separar as palavras por um trao baixo (underscore). 6. Tecle Enter ou clique de novo na classe destacada para completar a operao e mostrar a alterao.
Caso ocorram problemas em renomear a classe, verifique o painel Editor de Classes (Class Editor), do lado direito da janela do Protege. O nome genrico da classe criada deve ser apresentado e destacado no campo "Nome" (Name). Se o nome genrico correto mostrado, mas no destacado, apenas d um clique duplo no campo "Nome" para editar o nome. Se um nome incorreto mostrado, ento a classe errada est selecionada na rea de "Hierarquia de Classes" (Class Hierarchy). Clique na classe que se deseja renomear.
Note: Se acidentalmente for criada uma subclasse de Colunista (Columnist), significa que no foi selecionada a classe :THING antes de se criar a nova classe. Pode-se apagar e recriar a classe Autor (Author), clicando no boto Apagar Classe (Delete Class, o quarto boto a partir da esquerda, na parte superior da rea Class Hierarchy) para apagar a classe e, ento, clicar em :THING e recriar outra classe. Pode-se tambm rearranjar a hierarquia de classes arrastando a classe criada para a :THING e, ento, soltando o boto do mouse.
3. Selecione Autor (Author) no "Navegador de Classes" (Class Browser). 4. Clique no boto Criar Classe (Create Class) classe Editor. e renomeie a nova
Modificao da hierarquia
Nesse ponto, observa-se que Autor (Author) e Colunista (Columnist) esto no mesmo nvel (irmos) na hierarquia. Entretanto, conceitualmente, Servio_de_Noticias (News_Service), Editor (Editor) e Colunista (Columnist) esto todos no mesmo nvel de generalidade, enquanto Autor (Author) um conceito mais genrico. Essa disposio no atende aos bons princpios de projeto de ontologias: todos os irmos na hierarquia (exceto aqueles que esto na raiz) devem estar no mesmo nvel de generalidade. Dessa forma, preciso modificar a hierarquia para fazer com que a classe Colunista (Columnist) seja uma subclasse de Autor (Author), o que reflete com mais preciso a estrutura subjacente. Para modificar a hierarquia e tornar Colunista (Columnist) uma subclasse de Autor (Author): 1. Clique em Colunista (Columnist) e arraste-o para sobre a classe Autor (Author) e ento, solte o mouse. Repare que ao arrastar a primeira classe sobre autor, esta ltima destacada.
2. Colunista (Columnist) movida e agora aparece como uma subclasse de Autor (Author).
Nesse caso, o problema pode parecer bvio. Entretanto, quando se desenvolvem ontologias, o prprio processo de desenvolvimento pode revelar diferenas ou paralelos que no eram to claros no incio do processo. Dessa forma, provvel que a medida que tal processo caminha ser preciso rearranjar a hierarquia, criar e apagar classes, de forma a modelar melhor os conceitos que se pretende utilizar.
2. Clique no menu Papel (Role) e selecione Abstrata (Abstract). 3. Note que quando se muda o papel da classe, o cone em frente ao nome da classe, no caso o nome "Autor", alterado. O novo cone indica uma classe abstrata na hierarquia. Um cone slido indica uma classe concreta.
2. V at o painel de superclasses na parte inferior esquerda da janela do Protege, abaixo do "Navegador de Classes " (Class Browser). Note que, quando Colunista (Columnist) est selecionado, a superclasse atual de Colunista (Columnist), que Autor (Author), apresentada no painel de superclasses.
3. Clique no boto Adicionar Superclasse (Add Superclass) na parte superior direita no painel de superclasses. Uma caixa de dilogo de "Selecionar Classes" (Select Classes) ser apresentada, mostrando todas as classes que foram criadas at agora, organizadas em uma hierarquia.
4. Marque Empregado (Employee) e clique em OK. O Colunista (Columnist) agora tem duas superclasses: Autor (Author) e Empregado (Employee). Ambas as superclasses so apresentadas no painel de superclasses.
5. Note que um cone aparece do lado esquerdo de Empregado (Employee). Clique nesse cone para expandir o "filho" (na hierarquia) de Empregado (Employee). Colunista (Columnist) agora aparece em dois lugares no "Navegador de Classes" (Class Browser): uma vez, abaixo de Autor (Author) e, novamente, abaixo de Empregado (Employee).
Para remover uma superclasse de uma classe, marque a superclasse que se deseja remover no painel Superclasses e clique no boto Remover Superclasse (Remove Superclass) . Agora pode-se designar alguns atributos para as classes j inseridas, criando-se slots. Esse assunto ser tratado na prxima seo.
Criao de slots
No Protege, as classes podem ser consideradas como conceitos concretos do domnio, tal como Editor (Editor) e Colunista (Columnist). Classes so mais do que simples objetos organizados na hierarquia. Elas pode tambm ter atributos, tais como nome, nmero de telefone ou salrio, e relaes entre elas, tais como o Autor (Author) de um Artigo (Article). Atributos de classes so descritos utilizando-se slots. Nas sees seguintes apresenta-se o processo de criar slots e atribu-los a classes, a descrio de relacionamentos entre classes usando slots, e o funcionamento da herana de slots.
Criao de um slot a partir da "etiqueta slots" (slot tab) Atribuio de um slot a uma classe Criao de um slot na "etiqueta classes" (Classes tab) Slots e herana
2. Clique no boto Criar slot (Create Slot) no lado direito superior do painel de "hierarquia de slots" (Slot Hierarchy). Um novo slot criado. Assim que o slot criado, recebe um nome genrico, tal como "tutorial_Slot_0". Esse nome automaticamente destacado no "Editor de Slots" (Slot Editor).
3. Para nomear o slot, assegure-se de que o nome genrico est destacado no campo nome (name) do "Editor de Slots" (Slot Editor). Digite o nome do slot, que nesse caso, se chama nome (name). Uma conveno recomendada usar letras minsculas nomes de slots, com as palavras separadas por traos baixos (underscores). Criar slots com nomes em letra minscula, e classes com nomes que se iniciam com letras maisculas, facilita a distino entre eles na ontologia.
4. Observe que esse slot tem string como "tipo de valor padro" (default Value Type). O tipo de valor (Value Type) impem restries relativas aos tipos de valores que um slot pode ter. Um slot do tipo string recebe valores que so qualquer caractere alfanumrico, inclusive espaos. Para esse slot simples, no vai-se alterar quaisquer outras facetas (restries sobre os slots) no "Editor de Slots" (Slot Editor).
Tudo o que foi feito at aqui foi criar um slot que define o atributo geral nome (name). Para incorpor-lo a ontologia, preciso atribu-lo a uma classe, por exemplo: se deseja que cada instncia da classe Autor (Author) tenha um nome. Para fazer isso, retorna-se a "etiqueta Classes" (Classes Tab) e edita-se a classe Autor (Author). Quaisquer atributos criados ou atribudos a uma classe so apresentados no "Editor de Classes" (Class Editor), a direita do "Navegador de Classes" (Class Browser). J se utilizou o "Editor de Classes (Class Editor) para alterar o nome de classes criadas, e tambm para alterar o papel da classe Autor (Author) para abstrata. Agora, vai se utiliz-lo para ver e nomear slots. Para atribuir o slot nome (name) a uma classe: 1. Clique na "etiqueta Classes" (Classes Tab). 2. Destaque a classe Autor (Author) no painel de hierarquia de classes (Class Hierarchy).
Durante um momento, observe o "Editor de Classes" (Class Editor), direita. Essa rea tem um Nome (Name), o qual foi alterado anteriormente para Autor (Author), o papel (Abstract), alm da
documentao e restries. Abaixo desse campo est o painel de "Modelos de Slots" (Template Slots), o qual ocupa toda a metade inferior do painel "Editor de Classes" (Class Editor). Nessa rea so listados todos os slots atribudos a uma classe. No momento, ela est vazia. 3. Para adicionar um slot a uma classe, clique no boto Adicionar Slot (Add Slot) . Os botes de slots aparecem a direita da janela do Protege, logo acima do painel de "Modelos de Slots" (Template Slots).
4. Quando se clica no boto Adicionar Slot (Add Slot), a caixa de dilogo "selecionar modelos de slots" (Select Template Slots) apresenta todos os slots do projeto atual, em ordem alfabtica (com exceo das classes de sistema do Protege, as quais so listadas abaixo da hierarquia de slots).
Observando o painel "Modelos de Slots" (Template Slots) para Autor (Author), verifica-se que nome (name) foi adicionado a lista de slots, junto com suas propriedades, nesse caso, sua cardinalidade (um autor pode ter apenas um nome) e o tipo do slot (slot type), String.
2. Clique no boto Criar Slot (Create Slot) no lado direito do painel "modelos de slots" (Template Slots), o qual apresenta o formulrio para preenchimento de dados sobre o slot:
4. Retorne a janela principal (pode-se deixar caixa de dilogo do editor de slots para salary aberta, caso se deseje; vai-se retornar posteriormente a ela para editar mais propriedades do slot salary). Observe que o slot agora aparece no painel "modelos de slots" (Template Slots) quando Empregado (Employee) destacado.
Slots e herana
No preciso atribuir o slot nome (name) a cada classe em que se deseja que ele aparea. Qualquer subclasse de uma classe automaticamente herda todos os slots da superclasse. Por exemplo, ao clicar na classe Servio_de_Notcias (News_Service), pode-se ver que: a) o slot nome (name) j foi atribudo a essa classe atravs de herana; b) o cone do slot est diferente de quando ele foi atribudo a Autor (Author), ou seja, o cone de "slot herdado" (inherited slot) mostra que esse slot foi atribudo por herana.
Nota: Na barra de menus, clique em Help | Icons para ver a lista de todos os cones da interface do Protege, alm de descries textuais sobre o significado do cone.
Classes com mais de uma superclasse herdam slots de todas as classes superiores. Por exemplo, ao clicar na classe Editor (Editor), pode-se ver que ela herda o slot nome (name) de Autor (Author), e o slot salrio (salary) de Empregado (Employee). A herana mltipla uma funcionalidade importante do Protege.
Definio de facetas de slots para salrio (salary) Criao de um relacionamento com o uso de slots
2. D um clique duplo no slot salrio (salary) no painel "modelos de slots" (Template Slots) para a abrir o formulrio de slots. apresentada uma caixa de dilogo solicitando que seja selecionada a "viso do slot" (Slot View). Ao editar um slot, pode-se escolher se as mudanas sero aplicadas ao slot e a todas as classes relacionados a esse slot -- "slot de nvel superior" (top level slot) -- ou apenas a classe corrente e todas as suas classes filhas, ou seja, de nvel inferior na hierarquia.
3. Nesse caso, deseja-se ver e editar o "slot de nvel superior" (top-level slot). Assegure-se que a opo "viso do slot de nvel superior" (View top-level slot) est selecionada e clique em OK. Essa ao vai alterar a definio do slot em qualquer lugar que ele aparea na ontologia.
4. No formulrio de slots resultante, selecione Flutuante (Float) no menu Tipo de valor (Value Type), a esquerda. Ao criar instncias, ser possvel fornecer apenas nmeros decimais para esse slot.
5. Entre com 0 (zero) no campo "mnimo" (Minimum) na parte inferior esquerda. Essa ao especifica que, para casa instncia de Empregado (Employee), o valor que ser atribudo ao salrio (salary) deve ser positivo.
6. Feche a caixa de dilogo de edio de slots. Pode-se ver que a descrio do slot foi alterada no painel "modelos de slots" (Template Slots). O tipo agora est configurado como "Flutuante" (Float), e o valor mnimo de 0.0 aparece na coluna "outras facetas" (Other Facets).
Note: Fazer alteraes no "slot de nvel superior" (top-level slot) significa modificar a definio fundamental do slot. Corresponde a fazer alteraes na "etiqueta de slots" (Slots Tab). Caso se selecione a opo Ver o slot na classe (View slot at class), todas as mudanas realizadas sero aplicadas apenas quela classe e a seus filhos. Por exemplo, caso se inicie um programa que permita uma pessoa pagar para fazer um estgio no jornal, pode-se criar uma nova subclasse para Empregado (Employee), denominada Pagamento_estagirio (Paying_intern), abrir o slot salrio (salary), selecionar Ver slot na classe (View slot at class) e apagar o valor mnimo. Essa ao criaria um "slot sobreposto" (slot override), o qual afetaria apenas a classe Pagamento_estagirio (Paying_intern), enquanto que para os outros empregados seria preciso criar um salrio no negativo.
Um novo campo, "classes permitidas" (Allowed Classes), apresentado abaixo do menu do menu "tipo de valor" (Value Type).
5. Clique no boto "adicionar classe" (Add Class) que aparece na parte superior direita da rea de "classes permitidas" (Allowed Classes). Surge uma caixa de dilogo para "selecionar classes" (Select Classes), apresentando todas as classes do projeto. Selecione Empregado (Employee) e clique em OK.
6. Para permitir que um editor seja responsvel por mais de um empregado, clique na opo "mltiplo" (multiple) na rea de "cardinalidade" (Cardinality), do lado direito da rea de "tipo de valor" (Value Type).
Aps completar os passos de 1 a 6, o slot responsvel por (responsible_for) deve estar com a seguinte configurao:
O que realmente foi feito? Foi criado um slot que abrangeu uma ou mais instncias da classe Empregado (Employee) com seus valores. Mais tarde, ao se criar uma instncia da classe Editor (Editor), ser preciso especificar por quem o editor responsvel, e poder se escolher uma ou mais instncias da classe Empregado (Employee) para preencher o valor do slot Responsvel por (responsible_for).
Insero de instncias
Instncias so os dados reais da base de conhecimento. Uma boa idia assegurar-se de que o projeto foi bem estruturado, antes de inserir um grande nmero de instncias. Caso sejam necessrias alteraes na estrutura das classes ou slots aps a insero das instncias, pode ocorrer perda de informao. Alm disso, caso se adicionem outros slots, ser necessrio voltar e preencher os valores de slots para todas as instncias criadas anteriormente. Nessa seo, vai-se criar duas instncias para a classe Editor (Editor): 1. Clique na "etiqueta instncias" (Instances Tab). Essa etiqueta tem trs painis. O primeiro, do lado esquerdo, apresenta a hierarquia de classes (class hierarchy). O painel do meio, o qual aparece em branco, apresentar a lista de instncias a serem criadas para uma classe especfica. O terceiro painel corresponde ao "editor de instncias" (Instance Editor), o qual apresenta o formulrio para a instncia marcada no momento, na qual sero inseridos valores de slots.
2. Clique em
3. Clique em Editor (Editor). O boto Criar instncia (Create Instance) no "navegador de instncias" (Instance Browser) se torna ativo, indicando que pode-se agora criar uma instncia.
4. Clique no boto Criar instncia (Create Instance) . Uma instncia criada, e o formulrio do "editor de instncias" (Instance Editor) aparece. Pode-se observar que existem campos, um para cada slot criado anteriormente. Esses campos devem ser usados para inserir valores para os slots. Note que no painel "hierarquia de classes" (Class
Hierarchy), a apresentao da classe Editor (Editor) foi alterada quando se criou a instncia. O nmero "um" entre parnteses (1), aps a classe Editor (Editor), indica que aquela classe agora possui uma instncia.
6. Entre com o valor 150000 no campo Salrio (Salary). Observe que os caracteres nesse campo vo aparecer em vermelho, se outro valor que no seja um valor flutuante (float) vlido for inserido (no Protege, a tentativa de inserir valores que no satisfaam as restries determinadas para o slot, far com que esse valor seja apresentado em vermelho).
A "etiqueta instncias" (Instances Tab) agora, deve parece com a figura abaixo. Observe que a instncia ainda tem um nome genrico no Navegador de Instncias (Instance Browser), tal como "tutorial_instance_0". Na prxima
Para criar uma outra instncia: 1. Clique no boto Criar instncia (Create Instance) de instncias" (Instance Browser). no "navegador
Agora que se criaram algumas instncias, pode-se definir um relacionamento entre elas, por exemplo, pode-se dizer que Chief Honcho "responsvel por" (responsible for) Mr. Science. Antes de fazer isso, de forma a tornar o trabalho com as instncias mais simples, vai-se configurar um "slot de apresentao" (display slot) para a classe Editor (Editor). O Protege apresenta o valor do "slot de apresentao" cada vez que forem apresentadas as instncias da classe. A configurao desse slot explicada na prxima seo.
Para cada classe da ontologia, pode-se especificar um de seus slots para ser um "slot de apresentao" (display slot). O Protege vai apresentar o valor desse slot cada vez que apresentar instncias da classe. Caso no se configure um "slot de apresentao", o Protege apresenta um nome gerado pelo sistema para o slot, tal como "tutorial_Instance_0". Assim, til configurar um "slot de apresentao" para todas as classes que tero instncias. De fato, pode-se escolher configurar esses slots para as classes antes mesmo de comear a criar instncias. Para configurar um "slot de apresentao" (display slot) para a classe Editor (Editor): 1. Selecione a "etiqueta de instncias" (Instances Tab). 2. Selecione Editor no painel "hierarquia de classes" (Class Hierarchy). 3. Clique no cone do menu "Instncia" (Instance), em uma seta que aponta para baixo, do lado direito do "navegador de instncias" (Instance Browser).
5. Selecione nome (name) no menu Slot de Apresentao (Display Slot). 6. A apresentao da lista de instncias no "navegador de instncias" (Instance Browser) se altera para refletir o "slot de apresentao" (display slot) escolhido. As instncias do "editor de classes" (Class Editor) so agora listadas por valor do nome (name) do slot (instncias so sempre apresentadas em ordem alfabtica ou numrica). A partir de agora, ser possvel navegar nas instncias da classe Editor (Editor) por nome (name) na "etiqueta de instncias" (Instances Tab), e em qualquer outro lugar na interface do Protege onde listas de instncias so apresentadas.
2. Selecione Chief Honcho no "navegador de instncias" (Instance Browser). Sero apresentados os slots para Chief Honcho no formulrio do "editor de instncias" (Instance Editor), inclusive o slot Responsvel Por (Responsible For). Note que o Protege usa o slot "nomes" (names) no formulrio de instncias, mas automaticamente converte os traos baixos (underscores) para espaos e torna maiscula a primeira letra de cada palavra. 3. Clique no boto Adicionar Instncia (Add Instance) do lado direito superior do campo Responsvel por (Responsible For).
4. Uma caixa de dilogo com dois painis aberta. Do lado esquerdo, pode-se ver a hierarquia de "classes permitidas" (allowed classes) para o slot responsvel_por (responsible_for).
5. D um clique simples em Editor. Do lado direito do dilogo, todas as instncias da classe Editor (Editor) so apresentadas. Selecione Mr. Science e clique OK.
6. Agora, foi criado um relacionamento na ontologia, especificando que Chief Honcho "responsvel por" (responsible for) Mr. Science.
Personalizao de um formulrio
Para cada classe na ontologia, o Protege gera um formulrio padro que pode ser utilizado para inserir dados, ou seja, instncias. Os formulrios (forms) contm um campo de entrada de dados, denominado "forma grfica" (widget), para cada slot relacionado a uma classe. Existem diferentes tipos de "formas grficas" (widgets), para manipular os vrios tipos de valores de slots. Por exemplo, o Protege atribui um widget denominado "InstanceListWidget" a slots com tipos de valores "instncia" (instance) e cardinalidade mltipla. Caso no se queira utilizar o formulrio padro que o Protege gera para uma classe, pode-se personaliz-lo atravs da "etiqueta formulrios" (Forms Tab). Dentre outras possibilidades, pode-se redimensionar widgets, arrast-los para outros locais do formulrio, ocult-los, e mesmo selecionar diferentes tipos de widgets.
Para ver como as mudanas que sero realizadas na "etiqueta formulrios" (Forms Tab) nas prximas sees refletem no "editor de instncias" (Instance Editor), v at o "editor de instncias" (Instances Tab), e d um clique duplo sobre Chief Honcho no "navegador de instncias" (Instance Browser) para apresentar uma janela separada do "editor de instncias" (Instance Editor). Observe que se foram criados slots para a classe Editor de forma diferente daquela explicada nesse tutorial, o formulrio pode no ser apresentado exatamente igual as figuras das sees seguintes.
Redimensionamento de formas grficas (widgets) Movimentao de formas grficas (widgets) Personalizao dos botes das formas grficas (widgets) Ocultamento de uma forma grfica (widget) Apresentao de uma forma grfica (widget) oculta Uso do layout padro
3. Clique sobre o lado direito do widget e arraste para aumentar seu tamanho. Tente alinhar o lado direito desse widget com o lado direito do widget do slot nome (name).
4. Observe que o cone em frente a Editor no "navegador de formulrios" (Form Browser) foi alterado. O novo cone indica que o formulrio para essa classe foi personalizado.
2. Arraste-o para a parte superior direita do formulrio, de forma que a linha superior do widget se alinhe como a linha superior do widget para o slot nome (name).
3. Clique na caixa de seleo em frente de "Mostrar boto de apagar instncia" (Show Delete Instance Button) para selecionar essa opo.
2. Selecione "<none>" para a caixa combo box "tipo de forma grfica selecionada" (Selected Widget Type).
3. A "forma grfica" (widget) para o slot salrio (salary) no est mais visvel no "editor de formulrios" (Form Editor).
2. Na caixa de dilogo "configurar formulrio" (Configure form), pode-se ver uma lista de todos os slots e suas formas grficas correspondentes.
3. Clique em "<none>" na coluna do lado direito, ao lado de salrio (salary), para apresentar diferentes opes de widgets para esse slot, e selecione "forma grfica de ponto flutuante" (FloatFieldWidget).
4. Clique OK.
5. A "forma grfica de ponto flutuante" (FloatFieldWidget) para o slot salrio (salary) est agora visvel novamente no "editor de formulrio" (Form Editor).
Caso as personalizaes realizadas no atendam as expectativas, o Protege permite rearranjar rapidamente todos as "formas grficas" (widgets) visveis de acordo com o layout padro, acomodando o tamanho atual de cada widget. Para que o Protege organize automaticamente todas as "formas grficas" (widgets) de acordo com o layout padro: 1. Assegure-se que Editor est selecionado no "navegador de formulrios" (Form Browser). 2. Clique no boto Remover personalizaes de formulrios (Remove Form Customizations) , do lado superior direito do "navegador de formulrios". 3. O formulrio se ajusta para apresentar o layout padro. Caso se tenham ocultado "formas grficas" (widgets), elas sero apresentadas novamente. Observe tambm que o cone em frente de Editor volta a ser o cone de formulrio padro .
Criao de uma consulta (query) Execuo de uma consulta (query) Armazenamento de uma consulta (query) Recuperao de uma consulta (query)
2. Clique no boto Selecionar Classes (Select Cls) acima da caixa de texto para classes (class), no painel de consultas (Query pane).
3. Selecione Empregado (Employee) na caixa de dilogo "selecionar classes" (Select Classes), e ento clique em OK.
acima da caixa de
5. Selecione salrio (salary) na caixa de dilogo "selecionar slot" (Select Slot) e clique OK.
O menu do lado direito da caixa de texto de slots est agora ativo, e a caixa de texto mais a direita da janela relembra que o tipo de valor do slot selecionado "ponto flutuante" (float).
6. Selecione " maior que" (is greater than) no menu suspenso (drop down menu). Em seguida, entre com o valor "75000" na caixa de texto Float.
2. Os resultados so mostrados no painel de "resultados de busca" (Search Results), do lado direito da tela. Caso no seja possvel ver os resultados, ser preciso aumentar a janela ou mover a barra que separa o painel.
Note: Para ver o "editor de instncias" (Instance Editor) basta dar um clique duplo em qualquer instncia dos "resultados da busca" (Search Results).
2. Digite "sample_query" na caixa de dilogo "entrar com o nome da consulta" (Input Query Name).
Note: Pode-se digitar um nome de consulta diretamente na caixa de texto "nome da consulta" (Query Name) na janela principal e clicar no boto Adicionar a biblioteca de consultas (Add to Query Library).
3. Clique OK. O nome apresentado na caixa de texto "nome da consulta" (Query Name) e a consulta listada no painel "biblioteca de consultas" (Query Library) na parte de inferior da tela.
2. Selecione "sample_query" na "biblioteca de consultas" (Query Library) na parte inferior da tela. Caso no seja possvel ver a "biblioteca de consultas" ( Query Library), ser preciso aumentar a janela ou mover a barra de separao.
para
4. A consulta salva agora apresentada na parte superior da janela. Caso desejado, pode-se nesse momento, alterar a consulta. Pode-se tambm combinar consultas clicando no boto Mais (More).
Voc est no site www.eci.ufmg.br/mba - Tutorial: Noes bsicas para uso do Protege. Traduo: Prof. Mauricio B.Almeida - mba@eci.ufmg.br - Escola de Cincia da Informao - UFMG Original: Sachs, E. Getting Started with Protege-Frames. (2006). Available from Internet: <http://protege.stanford.edu/doc/tutorial/get_started/get-started.html>. Acess 9 July 2006