Academia.eduAcademia.edu

XML Topic Map Builder: Specification and Generation

2003, XATA: XML, Aplicaç oes e …

XML Topic Map Builder: Specification and Generation Giovani Librelotto José José Carlos Ramalho Pedro Rangel Henriques University of Minho, Portugal {grl,jcr,prh}@di.uminho.pt Índice ¾ Conceitos; ¾ TM em detalhes; ¾ Exemplo de TM; ¾ Projeto em andamento... 1 Motivação para Topic Maps A motivação original para topic maps provém da necessidade de mesclar índices. (Steve Newcomb, Steve Pepper). O que são Topic Maps? ¾ “Topic maps are a new ISO standard for describing knowledge structures and associating them with information resources” • The TAO of topic maps, maps, Steve Pepper, Pepper, May 2000 ¾ Um paradigma que permite organizar, manter e navegar pela informação, permitindo transformá-la em conhecimento. 2 Um Topic Map é ... ... basicamente um documento XML onde diferentes elementos são usados para representar: z z z tópicos, ocorrências de tópicos, relacionamentos (ou associações) entre tópicos. Objetivos ¾ Qualificar o conteudo e/ou dados contidos nos recursos de informação como tópicos para habilitar ferramentas de navegação tais como: z z z z ¾ índices, referências cruzadas, dicioná dicionários, navegaç navegação por conceitos; Criar características navegacionais, ligando os tópicos. 3 Objetivos (cont’) ¾ Estruturar recursos de informação não estruturados. ¾ Permitir procuras que recuperem a informação requisitada. ¾ Criar visões para usuários ou finalidades específicas, filtrando a informação. Características ¾ Compara-se TM a GPS. ¾ TM permite a criação de um “mapa virtual” da informação, e os recursos de informação permanecem em sua forma original e não são modificados. ¾ A mesma informação pode ser usada de maneiras diferentes por diferentes TM. 4 XTM x Recursos de Informação Pedro R. Henriques Topic Map Giovani R. Librelotto Braga UMinho Campus de Gualtar Esc. Engenharia Instituto de Informática Recursos de Informação Sem Topic Maps 5 Com Topic Maps Ontologia ¾ Segundo o Michaelis: Michaelis: “Ciência do ser em geral.” geral.” ¾ Este termo també também é usado em outras áreas, tal como na filosofia, onde tem outro significado. z Parte da metafí metafísica que estuda o ser em geral e suas propriedades transcedentais. transcedentais. ¾ Em TM: É uma precisa descriç descrição dos tipos de coisas que são encontradas no domí domínio coberto pelo Topic Map. Map. ¾ Em outras palavras, o conjunto de tó tópicos que é usado para definir classes de tó tópicos, associaç associações, papé papéis de atuaç atuação e ocorrências. 6 Exemplo de Ontologia ¾ A fim de tornar o trabalho mais facilitado, será será escolhido um domí domínio de assunto de conhecimento geral. z Um grupo de pesquisa de uma Universidade. ¾ Nos exemplos que se seguirão, assumiremos que Giovani R Librelotto é um estudante de doutoramento orientado pelo professor Pedro R Henriques. Henriques. ¾ A ontologia bá básica consiste dos tipos de tó tópicos phdphdstudent e professor, professor, o tipo de associaç associação orientado por/orienta e os papé papéis de atuaç atuação orientador e orientando. orientando. Conceitos Básicos de TM ¾ ¾ Há 19 elementos em XTM 1.0 TAO é a parte principal de topic maps z z z T refererefere-se ao tópico: pico: “…é um recurso que serve de proxy para algum subject” subject”. … pode ser “qualquer coisa” coisa” eg. eg. Shakespeare, ópera, Portugal A refererefere-se à associaç associação: “… é um relacionamento entre um ou mais tó tópicos, cada um desempenhando um papel como membro desta associaç associação” ão” eg. eg. escrito_por, escrito_por, importado_de O refererefere-se à ocorrência: “ … é qualquer informaç informação que é especificada como sendo relevante para um dado subject” subject” eg. eg. xlink:www.uminho.pt 7 Tópico ¾ ¾ ¾ Pode ser qualquer coisa. É a base da criaç criação de mapas de tó tópicos. Um tó tópico pode ser: z uma pessoa, z uma entidade, z um conceito, z ... Braga Escola de Engenharia Portugal Depto. Informática Tipo de Tópicos ¾ Um tó tópico tem um tipo de tó tópico, talvez mú múltiplos. ¾ Tipos de tó tópicos podem ser vistos como um tí típico relacionamento classeclasse-instância. instância. ¾ Tipos de tó tópicos també também são tó tópicos. Braga Escola de Engenharia Portugal Depto. Informática 8 Nome de Tópicos ¾ Um tó tópico pode ter um ou mais nomes. ¾ Cada nome, estará estará em um contexto distinto. Braga (1) BRG (2) Escola de Engenharia (1) EE (2) PT (2) Portugal (1) Depto. Informática (1) DI (2) Ocorrências de Tópicos ¾ ¾ ¾ Representa a informaç informação que é especificada como relevante para um dado tó tópico. Ocorrências e tó tópicos existem em 2 diferentes domí domínios, mas estão conectados entre si. As ocorrências estabelecem uma rota para os tó tópicos. Braga (1) BRG (2) Depto. Informática (1) DI (2) Topic Domain Resource Domain 9 Papel de Atuação de Ocorrências ¾ Papel de atuaç atuação de uma ocorrência é um subgrupo de ocorrências de um dado tó tópico. ¾ Podem ser usadas para distinguir grá gráficos de texto, etc... Depto. Informática (1) DI (2) Braga (1) BRG (2) historical review web page web page Associações de Tópicos ¾ Tópicos relacionados podem ser conectados por associaç associações. ¾ A semântica da associaç associação de tó tópicos serve para montar dinamicamente fragmentos de informaç informação. is in is in Portugal Braga Depto. Informática cooperates with Escola de Engenharia 10 Tipo de Associação ¾ Associaç Associações entre tó tópicos podem ser agrupadas de acordo com seu tipo. Braga is in Portugal Association type: is in ¾ Associaç Associações de tó tópicos não são “oneone-way” way” Braga is in Portugal = Portugal includes Braga Association: is in = Association: includes Contexto (Scope) ¾ É o contexto no qual a atribuição das características é valido. ¾ Pode ser uma linguagem, uma comunidade ou um vocabulário. ¾ Tópicos podem ter várias características associadas a eles. Para validar qualquer característica, há o contexto. ¾ O contexto é representado por um conjunto de tópicos. 11 Contexto (Scope) <topic> topic> <baseName> baseName> <baseNameString>Giovani baseNameString>Giovani Librelotto</ Librelotto</baseNameString> baseNameString> </baseName > </baseName> <baseName> baseName> <scope> scope> <topicRef xlink:href=" xlink:href="#informatics"/> #informatics"/> <topicRef xlink:href=" xlink:href="#university#university-minho"/> minho"/> <topicRef xlink:href=" xlink:href="#brazilian"/> #brazilian"/> <topicRef xlink:href=" xlink:href="#phd#phd-student"/> student"/> </scope > </scope> <baseNameString> baseNameString>Librelotto</ Librelotto</baseNameString> baseNameString> </baseName > </baseName> </topic > </topic> XTM Syntax 12 Como definir um Topic Map Determinar o contexto e a ontologia ¾ Definir o contexto do Topic Map, isto é, decidindo a extenção do domínio que este deve cobrir; ¾ O projeto da ontologia, que é uma precisa descrição dos tipos de coisas as quais são encontradas no domínio do Topic Map. 13 Um exemplo: grl – prh - UM orientando orientação GRL estudante orientador PRH docente phd-student professor estudo trabalho UM universidade O primeiro tópico <?xml <?xml version="1.0" version="1.0" encoding="UTF encoding="UTF--8"?> <topicMap xmlns="http:// www.topicmaps.org//xtm/1.0/" xmlns="http://www.topicmaps.org xtm/1.0/" xmlns:xlink="http://www.w3.org/1999/ xlink"> "> xmlns:xlink="http://www.w3.org/1999/xlink <topic id=" id="prh"> prh"> <baseName> baseName> <baseNameString>Pedro baseNameString>Pedro R Henriques</ Henriques</baseNameString> baseNameString> </baseName baseName> > </ </topic > </topic> <topic id=" id="grl"> grl"> <baseName> baseName> <baseNameString>Giovani baseNameString>Giovani R Librelotto</ Librelotto</baseNameString> baseNameString> </baseName baseName> > </ </topic > </topic> </topicMap topicMap> > </ 14 Incluindo tipos de tópico <topic id=" id="phdphd-student"> student"> <baseName> baseName> <baseNameString> baseNameString>Ph.D. Ph.D. Student</ Student</baseNameString> baseNameString> </baseName > </baseName> </topic > </topic> <topic id="professor"> id="professor"> <baseName> baseName> <baseNameString> baseNameString>Professor</ Professor</baseNameString> baseNameString> </baseName > </baseName> </topic > </topic> Instanciando um tópico <topic id=" id="prh"> prh"> <instanceOf> instanceOf> <topicRef xlink:href=" xlink:href="#professor"/> #professor"/> </instanceOf > </instanceOf> <baseName> baseName> <baseNameString>Pedro baseNameString>Pedro R Henriques</ Henriques</baseNameString> baseNameString> </baseName > </baseName> </topic > </topic> 15 Adicionando as ocorrências <topic id=" id="prh"> prh"> <instanceOf> instanceOf> <topicRef xlink:href=" xlink:href="#professor"/> #professor"/> </instanceOf > </instanceOf> <baseName> baseName> <baseNameString>Pedro baseNameString>Pedro R Henriques</ Henriques</baseNameString> baseNameString> </baseName > </baseName> <occurrence> occurrence> <instanceOf> instanceOf> <topicRef xlink:href=" xlink:href="#website"/> #website"/> </instanceOf > </instanceOf> <resourceRef xlink:href="http:// www.di.uminho.pt//~prh"/> xlink:href="http://www.di.uminho.pt ~prh"/> </occurrence > </occurrence> </topic > </topic> Tipos de Ocorrências <topic id=" id="website"> website"> <baseName> baseName> <baseNameString> baseNameString>Web Site</ Site</baseNameString> baseNameString> </baseName > </baseName> </topic > </topic> 16 Realizando Associações <association id=" id="prhprh-orientaorienta-assoc"> assoc"> <instanceOf> instanceOf> <topicRef xlink:href=" xlink:href="#orientacao"/> #orientacao"/> </instanceOf > </instanceOf> <member> member> <roleSpec> roleSpec> <topicRef xlink:href=" xlink:href="#orientador"/> #orientador"/> </roleSpec > </roleSpec> <topicRef xlink:href=" xlink:href="#prh"/> #prh"/> </member > </member> <member> member> <roleSpec> roleSpec> <topicRef xlink:href=" xlink:href="#orientando"/> #orientando"/> </roleSpec > </roleSpec> <topicRef xlink:href=" xlink:href="#grl"/> #grl"/> </member > </member> </association > </association> Tipo de Associação <topic id=" id="orientacao"> orientacao"> <baseName> baseName> <baseNameString> baseNameString>Orientaç Orientação</ ão</baseNameString> baseNameString> </baseName > </baseName> <baseName> baseName> <scope> scope> <topicRef xlink:href=" xlink:href="#orientador"/> #orientador"/> </scope > </scope> <baseNameString> baseNameString>orienta</ orienta</baseNameString> baseNameString> </baseName > </baseName> <baseName> baseName> <scope> scope> <topicRef xlink:href=" xlink:href="#orientando"/> #orientando"/> </scope > </scope> <baseNameString> baseNameString>é orientado pelo</ pelo</baseNameString> baseNameString> </baseName > </baseName> </topic > </topic> 17 Contexto (Scope) <topic id="orientador"> id="orientador"> <baseName> baseName> <baseNameString> baseNameString>Orientador</ Orientador</baseNameString> baseNameString> </baseName > </baseName> </topic > </topic> <topic id="orientando"> id="orientando"> <baseName> baseName> <baseNameString> baseNameString>Orientando</ Orientando</baseNameString> baseNameString> </baseName > </baseName> </topic > </topic> Visualização no Omnigator... 18 Geração Automática de XTM ¾ Stylesheets que transformam um documento XML em XTM. ¾ Caso de estudo: o Inventário dos Livros de Misericórdia pertencentes ao Arquivo Distrital de Braga; DTD ou XSD XSTM XSTM XML fonte XSL 2ª geração XTM extractor Topic Map 19 Códigos.... Topic Maps Giovani Librelotto Ph.D Student University of Minho, Portugal [email protected] 20