Você está na página 1de 11

16/06/13

IntroductionToOntologiesWithProtege - Tutorial Ontologia

Introduo Ontologia com Protege


Esboo
Tutorial criado Explorando Protege Classes Propriedades do objeto Propriedades de dados Indivduos Atribuio Recursos adicionais

Tutorial Configurar
Baixe e instale Protege
Todos os tutoriais so projetados para serem usados c om Protege 4.0. Faa o download de http://protege.stanford.edu/ . A verso atual Protege 4.1. Instal-lo em sua mquina.

Faa o download do Ontologia Famlia


Faa o download do Ontologia Famlia (clique neste link, em seguida, role at o final da pgina e clique em "Formato Original") e salve-o em sua mquina local. Nota: A maneira como isso TRAC ofertas Wiki com anexos podem causar problemas. Se voc est tendo problemas para baixar o anexo (voc pode obter um arquivo html. Quando voc tenta baix-lo), voc tambm pode encontrar a ontologia em http://users.csc.calpoly.edu/ ~ fkurfess/Courses/481 / W11/Material/Ontologies/family_example.owl . Este link tambm deve funcionar se voc baixar a ontologia diretamente Protege atravs do Aberto de URL opo.

Comece Protege
Quando voc abre Protege voc deve ver uma tela de boas-vindas. Selecione "Abrir Ontologia OWL" e navegue at o local onde voc salvou a Ontologia da Famlia.

Apresentando a Ontologia Famlia


Ns estaremos usando uma ontologia famlia para mostrar exemplos de como usar protegido para editar / criar ontologias. Os indivduos nesta ontologia correspondem a esta rvore genealgica:

Explorando Protege
Uma vez que voc abriu a Ontologia Famlia voc vai estar na Ontologia atividade tab. As guias dar-lhe pontos de vista diferentes para a ontologia. Acima das guias o URI da ontologia que voc tem aberto. A URI
https://wiki.csc.calpoly.edu/OntologyTutorial/wiki/IntroductionToOntologiesWithProtege 1/11

16/06/13

IntroductionToOntologiesWithProtege - Tutorial Ontologia

importante porque ele anexado frente de cada entidade na ontologia. Ento, quando eu falo sobre classe Pessoa, eu estou realmente falando https://wiki.csc.calpoly.edu/OntologyTutorial/family_example.owl # Pessoa. Isto como ontologias gerenciar namespaces e evitar conflitos de nomes.

O que uma ontologia? Uma ontologia uma descrio de um domnio. Ontologias podem ser escritos em vrios formatos e podem ser utilizados por computadores para raciocinar sobre o domnio que descrevem. Eles tambm so teis como um formato comum que permite a troca de conhecimento entre aplicaes / plataformas. As ontologias estaremos trabalhando com so escritas em OWL 2. OWL 2 uma linguagem de ontologia que define os conceitos que voc pode usar para escrever uma ontologia. Se voc no estiver familiarizado com as ontologias, dedique alguns minutos e explorar os links a seguir para se dar algum contexto antes de se mudar

Viso Tab
Tab Ontologia ativo . Este guia descreve as informaes sobre a prpria ontologia, tais como informaes sobre a verso e informaes sobre o contedo da ontologia. Esta informao conhecida como metainformao . Entidades . Este guia tem a funcionalidade dos quatro abas prximas combinadas ( Classes , das propriedades de objetos , propriedades de dados , e Pessoas Fsicas ). Para manter as coisas simples neste tutorial no vamos estar a utilizar este guia. Classes . Isto onde voc pode editar as classes na ontologia. Estaremos cobrindo este guia em detalhe. Propriedades do objeto . Essa guia permite que voc edite as possveis relaes entre dois objetos. Estaremos cobrindo este guia em detalhe.
https://wiki.csc.calpoly.edu/OntologyTutorial/wiki/IntroductionToOntologiesWithProtege 2/11

16/06/13

IntroductionToOntologiesWithProtege - Tutorial Ontologia

Propriedades de dados . Essa guia permite que voc edite os dados (strings, ints, data e hora, etc) pode at adicionado s aulas. Estaremos cobrindo este guia em detalhe. Indivduos . Isto onde voc pode editar instncias de classes, chamado indivduos. Estaremos cobrindo este guia em detalhe. OWL Viz . Este guia tem ferramentas que permitem visualizar as partes da ontologia. DL consulta . Este guia tem ferramentas para consulta de informaes na ontologia.

Classes
V em frente e mudar para o Classes guia. Este guia mostra as classes da ontologia que foram definidos. Classes de ontologia so muito semelhantes s aulas de um programa orientado a objeto. Assim como nas aulas de programao orientada a objeto em ontologias formam uma hierarquia. Voc pode visualizar esta hierarquia no painel do lado direito marcado afirmado hierarquia de classes . A classe raiz que est no topo da hierarquia de herana coisa (isto verdade para todas as ontologias OWL). Se voc clicar no tringulo ao lado de coisa que voc vai ver as classes que so descendentes de coisa . Clique no tringulo ao lado de Pessoa para ver as classes descendem de Pessoa . Como so as classes Ontologia diferente de Classes Orientada a Objetos? Enquanto eles so semelhantes em muitos aspectos, uma diferena importante a lembrar que um indivduo em uma ontologia pode pertencer a 0 ou mais classes, alm de todas as classes herdadas. No nosso exemplo, a famlia, isso significa que o mesmo indivduo pode ser uma filha e uma me, alm de ser uma pessoa e coisa. H maneiras de limitar o que as outras classes de um indivduo de uma classe pode pertencer, mas ausentes tais indivduos informaes explcitas podem ser membros de to poucas ou quantas aulas o criador ontologia quer que eles sejam. Clink em classe Parent no painel esquerdo. Para a parte inferior direita um painel intitulado Descrio: Parent . Este o lugar onde as informaes sobre a classe que atualmente visualizando exibida. Esta seo dividida em cinco categorias, quatro dos quais podem ser editados diretamente:

https://wiki.csc.calpoly.edu/OntologyTutorial/wiki/IntroductionToOntologiesWithProtege

3/11

16/06/13

IntroductionToOntologiesWithProtege - Tutorial Ontologia

Classes equivalentes Esta seo descreve outras classes ou grupos que so equivalentes aos da classe selecionada. No caso do pai qualquer pessoa que tem um filho. Superclasses so a classe pai (es) da classe selecionada (lembre-se: uma vez que voc pode ter vrias classes que voc tambm pode ter vrias superclasses). Agora no h nenhuma superclasse para Pais, embora a hierarquia de classes tem afirmado sob Pessoa. Quando iniciamos o raciocnio mais tarde a pessoa superclasse vai aparecer l. Membros Isso mostra aqueles indivduos que so membros dessa classe. Eles podem ser adicionados explicitamente aqui, ou inferida mais tarde, porm raciocnio. Aulas disjuntos Isso permite que voc selecione explicitamente as classes que os membros da classe selecionada no pode tambm pertencem. Devido forma como me e pai so definidos seria redundante para marc-los disjuntos. Na maioria das vezes voc no precisa marcar explicitamente classes como disjuntos, mas pode ser til se voc estiver usando algum raciocnio ou aplicao externa para fazer as definies de classe como explcita e exata possvel. Percorra as classes fornecidas e tentar comear uma sensao para os conceitos que esto tentando descrever. Depois de terminar a olhar para as classes ir para o menu superior e selecione Reasoner -> Fact + +. Isso ir ligar o MI para deduzir fatos adicionais sobre as aulas. Os interruptores de painel da esquerda para a hierarquia de classes inferidos de afirmado hierarquia de classes automaticamente, mas voc pode clicar em qualquer um dos botes guia ida e volta entre os pontos de vista. Clique sobre a filha de classe, voc vai perceber que descendncia? foi adicionado como uma superclasse. Se voc pensar sobre a definio de descendncia? ea definio de Filha, esta inferncia deve fazer sentido. Voc tambm deve observar que alguns indivduos tornaram-se membros de determinadas classes (veremos por que motivo quando editamos indivduos mais tarde). Agora vamos criar uma nova classe chamada Irmos. Selecione Pessoa e, em seguida, clique no cone Adicionar subclasse. Uma caixa de dilogo ir aparecer, digite Irmos na caixa de texto. Uso comum costume criar classes com nomes como seus nomes, pois isso o que eles
https://wiki.csc.calpoly.edu/OntologyTutorial/wiki/IntroductionToOntologiesWithProtege 4/11

16/06/13

IntroductionToOntologiesWithProtege - Tutorial Ontologia

representam. Tambm costume fazer capitalizar nomes de classe, se forem vrias palavras capitalizar cada um.

Agora clique no sinal de + ao lado de classes equivalentes . Na Classe expresso editor pop up entrar P e s s o aeh a s S i b l i n ga l g u n sP e s s o a O que isto significa que voc um membro da classe do irmo, se voc uma pessoa e voc tem um irmo que uma Pessoa. A sintaxe usada aqui a sintaxe OWL Manchester e explicado nesta pgina http://www.co-ode.org/resources/reference/manchester_syntax/ . Voc notar que Sibling no tem membros. Select Reasoner -> Fact + + novamente e voc ver e Mary Sue (e outros) aparecem como irmos. Quando voc faz alteraes em sua ontologia que voc precisa para executar o pensador novamente para fazer a inferncias baseadas em suas alteraes.

https://wiki.csc.calpoly.edu/OntologyTutorial/wiki/IntroductionToOntologiesWithProtege

5/11

16/06/13

IntroductionToOntologiesWithProtege - Tutorial Ontologia

Antes de prosseguir select Reasoner -> Nenhum no menu superior. Isto ir desligar o raciocnio e esconder todas as associaes deduzidas.

Propriedades do objeto
Selecione o Object Properties tab. Todos os guias Protege so essencialmente similar. esquerda est a lista de propriedades do objeto. Se voc clicar em uma das propriedades informaes sobre eles aparecero nos painis direita. Propriedades do objeto so formas de se relacionar dois objetos. Eles tambm so chamados de predicados. Se voc est falando sobre as propriedades do objeto que voc geralmente usa a sintaxe object1 OBJECTPROPERTY object2 por exemplo, "Sam hasParent Steve." Diferena entre classes e propriedades do objeto. Na ltima guia que tnhamos um pai de classe. Aqui temos uma propriedade do objeto hasParent. A afirmao de "Sam hasParent Steve" Steve automaticamente fazer um membro da classe pai? S se o pai classe criada com as restries corretas para fazer essa verdade. A lgica tudo dentro da classe pai. Para dar outro exemplo, digamos que criamos uma propriedade do objeto hasUncle, em seguida, afirmou que "Sam hasUncle Cliff". Ser que um tio classe aparecer magicamente? No. Para fazer um tio classe teramos que fazer a mesma coisa que fizemos isso a classe Irmos - cri-lo e, em seguida, adicionar uma restrio significativa. Propriedades do objeto e as aulas so conceitos distintos e restries de uso para conect-los juntos. Temos de escrever essas restries manualmente. Ento, por que usar os dois? Algumas ontologias tm muitas aulas e algumas propriedades do objeto, outros so o oposto. Alguns usam uma combinao. Fazendo uma me de classe torna mais fcil a busca de todas as mes. Mas um pouco mais difcil de procurar automaticamente para todas as crianas com suas respectivas mes, se voc no tem a relao hasMother. Da mesma forma, se voc tem a relao hasMother fcil de obter todos os x hasMother y pares de x e y, mas no construdo na lgica dizendo que todos aqueles que de forma y uma classe especial que poderia ter propriedades prprias (favoriteMothersDayGift?). Tendo ambos uma classe me e uma propriedade hasMother torna o modelo mais completo, mas voc pode at mesmo com um modelo
https://wiki.csc.calpoly.edu/OntologyTutorial/wiki/IntroductionToOntologiesWithProtege 6/11

16/06/13

IntroductionToOntologiesWithProtege - Tutorial Ontologia

muito complicado se voc tentou fazer isso com todos os conceitos em seu domnio. Clink em hasGender. Voc vai notar que ele tem um domnio e Range, assim como uma funo. Isto significa que "hasGender" diz respeito a pessoas sexos. Por exemplo, "John Masculino hasGender" seria vlido, mas "Masculino hasGender John" no seria. Restries de domnio e Gama so opcionais, em pequenas ontologias como este no ser necessrios, desde a sua relativamente fcil para um usurio humano para saber o que deve um no deve ser relacionado. No entanto, elas podem ser muito poderosa em grandes ontologias e para utilizao no raciocnio.

Clique em hasChild. Ele tem a propriedade hasParent Inverse. O que isto significa que que cada vez "x hasChild y" que pode ser inferido "y hasParent x". Voc notar hasParent tem hasChild como seu inverso tambm. Nenhuma das nossas aulas tm propriedades disjuno, mas isso tambm um conceito til. Ela diz que duas pessoas no podem ser conectados por ambas as propriedades. Imagine que adicionar uma propriedade de objeto "hasSpouse". Poderamos marcar disjuntos hasSpouse com hasChild modo que, se x hasChild y ento x hasSpouse y seria invlido. Isso tornaria impossvel marcar algum como ser casada com seu filho. Clique na propriedade hasSibling. Algumas das caixas de seleo em caractersticas so verificadas. Vamos repassar o que eles significam: Funcional e funcional Inverse A propriedade funcional pode ter apenas um membro na faixa para qualquer membro do domnio. Por exemplo hasGender marcado como funcional, para que cada pessoa pode ter apenas um gnero. Inverso funcional o nico de cada membro oposto do domnio de correspondncia membro da gama. Imagine que voc gostaria de interface de sua ontologia com um banco de dados de pessoas. Voc pode querer criar uma propriedade hasid. Essa propriedade pode ser marcado como Inverse funcional, j que voc quer que cada ID para corresponder a uma nica pessoa. Transitiva Isto significa que "x aProperty y" e "z y aProperty" implica "x aProperty z". Um exemplo fcil seria a propriedade hasSibling. Se Maria o irmo de Jane, que o irmo de Sue, em seguida, Mary tambm deve ser o irmo de Sue. No entanto, voc vai notar que a propriedade hasSibling no ter verificado transitiva. Isto porque a propriedade transitiva tem uma exigncia de que ele no pode ser utilizado quando h certas outras
https://wiki.csc.calpoly.edu/OntologyTutorial/wiki/IntroductionToOntologiesWithProtege 7/11

16/06/13

IntroductionToOntologiesWithProtege - Tutorial Ontologia

restries sobre a propriedade (neste caso, a sua eis os irreflexivo conflitantes). Tente verificar transitiva e executar o pensador - voc deve obter um erro. Desmarque-a para que voc possa executar o pensador mais tarde. s vezes, voc vai correr em exemplos em que voc est tentando expressar algo e voc obter erros REASONER vagas. Isso geralmente significa que ou voc fez algo errado ou que o que voc est tentando expressar no pode ser expresso. Tente executar o pensador muitas vezes, quando voc est construindo o seu prprio ontologias, ento voc pode no ser capaz de rastrear onde ocorreu o erro! Symmetric Isto significa que "x aProperty y" significa "y aProperty x". Asymmetric Isto significa que, se "x aProperty y", ento "y aProperty x" no pode ser verdade tambm. Reflexiva Isto significa que "x aProperty x" sempre verdadeira. Por exemplo, se voc estava modelando redes de amigos que voc pode querer um isKnownBy propriedade. Esta propriedade pode ser reflexivo, j que todos se conhecem. Irreflexivo Isto significa que "x aProperty x" nunca verdadeiro. Em nossos exemplos, isso significa que uma pessoa no pode ser seu prprio irmo. Cadeias de propriedade so um novo recurso para OWL 2. Eles so usados para afirmar uma nica propriedade com base na existncia de vrias propriedades. Vamos criar uma nova propriedade hasGrandparent. Primeiro clique no boto Propriedade add e digite "hasGrandparent", ento sob Descrio pressione o sinal de mais ao lado de cadeias de propriedade. Na caixa de texto digite: h a s P a r e n toh a s P a r e n t Clique em OK e, em seguida, salvar o modelo. A sintaxe para as cadeias de propriedade bastante simples. Este afirma que, se um x hasParent y e y hasParent z ento x hasGrandparent z. Uma vez que este formato de ir a partir da propriedade de um objeto para a propriedade do prximo objeto no exigem o uso de variveis que voc use o smbolo de o ligar as propriedades da cadeia. Cadeias de propriedade pode conectar mais de duas propriedades.

https://wiki.csc.calpoly.edu/OntologyTutorial/wiki/IntroductionToOntologiesWithProtege

8/11

16/06/13

IntroductionToOntologiesWithProtege - Tutorial Ontologia

Propriedades de dados
Clique na aba propriedades de dados. Propriedades de dados so como as propriedades dos objetos, exceto os seus domnios so digitados literais. Clique na propriedade fullName. Esta propriedade relaciona pessoas para cordas, a corda sendo que o nome completo da pessoa. Isto como voc pode dar aos indivduos dados como dateOfBirth. As coisas que voc pode fazer com propriedades de dados so um subconjunto das coisas que voc pode fazer com as propriedades do objeto. Permite adicionar dateOfBirth a nossa ontologia. Clique no boto Add New Data propriedade eo nome da propriedade "dateOfBirth". Faa seu domnio Pessoa e sua data de gama.

Indivduos
Clique na aba indivduos. Aqui voc pode ver todas as instncias dentro de sua ontologia. O layout similar ao das outras abas. Clique em alguns dos indivduos. Voc vai ver que eles tm relativamente poucos objetos afirmaes de propriedade. Clique em Maria. Ela tem apenas quatro afirmaes de propriedade do objeto e dois tipos. Agora, execute o pensador. Agora Mary tem trs tipos mais inferidos e mais 5 afirmaes objeto de propriedade.

https://wiki.csc.calpoly.edu/OntologyTutorial/wiki/IntroductionToOntologiesWithProtege

9/11

16/06/13

IntroductionToOntologiesWithProtege - Tutorial Ontologia

Permite rastrear onde cada um deles veio. Filha Se voc voltar para a pgina de aulas e olhar para a filha de classe que voc vai ver a sua definio "Pessoa e hasParent alguma pessoa eo valor FemaleGender hasGender". Isso significa que, para ser classificada como uma Filha de um indivduo deve 1) ser uma pessoa 2) ter um pai 3) ser do sexo feminino. Podemos ver que Mary atende a essas restries e, portanto, classificada como uma filha. Me e irmo seguem a mesma lgica com um pouco diferentes propriedades do objeto. hasChild Tom Como a ontologia saber que Tom filho de Maria? Se voc vai para a definio de hasChild voc ver que a sua tem uma propriedade hasParent inverso. Assim, se Tom hasParent Mary, Mary hasChild Tom. Voltando Indivduos e clicar em Tom ir confirmar que ele realmente tem essa propriedade de objeto. Da mesma forma para Jim. hasSibling Scott Tanto Scott e Anne so marcados como "hasSibling Mary" e desde hasSibling simtrica Maria recebe esta propriedade com eles. hasGrandparent Dave A cadeia de propriedade para hasGrandparent "hasParent o hasParent -> hasGrandparent". Mary hasParent Bob que hasParent Dave, portanto Mary hasGrandparent Dave. Assim, podemos ver que um nmero relativamente pequeno de afirmaes bsicas sobre os indivduos pode ser usado com definies de classes e propriedades de objetos para inferir um nmero maior de afirmao. Isso muitas vezes melhor do que o preenchimento de todas as afirmaes manualmente, uma vez que este mtodo tem menos chance de erros de entrada de dados. Clique no boto individual add. Nomeie o Tim indivduo e faz-lo da criana e do Dave e irmo de Bob. Execute o pensador novamente e certifique-se Tim aparece em propriedades do objeto inferido para tanto Dave e Bob.

Recursos adicionais
Para uma mente soprando (e potencialmente computador deixar de funcionar)-ly grande e detalhado ontologia
https://wiki.csc.calpoly.edu/OntologyTutorial/wiki/IntroductionToOntologiesWithProtege 10/11

16/06/13

IntroductionToOntologiesWithProtege - Tutorial Ontologia

famlia ver http://www.cs.man.ac.uk/ ~ stevensr / ontologia / family.rdf.owl . Carreg-lo no Protege, mas corre o pensador em seu prprio risco! A descrio da interface protegido pode ser encontrada aqui http://protegewiki.stanford.edu/index.php/Protege4Views . um pouco de luz em partes, mas um bom recurso. No sei o que um determinado OWL 2 conceito tudo isso? Confira aqui http://www.w3.org/TR/owl2-primer/

Anexos
family.jpeg ( 31,2 KB ) - adicionado por eschwarz trs anos atrs. protege_activeOntology.jpg ( 114,9 KB ) - adicionado por eschwarz trs anos atrs. protege_classes.jpg ( 81,4 KB ) - adicionado por eschwarz trs anos atrs. protege_classesInference.jpg ( 92,7 KB ) - adicionado por eschwarz trs anos atrs. protege_classesSibling.jpg ( 85,7 KB ) - adicionado por eschwarz trs anos atrs. protege_objectProperties.jpg ( 76,1 KB ) - adicionado por eschwarz trs anos atrs. protege_dataProperties.jpg ( 68,0 KB ) - adicionado por eschwarz trs anos atrs. protege_objectPropertiesGender.jpg ( 75,8 KB ) - adicionado por eschwarz trs anos atrs. protege_individuals.jpg ( 99,3 KB ) - adicionado por eschwarz trs anos atrs. family_example.owl ( 17,0 KB ) - adicionado por fkurfess dois anos atrs. "famlia Ontologia Exemplo"

https://wiki.csc.calpoly.edu/OntologyTutorial/wiki/IntroductionToOntologiesWithProtege

11/11