W3C. W3C Semantic Web Activity. Disponível em: < Acesso em junho de 2008.

Tamanho: px
Começar a partir da página:

Download "W3C. W3C Semantic Web Activity. Disponível em: < Acesso em junho de 2008."

Transcrição

1 RUSSI, D. T. A.; SILVA, F. A. O Uso da Gramática de Grafos em Especificações Formais. Disponível em < Acesso em junho de W3C. W3C Semantic Web Activity. Disponível em: < Acesso em junho de

2 SOUZA, M. I. F., VENDRUSCULO, L. G., MELO, G. C. Metadados para a descrição de recursos de informação eletrônica: utilização do padrão Dublin Core. Ciência da Informação, v. 29, n. 1, p , abr SOWA, J. F. Knowledge Representation: Logical, Philosophical, and Computational Foundation. Brooks Cole Publishing Co., Pacific Grove, CA, Actual publication date, 16 August SOWA, J. F. Building, sharing and merging ontologies. Tutorial. [S. 1. : s. n.], Disponível em < Acesso em setembro de SKUCE, D. IKARUS. CODE4: a unified system for managing conceptual knowledge. International Journal of Human-Computer Studies, n. 42, p , SWARTOUT, B. et al. Toward distributed use of large-scale ontologies. In: PROCEEDINGS OF AAAI97 SPRING SYMPOSIUM SERIES WORKSHOP ON ONTOLOGICAL ENGINEERING, [S. l.] : AAAI Press, p SWOOGLE. Swoogle: A Semantic Web Search. Disponível em < Acesso em junho de WOODS, W.A. What's in a link : Foundations for semantic networks. In D.G. Bobrow and A. Collins, editors, Representation and Understanding: Studies in Cognitive Science. Academic Press, New York, OWL. Web Ontology Language Overview. Disponível em < Acesso em novembro de PROTEGE. Protégé Project. Disponível em: < Acesso em junho de 2007a. PROTEGE. Protégé Contributions Library. Disponível em plugins.html/>. Acesso em junho de 2007b. < PROTEGE. Protégé PROMPT Plug-In. Disponível em < prompt/prompt.html/>. Acesso em junho de 2007c. 89

3 NOY, F. N.; GUINNESS, D. L. Ontology development 101: a guide to create your first ontology. Stanford University, USA, Disponível em < Acesso em setembro de NOY, N.; MUSEN, M. SMART. Automated Support for Ontology Merging and Alignment. Banff Workshop on Knowledge Acquisition, Modeling, and Management, Banff, Alberta, Canada, NOY, N.; MUSEN, M. The PROMPT Suite: Interactive Tools For Ontology Merging And Mapping. International Journal of Human-Computer Studies, PALAZZO, L.A. M. Introdução à Programação Prolog. EDUCAT, Pelotas, PALAZZO, L.A. M. Projeto e Construção de Ontologias. Disponível em < Acesso em abril de PALAZZO, L.; PONTES, A.; ULYSSEA, M.; PORTO, P. Comunidades Virtuais de Aprendizado Adaptativo. In: Conferência Nacional em Ciência, Tecnologia e Inovação. Ministério da Ciência e Tecnologia, Florianópolis, PINTO, S.; GOMEZ-PEREZ, A.; MARTINS, J. Some Issues on Ontology Integration. Workshop on Ontologies and Problem Solving Methods: Lessons Learned and Future Trends, RICH, E. Artificial Intelligence. McGraw-Hill Book Company, RICHARDSON, R.; SMEATON, A. F.; MURPHY, J. Using WordNet as Knowledge Base for Measuring Semantic Similarity between Words. Technical Report CA-1294, Dublin City University, School of Computer Applications, Disponível em: [ acesso em maio de SCHEMAWEB. SchemaWeb directory. Disponível em Acesso em junho SCIME, A. Web Mining: Aplications and Techniques. State University of New York College at Brockport, USA,

4 LIBRELOTTO, G.R., RAMALHO, J.C., HENRIQUES, P.R. TM-Builder: Um Construtor de Ontologias Baseado em Topic Maps, XXIX Conferencia Latinoamericana de Informática, MAEDCHE, A. S. Discovering Conceptual Relations from Text. Techical Report 400, University of Karlsruhe, Institute AIFB, Karlsruhe, Germany. Fevereiro de Disponível em < id_db=50> Acesso em Maio de MAEDCHE, A.; VOLZ, R. The text-to-onto ontology extraction and maintenance environment to appear. In: PROCEEDINGS OF THE ICDM WORKSHOP ON INTEGRATIN DATA MINING AND KNOWLEDGE MANAGEMENT, 2001, San Jose, California. [S. l. :.n.], MAHALINGAM, K.; HUHNS, M. N. An ontology tool for query formulation in an agentbased context. In: IFCIS INTERNATIONAL CONFERENCE ON COOPERATIVE INFORMATION SYSTEMS, 2., 1997, Kiawah Island, SC. [S. l. : s. n.], p MATTHEW, H.; KNUBLAUCH, H.; ALAN, R.;STEVENS, R.; WROE, C.. A Practical Guide To Building OWL Ontologies Using The Protégé-OWL Plugin and CO-ODE Tools. Manchester University, England, MCGUINNESS, D. L.; FIKES, R.; RICE, J., and WILDER, S.. The Chimaera Ontology Environment." Proceedings of the Seventeenth National Conference on Artificial Intelligence (AAAI 2000). Austin, Texas. July 30 - August 3, MILLER, G. A. WordNet: a lexical database for English. Communications of the ACM, v. 38, n. 11, p , nov MINSKY, M.A. A Framework for Representing Knowledge. McGraw-Hill, NewYork, 1975 MIZOGUCHI, R. Tutorial on ontological engineering. The Institute of Scientific and Industrial Research, Osaka University. NOY, N. F. Presentation: Ontologies and tools Disponível em: < OntologiesAndTools/OntologiesAndTools. ppt>. Acesso em junho de

5 DOMINGUE, J.; MOTTA, E. A; CORCHO, O. Knowledge modeling in web onto and OCML: a user guide. [ S. l. : s. n.], Disponível em: < webonto/user _guide. 2.4.pdf>. Acesso em junho de DC. Dublin Core Metadada Initiative. Dublin Core metadada element set, version 1.1: reference description. Disponível em < Acesso em abril de FARQUHAR, A.; FIKES, R.; RICE, J. The ontolingua server: USA: a tool for collaborative ontology construction. Duluth : Academic Press, p FELICÍSSIMO, C. H. Interoperabilidade Semântica na Web: Uma Estratégia para o Alinhamento Taxonômico de Ontologias. Dissertação de Mestrado. Rio de Janeiro: PUC, Departamento de Informática, FOAF. Friend Of A Fried Vocabulary Specification. Disponível em < Acesso em abril de GÓMEZ-PÉREZ, A.; FERNANDEZ-LÓPEZ, M.; CORCHO, O. Ontological engineering. London, Springer, GRUBER, T. What is an ontology? [S. l. : s. n.], Disponível em < kst/ what-is-an-ontology.html>. Acesso em setembro de GRUBER, T. Ontolíngua: a mechanism to suport portable ontologies. Stanford: Knowledge System Laboratory, Stanford University, Techincal Report. GUARINO, N. (1998). Formal Ontology and Information Systems. Disponível em < Acesso em setembro de HARTMANN, J.; PALMA, R.; SURE, Y. OMV Ontology Metadata Vocabulary. Disponível em < Acesso em novembro de HORROCKS, I.; SATTLER, U.; TOBIES, S. Practical reasoning for expressive description logics. Logic Journal of the IGPL, v. 8, n. 3, p , may

6 7. Bibliografia ALMEIDA, M.B.; BAX. M.P. Uma visão geral sobre ontologias: pesquisa sobre definições, tipos, aplicações, métodos de avaliação e de construção. Ci. Inf., Brasília, v. 32, n. 3, p. 7-20, set./dez Disponível em < Acesso em abril de ANTONIOU, G.; VAN HARMELEN, F.. A Semantic Web Prime Massachusetts Institute of Technology, ARPÍREZ, J. C. et al. Web ODE: a scalable workbench for ontological engineering. In: INTERNATIONAL CONFERENCE ON KNOWLEDGE CAPTURE. PROCEEDINGS. Victoria, British Columbia, Canada, BAADER, F., CALVANESE, D., D. L. MCGUINNESS, D.L., NARDI, D., PATEL- SCHNEIDER, P.F apud : The Description Logic Handbook: Theory, Implementation, Applications. Cambridge University Press, Cambridge, UK, BENJAMINS, R. Knowledge Engineering and Ontologies. Disponível em < richard/home.html>. Acesso em maio de BERNERS-LEE, T.; HENDLER, J.; LASSILA, O. The Semantic Web., Scientific American. May, BORST, W. N. Construction of engineering ontologies Tese (Doutorado). Disponível em: < Acesso em maio de BRACHMAN, R.J., FIKES, R.E. and LEVESQUE, H.J.. Krypton: A functional approach to knowledge representation. IEEE Computer (Special Issue on Knowledge Representation), 16(10):67-73, October CORAZZON, R. What is ontology? [S. l. : s. n.], Disponível em < section_4.htm>. Acesso em julho de DAVIES, J; FENSEL, D; VAN HARMELEN, F.. Towards the Semantic Web: Ontology driven knowledge management. John Wiley, West Sussex,

7 WESAAC HINZ, T. V. ; PALAZZO, L. A. M.. Colaboração em Sistemas Multiagentes Modelados por Ontologias. In: WESAAC 2007: Workshop-Escola de Sistemas de Agentes para Ambientes Colaborativos, 2007, Pelotas. Workshop- Escola de Sistemas de Agentes para Ambientes Colaborativos, II Oficina de Iniciação Científica. HINZ, T. V. ; LADISLAU, J. ; YAMIN, A. C.; PALAZZO, L. A. M.. O Emprego de Ontologias Dinâmicas para Modelar a Mobilidade de Agentes em um Ambiente Pervasivo. In: II Oficina de Iniciação Científica - Fatec Senac, 2006, Pelotas. Anais da II Oficina de Iniciação Científica - Fatec Senac. Porto Alegre : Senac, II Oficina de Iniciação Científica. HINZ, T. V. ; PEREIRA, D. R. ; PALAZZO, L. A. M. ; SILVA, R. E. S.. Utilização do Protegé na Modelagem de uma Ontologia Acadêmica. In: II Oficina de Iniciação Científica - Fatec Senac, 2006, Pelotas. Anais da II Oficina de Iniciação Científica - Fatec Senac. Porto Alegre : Senac,

8 de termos que possuem interligação com termos de outras ontologias, contribuindo para a geração de novos conhecimentos, o qual também foi explorado e testado com êxito na seção Trabalhos futuros Na perspectiva de dar continuidade à este trabalho, surgem inúmeras possibilidades, sendo algumas delas listadas abaixo: A aplicação destes operadores relacionais à outros mecanismos de interoperabilidade estudados, assim como estudar a possibilidade de criar novos que atendam à outras necessidades. Estudar a relevância dos relacionamentos, pois neste trabalho não foi explorado o tipo de relacionamento, mas somente se existia uma relação entre dois ou mais conceitos. A questão da conciliação de vocabulários também é algo que pode ser explorado a partir deste trabalho, pois a compatibilidade de termos é uma questão muito questionada atualmente. A aplicação dos algoritmos desenvolvidos a serem implementados em uma ferramenta de desenvolvimento, que opere em tempo real e em um ambiente pervasivo, tornando-se, assim, uma possível referência para os que pretendem utilizá-la em um caso prático. 6.2 Publicações realizadas Ao longo de seu desenvolvimento, este trabalho teve seus resultados divulgados através de publicações. As principais estão relacionadas a seguir: WESAAC HINZ, T. V. ; PALAZZO, L. A. M. ; SILVA, R. E. S.. Suporte Ambiental à Colaboração em Sistemas Multiagentes. In: II Workshop - Escola de Sistemas de Agentes para Ambientes Colaborativos, 2008, Santa Cruz do Sul. II Workshop - Escola de Sistemas de Agentes para Ambientes Colaborativos,

9 6. Conclusões As ontologias estão sendo amplamente utilizadas vista a necessidade de reuso e compartilhamento de informações existente atualmente, mas para que isso seja possível é necessário que elas consigam se comunicar de forma eficiente, utilizando mecanismos que permitam esta interação. Com o objetivo de entender o problema de interoperabilidade existente atualmente foram estudados, inicialmente, assuntos referentes às ontologias, como definição, vantagens, composição, modelagem e representação. A seguir foram abordados os mecanismos existentes atualmente, assim como elaborados exemplos de aplicação destes. Foram estudadas, também, as diferentes formas de representação de ontologias como matrizes de adjacências, gramáticas de grafos, assim como a representação contextual através das triplas OWL. Nesta etapa o parser Thea foi uma ferramenta importante, utilizada na conversão das ontologias que estavam em OWL para o formato de triplas. Os padrões Dublin Core e FOAF, por serem padrões definidos de fato pela W3C, foram abordados a fim de tratarem o problema da conciliação de vocabulários. O desenvolvimento dos algoritmos empregando os operadores relacionais se constituiu na etapa principal deste trabalho, sendo que para testá-los foram desenvolvidos dois exemplos práticos: um meramente ilustrativo, de dimensão menor, com o intuito de demonstrar a viabilidade de aplicação dos algoritmos e outro, devido a sua complexidade e dimensão elevada, apenas abstrato. A partir dos testes realizados, foi possível concluir que a aplicação dos operadores relacionais no desenvolvimento dos algoritmos é algo viável, atendendo as expectativas deste trabalho, conforme demonstrados nas seções 5.2 e 5.3 desta dissertação. Uma vez que o foco deste trabalho foi na aplicação dos mecanismos de integração e combinação de ontologias, o processo de união de duas ou mais ontologias mostrou-se adequado, pois possibilitou que diversas ontologias fossem unidas de uma maneira concisa. A partir da ontologia global gerada, foi possível aplicar os operadores de intersecção e diferença, os quais também atenderam à propósitos específicos e funcionaram com êxito. Além disso, visto a vasta gama de possibilidades que podem surgir com o desenvolvimento deste trabalho, no decorrer deste, verificou-se, a possibilidade de exploração 82

10 A partir destes dados, é possível utilizar o Parser Thea para conversão das ontologias em triplas OWL e empregar o uso dos algoritmos desenvolvidos neste trabalho. Cabe ressaltar que, além destes termos, tanto no ambiente como no agente, poderiam ser explorados outros, no entanto, para que a proposta não se tornasse muito extensa e fosse viável demonstrar neste trabalho, optou-se por um modelo abstrato de representação, servindo este, então de modelo e podendo ser implementado em outros ambientes, como shoppings, hospitais, museus, restaurantes, enfim ambientes pervasivos que permitam que haja interação de agentes através de um ambiente ou até mesmo a interação agente-agente. 5.4 Considerações do capítulo Neste capítulo foram demonstrados os aspectos relativos à estratégia utilizada neste trabalho para tratar a questão da interoperabilidade entre ontologias, sendo um dos aspectos destacados o desenvolvimento dos algoritmos, empregando os operadores relacionais, o qual contempla o objetivo geral proposto neste trabalho. A fim de relacionar a teoria com a prática, foram demonstrados dois exemplos com intuito de validar a proposta. O capítulo 6 contém as conclusões, trabalhos futuros e as publicações realizadas ao longo deste trabalho. 81

11 Tópicos de interesse Ontologias, Banco de Dados, SMA Publicações Projetos_recentes Estudo e Desenvolvimento de Algoritmos para Interoperabilidade entre Ontologias Projetos_anteriores Criação de uma Ontologia de Ontologias A figura 5.14 visualiza a modelagem da ontologia do agente (pesquisador), que também foi feita no ambiente Protege, sendo, neste caso, utilizados os elementos do FOAF, que estão identificados na tabela 5.3. Figura 5.14: Ontologia do agente, utilizando termos do FOAF, modelada no Protege O quadro 5.27 mostra um trecho do código OWL gerado na ontologia do agente (pesquisador), onde foram utilizados os termos do FOAF. Quadro 5.27: Trecho de código OWL da ontologia do agente, utilizando termos FOAF <owl:ontology rdf:about=""/> <owl:class rdf:id="publicações"> <rdfs:subclassof> <owl:class rdf:id="termos_foaf"/> </rdfs:subclassof> </owl:class> <owl:class rdf:id="nome"> <rdfs:subclassof> <owl:class rdf:about="#termos_foaf"/> </rdfs:subclassof> </owl:class> <owl:class rdf:id="sobrenome"> <rdfs:subclassof> <owl:class rdf:about="#termos_foaf"/> </rdfs:subclassof> </owl:class> 80

12 O quadro 5.26 apresenta a geração de um trecho de código OWL da ontologia do ambiente, onde foram utilizados os 15 elementos do Dublin Core. Quadro 5.26: Código OWL gerado da ontologia do ambiente, utilizando termos do DC. <Termos_Dublin_Core rdf:id="termos_dc"> <dc:creator rdf:datatype=" de Santa Cruz do Sul</dc:creator> <dc:format rdf:datatype=" utilizando os estilos sugeridos pela SBC,...</dc:format> <dc:coverage rdf:datatype=" <dc:type rdf:datatype=" <dc:relation rdf:datatype=" <dc:subject rdf:datatype=" para ambientes colaborativos</dc:subject> <dc:description rdf:datatype=" regional, abrangendo os estados RS, SC, PR, SP,...</dc:description> <dc:source rdf:datatype=" Cruz do Sul, RS, Brasil</dc:source> Ontologia do Agente A fim de relacionar estes dados com os dados de um pesquisador (agente) foi elaborado um exemplo, utilizando os termos do FOAF, conforme a tabela 5.3. Tabela 5.3: Exemplo utilizando os termos do FOAF Geekcode Nome Sobrenome Nome_completo Histórico Imagem Não identificado Verlani Hinz Verlani Hinz Mestranda em Ciência da Computação, Professora da Faculdade de Tecnologia Senac. Características Não identificado. Homepage_comercial Info_homepage_comercial Homepage_escolar Conhecimento Luiz Antônio Moro Palazzo Interesses 79

13 11. Origem Santa Cruz do Sul, RS, Brasil 12. Linguagem Português 13. Relação Abrangência Regional 15. Direitos Não identificada Além dos termos citados na tabela 5.1, foram identificados mais sete termos que fazem parte do domínio do congresso, que estão identificados na tabela 5.2: Tabela 5.2: Termos complementares do Congresso Termos Congresso Descrição 1. Público-alvo: Estudantes, professores e pesquisadores 2. Programação: Quarta-feira 28/maio 08h00-09h00: Credenciamento 3. Inscrições: VALORES: Professores/Pesquisadores - R$ 30,00 4. Comissão_organizadora: Coordenação Geral do Evento Rejane Frozza (UNISC) Andréa Aparecida Konzen da Silva (UNISC) 5. Data_submissão: 05/04/ Data_aceitação: 05/05/ Data_versão_final: 12/05/208 A figura 5.13, mostra a modelagem da ontologia do ambiente feita no ambiente do Protegé, utilizando os elementos do Dublin Core. Figura 5.13: Ontologia do ambiente, utilizando termos do DC modelada no Protegé. 78

14 Quadro 5.25: Exemplo do algoritmo relacionado-com utilizando o ambiente SWI-Prolog Ontologia do Ambiente Tomando por base essas informações foi possível identificar as correspondências existentes entre os elementos do Dublin Core e os dados de um congresso (ambiente), apresentados de na tabela 5.1. Tabela 5.1: Correspondência entre os termos do Dublin Core e os dados de um evento. Elementos Dublin Core Dados de um congresso 1. Título II Workshop Escola de Sistemas de agentes para ambientes colaborativos 2. Criador Universidade de Santa Cruz do Sul 3. Assunto 4. Descrição 5. Publicador Não identificada 6. Contribuidor SBC 7. Data 2008/05/28 8. Tipo Workshop 9. Formato 10. Identificador WESAAC2008 arquitetura de sistemas de agentes para ambientes colaborativos agentes conversacionais e de interface para ambientes colaborativos O WESAAC é um evento regional, abrangendo os estados o RS, SC, PR e SP, a reunir praticamente todos os grupos de pesquisa atuantes nas áreas de Sistemas de Agentes e Ambientes Colaborativos.... Os artigos devem ser submetidos em formato PDF, utilizando os estilos sugeridos pela SBC (estilo Latex ou Word, disponíveis em na seção de "Eventos"). Os artigos podem ser escritos em Português ou em Inglês, e devem ter, no máximo, 10 páginas. 77

15 No exemplo da figura 5.12, o nodo X possui relação com o nodo Y, que possui relação com o nodo Z, desta forma podemos dizer que as informações constantes no nodo X podem ser interessantes para o nodo Z, por possuírem uma interligação indireta. Da mesma forma, podemos dizer que a ligação existente entre o nodo Z e W, pode ser interessante, pois ambos pertencem a ontologias diferentes e através da sua relação podem contribuir para gerar novas informações. A partir desses exemplos, foi desenvolvido um algoritmo de relacionamento, chamado de relacionado-com, utilizando um operador (op4), exemplificado no quadro Quadro 5.24: Algoritmo do relacionado-com utilizando o operador relacional op4 op4([ ],[ ]):-!.. op4([(a,b,_) X],[(A,B) Y]):- not(member((a,b,_),x)),!, op4(x,y). op4([_ X],Y):- op4(x,y). Neste algoritmo são destacados os conjuntos de relacionamentos (triplas) das ontologias transformados em conjuntos de duplas através da remoção do 3º componente (o relacionamento). O quadro 5.25, visualiza exemplos de aplicação do algoritmo relacionado-com, no ambiente SWI-Prolog, onde a,b,c,d,e são todos triplas (C1,C2,R). 76

16 de interesse de uma pessoa ou evento. Essa identificação dos termos sinônimos é possível através da conciliação de vocabulários, demonstrados na figura DC 3. Assunto Assunto deverá ser expresso por palavras chave, frases, ou códigos de classificação que descrevem o conteúdo do recurso. FOAF 13. Tópicos de interesse Representa um interesse de uma pessoa, cujo tópico que caracteriza interesse geral. Figura 5.11: Exemplo de conciliação de vocabulários utilizados na intersecção Além disso, outras possibilidades poderão surgir através desta intersecção, seria o caso da diferença, ou seja, dados que estão na ontologia do ambiente e não estão na ontologia do agente, mas possuem uma relação entre si. A figura 5.12 demonstra um exemplo onde os nodos A1, A2 e A3 não estão na área de intersecção, mas estão conectados com os nodos P1, P2 e A4 das ontologias do agente e do ambiente que possuem conexão com estes. Desta forma observa-se a relação que existe entre os nodos das ontologias, pois nodos que estejam ligados através de outros nodos podem contribuir para gerar novos conhecimentos, mesmo que não sejam comuns às duas ontologias. Conexões entre nodos Área de Intersecção Figura 5.12: Exemplo de diferença com relacionamento 75

17 CONGRESSO Entrada Saída CONGRESSO Figura 5.10: Exemplo de aplicação dos mecanismos de interoperabilidade. Enquanto o pesquisador está apresentando seu trabalho no congresso, os dados que constam em sua ontologia são unidos com os dados da ontologia do ambiente, tornando-as disponíveis para eventuais consultas que possam ocorrem durante a apresentação. Quando o pesquisador termina de apresentar seu trabalho ele deixa um registro da sua apresentação na ontologia do ambiente, sendo que este registro também será acrescentado na sua ontologia. Além disso, podem haver informações que constam na ontologia do congresso e que também estejam na ontologia do pesquisador, que podem ser interessantes para ambos. Por exemplo: O congresso possui em sua ontologia a classe Assunto, onde serão cadastrados todos os assuntos abordados no evento como SMA, Ontologias, Comunidades Virtuais, etc. O pesquisador possui em sua ontologia a classe Tópicos de Interesse, como Ontologias, Banco de Dados, etc. Unindo-se estas duas ontologias, teremos, então, uma intersecção entre esses termos, que mesmo tendo rótulos diferentes, o conteúdo possui a mesma finalidade, mostrar as áreas 74

18 Quadro 5.23: Exemplo2 do algoritmo de diferença utilizando o ambiente SWI-Prolog. No exemplo do quadro 5.23, verifica-se que o resultado contido em T3 é o conteúdo da ontologia O 1, pois foi feita a diferença entre O 1 e O 2, ou seja, o que pertence a O 1 e não pertence a O 2. Estes são algoritmos genéricos que podem ser aplicados em vários casos, sendo que a entrada sempre será uma lista de ontologias (n ontologias) e que todas serão operadas com um mesmo operador, no caso o "op". Vale ressaltar também que estes algoritmos, apesar de não possuírem uma precisão de 100%, sua simplicidade se justifica por possuírem a finalidade de poderem ser operados em tempo real, gerando uma economia de especificação algorítmica. Desta forma, adéquam-se, inclusive a ontologias com estruturas grandes e que possuem maior complexidade semântica, onde o tempo é fator determinando, pois não é possível esperar a execução de um algoritmo enquanto os acontecimentos ocorrem. 5.3 Exemplo de interoperabilidade dinâmica entre ontologias Para validação da proposta apresentada foi utilizado o exemplo de um congresso, contendo em sua ontologia dados de um evento e um pesquisador que deseja apresentar um determinado trabalho neste congresso. No exemplo, ilustrado na figura 5.10, pode-se verificar a aplicação dos mecanismos de interoperabilidade de integração e combinação, sendo aplicados automaticamente, sem intervenção humana, pois os mesmos ocorrem conforme a ação efetuada pelo agente (pesquisador). 73

19 Neste algoritmo, a entrada é uma Lista de ontologias (triplas) e a saída uma Lista de pares de conceitos. O resultado é obtido pela <<união>>, sendo feita a remoção do componente "relacionamento" de todas as triplas das ontologias em Lista_de_Ontologias e aplicada a diferença entre elas, descrito no quadro Quadro 5.21: Predicado auxiliar da diferença difer([],_,[]):-!. difer([x C1],C2,[X C3]):- not(member(x,c2)),!,difer(c1,c2,c3). difer([_ C1],C2,C3):- difer(c1,c2,c3). O quadro 5.22, visualiza exemplos de aplicação do algoritmo de intersecção, no ambiente SWI-Prolog, onde a,b,c,d são todos triplas (C1,C2,R). Quadro 5.22: Exemplo1 do algoritmo de diferença utilizando o ambiente SWI-Prolog. Como um segundo exemplo foram utilizadas as ontologias O 1 e O 2, descritas no exemplo 5.1.1, demonstrado no quadro

20 Quadro 5.18: Exemplo1 do algoritmo de intersecção utilizando o ambiente SWI-Prolog. exemplo O quadro 5.19, visualiza um exemplo utilizando as ontologias O 1 e O 2, descritas no Quadro 5.19: Exemplo2 do algoritmo de intersecção utilizando o ambiente SWI-Prolog. Analisando-se o exemplo do quadro 5.19, verifica-se que é gerada uma lista vazia em Ont, por não haverem conceitos e relacionamentos sinônimos nas duas ontologias. quadro Diferença : Para o algoritmo de diferença foi utilizado o operador relacional op3, conforme o Quadro 5.20: Algoritmo de diferença utilizando o operador op3 op3([c1,t1],[c2,t2],[c3,t3]):- união(c1,c2,c3), difer(t1,t2,t3). 71

21 Quadro 5.16: Algoritmo de intersecção utilizando o operador relacional op2 op2([ ],[ ]). op2([ont], [Ont]). op2([a,b C], Ont):- intersec(a,b,x), op2([x C], Ont1), intersec(ont1, Ont1, Ont). Neste algoritmo, inicialmente a entrada pode ser uma lista vazia ou uma lista de ontologias, a seguir A,B,C representam os conceitos da primeira ontologia, representadas em listas. É feita, então, a intersecção das duas ontologias, utilizando-se o predicado auxiliar do algoritmo do quadro 5.17 e gerada a ontologia resultante em Ont. Quadro 5.17: Predicado auxiliar da intersecção intersec([],_,[]):-!. intersec([x C1],C2,[X C3]):- member(x,c2),!,intersec(c1,c2,c3). intersec([_ C1],C2,C3):- intersec(c1,c2,c3). O quadro 5.18 visualiza exemplos de aplicação do algoritmo de intersecção, no ambiente SWI-Prolog, onde a,b,c,d,e são todos triplas (C1,C2,R). 70

22 O quadro 5.14, visualiza um exemplo de aplicação do algoritmo de união, no ambiente SWI-Prolog, onde a,b,c,d,e são todos triplas (C1,C2,R). Quadro 5.14: Exemplo1 do algoritmo de união utilizando o ambiente SWI-Prolog No quadro 5.15, foi montado um exemplo utilizando as ontologias O 1 e O 2, descritas no exemplo Quadro 5.15: Exemplo2 do algoritmo de união utilizando o ambiente SWI-Prolog Intersecção: Para o algoritmo de intersecção foi utilizado o operador relacional op2, conforme mostra o quadro

23 OWL e a saída uma ontologia resultante, também em OWL, conforme demonstra o quadro Quadro 5.11: Resultado da aplicação do operador relacional op(lista_de_ontologias, Ontologia_Resultante). Neste caso, todos os operandos são ontologias e a ontologia resultante poderá ser a união, intersecção ou diferença de todas as ontologias presentes na lista de ontologias de entrada. União Para o algoritmo de união foi utilizado o operador relacional op1, conforme mostra o quadro Quadro 5.12: Algoritmo de união utilizando o operador op1 op1([ ],[ ]). op1([ont], [Ont]). op1([a,b C], Ont):- união(a,b,x), op1([x C], Ont1), união([ ], Ont1, Ont). Sendo que, inicialmente, a entrada pode ser uma lista vazia ou uma lista de ontologias, a seguir A,B,C representam os conceitos da primeira ontologia, representadas em listas. É feita, então, a união das duas ontologias, utilizando-se o predicado auxiliar do quadro 5.13 e gerada a ontologia resultante em Ont. Quadro 5.13: Predicado auxiliar da união união([],c,c):-!. união([x C1],C2,C3):- member(x,c2),!,união(c1,c2,c3). união([x C1],C2,[X C3]):- união(c1,c2,c3). 68

24 União: A união consiste em juntar os conjuntos de conceitos e relacionamentos das duas ontologias O1 e 02, conforme visualizado no quadro 5.8. Quadro 5.8: Exemplo de união op1 (O 1, O 2 ) = op1 ((C, R), (D, S)) = (C D, R S) Intersecção: Neste caso, a ontologia resultante é concebida da união dos conjuntos de conceitos e da intersecção dos conjuntos de relacionamentos (triplas), conforme o quadro 5.9. Quadro 5.9: Exemplo de intersecção op2 (O 1, O 2 ) = op2 ((C, R), (D, S)) = (C D, R S) Diferença: A diferença é o resultado da união dos conjuntos de conceitos e da diferença dos conjuntos de relacionamentos (triplas), conforme o quadro Quadro 5.10: Exemplo de diferença op3 (O 1, O 2 ) = op3 ((C, R), (D, S)) = (C D, R - S) 5.2 Algoritmos A partir da definição dos operadores relacionais, foram desenvolvidos algoritmos que permitem a interoperabilidade entre ontologias, onde a entrada é uma lista de ontologias em 67

25 Figura 5.8: Ontologia O2, modelada no Protege, visualizando os relacionamentos Deste modo, também podemos afirmar que O 2 é um conjunto de pares O 2 = (D, DxDxS), visualizado na figura 5.9 e exemplificado a seguir: O 2 =({lápis, papel}, {(lápis, papel, escreve), (lápis, papel, desenha)}) Figura 5.9: Ontologia O2, modelada no Protegé, visualizando os conceitos e relacionamentos O quadro 5.7 visualiza o código OWL gerado a partir da ontologia O2, onde se verifica os conceitos Papel e Lápis relacionados através do atributo escreve. Quadro 5.7: Trecho do código OWL gerado a partir da ontologia O2 <owl:ontology rdf:about=""/> <owl:class rdf:id="papel"/> <owl:class rdf:id="lápis"/> <owl:objectproperty rdf:id="escreve"> <rdfs:domain> <owl:class> Para definição dos operadores, C e D são conceitos, R e S são relacionamentos e opx foi definido como o operador relacional, sendo op1 de união, op2 de intersecção e op3 de diferença, definidos a seguir. 66

26 Quadro 5.6: Trecho de código OWL gerado no Parser Thea, representando as instâncias e O1 % Individuals ' ' ' A ontologia O 2, foi modelada definindo-se um conjunto de conceitos, conforme figura 5.7 e definidos em D como: D = {D 1 = Lápis; D 2 = Papel} Figura 5.7: Ontologia O2, modelada no Protege, visualizando os conceitos E um conjunto de relacionamentos, visualizados na figura 5.8 e definidos em S como: S = {S 1 = escreve; S 2 =desenha} 65

27 Quadro 5.4: Trecho de código OWL da ontologia O1, gerado no parser Thea % Classes ' file://h:/aulas/mestrado_ucpel/downloads/thea-0.5.5/o1.owl# Description1'(X):- (' ' file://h:/aulas/mestrado_ucpel/downloads/thea-0.5.5/o1.owl# Description3'(X):- (' ' file://h:/aulas/mestrado_ucpel/downloads/thea-0.5.5/o1.owl# Description4'(X):- (' Neste exemplo observa-se a formação as triplas (conceito, conceito, relacionamento), no caso (Papel, Pedra, X), (Pedra, Tesoura, X), (Tesoura, Papel, X), onde X representa o relacionamento formado entre os conceitos. Além disso, a fim de testar e gerar a ontologia no Parser Thea, foi modelada a ontologia O1, definindo-se também subclasses e instâncias associadas, demonstradas nos quadros 5.5 e 5.6. Quadro 5.5: Trecho de código OWL gerado no Parser Thea, representando as subclasses de O1 % Subclasses ' ' ' ' ' ' 64

28 O 1 =({pedra, tesoura, papel}, {(pedra, tesoura, quebra), (tesoura, papel, corta), (papel, pedra, embrulha)}) Figura 5.6: Ontologia O1 modelada no Protegé, visualizando os conceitos e relacionamentos O quadro 5.3 visualiza o código OWL gerado a partir da ontologia O1, onde se verifica os conceitos Pedra e Tesoura relacionados através do atributo quebra. Quadro 5.3: Trecho de código OWL da ontologia O1, visualizando conceitos e relacionamento <owl:objectproperty rdf:id="quebra"> <rdfs:domain> <owl:class> <owl:unionof rdf:parsetype="collection"> <owl:class rdf:about="#pedra"/> <owl:class rdf:about="#tesoura"/> </owl:unionof> </owl:class> </rdfs:domain> </owl:objectproperty> Aplicando-se o Parser Thea na ontologia O1, foi gerado um código OWL, a fim de transformá-la em matriz de adjacências, para uma melhor representação visual, conforme o quadro

29 Figura 5.4: Ontologia O1 modelada no Protegé, visualizando os conceitos e instâncias associadas como: E um conjunto de relacionamentos, visualizados na figura 5.5 e definidos em R R = {R 1 = quebra; R 2 =corta; R 3 =embrulha} Figura 5.5: Ontologia 01, modelada no Protegé, visualizando os (relacionamentos) Deste modo, pode-se afirmar que O 1 é um conjunto de pares O 1 = (C, CxCxR), visualizado na figura 5.6 e exemplificado a seguir: 62

30 entre seus termos, perceber as similaridades entre estes, detectar tanto possíveis inconsistências quanto a falta de informação (completeza). Preocupa-se, em particular, com a identificação de: conceitos ou propriedades com um mesmo significado, mas rotulados com nomes diferentes; conceitos ou propriedades rotulados com o mesmo nome, mas com significados diferentes; diferenças na escrita dos termos das ontologias como, por exemplo: um termo no plural e outro no singular, um no feminino e outro no masculino, e em diferentes tempos verbais; dentre outras. Uma vez identificadas as inconsistências existentes, é preciso decidir qual ação será tomada. Não é desejado que inconsistências sejam simplesmente ignoradas, pois é preciso realizar a interoperabilidade entre ontologias com confiabilidade, mas, por outro lado, não é desejado resolver todas as inconsistências existentes, pois isto aumentaria a complexidade da solução e, conseqüentemente, seu tempo de execução. A seguir serão detalhados os operadores de união, intersecção e diferença citados na figura Definição A fim de um melhor detalhamento da utilização dos operadores relacionais, foi elaborado um exemplo com duas Ontologias O 1 e O 2, demonstradas a seguir. Sendo a ontologia O 1, dada por um conjunto de conceitos, conforme figura 5.4 e definidos em C como: C = {C 1 = Pedra; C 2 = Tesoura; C 3 = Papel} 61

31 5.1 Operadores Relacionais No desenvolvimento dos algoritmos para interoperabilidade entre ontologias foram utilizados os operadores relacionais de união, intersecção e diferença. A figura 5.3 ilustra um exemplo de interoperabilidade dinâmica entre ontologias, onde os mecanismos de interoperabilidade de integração e combinação, utilizando os operadores relacionais, são aplicados de maneira automática, sem intervenção humana, pois os mesmos ocorrem conforme a ação efetuada pelo agente. Figura 5.3 Exemplo de interoperabilidade entre ontologias utilizando operadores relacionais Um exemplo é no momento que um agente entra em uma instância do ambiente pervasivo, os dados da sua ontologia são unidos com os dados da ontologia do contexto, tornando-as disponíveis para que outro agente possa acessá-los. A partir disso, todos os nodos que possuem informações comuns às duas ontologias, no caso informações com dados sinônimos, serão integrados em um único nodo, no exemplo da figura 4.11, o nodo X, gerando uma intersecção entre elas. Serão analisadas, também, as informações que constam na ontologia do ambiente e não estão necessariamente na ontologia do agente, gerando uma diferença entre elas. Nos casos listados acima, principalmente no que diz respeito a intersecção dos dados, a compatibilidade de termos é algo que deve ser tratado, pois é necessário listar as diferenças 60

32 Pedra Tesoura Papel Pedra quebra Tesoura corta Papel embrulha Figura 5.2: Matriz de adjacência de mat(c,r) Sendo que C é a lista dos conceitos envolvidos e R é uma lista de listas, onde cada lista interna é uma linha da matriz, sendo que as linhas em R correspondem à mesma ordem dos conceitos em C e O zero representa um não-relacionamento, conforme quadro 5.1. Quadro 5.1: Rotina Prolog para transformar uma matriz em lista de triplas mat([pedra,tesoura,papel], [[0,quebra,0],[0,0,corta],[embrulha,0,0]]). O quadro 5.2 mostra o predicado auxiliar desenvolvido para transformar uma matriz de adjacências em triplas OWL. Quadro 5.2: Predicado auxiliar para transformação em triplas triplas:- mat(c,r), trip(c,r). trip([],_):-!. trip([a B],[X Y]):- resolve(a,x), trip(b,y). resolve(_,[]):-!. resolve(a,[0 Y]):- resolve(a,y). resolve(a,[x Y]):- mat(c,r), member(l,r), enesimo(n,x,l), enesimo(n,b,c), assert(tripla(a,b,x)), write(tripla(a,b,x)), nl, resolve(a,y). enesimo(1,x,[x _]). enesimo(n,x,[_ Y]):- enesimo(m,x,y), N is M

33 5. Algoritmos para interoperabilidade entre Ontologias Este capítulo tem por objetivo mostrar a estratégia utilizada neste trabalho para fazer a interoperabilidade entre ontologias, demonstrado através da figura 5.1. Onde a entrada é uma lista de ontologias no formato OWL, sendo estas convertidas em matriz de adjacências (formato de triplas) utilizando o parser Thea. Posteriormente, é aplicado o operador relacional e gerado uma matriz de adjacências, sendo o resultado uma ontologia única em formato OWL. Primeira ontologia no formato OWL Segunda ontologia no formato OWL Conversão de OWL para matriz através do Parser Thea Primeira ontologia no formato OWL convertida Segunda ontologia no formato OWL convertida Aplicação do operador Geração da Matriz de Adjacências e conversão em OWL Primeira e segunda ontologia integradas no formato OWL Figura 5.1: Estratégia para a interoperabilidade entre ontologias E para transformar uma matriz de adjacências em formato OWL, foi desenvolvido um predicado auxiliar, onde a matriz pode ser representada por uma relação mat(c, R), demonstrado na figura

34 Quadro 4.8: Parte da Ontologia Wines2.owl gerado no Parser, representando as instâncias. 4.4 Considerações do capítulo Finalizando o estudo de revisão bibliográfica deste trabalho, neste capítulo foram abordados assuntos relativos à interoperabilidade entre ontologias, como os mecanismos, os padrões de vocabulários Dublin Core e FOAF, assim como o parser utilizado para conversão de ontologias. 57

35 Quadro 4.7: Parte da Ontologia Wines2 gerado no Parser, representando a relação é-um entre classes e subclasses. ' ' As instâncias associadas às classes são geradas em uma parte em separado chamada de individuals, conforme figura Figura 4.10: Parte da Ontologia Wines criada no ambiente Protegé, representando as instâncias. (PROTEGE, 2007a) instâncias. No quadro 4.8, o código OWL gerado a partir no parser Thea, visualizando as 56

36 repetições da mesma ontologia em mais de uma localização, qualidade da ontologia, entre outros. Para a conversão das ontologias, uma das ontologias utilizada foi a Wines.owl presente no ambiente Protegé, conforme ilustra a figura 4.9 (PROTEGE, 2007a). % Classes % Subclasses ' ' ' ' ' ' ' ' ' ' Figura 4.9: Parte da Ontologia Wines criada no ambiente Protege, representando as classes e subclasses e o código gerado no parser Thea. (PROTEGE, 2007a) No código gerado todas as classes são subclasses, por todas serem derivadas de owl:thing, sendo que podemos observar que há uma relação é-um entre as classes e subclasses, onde Cotel_d_Or_region, por exemplo, é uma subclasse de Bourgogne_region, visualizadas no quadro

37 4.3.2 Ambiente SWI-Prolog O SWI-Prolog 5 é uma implementação em código aberto da linguagem de programação Prolog. Seu autor principal é Jan Wielemaker. Em desenvolvimento contínuo desde 1987, SWI-Prolog possui um rico conjunto de características, bibliotecas, ferramentas e uma documentação extensiva 6. Para a conversão das ontologias, foi adicionada a biblioteca OWL_Parser e utilizado o comando go-thea do Prolog, conforme descrito no Quadro 4.6: Quadro 4.6: Comando do Prolog utilizando o parser Thea?-go_thea(Arq_entrada, Arq_saída, Flag). Onde: Arq_entrada: É o arquivo owl de entrada. Deve ser instanciada com um owl existente. Arq_saída: É o arquivo de saída. Deve ser especificado, mas pode não existir, sendo criado neste caso. Flag: Uma entre várias opções: "thea_as", "dlp", etc., sendo a DLP (Description Logic Programs), utilizada neste caso, por ser no formato do Prolog Exemplo Para o estudo de caso foram escolhidas algumas ontologias pesquisadas na Internet. Foram visitados sites como: o site de ontologias publicadas do Google (Swoogle, 2008), o diretório de pesquisa do SchemaWeb (SchemaWeb, 2008), entre outros. Mesmo assim, apesar da quantidade de ontologias disponibilizadas nas localizações visitadas, poucas ontologias puderam ser analisadas por não serem de fontes conhecidas ou por apresentarem problemas em sua construção e, conseqüentemente, não ser possível sua utilização no parser, não ser no formato OWL ou por outros fatores como: links quebrados, 5 Disponível em último acesso em junho de Extraído de 54

38 E conforme o quadro 4.3, as restrições podem ser: Quadro 4.3: Trecho de código OWL contendo as restrições em termos Prolog restriction(propertyid,allvaluesfrom(description)) restriction(propertyid,somevaluesfrom(description)) restriction(propertyid,cardinality(c)) restriction(propertyid,maxcardinality(c)) restriction(propertyid,mincardinality(c)) restriction(propertyid,value(v)) O parser cria construções na seguinte seqüência (entre parênteses o predicado da biblioteca Prolog), conforme quadro 4.4. Quadro 4.4: Trecho de código OWL mostrando a seqüência criada pelo parser Thea - Classes and class descriptions (owl_parse_named_classes) - Class axioms Subclasses (owl_parse_subclasses) DisjointWith (owl_parse_disjoint_classes) EquivalentClasses (owl_parse_equivalent_classes) - Properties (owl_parse_property) - Annotation Properties (owl_parse_annotationproperty) - Individual axioms (owl_parse_individual_axioms) SameAs DifferentFrom - Ontology definitions (owl_parse_ontology) - Names Individuals (owl_parse_named_individuals) Além dos termos do Prolog que são construídos, são definidos também os seguintes predicados dinâmicos, conforme quadro 4.5: Quadro 4.5: Trecho de código OWL contendo predicados dinâmicos em termos Prolog - owl/4: For storing and tracking the use of individual triples). - blanknode/3: For storing and tracking the use of blank nodes, and thus be able to detect any structure sharing). - owl_parser_log/2: For logging OWL parser s activity. 53

39 4.3 Conversão de ontologias Para transformar uma ontologia no formato OWL em matriz de adjacência foi utilizado o parser Thea 4 (versão 0.5), que é uma biblioteca do Prolog para geração e manipulação de conteúdo OWL Parser Thea O Parser Thea usa a Semantic Web Library do SWI-Prolog analisando gramaticalmente a serialização de documentos OWL em triplas RDF e então constrói uma representação da ontologia em OWL. O resultado da conversão do parser é uma representação de sintaxe abstrata de uma ontologia OWL em termos Prolog como mostrado no quadro 4.1: Quadro 4.1: Trecho de código OWL em termos Prolog - ontology(ontologyid,annotationlist). - class(classid, Deprecated, Modality, AnnotationList, DescriptionList). - subclassof(description1, Description2). - disjointset(descriptionlist). - equivalentset(descriptionlist). - property(propertyid,deprecated, AnnotationList,SuperPropertyList, PropertyTypeList, DomainList, RangeList). - annotationproperty(propertyid). - individual(individualid,annotationlist, TypeList,PropertyValueList). - differentindividuals(individuallist). - sameindividuals(individuallist). Onde, conforme o quadro 4.4, pode ser: Quadro 4.2: Trecho de código OWL contendo as descrições em termos Prolog ClassID Restriction intersectionof(descriptionlist) unionof(descriptionlist) complementof(description) oneof(individuallist) 4 Disponível em último acesso em 15 de maio de

40 4.2.2 FOAF (Friend Of A Friend) O projeto do FOAF tem por objetivo descrever as pessoas, as relações entre eles e as coisas que elas criam e fazem. Os termos do FOAF (FOAF, 2008) são agrupados em várias categorias, dentre elas: FOAF Basics, Personal Info, Online Accounts / IM, Projects and Groups, Documents and Images. O FOAF Basics se subdivide: Agent, Person, name, nick, title, homepage, mbox, mbox_sha1sum, img, depiction (depicts), surname, family_name, givenname, firstname. A classe Person representa pessoas e é uma subclasse de Agent, sendo que todas as pessoas são consideradas agentes em FOAF. A tabela 4.2 contém as classes que estão relacionadas a classe Person, definidas em FOAF. Tabela 4.2: Termos do FOAF 1. Geekcode Um geekcode textual para essa pessoa, ver 2. Nome O primeiro nome de uma pessoa. 3. Sobrenome Sobrenome de uma pessoa. 4. Nome_completo Nome completo de uma pessoa. 5. Histórico Um plano de arquivo pode conter qualquer coisa. Os usos típicos dele incluíram breves comentários, pensamentos ou observações sobre o que uma pessoa tinha sido feito ultimamente 6. Imagem Uma imagem que pode ser usada para representar alguma coisa como uma foto, homepage, etc. 7. Características Abordagem à personalidade taxonômica. 8. Homepage_comercial A homepage do local de trabalho de uma pessoa (página principal) 9. Info_homepage_comercial Uma homepage contendo informações do local de trabalho de uma pessoa. 10. Homepage_escolar A página principal de uma instituição de ensino atendida por uma pessoa. 11. Conhecimento Uma pessoa conhecida desta pessoa, (indicando algum nível de reciprocidade interação entre as partes). 12. Interesses Uma página sobre tópicos de interesses de uma pessoa. 13. Tópicos de interesse Representa um interesse de uma pessoa, cujo tópico que caracteriza interesse geral. 14. Publicações O link de publicações de uma pessoa 15. Projetos_recentes O projeto atual que esta pessoa trabalha. 16. Projetos_anteriores Algum projeto que esta pessoa já trabalhou. 51

41 Description Framework), possui um conjunto de 15 elementos básicos, apresentados na tabela 1, que podem ser implementados livremente para atender as necessidades de cada usuário (DC, 2008), e, ainda é um formato padrão adotado para efetuar a interoperabilidade entre outros formatos. A tabela 4.1, descreve os 15 elementos do Dublin Core e suas respectivas descrições. Tabela 4.1: Elementos do Dublin Core Elementos Descrição 1. Título Título será o nome pelo qual o recurso é formalmente conhecido. 2. Criador Criador inclui uma pessoa, uma organização, ou um serviço. Tipicamente, o nome de um Creator deve ser usado para indicar uma entidade responsável pela existência do recurso. 3. Assunto Assunto deverá ser expresso por palavras chave, frases, ou códigos de classificação que descrevem o conteúdo do recurso. 4. Descrição Descrições podem incluir, sem estarem limitadas a um conteúdo do recurso: um resumo, um índice, uma referência a uma representação gráfica do conteúdo, ou uma descrição textual. 5. Publicador Editor pode ser uma pessoa, uma organização ou um serviço. Tipicamente, o nome de um Editor deve ser usado para indicar a entidade. 6. Contribuidor Contribuinte inclui uma pessoa, organização ou serviço. Tipicamente, o nome de outro Contribuinte deve ser usado para indicar a entidade. 7. Data Uma Data deve ser associada à criação ou disponibilidade do recurso. Como boa prática recomenda-se o formato AAAA-MM-DD. 8. Tipo Tipos incluem termos descrevendo categorias genéricas, funções, gêneros, ou níveis de agregação para o conteúdo. Ex: vocabulários. 9. Formato Formato deve incluir o tipo de meio do recurso, ou as suas dimensões. Este elemento deve ser usado para determinar as aplicações informáticas ou qualquer tipo de equipamento necessário para reproduzir ou operar com o recurso. 10. Identificador Identificação do recurso por meio de uma cadeia de caracteres ou por um número de acordo com um sistema de identificação formal. 11. Origem O presente recurso pode ter derivado do recurso Fonte na sua totalidade ou apenas em parte. Como boa prática recomenda-se a referência ao recurso fonte através de um identificador em conformidade com um sistema de identificação formal. 12. Linguagem A língua do conteúdo intelectual do recurso. Por exemplo, 'en' para Inglês, 'fr' Francês, ou 'en-uk' para o Inglês do Reino Unido. 13. Relação Uma referência a um recurso relacionado. 14. Abrangência Cobertura inclui tipicamente uma localização espacial (o nome de um lugar ou coordenadas geográficas), um período no tempo (a sua designação, data, ou intervalo de tempo), ou jurisdição (o nome de uma entidade administrativa). 15. Direitos Direitos sobre o recurso, ou uma referência a um serviço que fornecerá essa informação. 50

42 No exemplo o agente colaborador A possui conhecimentos específicos de comidas em geral, enquanto o agente colaborador B é especializado em vinhos, no entanto, ambos pertencem ao ramo da alimentação, quando alinhados suas ontologias se complementarão. Neste trabalho buscou-se a utilização de operadores relacionais na construção dos algoritmos, sendo que a operação de união é considerada a chave para as demais, onde a partir dela poderão ser utilizados os operadores de intersecção e diferença. Por estas razões, os mecanismos de combinação e integração de ontologias foram os escolhidos. 4.2 Conciliação de vocabulários O estabelecimento de padrões para definição de vocabulários são importantes ao intercâmbio de informações. Neste trabalho foram utilizados os padrões Dublin Core e o FOAF por serem considerados padrões de metadados muito utilizados atualmente, de consenso internacional, estudados pela W3C (W3C, 2008) e que incluem os aspectos de precisão, fidelidade, critérios de seleção, generalizações, consistência dos dados, definições utilizadas e metadados sobre as fontes de dados Dublin Core O (DC, 2008) é um padrão da organização DCMI (Dublin Core Metadata Initiative) para representação de metadados que especializados em representar informações dos dados (dados sobre dados), possui um formato simples e muito útil para identificar o conteúdo dos documentos eletrônicos, tornando-os mais fáceis de serem pesquisados pelos mecanismos de buscas, a fim de recuperar as informações solicitadas. É um padrão de metadados, composto por 15 elementos, planejado para facilitar a descrição de recursos eletrônicos. Conforme (SOUZA, VENDRUSCULO, MELO, 2000) destacam que as principais características deste padrão são a simplicidade na descrição dos recursos, o entendimento semântico universal (dos elementos), o escopo internacional e a extensibilidade (o que permite adaptações às necessidades adicionais de descrição). O DC pode ser inserido em uma página HTML (Hypertext Markup Language) e utiliza a linguagem XML (extensible Markup Language). Adota a sintaxe do RDF (Resource 49

43 Figura 4.7: Exemplo de mapeamento de ontologias O mecanismo de alinhamento de ontologias, acontece quando os domínios das ontologias são complementares 3, sendo que são geradas duas ontologias separadas mas com as ligações estabelecidas entre elas. Seria o caso de um agente colaborador A com conhecimentos específicos de comidas e outro agente colaborador B com conhecimentos de bebidas, ambos pertencem ao ramo da alimentação e quando feito o alinhamento haverão propriedades que serão complementares, ou seja, será feita uma intersecção das ontologias, conforme figura 4.8. Figura 4.8: Exemplo de alinhamento de ontologias 3 Neste trabalho, entende-se que um domínio A qualquer é complementar a um domínio B qualquer, quando A adiciona informações a B. Normalmente, domínios complementares tratam de assuntos diferentes, mas suas partes comuns tratam de um mesmo assunto. 48

44 No exemplo, a classe paciente possui a propriedade prescrição, que é definida como propriedade objeto, justamente por ser comuns as áreas de medicina e enfermagem, podendo se relacionar e formar uma única ontologia. As demais propriedades são definidas como propriedade de tipo de dados. No mecanismo de integração de ontologias para que seja possível efetuar a troca de conhecimentos, dois agentes de domínios diferentes são integrados e formam uma única ontologia. Neste caso um agente colaborador A com conhecimentos de Medicina e outro agente colaborador B com conhecimentos de Música, por exemplo, quando interagirem irão formar uma única ontologia contendo todos os dados das duas ontologias, ou seja, será feita uma união das ontologias, demonstrado na figura 4.6. Figura 4.6: Exemplo de integração de ontologias Para o mecanismo de mapeamento de ontologias, devem ser mapeadas as relações, instâncias de dados, esquemas de integração e tarefas similares, tendo como resultado uma estrutura formal com expressões que ligam os termos de uma ontologia nos termos de outra ontologia. Como demonstração de exemplo poderíamos ter um agente colaborador A com conhecimentos de carro e um agente colaborador B com conhecimentos de veículos, conforme figura

45 Todos estes mecanismos podem ser realizados, em uma ontologia, de forma automática, semi-automática, onde há a necessidade de intervenção humana em algumas etapas para a tomada de decisão, ou até mesmo manual A aplicação dos mecanismos Os mecanismos de interoperabilidade citados acima podem ser aplicados em um ambiente de agentes orientado por ontologias. Considerando dois agentes colaborativos A e B modelados através de uma ontologia A e B, que possuem suas classes, propriedades, restrições e instâncias. Cada classe possui uma definição associada, assim como os termos sinônimos, sendo os mesmos definidos em um glossário de termos do domínio em questão. No mecanismo de combinação de ontologias para que seja possível efetuar a troca de conhecimentos, dois agentes com domínios similares 1 ou de sobreposição 2, interagem formando uma única ontologia. No caso, um agente colaborador A com conhecimentos de enfermagem e um agente colaborador B com conhecimentos de Medicina, cada um tem na sua ontologia os conhecimentos específicos de sua área, no momento que eles interagirem para trocarem informações será formada uma única ontologia com as informações que as suas área possuem em comum, demonstrado na figura 4.5. Figura 4.5: Exemplo de combinação de ontologias 1 Neste trabalho, entende-se por domínios similares aqueles domínios que tratam do mesmo assunto. 2 Neste trabalho, entende-se que um domínio A qualquer é de sobreposição a um domínio B qualquer, quando A além de possuir as informações contidas em B também possui informações adicionais sobre o mesmo assunto de B. 46

46 Alinhamento de ontologias: tem-se como resultado as duas ontologias originais separadas, mas com as ligações estabelecidas entre elas, permitindo que as ontologias alinhadas reusem as informações uma das outras. O alinhamento normalmente é realizado quando as ontologias são de domínios complementares (NOY; MUSEN; SMART, 1999). A figura 4.3 ilustra um exemplo de alinhamento de ontologias, onde a ontologia O1 se refere a carros, a ontologia O2 se refere a veículos e a O3 a meios de transporte. Figura 4.3: Exemplo do mecanismo de alinhamento de ontologias. Mapeamento de ontologias: tem-se como resultado uma estrutura formal que contém expressões que fazem a ligação de conceitos de um modelo em conceitos de um segundo modelo. Este mapeamento pode ser usado para transferir instâncias de dados, esquemas de integração, esquemas de combinação e tarefas similares (NOY; MUSEN; SMART, 1999). A figura 4.4, ilustra um exemplo de mapeamento de ontologias, onde os conceitos carro de O1 e veículo de O2 são mapeados em expressões formais. Figura 4.4: Exemplo do mecanismo de mapeamento de ontologias 45

47 Figura 4.1: Exemplo do mecanismo de combinação de ontologias Integração de ontologias: tem-se como resultado uma ontologia única criada pela montagem, extensão, especialização ou adaptação de outras ontologias que tratam não necessariamente do mesmo assunto. Na integração de ontologias é possível identificar as regiões que foram criadas a partir das ontologias originais (PINTO; GOMEZ-PEREZ; MARTINS, 1999). A figura 4.2 ilustra um exemplo de integração de ontologias, onde os conceitos carro de O1, veículo de O2 e casa de O3 são integrados, i.e., unidos, na ontologia única O. Figura 4.2: Exemplo do mecanismo de integração de ontologias Apesar do resultado final, tanto da combinação quanto da integração de ontologias ser uma ontologia única constituída pela união dos termos das ontologias originais, a principal diferença entre estes dois mecanismos é que no primeiro as ontologias tratam do mesmo assunto, o que não acontece necessariamente no segundo. 44

48 4. Interoperabilidade entre ontologias Neste capítulo são apresentados assuntos relacionados à interoperabilidade entre ontologias, como os mecanismos encontrados na literatura; a conciliação de vocabulários utilizando os padrões Dublin Core e FOAF; as ferramentas e métodos de conversão empregados para converter ontologias OWL em formato de triplas e vice-versa e os operadores relacionados, assim como os algoritmos desenvolvidos neste trabalho. Ao final, é demonstrado um exemplo de interoperabilidade dinâmica entre ontologias aplicadas ao domínio de um congresso. 4.1 Mecanismos de Interoperabilidade De forma geral, as ontologias têm como objetivo promover um entendimento comum e compartilhado sobre um domínio, que pode ser comunicado entre pessoas e sistemas de aplicação (BISHR, 1997). No entanto para que trabalhem em conjunto, trocando automaticamente as informações representadas em ontologias, são necessários mecanismos que garantam a sua interoperabilidade. Abaixo são destacados alguns mecanismos que podem ser usados para propiciar a compatibilidade de ontologias: Combinação de ontologias: tem-se como resultado a versão das ontologias originais combinadas em uma ontologia única com todos seus termos juntos, sem a definição clara de suas origens. Normalmente as ontologias originais descrevem domínios similares ou de sobreposição (NOY; MUSEN; SMART, 1999). A figura 4.1, ilustra um exemplo de combinação de ontologias, onde os dois conceitos compatíveis, por exemplo carro da ontologia O1 e veículo da ontologia O2, poderiam ser combinados, i.e., unidos, gerando uma ontologia única O3. 43

49 Figura 3.6: Matriz de Adjacências representando conceitos e relacionamentos. Sendo que os elementos de cada R i são todos triplas (A, B, P), onde A, B C i (são conceitos) e P nomeia uma lista de relacionamento(s) específico(s) entre eles, nesta ordem. Eventualmente usa-se (A, _, P) se P é um atributo do conceito A (localizado na diagonal principal da matriz de adjacência correspondente). 3.4 Considerações do capítulo Este capítulo objetivou demonstrar as formas de representar uma ontologia. Inicialmente foram abordadas as linguagens XML, RDF e OWL que se constituem em formas mais popularmente utilizadas. Os grafos e matrizes de adjacências foram estudados com o intuito de demonstrar a representação visual de uma ontologia, servindo também, de base para a representação contextual de uma ontologia. No próximo capítulo serão apresentados os aspectos relacionados à interoperabilidade entre ontologias. 42

50 3.2.1 Principais Vantagens da Utilização de Gramática de Grafos A seguir, serão apresentadas, aquelas que atualmente, são consideradas as principais vantagens na utilização da Gramática de Grafos no desenvolvimento de sistemas: Representação dos Dados: Grafos provêm uma representação de dados expressiva e versátil de um sistema. Do ponto de vista da interação entre o usuário e o modelo do sistema pode-se observar que os grafos podem ser, até certo ponto, intuitivos e, em geral, de fácil compreensão por parte dos usuários. A rescrita de grafos também possui a característica de proporcionar uma representação de alto nível da solução de um problema computacional, qualquer que este seja. Rescrita de Grafos: Seguindo o tema anterior, outra vantagem da modelagem de um sistema através da rescrita de grafos é a possibilidade de simulação (com o auxílio de ferramentas) o que proporciona além de sua verificação formal, a validação do sistema, ou seja, a avaliação de sua conformidade com os requisitos funcionais. Incremento na Qualidade e Produtividade: Também, as gramáticas de grafos proporcionam grande incremento na qualidade e produtividade na fase de manutenção de um sistema, em função da total previsibilidade do comportamento de um sistema em caso de alteração em seus requisitos. Esse fator é de grande importância se for considerado que a manutenção representa 60% da vida útil de um sistema. Utilidade na Modelagem de Sistemas: A utilização de gramática de grafos como método para a modelagem de sistemas, pela sua flexibilidade e representação, pode ser uma poderosa ferramenta de modelagem de diversos aspectos a serem representados durante o desenvolvimento. 3.3 Representação contextual A representação contextual consiste em representar Ontologias (Oi, O 2... O n ), onde O i (para i=1, 2,...n) é caracterizada por um par (C i, R i ), sendo que C i é um conjunto de conceitos e R i é um conjunto de relacionamentos sobre C i. A figura 3.6 demonstra um exemplo de uma ontologia representado através de matriz de adjacências, contendo as classes e seus respectivos relacionamentos. 41

51 Figura 3.4: Duas representações de um grafo orientado. a) um grafo orientado G que tem 3 vértices e 3 arestas. b) uma representação de G como matriz de adjacências. Fazendo-se a soma para um mesmo relacionamento dos dois grafos, obtemos um grafo contendo as 2 representações, conforme figura 3.5. Figura 3.5: Representações de um grafo orientado. a) um grafo orientado G que tem 3 vértices e 3 arestas. b) uma representação de G como matriz de adjacências. Para representar um grafo não direcionado simples e sem pesos nas arestas, basta que as entradas m ij da matriz M contenham 1 se v i e v j são adjacentes e 0 caso contrário. Se as arestas do grafo tiverem pesos, m ij pode conter, ao invés de 1 quando houver uma aresta entre v i e v j, o peso dessa mesma aresta. Uma das características da matriz de adjacência quando o grafo não é orientado é a simetria encontrada na "diagonal". É interessante que se lermos uma coluna de índice v ou uma linha de índice v vamos encontrar a mesma coisa. 40

52 Os grafos são meios naturais para explicar situações complexas em um nível intuitivo. A idéia básica da gramática de grafos é análoga à da gramática de Chomsky. A noção resultante da gramática de grafos generaliza a da gramática de Chomsky. A composição da gramática de grafos parte de um Grafo Tipo e de um Grafo Inicial. Um Grafo Tipo descreve as possíveis ocorrências em um grafo. É uma forma simplificada, porém bastante representativa e significativa que substitui um provável grande conjunto de regras que controlariam o grafo. Um Grafo Inicial apresenta a primeira instância do grafo, nela está representado o estado inicial do sistema aguardando a aplicação de regras que o transformarão (RUSSI; SILVA, 2008). Uma matriz de adjacências é uma das formas de se representar um grafo. Dado um grafo G com n vértices podemos representá-lo em uma matriz n x n M. A definição precisa das entradas da matriz varia de acordo com as propriedades do grafo que se deseja representar, porém de forma geral o valor m ij guarda informações sobre como os vértices v i e v j estão relacionados (isto é, informações sobre a adjacência de v i e v j ). As figuras 3.3 e 3.4 são exemplos de grafos representados através da matriz de adjacência correspondente. Figura 3.3: Duas representações de um grafo orientado. a) um grafo orientado G que tem 4 vértices e 4 arestas. b) uma representação de G como matriz de adjacências. 39

53 Após os elementos que formam a estrutura inicial do documento OWL, têm-se a representação das classes, subclasses, instâncias e atributos. Considerando-se que os atributos são divididos, na ontologia, em dois tipos: Datatype property, associa indivíduos a valores de dados, e Object Property, associa indivíduos a outros indivíduos. Sendo alguns desses elementos ilustrados no quadro 3.4. Quadro 3.4: Parte de código OWL representando alguns elementos que formam a estrutura inicial de um documento OWL. 3.2 Grafos e Matrizes de Adjacência Os grafos e matrizes de adjacência são recursos muito utilizados para visualizar a representação de uma ontologia. Neste trabalho, para estruturação dos algoritmos foram utilizadas matrizes de adjacência que são representações de grafos valorados. A gramática de grafos é um formalismo de especificação na qual os estados de um sistema são representados por grafos e as transições são especificadas por regras. Neste formalismo os estados de um sistema são descritos através de estruturas algébricas (grafos que podem ou não ter atributos especificados como tipos de dados abstratos) e o comportamento do sistema é determinado operacionalmente por mudanças de estado. 38

54 OWL Full - sua finalidade é prover o máximo de expressividade e liberdade sintática. Com OWL Full, os usuários podem aumentar o vocabulário pré-definido de RDF ou OWL, porém sem nenhuma garantia computacional. OWL Full pode ser visto como uma extensão ao RDF, ao passo que OWL Lite e OWL DL seriam extensões a visões restritas do RDF. Todo documento OWL é um documento RDF e todo documento RDF é um documento OWL Full. No entanto, nem todo documento RDF é um documento OWL Lite ou OWL DL (pois estas linguagens são mais restritas). Por essa razão, deve haver um certo cuidado na hora de migrar documentos RDF para OWL Lite ou OWL DL. Algumas das restrições são: toda URI que é usada como nome de uma classe deve explicitamente ter o tipo owl:class (e de maneira similar para as propriedades), todo indivíduo deve explicitamente pertencer a no mínimo uma classe (mesmo que seja owl:thing), as URIs usadas para classes, propriedades e indivíduos devem ser mutuamente disjuntas. A estrutura encontrada em um arquivo OWL possui elementos característicos, alguns desses elementos são descritos a seguir (W3C, 2004): Versão e Namespaces: necessários para indicar que vocabulários específicos estão sendo utilizados na ontologia. O quadro 3.3 ilustra a declaração de versão e namespace em OWL. Quadro 3.3: Parte de código OWL representando a versão e namespaces Os elementos em destaque, no quadro 3.4, identificam versão e namespaces da ontologia. Namespaces são identificadores únicos dos elementos, atuam como um qualificador para um conjunto específico de nomes. As informações prefixadas com OWL referem-se a itens definidos em uma namespace. 37

55 Conforme (OWL, 2004) resume, a OWL é projetada para aplicações que precisam processar informação e não apenas apresentar essa informação para humanos. Ela facilita enormemente a interpretabilidade da máquina acerca de conteúdo Web, muito mais do que XML, RDF ou mesmo RDFS são capazes de fornecer, pois fornece vocabulário adicional e uma semântica formal. Foi desenvolvida baseando-se nas linguagens DAML e OIL e construída em cima da arquitetura XML e RDF. A OWL foi proposta como padrão pelo W3C3, agregando diversos pontos positivos das linguagens anteriores, e está sendo utilizada pela WEB Semântica. Além disso, a OWL é a mais promissora e sofisticada que suas linguagens bases porque, por exemplo, seus conceitos podem ser especificados por combinações lógicas como interseção, união, ou complementos de outros conceitos, ou por enumerações de objetos especiais. OWL pode indicar que uma propriedade é transitiva, simétrica, funcional ou inversa, em relação à outra propriedade, quais indivíduos, i.e., instâncias, pertencem à quais conceitos, que conceitos e propriedades podem usar indicações de equivalência e disjunção, que indicações de igualdade e diferença podem ser utilizadas entre indivíduos, entre outras informações fundamentais para fornecer o suporte semântico necessário para os primeiros passos da Web Semântica. A linguagem OWL é baseada na Lógica de Descrições, havendo uma correspondência entre as linguagens XML para expressar ontologias e uma lógica de descrição. Foram definidas três sub-linguagens OWL cada uma correspondendo a uma lógica de descrição (OWL Lite, DL e Full). OWL Lite - sua finalidade principal é dar suporte para que classificações hierárquicas com restrições simples sejam criadas. Por exemplo, restrições de cardinalidade são permitidas para apenas valores iguais a zero ou um. Assim, OWL Lite é própria para a construção de axionomias e tesauros. OWL DL - sua finalidade é prover um maior grau de expressividade onde todas as conclusões são computáveis (completude) e todas as computações terminam em tempo finito (decidíveis). OWL DL corresponde a Description Logic (BAADER et al, 2003). 36

56 entre as coisas denotadas pelos nós ligados pelo arco. Cada tripla tem três partes, conforme Figura 3.2: 1. Sujeito. 2. Objeto. 3. Predicado (propriedade) que denota um relacionamento. Figura 3.2: Grafo RDF representando uma tripla. O RDF destaca-se pela simplicidade com que busca estruturar o conteúdo contido na web. Ele não é uma linguagem, mas sim um modelo de representação para descrição semântica de recursos. Para a serialização desse modelo foi adotada, pela W3C, a linguagem XML, pois a mesma demonstra algumas facilidades. Dentre elas destaca-se: a facilidade de estruturação dos documentos, pois os elementos que compõem os documentos XML podem ser criados de acordo com a necessidade. O quadro 3.2 demonstra um exemplo de trecho de código RDF. Quadro 3.2: Trecho de código RDF OWL A linguagem OWL apresenta mais facilidades para expressar significados e semânticas do que XML, RDF e RDF Schema, embora seja baseada em RDF e RDF Schema e utilize a sintaxe XML. 35

57 Quadro 3.1: Exemplo de código XML. Retirado de (ANTONIOU; VAN HARMELEN, 2004) <class-def> <class name= plant /> <subclass-of> <NOT><class name= animal /></NOT> </subclass-of> </class-def> <class-def> <class name= tree /> <subclass-of> <class name= plant /> <subclass-of> </class-def> <class-def> <class name= branch /> <slot-constraint> <slot name= is-part-of /> <has-value> <class name= tree /> </has-value> </slot-constraint> <class def> RDF RDF é uma recomendação da W3C (World Wide Web Consortion) que apresenta uma nova forma de descrição dos dados na web. Para que o modelo de dados RDF possa ser representado, foi adotado o conceito de metadados (LASSILA, 1999), de forma a possibilitar a descrição de recursos e, com isso, propiciar uma semântica aos mesmos. Esse modelo teve grande aceitação dentre as ferramentas que proporcionam a resolução da interoperabilidade em diversas plataformas devido a sua arquitetura genérica de metadados, permitindo, assim, a descrição dos recursos no contexto web através de padrões de metadados (LASSILA, 1999). O modelo RDF encontra-se definido em dois documentos: Resource Description Framework (RDF) Model and Syntax Specification (LASSILA, 1999), que descreve o modelo de dados RDF e Resource Description Framework (RDF) Schema Specification (BRICKLEY, 2000), que descreve as primitivas de modelagem utilizadas para a descrição de um domínio particular de interesse. A estrutura de uma expressão em RDF é uma coleção de triplas, cada uma consistindo de um sujeito, predicado e objeto. O conjunto dessas triplas é chamado de grafo RDF. Isso pode ser ilustrado por um nó e um arco-direcionado no diagrama, onde cada tripla é representada por um nó-arco-nó. Cada tripla representa uma declaração de relacionamento 34

58 3.1.1 XML A XML foi criada para permitir o desenvolvimento de documentos em formatos próprios. Assim como documentos em HTML, documentos XML contém texto. Esse texto contém primeiramente o conteúdo em si do documento e linguagem de marcação na forma de tags. Essa marcação permite um programa processador interpretar as diversas partes do conteúdo como "elementos". Tanto o conteúdo do documento XML como as tags (com algumas exceções) podem conter caracteres Unicode, permitindo que informações de diversas linguagens sejam representadas diretamente. Em HTML, o conjunto de tags permitidas e a respectiva interpretação é definida pela especificação HTML. A linguagem XML permite a seus usuários definir suas próprias linguagens de marcação (tags e as estruturas nas quais elas podem aparecer) adaptadas para seus próprios requisitos específicos (a linguagem RDF/XML é uma linguagem de marcação XML). Desta forma, a formatação do documento é tratada separadamente de sua estrutura, resolvendo assim um dos principais problemas do HTML, sem incorrer em um sistema de marcações complexas como a SGML (MOURA, 2001). A linguagem XML deve respeitar duas restrições: tags devem estar corretamente aninhadas e atributos devem ser únicos. Quando um documento atende a essas duas restrições diz-se que um documento é bem formado, sendo possível organizá-lo segundo uma estrutura de árvore e representá-lo via XML na web, o que auxilia na recuperação da informação. O Quadro 3.1 demonstra um exemplo de código XML. 33

59 3. Representação de Ontologias A fase final no desenvolvimento de uma ontologia é realizada por meio de uma representação específica que permite o processamento e a abrangência do conhecimento pela máquina. Isso é possível através de uma linguagem específica para a criação de ontologias e de uma ferramenta que permita sistematizar e integrar as especificações definidas à linguagem utilizada. Constantemente novas linguagens para a definição de ontologia são desenvolvidas, dentre essas linguagens podem ser citadas: OIL (OIL, 2000), XOL (XOL, 1999), DAML+OIL (DAML+OIL, 2001), OWL (SMITH, 2003). Todas essas linguagens, apesar de suas particularidades, possuem uma característica comum: a capacidade de representar ontologias em RDF e RDF Schema. Para tanto, é feita uma breve explanação a respeito dos conceitos XML, RDF/RDF Schema e OWL nas seções subseqüentes. A Figura 3.1 ilustra um exemplo de modelo em camadas. Figura 3.1: O modelo em camada para as linguagens de ontologias. Neste capítulo são apresentadas as de formas de representação de ontologias mais comumente utilizadas, como o padrão XML, RDF e OWL; os grafos e matrizes de adjacências e a representação contextual. 3.1 Padrão XML, RDF e OWL A seguir uma breve descrição dos padrões para representação de ontologias XML, RDF e OWL. 32

60 2.5 Considerações do Capítulo Este capítulo teve por objetivo dar uma breve introdução aos conceitos de ontologias, relacionar algumas vantagens de seu uso, assim como demonstrar os componentes básicos que são necessários para modelagem de uma ontologia. A partir disso, foram estudadas as formas de representação das ontologias, demonstradas no capítulo a seguir. 31

61 Separada ou Disjunta: quando as subclasses são mutuamente exclusivas, ou seja, no momento que uma instância pertence a uma sub-classe, não poderá de forma alguma pertencer a qualquer das outras subclasses derivadas. Sobreposta: quando o fato de pertencer a uma sub-classe não impede que pertença a outras. Definir instâncias: As instâncias são entidades do domínio que atendem às especificações de uma classe. A atividade de instanciação corresponde a criar os registros de uma base de dados a partir do seu esquema (descrição das classes) Representação das instâncias Em uma ontologia todos os elementos que são representados pode ser instanciados. A Figura 2.11 apresenta um exemplo da instanciação da Classe Termo, que é nomeado por um conceito x, que seria a própria definição da palavra termo. Os termos são representados por Classes e podem se relacionar com outros termos através de propriedades. Figura 2.11: Exemplo de Instanciação da Classe Termo 30

62 Figura 2.9: Cardinalidade da Classe Concreta É importante ressaltar que, antes de se construir uma restrição, deve-se definir uma classe para armazenar todas as instâncias referentes ao mesmo. Observa-se que a restrição é uma forma de resposta às questões que são de competência da ontologia. Uma classe complexa formada a partir de equivalências, ou dos quantificadores universal e existencial, é a representação em OWL das verdades do domínio, ou seja, das suas restrições. A Figura 2.10, ilustra um exemplo de definição de restrição desenvolvida no ambiente Protegé, onde para todo termo existe no mínimo um conceito associado. Figura 2.10: Definição da restrição Termo juntamente com a classe e condição necessária, no Protegé Restrições também podem ser utilizadas para representar o ou exclusivo (xor), quando instâncias de duas ou mais classes podem se relacionar com instâncias de uma outra classe específica. As restrições podem ainda ser utilizadas para definir melhor a semântica de classes especializadas derivadas de classes gerais. As restrições pré-definidas para classes especializadas são: Completa: quando todas as sub-classes possíveis foram derivadas da classe geral; Incompleta: quando ainda é possível derivar novas sub-classes. 29

63 membros da classe indicada pela cláusula allvaluesfrom (SMITH; WELTY; MCGUINNESS, 2004). SomeValuesFrom: A restrição somevaluesfrom descreve a classe de indivíduos x para os quais existe pelo menos um y, tal que o par (x, y) seja uma instância da propriedade, isto é, a restrição requer que, pelo menos para uma instância da classe que tenha instâncias da propriedade especificada, os valores da propriedade devem ser membros da classe indicada pela cláusula somevaluesfrom (SMITH; WELTY; MCGUINNESS, 2004). HasValue: A propriedade hasvalue permite que uma propriedade tenha um certo indivíduo como valor. Em outras palavras, hasvalue permite especificar classes baseadas na existência de valores de propriedades particulares, assim, um indivíduo será membro de tal classe sempre que pelo menos um dos valores das propriedades for igual ao valor do recurso hasvalue (SMITH; WELTY; MCGUINNESS, 2004) Restrições de cardinalidade A OWL permite utilizar restrições de cardinalidade, uma vez que qualquer instância de uma classe pode ter um número arbitrário de valores para uma propriedade. As restrições de cardinalidade são restrições locais, uma vez que elas são declaradas em propriedades com respeito a uma classe. Segundo (BECHHOFER et al, 2004), a OWL provê três construções para cardinalidade: owl:maxcardinality: descreve uma classe de todos os indivíduos que têm, no máximo, N valores semanticamente distintos. owl:mincardinality: descreve uma classe de todos os indivíduos que têm, no mínimo, N valores semanticamente distintos. Esta restrição é um meio para dizer que uma propriedade é requerida ter um valor para todas as instâncias da classe. owl:cardinality: descreve uma classe de todos os indivíduos que têm exatamente N valores semanticamente distintos. Para estas cardinalidades, a Figura 2.9 mostra um exemplo da classe concreta que possui no mínimo uma instância associada e no máximo N instâncias associadas. 28

64 Existem outras propriedades interessantes: Anti-simétrica, Irreflexiva, Assimétrica e Intransitiva. Elas aparecem em outras áreas da ciência, mas não abrange o escopo deste trabalho. Cada propriedade é modelada por um conjunto de restrições que definem os valores que podem ser assumidos, os quais descrevem ou limitam o conjunto de valores possíveis para uma propriedade. As restrições (facetas) mais comuns são a cardinalidade do valor da propriedade seus limites, strings, números, elemento de um conjunto, etc. Em OWL as restrições podem ser de valores (allvaluesfrom, somevaluesfrom e hasvalue), de cardinalidade (maxcardinality, mincardinality e cardinality), de intersecção (intersectionof), de união (unionof) e de enumeração (enumeration.) A Figura 2.8 ilustra exemplos de restrições definidos em OWL. Figura 2.8: Definição de restrições em OWL, no ambiente Protegé. As instâncias são entidades do domínio que atendem às especificações de uma classe. A atividade de instanciação corresponde a criar os registros de uma base de dados a partir do seu esquema (descrição das classes) Restrição de valor A seguir são detalhadas as principais restrições de valores, utilizadas em OWL. AllValuesFrom: A restrição allvaluesfrom é declarada em uma propriedade com respeito a uma classe, isto é, a restrição requer que, para cada instância da classe que tenha instâncias da propriedade especificada, os valores da propriedade devem ser todos os 27

65 Propriedade Inversa: As propriedades tem um sentido, no caso da inversa, este sentido pode ser dado de ambos os lados, assim para cada par P1(x,y) existe um inverso P2(y, x) e vice-versa. As propriedades também podem possuir subpropriedades, possuir relações de equivalência e serem reflexivas. Propriedade Reflexiva: Quando todo elemento de E se relaciona com ele mesmo, assim: se, para cada x E, existe R(x,x) em E, conforme ilustra a Figura 2.6. Figura 2.6: Propriedade Reflexiva Propriedade Equivalente: Uma propriedade é equivalente se possuir as propriedades reflexiva, transitiva e simétrica, conforme ilustra a Figura 2.7. Figura 2.7: Propriedade Equivalente 26

66 Figura 2.3: Propriedade Simétrica Propriedade Transitiva: Uma propriedade R é transitiva quando, se x está relacionado com y e y está relacionado com z, então x se relaciona com z, assim: se, para cada x, y, z E; existe R(x, y) e R (y, z) implica R(x, z), conforme ilustra a Figura 2.4. Figura 2.4: Propriedade Transitiva Propriedade Funcional: Uma propriedade funcional é aquela em que se tem um único valor de y para cada instância de x. Portanto, não tem mais do que um único valor para cada indivíduo. Uma propriedade com esta característica é dita ter cardinalidade mínima 0 e cardinalidade máxima 1, assim: se, para cada x W, existe um único y W tal que R(x, y), conforme ilustra a Figura 2.5. Figura 2.5: Propriedade Funcional Em OWL, a owl:functionalproperty é uma subclasse de owl:datatypeproperty e também é uma subclasse de owl:objectproperty (BECHHOFER et al, 2004). As propriedades podem ser ditas funcionais inversas. Se uma propriedade é funcional inversa, então, o inverso da propriedade é funcional (HARMELEN; MCGUINNESS, 2004). Deste modo, o inverso da propriedade tem, no máximo, um valor para cada indivíduo. 25

67 (atributos e relacionamentos), sendo que cada classe é caracterizada por um conjunto de atributos e relacionamentos. As propriedades de uma classe são herdadas por suas subclasses, portanto as propriedades somente precisam ser definidas em um dos níveis da hierarquia. A Figura 2.2 mostra a hierarquia de propriedades, onde, as propriedades são especializadas em Propriedade Objeto e Propriedade de Tipo de Dados. Figura 2.2: Propriedades de uma ontologia Uma propriedade é declarada como Propriedade Objeto quando tem o papel de relacionar uma classe à outra classe. A Propriedade de Tipo de Dados se diferencia da Propriedade Objeto por utilizar uma variável para representar qualquer coisa no domínio abordado. Neste tipo de propriedade, também é necessário definir o domínio a qual ela pertence e o seu valor que, não mais será uma classe, mas um elemento do tipo string, boolean, int, entre outros. Além disso, as Propriedades Objeto são especializadas em Simétrica, Transitiva, Funcional e Inversa, que são definidas a seguir. Propriedade Simétrica: Uma propriedade R é simétrica quando, se x se relaciona com y, y se relaciona com x, assim: se para cada x, y E; R(x,y) implica R(y, x), conforme ilustra a Figura

68 determinada realidade, através de uma linguagem formal, composta de vocabulário, relacionamentos e regras. As taxonomias são compostas de termos ou conceitos sobre o universo da informação armazenada relacionados de forma hierárquica. Do mesmo modo, o tesauro define conceitos, mas permite também outros tipos de relacionamentos entre os conceitos. Utilizando taxonomias ou tesauros, o usuário poderá escolher qual a categoria de informação ele deseja acessar, podendo combiná-la com a busca por palavra chave. Este tipo de busca provê bons resultados no acesso às informações. Sua deficiência é a não disponibilidade de uma linguagem padrão que descreva a sua estrutura. Isso dificulta o compartilhamento desta estrutura por outros sistemas, a construção de ferramentas de auxilio ao desenvolvimento das estruturas e a utilização de sistemas de manipulação de regras de restrição. 2.4 Modelagem As informações contidas em uma ontologia são modeladas através de classes, que são os conceitos do domínio, sendo organizadas em hierarquias, definindo relacionamentos de generalização (subclasses superclasse) e especialização (superclasse subclasse). A Figura 2.1, ilustra um diagrama contendo a descrição básica de uma ontologia e seus elementos básicos. Figura 2.1: Representação estrutural de uma ontologia No entanto, somente as classes não fornecerão informação suficiente para responder às perguntas da competência do escopo. Uma vez que definidas as classes, deve-se descrever a estrutura interna dos conceitos. Para isso devem ser definidas também as propriedades 23

69 Essas são as principais vantagens da utilização de ontologias. Existem muitas outras vantagens, porém a maioria é decorrente dessas. 2.3 Composição Os componentes básicos de uma ontologia são classes (organizadas em uma taxonomia), relações (representam o tipo de interação entre os conceitos de um domínio), axiomas (usados para modelar sentenças sempre verdadeiras) e instâncias (utilizadas para representar elementos específicos, ou seja, os próprios dados) (GRUBER, 1996). De forma resumida, uma ontologia é composta de: Domínio, Vocabulário, Glossário, Tesauro, Taxonomia e Rede Semântica. O domínio define a abrangência da ontologia. Como dito em (RUSSEL; NORVIG, 2004, p. 245), o domínio de uma representação do conhecimento é uma parte do mundo sobre o qual se deseja expressar algum conhecimento. Este domínio define os limites onde é definida toda a estrutura da ontologia. O vocabulário é composto de classes e instâncias. As classes descrevem os conceitos dentro do domínio considerado. Estes conceitos representam um conjunto abstrato de objetos. Este conjunto considera características comuns entre estes objetos, sob um nível de abstração específico, a fim de representar os objetos através de um conceito único. As instâncias são as ocorrências particulares do objeto em relação à classe considerada. Uma instância também descreve conceitos, mas de forma individualizada, única e concreta, fazendo referência a um objeto real (documento, página de intranet, banco de dados). Ainda dentro dos vocabulários, as classes possuem características. Estas características são definidas pelos seus atributos ou propriedades. Os atributos possuem valor nas instâncias. As relações hierárquicas entre as classes compõem a taxonomia. Esta relação define uma forma de estruturação onde classes pai possuem classes filhos, com atributos herdados dos pais. Finalmente, as regras desempenham um importante papel no enriquecimento semântico de uma ontologia. As regras são assertivas lógicas que impõem restrições às suas classes e aos atributos. Podem existir regras que proíbem, obrigam ou permitem valores de atributos ou instâncias de uma classe, de acordo com a regra estabelecida e a condição da regra satisfeita. Resumindo, uma ontologia é, estruturalmente, a representação de uma 22

70 2.2 Vantagens do uso de ontologias Agora que já foi visto o que é uma ontologia, é importante que se destaque as vantagens de seu uso. A seguir é apresentada uma lista com as principais vantagens da utilização de ontologias na Ciência da Computação: Ontologias fornecem um vocabulário para representação do conhecimento. Esse vocabulário tem por trás uma conceituação que o sustenta, evitando assim interpretações ambíguas desse vocabulário. Ontologias permitem o compartilhamento de conhecimento. Sendo assim, caso exista uma ontologia que modele adequadamente certo domínio de conhecimento, essa pode ser compartilhada e usada por pessoas que desenvolvam aplicações dentro desse domínio. Para exemplificar, considere que exista uma ontologia para o domínio de livrarias. Uma vez que essa ontologia está disponível, várias livrarias podem construir seus catálogos usando o vocabulário fornecido por essa ontologia sem a necessidade de refazer uma análise do domínio de livraria. Pode-se dizer, que fornece uma descrição exata do conhecimento. Diferentemente da linguagem natural em que as palavras podem ter semântica totalmente diferente conforme o seu contexto, a ontologia por ser escrita em linguagem formal, não deixa espaço para o gap semântico existente na linguagem natural. Por exemplo, quando uma pessoa fala para outra a palavra Rede ela pode estar querendo falar a respeito de uma rede de pesca, como também de uma rede de computadores. A interpretação da palavra pode ser atribuída a um conceito ou outro conforme o estado mental do indivíduo. Porém, se há uma conceituação comum entre essas duas pessoas a possibilidade de mal entendido diminui muito. Por exemplo, se essas pessoas concordam em uma ontologia sobre o domínio de pesca, possivelmente não haverá mal entendido. É possível fazer o mapeamento da linguagem da ontologia sem que com isso seja alterada a sua conceituação, ou seja, uma mesma conceituação pode ser expressa em várias línguas. Pode ser possível estender o uso de uma ontologia genérica de forma a que ela se adeqüe a um domínio específico. Por exemplo, se alguém precisa de uma ontologia sobre bicicletas para construir uma aplicação e só encontra uma ontologia sobre o domínio genérico de veículos, pode utilizar essa ontologia estendendo-a para o domínio específico da aplicação, que no caso são de bicicletas. 21

71 2. Ontologias Neste capítulo é apresentada uma breve definição de ontologias, algumas vantagens de uso, sua composição básica, assim como a modelagem utilizada para sua construção. 2.1 Definição A palavra ontologia tem a sua origem na Filosofia, onde significa uma explicação sistemática da existência. A disciplina de computação resgatou este termo, inserindo-o num novo contexto, apesar de próximo do significado original. Neste sentido, apesar dos múltiplos significados do ser, ele faz referência a um único princípio, que une todos estes múltiplos significados. No entanto, é impossível representar o mundo real, ou mesmo alguma parte dele, com todos os detalhes. Para representar algum fenômeno ou parte do mundo, que nós chamamos domínio, é necessário focar em um limitado número de conceitos que são suficientes e relevantes para criar uma abstração do fenômeno à disposição. Assim, um aspecto central, de qualquer atividade de modelagem consiste de desenvolver uma conceituação: um conjunto de regras informais que confine a estrutura de uma parte da realidade, o qual um agente utiliza para isolar e organizar objetos e relações relevantes (BORST, 1997). Muitos trabalhos sobre ontologias são encontrados na literatura e são apresentadas diversas definições sobre o termo, no entanto, (BORST, 1997) apresenta uma definição simples e completa: "Uma ontologia é uma especificação formal e explícita de uma conceituação compartilhada". Nessa definição, "formal" significa legível para computadores; "especificação explícita" diz respeito a conceitos, propriedades, relações, funções, restrições, axiomas, explicitamente definidos; "compartilhado" quer dizer conhecimento consensual; e "conceituação" diz respeito a um modelo abstrato de algum fenômeno do mundo real. A conceituação é formada por um vocabulário controlado que é arranjado hierarquicamente e através de relações entre conceitos, como nas taxonomias e tesauros. Uma conceituação é uma visão abstrata e simplificada do mundo que se deseja representar. 20

72 1.5 Contribuição da dissertação A principal contribuição deste trabalho é o desenvolvimento de algoritmos que permitem a interoperabilidade entre ontologias, podendo ser utilizados em tempo real, em ambientes pervasivos onde a entrada e saída de agentes ocorrem de maneira contínua. Além disso, espera-se contribuir com este trabalho para um maior entendimento do assunto ontologias, principalmente na questão da interoperabilidade, pois além de apresentar uma revisão bibliográfica sobre a mesma, apresenta exemplos práticos e fornece um conjunto de referências que podem ser exploradas com mais detalhes. 1.6 Organização do texto O texto está organizado da seguinte forma. O Capítulo 2 é referente aos conceitos e definições de ontologia, assim como suas vantagens, sua composição e modelagem. O capítulo 3 descreve a representação de ontologias, onde inicialmente é feita uma breve explanação dos conceitos das linguagens XML, RDF e OWL, a seguir são mostrados os conceitos e importância da representação através de grafos e matriz de adjacências e a representação contextual dos mecanismos. O capítulo 4 aborda aspectos relativos à interoperabilidade entre ontologias descrevendo os mecanismos estudados como a integração, combinação, alinhamento e mapeamento, assim como é exemplificado cada um destes mecanismos. São abordados também neste capítulo, a conciliação de vocabulários utilizando os padrões Dublin Core e FOAF, o método utilizado para converter ontologias no formato OWL em matriz de adjacências, os operadores relacionais de união, intersecção e diferença, assim como os algoritmos desenvolvidos neste trabalho. Exemplos de interoperabilidade dinâmica entre ontologias também são demonstrados neste item, a fim de validar a proposta deste trabalho. Além disso, também são apresentados as conclusões, assim como os trabalhos futuros e as publicações realizadas ao longo do desenvolvimento deste trabalho, nos capítulos 6 e 7, respectivamente. 19

73 Figura 1.2: Entradas e saídas das etapas de alinhamento do CATO. Ao concluir as três etapas de execução, o CATO identifica as classes equivalentes, i.e., aquelas que satisfazem todas as condições de cada uma de suas etapas, e realiza o alinhamento. Além destes trabalhos outras iniciativas têm ocorrido, entretanto não atingem o objetivo proposto neste trabalho, o qual pretende, então, mostrar o desenvolvimento de algoritmos para interoperabilidade entre ontologias que propiciam a comunicação entre elas, para isso foram utilizados operadores relacionais que podem ser utilizados nos mecanismos de interoperabilidade existentes. 18

74 Figura 1.1: Plugin PrompTab disponível no ambiente Protegé Além destas, o Componente para Alinhamento Taxonômico de Ontologias CATO (FELICÍSSIMO, 2004), é uma estratégia encontrada para interoperabilidade de ontologias, pois alinha automaticamente as taxonomias de ontologias comparadas. O alinhamento realizado é obtido em três etapas executadas seqüencialmente. A primeira etapa compara lexicalmente os conceitos das ontologias entradas e usa um mecanismo de poda estrutural dos conceitos associados como condição de parada. A segunda etapa compara estruturalmente as hierarquias das ontologias identificando as similaridades entre suas sub-árvores comuns. A terceira etapa refina os resultados da etapa anterior classificando os conceitos identificados como similares em bem similares ou pouco similares, de acordo com um percentual de similaridade predefinido. A Figura 1.2 demonstra a estratégia utilizada pelo CATO para o alinhamento das ontologias. 17

Interoperabilidade em Ambientes Educacionais Virtuais Modelados por Ontologias. Ontologies-driven Educational Virtual Environments

Interoperabilidade em Ambientes Educacionais Virtuais Modelados por Ontologias. Ontologies-driven Educational Virtual Environments 1 Interoperabilidade em Ambientes Educacionais Virtuais Modelados por Ontologias Ontologies-driven Educational Virtual Environments Verlani Timm Hinz 1 Universidade Católica de Pelotas, Rio Grande do Sul

Leia mais

Obtendo Interoperabilidade Semântica em Sistemas. Metamorphosis

Obtendo Interoperabilidade Semântica em Sistemas. Metamorphosis Obtendo Interoperabilidade Semântica em Sistemas Heterogéneos de Informação com Metamorphosis Giovani R. Librelotto José Carlos Ramalho Pedro R. Henriques Departamento de Informática Universidade do Minho

Leia mais

ontokem: uma ferramenta para construção e documentação de ontologias

ontokem: uma ferramenta para construção e documentação de ontologias ontokem: uma ferramenta para construção e documentação de ontologias Sandro Rautenberg (EGC/UFSC, srautenberg@egc.ufsc.br) Fernando A. O. Gauthier (EGC/UFSC, gauthier@inf.ufsc.br) Poline Lottin (INE/UFSC,

Leia mais

Ontologias e sua aplicação em linguagens de Comunicação

Ontologias e sua aplicação em linguagens de Comunicação Ontologias e sua aplicação em linguagens de Comunicação Rafael de Moura Speroni Disciplina de Modelagem de Sistemas Multiagentes - 2006/2 Prof. Ricardo Silveira PPGCC - UFSC Comunicação entre agentes Pessoas,

Leia mais

Integração de Dados. Processamento Analítico de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Prof. Dr. Ricardo Rodrigues Ciferri

Integração de Dados. Processamento Analítico de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Prof. Dr. Ricardo Rodrigues Ciferri Integração de Dados Processamento Analítico de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Prof. Dr. Ricardo Rodrigues Ciferri Integração de Dados Problema: dados armazenados nos provedores são

Leia mais

Denise Gomes Silva Morais Cavalcante. Programa de Pós-graduação em Ciências da Informação/ECA- USP. Orientador: Nair Yumiko Kobashi

Denise Gomes Silva Morais Cavalcante. Programa de Pós-graduação em Ciências da Informação/ECA- USP. Orientador: Nair Yumiko Kobashi INTEGRAÇÃO DE ACERVOS MULTIMÍDIA NO CONTEXTO DA WEB SEMÂNTICA: ANÁLISE DE INSTRUMENTOS E METODOLOGIAS PARA REPRESENTAÇÃO E RECUPERAÇÃO DE DOCUMENTOS MULTIMÍDIA. Denise Gomes Silva Morais Cavalcante denisegsmc@usp.br

Leia mais

7 Congresso de Pós-Graduação MODELAGEM DE BASE DE CONHECIMENTO PARA TAREFA DE CLASSIFICAÇÃO EM MINERAÇÃO DE DADOS

7 Congresso de Pós-Graduação MODELAGEM DE BASE DE CONHECIMENTO PARA TAREFA DE CLASSIFICAÇÃO EM MINERAÇÃO DE DADOS 7 Congresso de Pós-Graduação MODELAGEM DE BASE DE CONHECIMENTO PARA TAREFA DE CLASSIFICAÇÃO EM MINERAÇÃO DE DADOS Autor(es) LIDIA MARTINS DA SILVA Orientador(es) ANA ESTELA ANTUNES DA SILVA 1. Introdução

Leia mais

Ontologias: Definições e Tipos

Ontologias: Definições e Tipos Ontologias: Definições e Tipos Ricardo de Almeida Falbo Ontologias para Engenharia de Software Departamento de Informática Universidade Federal do Espírito Santo Agenda O que é uma ontologia Tipos de Ontologias

Leia mais

Algoritmos para Interoperabilidade entre Ontologias

Algoritmos para Interoperabilidade entre Ontologias UNIVERSIDADE CATÓLICA DE PELOTAS ESCOLA DE INFORMÁTICA PROGRAMA DE PÓS-GRADUAÇÃO EM INFORMÁTICA Algoritmos para Interoperabilidade entre Ontologias por Verlani Timm Hinz Dissertação apresentada como requisito

Leia mais

Manipulação de uma ontologia desenvolvida em OWL através da utilização da API JENA 2 Ontology

Manipulação de uma ontologia desenvolvida em OWL através da utilização da API JENA 2 Ontology Manipulação de uma ontologia desenvolvida em OWL através da utilização da API JENA 2 Ontology Paulo Roberto Gonçalves 1, Parcilene Fernandes de Brito 1 1 Laboratorio de Inteligência Computacional Centro

Leia mais

Uma ferramenta para Definição de Mapeamentos entre Vocabulários usados na publicação de Dados Linkados

Uma ferramenta para Definição de Mapeamentos entre Vocabulários usados na publicação de Dados Linkados U NIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA 201 2. 1 Uma ferramenta para Definição de Mapeamentos entre Vocabulários usados na publicação de Dados Linkados

Leia mais

Ferramentas de Apoio à Criação e Edição de Ontologias: Tainacan Ontology e uma Análise Comparativa

Ferramentas de Apoio à Criação e Edição de Ontologias: Tainacan Ontology e uma Análise Comparativa Ferramentas de Apoio à Criação e Edição de Ontologias: Tainacan Ontology e uma Análise Comparativa Ernesto Fonseca Veiga 1, Dalton Lopes Martins 1, Marcel Ferrante Silva 1 1 Media Lab Laboratório de Pesquisa,

Leia mais

Este capítulo aborda os fundamentos principais aplicados neste trabalho.

Este capítulo aborda os fundamentos principais aplicados neste trabalho. 2 Fundamentos Este capítulo aborda os fundamentos principais aplicados neste trabalho. 2.1 Linked Data Linked Data é um padrão de práticas a serem seguidas para a publicação e interligação de dados estruturados

Leia mais

Ontologias: definições e conceitos básicos

Ontologias: definições e conceitos básicos Ontologias: definições e conceitos básicos Cristiane Akemi Yaguinuma cristiane_yaguinuma@dc.ufscar.br Orientadora: Profª. Drª. Heloisa Arruda Camargo Co-orientadora: Profª. Drª. Marilde T. P. Santos Setembro/2009

Leia mais

Ontologias MARIANNA ARAÚJO

Ontologias MARIANNA ARAÚJO Ontologias MARIANNA ARAÚJO Roteiro Motivação Conceito Tipos Linguagens de Ontologia SPARQL Apresentação de Ferramentas Modelagem de uma Ontologia com Protégé Referencias 2 Motivação Aumento exponencial

Leia mais

1 Introdução. 1 World Wide Web Consortium -

1 Introdução. 1 World Wide Web Consortium - 1 Introdução A internet é uma ampla fonte de disseminação de informações, abrangendo praticamente todas as áreas de conhecimento. A maioria das informações disponíveis hoje para a grande parte dos usuários

Leia mais

Mineração de Textos na Web

Mineração de Textos na Web Mineração de Textos na Web Luciano Antonio Digiampietri Escola de Artes Ciências e Humanidades da Universidade de São Paulo digiampietri@usp.br Resumo: Com o crescimento das informações disponíveis na

Leia mais

CIN 7601 PLANO DE ENSINO (2018.2)

CIN 7601 PLANO DE ENSINO (2018.2) UNIVERSIDADE FEDERAL DE SANTA CATARINA UFSC CENTRO DE CIÊNCIAS DA EDUCAÇÃO CED DEPARTAMENTO DE CIÊNCIA DA INFORMAÇÃO CIN CIN 7601 PLANO DE ENSINO (2018.2) 1 IDENTIFICAÇÃO DISCIPLINA: CIN 7601 Linked Data

Leia mais

JADEX: A BDI REASONING ENGINE. Alexander Pokahr, Lars Braubach e Winfried Lamersdorf Springer US - Multi-Agent Programming 2005 pp.

JADEX: A BDI REASONING ENGINE. Alexander Pokahr, Lars Braubach e Winfried Lamersdorf Springer US - Multi-Agent Programming 2005 pp. JADEX: A BDI REASONING ENGINE Alexander Pokahr, Lars Braubach e Winfried Lamersdorf Springer US - Multi-Agent Programming 2005 pp. 149-174 Volume 15 Motivação Existem muitas plataformas para desenvolvimento

Leia mais

Uma ontologia para modelagem de conteúdo para Ensino a Distância. An ontology for modeling distance learning contents

Uma ontologia para modelagem de conteúdo para Ensino a Distância. An ontology for modeling distance learning contents SEMINÁRIO DE PESQUISA EM ONTOLOGIA NO BRASIL 11 E 12 de Agosto Universidade Federal Fluminense Departamento de Ciência da Informação Niterói Rio de Janeiro Brasil Esta comunicação está sendo submetida

Leia mais

Padrões para Definição de Metadados

Padrões para Definição de Metadados Padrões para Definição de Metadados Marcos Vinícius Salgado Monteiro mvsmonteiro@midiacom.uff.br 1- Introdução 2- MPEG-7 3- TV-Anytime 4- RDF 4.1- OWL 5- Conclusão Roteiro Introdução Hoje em dia, cada

Leia mais

Web Semântica: Conceitos, Tecnologias e Aplicações

Web Semântica: Conceitos, Tecnologias e Aplicações Web Semântica: Conceitos, Tecnologias e Aplicações Paulo Vitor Antonini Orlandin paulovitor_e@hotmail.com Resumo Com o crescente número de usuários da Internet, consequentemente o número de informações

Leia mais

Ontologias: Definições e Tipos

Ontologias: Definições e Tipos Ontologias: Definições e Tipos Ricardo de Almeida Falbo Departamento de Informática Universidade Federal do Espírito Santo Agenda O que é uma ontologia Tipos de Ontologias Ontologia Origem: Filosofia Ont-

Leia mais

A Web Semântica: Conceitos e Aplicações. Valéria M. Pequeno Universidade Autónoma de Lisboa

A Web Semântica: Conceitos e Aplicações. Valéria M. Pequeno Universidade Autónoma de Lisboa A Web Semântica: Conceitos e Aplicações Valéria M. Pequeno Universidade Autónoma de Lisboa Muita informação Motivação Mapas Textos Imagens Motivação Na Web tradicional, a informação está disponível num

Leia mais

Castro (2008, p.7) define a palavra ontologia de forma mais simplificada:

Castro (2008, p.7) define a palavra ontologia de forma mais simplificada: Recuperação de Informação baseada em Castro (2008, p.7) define a palavra ontologia de forma mais simplificada: Ela é o resultado da junção de dois termos gregos onta (entes) e logos (teoria, discurso,

Leia mais

1 Introdução Motivação

1 Introdução Motivação 1 Introdução 1.1. Motivação Dados geográficos estão disponíveis em uma grande variedade de repositórios, desde os computadores pessoais até repositórios sofisticados mantidos por organizações. Para ajudar

Leia mais

Perspectivas para Busca Semântica para Comunicação Alternativa: o caso SCALA. João Carlos Gluz Universidade do Vale do Rio dos Sinos (UNISINOS)

Perspectivas para Busca Semântica para Comunicação Alternativa: o caso SCALA. João Carlos Gluz Universidade do Vale do Rio dos Sinos (UNISINOS) Eixo 3:. Research and Development to inform the field of AAC. Área C : AAC action research Área D: Development in AAC Perspectivas para Busca Semântica para Comunicação Alternativa: o caso SCALA João Carlos

Leia mais

Construção de uma Ontologia para um Hospital

Construção de uma Ontologia para um Hospital Construção de uma Ontologia para um Hospital Jonas B. Gassen, Matheus Coppetti, Leandro O. Freitas, Elenice Martins e Giovani Rubert Librelotto 1 UNIFRA - Centro Universitário Franciscano Rua dos Andradas,

Leia mais

5 Conclusão e trabalhos futuros

5 Conclusão e trabalhos futuros 5 Conclusão e trabalhos futuros Neste capítulo fazemos uma retrospectiva do trabalho realizado, uma avaliação da proposta de solução de integração de dados ou conhecimentos mostrada na dissertação e também

Leia mais

UMA ONTOLOGIA PARA O PROCESSO DECISÓRIO EM JOGOS DE EMPRESAS DIGITAIS

UMA ONTOLOGIA PARA O PROCESSO DECISÓRIO EM JOGOS DE EMPRESAS DIGITAIS Proceedings of the XII SIBGRAPI (October 1999) 101-104 XXIX ENCONTRO NACIONAL DE ENGENHARIA DE PRODUÇÃO. UMA ONTOLOGIA PARA O PROCESSO DECISÓRIO EM JOGOS DE EMPRESAS DIGITAIS Mauricio Capobianco Lopes

Leia mais

COMPUTAÇÃO COLABORATIVA. Prof. Cícero Quarto cicerocq.wordpress.com

COMPUTAÇÃO COLABORATIVA. Prof. Cícero Quarto cicerocq.wordpress.com COMPUTAÇÃO COLABORATIVA Prof. Cícero Quarto cicerocq.wordpress.com UNIDADES DE ENSINO Parte I Fundamentos Sistemas colaborativos para uma nova sociedade e um novo ser humano Teorias e modelos de Colaboração

Leia mais

ABD Arquivos e Bibliotecas Digitais

ABD Arquivos e Bibliotecas Digitais ABD Arquivos e Bibliotecas Digitais Abril 2008 Parte VII Dublin Core Fontes dublincore.org/ http://dublincore.org/usage/documents/principles/ http://dublincore.org/documents/dc-rdf/ Objectivo do Dublin

Leia mais

Adaptação do Sistema de Busca Semântica ao Padrão XML e Automatização do Processo de Modelagem dos Objetos de Aprendizagem no ROAI para o Padrão OWL

Adaptação do Sistema de Busca Semântica ao Padrão XML e Automatização do Processo de Modelagem dos Objetos de Aprendizagem no ROAI para o Padrão OWL Bruna Fagundes Rócio Profª Orientadora: Avanilde Kemczinski, Dra. Supervisor: Marcelo da Silva Hounsell, Dr. UDESC Joinville, DCC, GPIE Objetivos Automatizar o processo de modelagem dos objetos de aprendizagem

Leia mais

ONTOBRAS Seminário de Pesquisa em Ontologia do Brasil

ONTOBRAS Seminário de Pesquisa em Ontologia do Brasil ONTOBRAS Seminário de Pesquisa em Ontologia do Brasil Uma Análise do Uso da Ontologia IMS LD na Construção de Modelos Conceituais para E-learning Francisco Hélio de Oliveira (IF BAIANO) Laís do Nascimento

Leia mais

ONTOLOGIAS E ONTOLOGIAS DIFUSAS

ONTOLOGIAS E ONTOLOGIAS DIFUSAS Universidade Federal de São Carlos - UFSCar Programa de Pós-Graduação em Ciência da Computação PPGCC Departamento de Computação - DC ONTOLOGIAS E ONTOLOGIAS DIFUSAS SUMARIO Introdução Ontologias OWL Regras

Leia mais

Universidade do Estado de Santa Catarina Centro de Ciências Humanas e da Educação Departamento de Biblioteconomia e Gestão da Informação

Universidade do Estado de Santa Catarina Centro de Ciências Humanas e da Educação Departamento de Biblioteconomia e Gestão da Informação PLANO DE ENSINO RECUPERAÇÃO DA INFORMAÇÃO Departamento: Biblioteconomia e Gestão da Ano/semestre: 2014/1 Curso: Biblioteconomia Fase: 5ª Disciplina: Recuperação da Turno: matutino Carga horária: 54 horas/aula

Leia mais

Descoberta de conhecimento em textos - Análise semântica. Diogo Cardoso Eduardo Camilo Inácio Eduardo Monteiro Dellandréa Guilherme Gomes

Descoberta de conhecimento em textos - Análise semântica. Diogo Cardoso Eduardo Camilo Inácio Eduardo Monteiro Dellandréa Guilherme Gomes Descoberta de conhecimento em textos - Análise semântica Diogo Cardoso Eduardo Camilo Inácio Eduardo Monteiro Dellandréa Guilherme Gomes Introdução Diversidade de textos não padronizados; Emails, artigos,

Leia mais

4 EduCO: Representando a Informação Contida em Materiais de Aprendizagem

4 EduCO: Representando a Informação Contida em Materiais de Aprendizagem 4 EduCO: Representando a Informação Contida em Materiais de Aprendizagem Conforme descrito no capítulo anterior, é importante representar os conteúdos contidos em materiais de aprendizagem. Neste capítulo

Leia mais

Ontologias. Profa. Lillian Alvares Faculdade de Ciência da Informação, Universidade de Brasília

Ontologias. Profa. Lillian Alvares Faculdade de Ciência da Informação, Universidade de Brasília Ontologias Profa. Lillian Alvares Faculdade de Ciência da Informação, Universidade de Brasília Origem Teoria sobre a natureza da existência Ramo da filosofia que lida com a natureza e organização da realidade.

Leia mais

Introdução à Web Semântica

Introdução à Web Semântica Introdução à Web Semântica André Desessards Jardim Universidade Católica de Pelotas Centro Politécnico Mini Curso Web Semântica 1. Introdução A organização da imensa vastidão de conteúdo disponível atualmente

Leia mais

PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS

PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS PROTÓTIPO DE FERRAMENTA DE CONSULTA DE INFORMAÇÕES BASEADAS EM ONTOLOGIAS PETER ANTONY RAUSCH JOYCE MARTINS ROTEIRO Introdução Objetivos Fundamentação Teórica Especificação Implementação Operacionalidade

Leia mais

3 Estado da arte. 3.1 A linguagem de consultas SPARQL

3 Estado da arte. 3.1 A linguagem de consultas SPARQL Estado da arte 24 3 Estado da arte Nesse capítulo serão discutidas ferramentas, tecnologias e soluções existentes na área da web semântica. Na seção 3.1 e 3.2 deste capítulo serão discutidas abordagens

Leia mais

SBICAFÉ: UMA FERRAMENTA DE GESTÃO DO CONHECIMENTO PARA A COMUNIDADE DE PESQUISA DO CAFÉ

SBICAFÉ: UMA FERRAMENTA DE GESTÃO DO CONHECIMENTO PARA A COMUNIDADE DE PESQUISA DO CAFÉ SBICAFÉ: UMA FERRAMENTA DE GESTÃO DO CONHECIMENTO PARA A COMUNIDADE DE PESQUISA DO CAFÉ PONTES, F.V. 1 ; BRAGA, J.L. 2 ; OLIVEIRA, D.M.A. 3 e PEREIRA PINTO, M.L. 1 1 UFV - Universidade Federal de Viçosa,

Leia mais

1 Formatos de registro

1 Formatos de registro Sumário 1 Formatos de registro bibliográficos 1.1 Introdução 1.2 Formato MARC 1.3 Formato comum de comunicação (FCC) 1.3.1 ISO 2709 1.3.1.1 Registro para FCC 1.3.1.1 Exemplos 2 Metadados 2.1a Definições

Leia mais

ALM Aplicações em Linguagem de Montagem. Introdução. A produção de Software é uma atividade build and fix. build. fix

ALM Aplicações em Linguagem de Montagem. Introdução. A produção de Software é uma atividade build and fix. build. fix Introdução A produção de Software é uma atividade build and fix. 1 Introdução build 2 Introdução fix 3 1 Introdução 4 P s Só pessoas motivadas e comprometidas com o projeto garantem o respectivo sucesso;

Leia mais

OntoExtract: Uma Ferramenta para Extração de Ontologias a Partir de Bancos de Dados Relacionais

OntoExtract: Uma Ferramenta para Extração de Ontologias a Partir de Bancos de Dados Relacionais OntoExtract: Uma Ferramenta para Extração de Ontologias a Partir de Bancos de Dados Relacionais André Accioly Vieira 1 Orientador: Astério Kiyoshi Tanaka 2 Co-Orientadora: Ana Maria de Carvalho Moura 1

Leia mais

Utilização de XML no Desenvolvimento de Hiperdocumentos Educacionais

Utilização de XML no Desenvolvimento de Hiperdocumentos Educacionais 1 Utilização de XML no Desenvolvimento de Hiperdocumentos Educacionais Fabiano Fagundes, Parcilene F. Brito, Fernando L. Oliveira, Jackson G. Souza, Carlos H. Tolentino Resumo O desenvolvimento colaborativo

Leia mais

Um Método para Melhoria de Dados Estruturados de Imóveis

Um Método para Melhoria de Dados Estruturados de Imóveis Universidade Federal de Pernambuco Centro de Informática Graduação em Ciência da Computação Um Método para Melhoria de Dados Estruturados de Imóveis Lucas Nunes de Souza Proposta de Trabalho de Graduação

Leia mais

Sistema de Gerenciamento de Objetos de Aprendizagem para dispositivos Móveis

Sistema de Gerenciamento de Objetos de Aprendizagem para dispositivos Móveis Sistema de Gerenciamento de Objetos de Aprendizagem para dispositivos Móveis Fabio T. Franciscato Roseclea D. Medina XIII Ciclo de Palestras sobre Novas Tecnologias na Educação 1 Conteúdo abordado Introdução

Leia mais

Infra-Estrutura de Dados Espaciais. Bruno Rabello Monteiro

Infra-Estrutura de Dados Espaciais. Bruno Rabello Monteiro Infra-Estrutura de Dados Espaciais Bruno Rabello Monteiro Agenda Introdução e Conceituação SDI Problemas e Pesquisas Referências Bibliográficas Introdução Um SIG pode ser definido como (Bernard et al,,

Leia mais

OntoPsic: UMA ONTOLOGIA PARA PSIQUIATRIA NO CONTEXTO DA TELESSAÚDE

OntoPsic: UMA ONTOLOGIA PARA PSIQUIATRIA NO CONTEXTO DA TELESSAÚDE OntoPsic: UMA ONTOLOGIA PARA PSIQUIATRIA NO CONTEXTO DA TELESSAÚDE DIAS F. C. 1,2, AZEVEDO R. R. 2, BARROS R. S. M. 2, BENEVIDES L.S. 1, ARAÚJO M. N. 1, DIAS G. A 3 1 Núcleo de Telessaúde do Hospital das

Leia mais

Trabalho Prático 2 Mundo dos Blocos Alocação Dinâmica / Listas Encadeadas

Trabalho Prático 2 Mundo dos Blocos Alocação Dinâmica / Listas Encadeadas Disciplina: Algoritmos e Estrutura de Dados I CIC / 9 Trabalho Prático Mundo dos Blocos Alocação Dinâmica / Listas Encadeadas Valor:,5 pontos (5% da nota total) Documentação não-latex: -, pontos Impressão

Leia mais

UMA FERRAMENTA DE APOIO A DETERMINAÇÃO DE EQUIVALÊNCIAS SEMÂNTICAS ENTRE ESQUEMAS GML UTILIZANDO ONTOLOGIAS OWL

UMA FERRAMENTA DE APOIO A DETERMINAÇÃO DE EQUIVALÊNCIAS SEMÂNTICAS ENTRE ESQUEMAS GML UTILIZANDO ONTOLOGIAS OWL UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA CURSO DE SISTEMAS DE INFORMAÇÃO UMA FERRAMENTA DE APOIO A DETERMINAÇÃO DE EQUIVALÊNCIAS SEMÂNTICAS ENTRE ESQUEMAS GML UTILIZANDO

Leia mais

7 Conclusão e Trabalhos Futuros

7 Conclusão e Trabalhos Futuros 7 Conclusão e Trabalhos Futuros Como um novo e poderoso paradigma para o design e a implementação de sistemas de software (Lind, 2001;Wooldridge et al., 2001), o SMA requer metodologias, linguagens de

Leia mais

2 Interoperabilidade de Ontologias

2 Interoperabilidade de Ontologias 2 Interoperabilidade de Ontologias Ontologias representam entidades importantes, também chamadas de conceitos, com suas relações taxonômicas e não-taxonômicas, e as restrições aplicadas nestas entidades

Leia mais

TESTE DE ARQUÉTIPOS. Archetypes testing. Alex Mateus Porn Leticia Mara Peres. Departamento de Informática / UFPR

TESTE DE ARQUÉTIPOS. Archetypes testing. Alex Mateus Porn Leticia Mara Peres. Departamento de Informática / UFPR TESTE DE ARQUÉTIPOS Archetypes testing Alex Mateus Porn Leticia Mara Peres Departamento de Informática / UFPR Resumo: O aumento da interoperabilidade entre sistemas de informação em saúde é possível utilizando

Leia mais

Arquitetura de um Ambiente de Data Warehousing

Arquitetura de um Ambiente de Data Warehousing Arquitetura de um Ambiente de Data Warehousing Processamento Analítico de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Prof. Dr. Ricardo Rodrigues Ciferri Arquitetura Típica usuário usuário... usuário

Leia mais

TEMPLATE PARA TCC IFFAR - SVS

TEMPLATE PARA TCC IFFAR - SVS MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA FARROUPILHA - CAMPUS SÃO VICENTE DO SUL TEMPLATE PARA TCC IFFAR - SVS TRABALHO

Leia mais

Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP:

Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP: Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP: 8429016 Definição de MDA OMG (Object Management Group) propôs uma aplicação abrangente das práticas

Leia mais

Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus Curso Disciplina Linguagem de Programação II Curso Engenharia da Computação Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Site : http://www1.univap.br/~wagner/ec.html Prof. Responsáveis

Leia mais

6 Conclusão. 6.1 Trabalhos relacionados

6 Conclusão. 6.1 Trabalhos relacionados Conclusão 112 6 Conclusão 6.1 Trabalhos relacionados A primeira versão do método SHDM apresentada por Lima (2003) empregava um modelo orientado a objetos como a base estrutural do modelo conceitual de

Leia mais

3 Kuaba: Uma Ontologia para Design Rationale

3 Kuaba: Uma Ontologia para Design Rationale 3 Kuaba: Uma Ontologia para Design Rationale Para que o conhecimento registrado durante o design possa ser automaticamente processado, é desejável representar o design rationale de uma maneira formalmente

Leia mais

INF1013 MODELAGEM DE SOFTWARE

INF1013 MODELAGEM DE SOFTWARE INF1013 MODELAGEM DE SOFTWARE Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 1 O Paradigma Orientado a Objetos A Linguagem UML Descrição da Arquitetura 1 Programa

Leia mais

Uma Abordagem de Gerenciamento Contextual de Recursos Dinâmicos em Ambientes Pervasivos: Estudo de Caso em Aplicações de Home Care

Uma Abordagem de Gerenciamento Contextual de Recursos Dinâmicos em Ambientes Pervasivos: Estudo de Caso em Aplicações de Home Care Uma Abordagem de Gerenciamento Contextual de Recursos Dinâmicos em Ambientes Pervasivos: Estudo de Caso em Aplicações de Home Care LORAYNE PINHEIRO DORNELLES LEANDRO KRUG WIVES 2016 Sumário 01 Introdução

Leia mais

Interligação de pessoas, habilidades técnicas e fazeres e preservação da memória institucional

Interligação de pessoas, habilidades técnicas e fazeres e preservação da memória institucional Interligação de pessoas, habilidades técnicas e fazeres e preservação da memória institucional Nilson Theobald Barbosa, Fabricia Carla Ferreira Sobral, Linair Maria Campos, Roberto José Rodrigues Assessoria

Leia mais

Lógicas de Descrição Visão Geral

Lógicas de Descrição Visão Geral Lógicas de Descrição Visão Geral The Description Logic Handbook Cesar Augusto Tacla UTFPR/CPGEI INTRODUÇÃO 17/04/2016 2 Lógicas de Descrição É uma família de linguagens formais para representação de conhecimentos

Leia mais

Eunice Palmeira da Silva Orientador: Fred Freitas

Eunice Palmeira da Silva Orientador: Fred Freitas e Eunice Palmeira da Silva Orientador: Fred Freitas Universidade Federal de Pernambuco 4 de fevereiro de 2014 Roteiro 1 Overview do Trabalho do Doutorado 2 para ALC 3 Tipos de Linguagens Visual Model Outlines

Leia mais

Desenvolvimento Orientado a Modelos

Desenvolvimento Orientado a Modelos Desenvolvimento Orientado a Modelos João Paulo A. Almeida (jpalmeida@ieee.org) http://nemo.inf.ufes.br Departamento de Informática / Programa de Pós-Graduação em Informática Universidade Federal do Espírito

Leia mais

Protégé e Ontologias

Protégé e Ontologias Protégé e Ontologias Tiago Semprebom Marcos Camada Igor Mendonça (UFSC) Universidade Federal de Santa Catarina Programa de Pós-Graduação em Engenharia de Automação e Sistemas DAS6607 - Inteligência Artificial

Leia mais

PROJETO MORFOL UMA FERRAMENTA PARA ANÁLISE LÓGICA DE CENAS

PROJETO MORFOL UMA FERRAMENTA PARA ANÁLISE LÓGICA DE CENAS PROJETO MORFOL UMA FERRAMENTA PARA ANÁLISE LÓGICA DE CENAS Aluno: Marco Antônio Barbosa Teixeira Orientador(es): Edward Hermann Haeusler e Geiza Maria Hamazaki da Silva Introdução Este projeto é uma continuidade

Leia mais

U NIVERSIDADE F EDERAL DE P ERNAMBUCO

U NIVERSIDADE F EDERAL DE P ERNAMBUCO U NIVERSIDADE F EDERAL DE P ERNAMBUCO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA 2015.1 Extensão do Dataset OpenCIn com Dados Referentes às Notícias e Eventos Relacionados ao Centro de Informática

Leia mais

Modelos Conceituais de Dados

Modelos Conceituais de Dados Modelos Conceituais de Dados 2. Modelagem Conceitual de Dados Geográficos A partir de idéias conceituais de fenômenos geográficos é possível formalizar a representação do espaço e de propriedades espaciais.

Leia mais

DIAGRAMAS DE CLASSE UML

DIAGRAMAS DE CLASSE UML DIAGRAMAS DE CLASSE UML Projeto Detalhado de Software (PDS) Profa. Cynthia Pinheiro Antes de mais nada... Calendário de Reposições Aula 1: 27/10/2017, 8h-10h, Sala 8 Aula 2: A verificar Aula 3: A verificar

Leia mais

Projeto de Banco de Dados. Componentes de um Sistema de Informação. Arquitetura de SI. Sistema de Informação (SI) SI nas Organizações

Projeto de Banco de Dados. Componentes de um Sistema de Informação. Arquitetura de SI. Sistema de Informação (SI) SI nas Organizações Sistema (SI) Coleção de atividades de Banco de Dados que regulam o compartilhamento, SI nas Organizações a distribuição de informações Fernando Fonseca e o armazenamento de dados relevantes ao gerenciamento

Leia mais

(com a colaboração de Nuno Oliveira) Departamento de Informática Universidade do Minho

(com a colaboração de Nuno Oliveira) Departamento de Informática Universidade do Minho 16 de Maio de 2014 Arquivos e Web Semântica (BAD/gt-GDA; AUCoimbra) 1 A WEB SEMÂNTICA Pedro Rangel Henriques (com a colaboração de Nuno Oliveira) Departamento de Informática Universidade do Minho 16 de

Leia mais

Introdução à Análise e Projeto de Sistemas

Introdução à Análise e Projeto de Sistemas Introdução à I. O Que vamos fazer na Disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente para criar sistemas OO Tem que saber Análise e Projeto OO (APOO) Isto é, Análise

Leia mais

MIDB-OP: um Modelo de Integração de Dados Biológicos apoiado em Ontologias e Procedência de dados Caroline Beatriz Perlin

MIDB-OP: um Modelo de Integração de Dados Biológicos apoiado em Ontologias e Procedência de dados Caroline Beatriz Perlin MIDB-OP: um Modelo de Integração de Dados Biológicos apoiado em Ontologias e Procedência de dados Caroline Beatriz Perlin Orientador: Prof. Dr. Ricardo Rodrigues Ciferri Agenda Introdução Bancos de dados

Leia mais

5º Congresso de Pós-Graduação

5º Congresso de Pós-Graduação 5º Congresso de Pós-Graduação UMA FERRAMENTA PARA GERAÇÃO AUTOMÁTICA DE DIAGRAMA DE CLASSES A PARTIR DA ESPECIFICAÇÃO DE REQUISITOS EM LINGUAGEM NATURAL Autor(es) Orientador(es) LUIZ EDUARDO GALVÃO MARTINS

Leia mais

FUNDAÇÃO UNIVERSIDADE ESTADUAL DE MARINGÁ

FUNDAÇÃO UNIVERSIDADE ESTADUAL DE MARINGÁ FUNDAÇÃO UNIVERSIDADE ESTADUAL DE MARINGÁ Centro de Tecnologia - CTC Departamento de Informática - DIN Programa de Pós-Graduação em Ciência da Computação PCC ESTÁGIO DE DOCÊNCIA II Disciplina: Engenharia

Leia mais

UML (Unified Modelling Language)

UML (Unified Modelling Language) UML (Unified Modelling Language) Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Booch, G. et al. The Unified Modeling Language User Guide

Leia mais

2 Versão 1: Funcionalidade Básica e Interface Web

2 Versão 1: Funcionalidade Básica e Interface Web Técnicas de Projeto e Implementação de Sistemas II Descrição do Projeto da Disciplina 1 Introdução O projeto da disciplina consiste na implementação de um sistema de busca de tarifas de passagens aéreas.

Leia mais

XML - Extensible Markup Language

XML - Extensible Markup Language Por Sergio Crespo XML - Extensible Markup Language Extensible Markup Language (XML) é linguagem de marcação de dados (meta-markup language) que provê um formato para descrever dados estruturados. Isso

Leia mais

2 Estado da Arte. 2.1.Geração automática de casos de teste

2 Estado da Arte. 2.1.Geração automática de casos de teste 2 Estado da Arte Existem três conceitos importantes que serão abordados durante essa dissertação: geração automática de casos de teste, tabelas de decisão e geração automática de dados de teste. Foi realizada

Leia mais

Tutorial da ferramenta de modelagem ASTAH (Versão resumida) Prof. Moacyr Franco Neto

Tutorial da ferramenta de modelagem ASTAH (Versão resumida) Prof. Moacyr Franco Neto Tutorial da ferramenta de modelagem ASTAH (Versão resumida) Prof. Moacyr Franco Neto Versão 1.0.0 1 ÍNDICE Sumário INTRODUÇÃO... 3 PRINCIPAIS CARACTERÍSTICA DA ASTAH... 3 COMO BAIXAR... 4 PRINCIPAIS FUNCIONALIDADES...

Leia mais

Ontology-Based Data Access. Diogo Espinhara Oliveira Banco de Dados

Ontology-Based Data Access. Diogo Espinhara Oliveira Banco de Dados Ontology-Based Data Access Diogo Espinhara Oliveira Banco de Dados - 2017.1 Sumário 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Motivação e Objetivo Ontology Based Data Access (OBDA) Ontologia e Lógica de Descrição

Leia mais

Visão Geral da UML. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Visão Geral da UML. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Visão Geral da UML SSC 121 - Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Conteúdo Introdução Ferramentas de Apoio Diagramas da UML Elementos Genéricos Material sobre UML

Leia mais

Sistemas de Recomendação Uma abordagem geral

Sistemas de Recomendação Uma abordagem geral Sistemas de Recomendação Uma abordagem geral Universidade Estadual de Maringá Departamento de Informática Programa de Pós-Graduação Mestrado em Ciência da Computação Disciplina: Seminários II Aluna: Késsia

Leia mais

Ciclo de vida: fases x atividades

Ciclo de vida: fases x atividades Ciclo de vida Fase de definição Análise e Especificação Estudo de Viabilidade Estimativas Planejamento Fase de desenvolvimento Design Implementação e integração Verificação e Validação Fase de operação

Leia mais

Figura 2 An ontology spectrum (McGuinness, 2003) Figura 3 - Semantic Continuum 4 (Uschold, 2003).

Figura 2 An ontology spectrum (McGuinness, 2003) Figura 3 - Semantic Continuum 4 (Uschold, 2003). 2 Web Semântica De acordo com Berners-Lee (Berners-Lee, 1998) (Berners-Lee et al., 2001), uma definição da Web Semântica é: uma extensão da Web obtida através da adição de semântica ao atual formato de

Leia mais

Figura 28: Tela da aplicação Demo

Figura 28: Tela da aplicação Demo Exemplos de uso 4 Exemplos de uso Para o melhor entendimento dos conceitos expostos no capítulo anterior, são apresentadas aqui duas aplicações que ilustram o poder da DSL criada e a facilidade de utilizar

Leia mais

CAPÍTULO 7 CONCLUSÕES E RECOMENDAÇÕES

CAPÍTULO 7 CONCLUSÕES E RECOMENDAÇÕES 103 CAPÍTULO 7 CONCLUSÕES E RECOMENDAÇÕES "A verdadeira dificuldade não está em aceitar idéias novas, mas em escapar das antigas. John Maynard Keynes A pesquisa orientada à visualização cartográfica visa

Leia mais

18º Congresso de Iniciação Científica TRATAMENTO DE REGRAS DA ASSOCIAÇÃO MULTIRELACIONAL NA FERRAMENTA DE MINERAÇÃO DE DADOS KIRA

18º Congresso de Iniciação Científica TRATAMENTO DE REGRAS DA ASSOCIAÇÃO MULTIRELACIONAL NA FERRAMENTA DE MINERAÇÃO DE DADOS KIRA 18º Congresso de Iniciação Científica TRATAMENTO DE REGRAS DA ASSOCIAÇÃO MULTIRELACIONAL NA FERRAMENTA DE MINERAÇÃO DE DADOS KIRA Autor(es) JONAS RAFAEL ONOFRE Orientador(es) MARINA TERESA PIRES VIEIRA

Leia mais

Instruções para o projeto final

Instruções para o projeto final Instruções para o projeto final MCTA016 - Paradigmas de Programação 2018-Q2 Profs. Diogo S. Martins e Emilio Francesquini v. 12/06/2018 Resumo dos prazos Parte 0: 19/06 Parte 1: 26/06 Parte 2: 17/07 Parte

Leia mais

Ontologia para Cidades

Ontologia para Cidades Ontologia para Cidades Brenda Salenave Santana 1, Leandro Krug Wives 1, José Palazzo Moreira de Oliveira 1 1 Instituto de Informática Universidade Federal do Rio Grande do Sul (UFRGS) Porto Alegre RS Brasil

Leia mais

Maria Luiza de A. Campos Pré ConfOA

Maria Luiza de A. Campos Pré ConfOA Interoperabilidade Semântica e Compatibilização de Linguagens em ambientes heterogêneos: a questão do acesso aberto e as possibilidades de tratamento terminológico Profa. Dra Maria Luiza de Almeida Campos

Leia mais

SISTEMA DE INFORMAÇÃO GEOGRÁFICA APLICADA À GESTÃO PÚBLICA

SISTEMA DE INFORMAÇÃO GEOGRÁFICA APLICADA À GESTÃO PÚBLICA SISTEMA DE INFORMAÇÃO GEOGRÁFICA APLICADA À GESTÃO PÚBLICA Julio Cesar do Carmo Junior 1, Osvaldo Cesar Pinheiro de Almeida 2 1 Informática para Gestão, Faculdade de Tecnologia, Botucatu, SP, Brasil. E-mail:

Leia mais

Programa Analítico de Disciplina INF323 Engenharia de Software II

Programa Analítico de Disciplina INF323 Engenharia de Software II 0 Programa Analítico de Disciplina Departamento de Informática - Centro de Ciências Exatas e Tecnológicas Número de créditos: Teóricas Práticas Total Duração em semanas: 15 Carga horária semanal 0 Períodos

Leia mais

Modelagem de Processos de Análise Geográfica Utilizando o Framework GeoFrame

Modelagem de Processos de Análise Geográfica Utilizando o Framework GeoFrame Modelagem de Processos de Análise Geográfica Utilizando o Framework GeoFrame 1 Processo de Análise Geográfica (PAG): executa operações, transformando dados. Processos Dependência entre dados originais

Leia mais

Engenharia de Requisitos

Engenharia de Requisitos Engenharia de Requisitos Criado: mar/2001 Atualizado: set/2005 Tópicos Definição de Requisitos Participantes Processo Documento de Requisitos (SRS) Evolução dos Requisitos 2 Referência I.Sommerville. Sw

Leia mais