HELENA CAROLINA COSTA E LIMA Desenvolvimento de Instâncias de Ontologias para Ferramentas de Comunicação de um Ambiente Colaborativo Palmas – To 2005 2 HELENA CAROLINA COSTA E LIMA Desenvolvimento de Instâncias de Ontologias para Ferramentas de Comunicação de um Ambiente Colaborativo “Trabalho de Estágio apresentado como requisito parcial da disciplina Estágio Supervisionado em Sistemas de Informação do curso de Sistemas de Informação, orientado pelo Prof. M.Sc Fabiano Fagundes”. Palmas - TO 2005 3 HELENA CAROLINA COSTA E LIMA Desenvolvimento de Instâncias de Ontologias para Ferramentas de Comunicação de um Ambiente Colaborativo “Trabalho de Estágio apresentado como requisito parcial da disciplina Estágio Supervisionado em Sistemas de Informação do curso de Sistemas de Informação, orientado pelo Prof. M.Sc Fabiano Fagundes”. BANCA EXAMINADORA ________________________________________________________ Prof. M.Sc. Fabiano Fagundes Centro Universitário Luterano de Palmas ________________________________________________________ Profª. Cristina Dornellas Filikapis Centro Universitário Luterano de Palmas ________________________________________________________ Profª. M.Sc. Parcilene Fernandes de Brito Centro Universitário Luterano de Palmas Palmas - TO 2005 4 SUMÁRIO 1 INTRODUÇÃO ........................................................................................................11 2 REVISÃO DA LITERATURA ...................................................................................13 2.1 Ambiente Colaborativo.....................................................................................13 2.1.1 Trabalho Colaborativo e Trabalho Cooperativo ........................................15 2.2 Ferramentas Colaborativas..............................................................................17 2.3 Ontologia..........................................................................................................20 2.3.1 Linguagem: OWL ......................................................................................21 2.3.2 Ferramenta: Protégé.................................................................................26 3 MATERIAIS E MÉTODOS ......................................................................................30 4 RESULTADOS E DISCUSSÕES ............................................................................31 4.1 Definição das Classes......................................................................................33 4.2 Definição das Propriedades .............................................................................34 4.3 Definição dos Relacionamentos.......................................................................36 4.4 Axiomas ...........................................................................................................38 4.5 Consultas .........................................................................................................39 5 CONSIDERAÇÕES FINAIS ....................................................................................52 6 REFERÊNCIAS BIBLIOGRÁFICAS........................................................................54 ANEXOS ........................................................................................................................59 5 LISTA DE FIGURAS Figura 1 - Exemplo de utilização de um Chat.................................................................17 Figura 2 -Exemplo de utilização de um Editor de Texto .................................................18 Figura 3- Exemplo de utilização de um Mural ................................................................19 Figura 4 - Exemplo de utilização de uma Ferramenta de Votação.................................19 Figura 5 - Exemplo de utilização de um Fórum de Discussão........................................20 Figura 6 - Origem da OWL [LUSTOSA, 2003]................................................................23 Figura 7- Namespaces de uma Ontologia OWL.............................................................25 Figura 8 - Definição de Classes .....................................................................................27 Figura 9 - Definição de Slots ..........................................................................................27 Figura 10 - Definição dos Facets....................................................................................28 Figura 11 - Declaração de Instâncias.............................................................................28 Figura 12 - Consulta de Usuário.....................................................................................29 Figura 13 - Modelo Conceitual para Estruturação da Ontologia.....................................32 Figura 14 - Definição da Classe “Mural”.........................................................................33 Figura 15 - Definição das subclasses “Opcoes” e “Voto” ...............................................34 Figura 16 - Definição das Propriedades “pergunta” e “alternativa”.................................35 Figura 17 - Definição do Relacionamento “possui”.........................................................36 Figura 18 - Definição do Relacionamento “é_acessado_por” ........................................37 Figura 19 - Definição do Relacionamento “contemForum”.............................................37 Figura 20- Definição do Relacionamento “contemVotacao” ...........................................37 Figura 21- Definição do Axioma de Restrição da propriedade “área_de_atuacao” ........39 Figura 22 - Diagrama ER ...............................................................................................40 Figura 23 - Consulta SQL...............................................................................................41 Figura 24 - Consulta de Usuário através da Ontologia...................................................42 Figura 25 - Exemplo de Consulta através da Ontologia .................................................43 Figura 26 - Instância da Classe Pessoa.........................................................................44 Figura 27 - Instância da Classe Tema............................................................................45 Figura 28 - Consulta realizada para a Subclasse “Mensagens”.....................................45 Figura 29 – Instância “Redes” da classe “Mensagens” ..................................................46 6 Figura 30 - Consulta por “assunto” da classe “Mensagens”...........................................47 Figura 31– Instância “Redes” da classe “Mensagens” ...................................................47 Figura 32 - Instância “UML” da classe “Mensagens”......................................................48 Figura 33 - Instância “XML” da classe “Mensagens” ......................................................48 Figura 34 - Instância “Lucas” da classe “Pessoa” ..........................................................49 Figura 35 - Consulta entre as classes do ambiente .......................................................50 7 LISTA DE TABELAS Tabela 1 - Elementos da linguagem DAML + OIL ..........................................................24 Tabela 2 - Termos Equivalentes das Classes ................................................................38 Tabela 3 - Resultado da Consulta SQL..........................................................................41 Tabela 4 - Busca na ontologia por “área_de_atuação”. .................................................42 8 LISTA DE ABREVIATURAS ACAC (Aprendizagem Colaborativa Apoiada por Computador) AVA (Ambiente Virtual de Aprendizado) CSCL (Computer Supported Collaborative Learning) CSCW (Computer-Supported Cooperative Work) DAML (DARPA Agent Markup Language) OIL (Ontology Inference Layer) OWL (Web Ontology Language) RDF (Resource Description Framework) SAGISc (Ambiente Colaborativo para coleta Dados Geológicos) UML (Unified Modeling Language) W3C (World Wide Web Consortium) XML (eXtensible Markup Language) 9 RESUMO Este trabalho apresenta definições sobre Ontologia, Ferramentas Colaborativas, Ambiente Colaborativo e Linguagem OWL. A partir do estudo feito foi desenvolvida uma Ontologia para representação de algumas ferramentas de um ambiente colaborativo, utilizando a linguagem OWL e a ferramenta Protégé. Algumas das ferramentas que compõem o ambiente colaborativo foram formalizadas para verificar as possíveis aplicações de uma ontologia voltada ao manuseio do ambiente colaborativo. PALAVRAS CHAVE: Ontologia, Ambiente Colaborativo, Ferramentas Colaborativas, OWL. 10 ABSTRACT This work presents the definitions about Ontology, Collaborative Tools, Collaborative Environment and OWL Language. From the done study an Ontology for representation of some tools of a collaborative environment was developed, using OWL language and the Protégé tool. Some of the tools that compose the collaborative environment had been formalized to verify the possible applications of an Ontology directed to the handle of the collaborative environment. Keywords: Ontology, Collaborative Environment, Collaborative Tools, OWL. 11 1 INTRODUÇÃO Uma ontologia é definida por [GRUBER, 1999] como uma especificação formal de uma conceituação, ou seja, uma descrição de conceitos e relações existentes que ofereça uma estrutura de trabalho unificada de entendimento comum sobre um dado domínio, de modo que se possa organizar reusar e compartilhar conhecimentos nela contido. Com isso, uma ontologia fornece um vocabulário para facilitar a construção de um modelo de um domínio, descrevendo conceitos e relações deste domínio e de axiomas para a descrição de definições, propriedades e restrições. Para o desenvolvimento da ontologia, será utilizada a linguagem OWL (Web Ontology Language), uma vez que esta possui suporte a representação dos dados de tal maneira que esses possam ser gerados e compreendidos de forma explícita através de um conjunto de termos e relacionamentos entre estes termos. Um ambiente colaborativo pode ser definido como um espaço em que vários usuários compartilham e modificam um domínio de objetos comuns (informação) em tempo real [KOLDEHOFE, 2003]. Partindo desse conceito pode-se dizer que o ambiente colaborativo permite que pessoas compartilhem informações em tempo real de forma aberta e direta, ou seja, mesmo estando em lugares diferentes. Podem aproveitar o ambiente absorvendo e compartilhando conteúdo, até mesmo para 12 resolução de um problema. O ambiente colaborativo tem como característica propiciar que diversos usuários em diferentes lugares tenham acesso ao sistema, e vem sendo utilizado em diversas áreas, tais como medicina, ciência, arte, cultura, educação. Um ambiente colaborativo pode ser composto por ferramentas como, por exemplo, Fórum, Chat, Correio Eletrônico, Quadro de Avisos, Espaço para Votação, Editor de Texto e Agenda, entre outras. As Ferramentas Colaborativas estão sendo usadas para suporte aos ambientes colaborativos, permitindo aos usuários integração e comunicação entre os mesmos em um determinado domínio. As ontologias podem ser utilizadas na formalização das ferramentas de um ambiente colaborativo com o propósito de armazenar informações sobre sua utilização baseando-se em seu conteúdo semântico. Assim é possível obter um acesso mais intuitivo sobre essas informações, possibilitando, também, que agentes as processem buscando obter conhecimento de forma automatizada. Este trabalho visa apresentar como essas ferramentas podem ser formalizadas com o uso de ontologias e descrever possibilidades de utilização do domínio definido. As ferramentas de interação entre os participantes de um ambiente colaborativo podem oferecer informações sobre as formas como os mesmos interagem e também elementos de análise de como ocorre esta interação. Estas informações podem permitir que se realizem estudos sobre a real utilidade das ferramentas, propiciando que se obtenha modificações, seja na forma como elas estão implementadas, seja na forma de propor sua utilização. O conjunto de dados que pode ser obtidos, entretanto, pode ser muito grande e sua análise muito complexa. Assim, propõe-se o desenvolvimento de ontologias para estas ferramentas com vistas a verificar se estas podem oferecer subsídios para análises futuras. 13 2 REVISÃO DA LITERATURA Para este trabalho, foram desenvolvidos estudos e pesquisas sobre Ontologia, Ambientes Colaborativos e Ferramentas Colaborativas com o objetivo de adquirir conhecimento teórico e prático dos mesmos. Esses estudos serão apresentados nas seções seguintes. 2.1 Ambiente Colaborativo Segundo [KOLDEHOFE, 2003] e [TELECKEN, 2000], Ambientes Colaborativos são ambientes onde diversos usuários trocam informações, dúvidas ou até mesmo buscam solucionar um problema proposto, com o objetivo de adquirir conhecimento de forma colaborativa, minimizando as diferenças, tais como disponibilidade de tempo e espaço. Um Ambiente Colaborativo pode ser definido como um espaço em que vários usuários compartilham e modificam um domínio de objetos comuns (informação) em tempo real [KOLDEHOFE, 2003]. Em um ambiente colaborativo, a produção de trabalhos mais complexos é facilitada porque as pessoas se unem para atingir um determinado objetivo e desta soma de esforços resulta um trabalho mais sólido. Cabe ressaltar que há uma tendência dos integrantes de um grupo sentirem-se mais estimulados quando buscam soluções em conjunto, o que reflete em um melhor aprendizado [TELECKEN, 2000]. 14 Existem diversos ambientes de trabalho colaborativos que já vêm sendo utilizados em diversas áreas como, por exemplo: - RESOLVE: O Ambiente Colaborativo RESOLVE foi desenvolvido com o intuito de proporcionar o aprendizado colaborativo à distância para grupos de alunos. Possuindo etapas da metodologia da problematização que foram adaptadas para auxiliar e facilitar a execução das atividades que forem necessárias para resolver um determinado do problema. [PADILHA, 2005]. - AulaNet (PUC/RJ): ambiente de trabalho colaborativo, administração, manutenção e assistência de cursos ministrados à distância, que tem como objetivo utilizar a Web como um ambiente educacional e estimular tanto alunos quanto professores para mudanças pedagógicas e aquisição de mais conhecimento [MOECKEL, 2003]. - AVA (Ambiente Virtual de Aprendizado): criado pela UNISINOS, permite a troca de informações entre os usuários através da Internet. O ambiente possui áreas específicas onde cada integrante do ambiente pode escolher o assunto de interesse para realizar a troca de informações além de tomar conhecimento das comunidades relacionadas. Possui diversas ferramentas de auxílio, tais como: chat, agenda, fórum, email, entre outras [BRENNAND, 2005]. Uma das características apresentadas por estes ambientes é a acessibilidade mútua, ou seja, possibilitam que diversos usuários tenham acesso ao ambiente, para que possam estar discutindo ou trocando informações sobre um determinado assunto, projetos, dúvidas entre outras. Os ambientes colaborativos tendem a suprir as necessidades do usuário, sendo isto possível através da interação entre estes usuários onde, além da troca de informações, pode-se trabalhar em conjunto colaborando para resolução de um problema em comum. Com a utilização dos ambientes colaborativos é possível que diversos tipos de usuários, sejam estes leigos ou profissionais da área do ambiente, tenham acesso ao ambiente. Essa interação entre usuários é possível através das ferramentas que são disponibilizadas no ambiente, tais como, e-mail, Chat, fórum, mural de notícias, votação entre outras, as quais serão apresentadas no decorrer do trabalho. 15 2.1.1 Trabalho Colaborativo e Trabalho Cooperativo O trabalho colaborativo possibilita a comunicação, a troca de idéias, o compartilhamento de conhecimento e a tomada de decisões entre os membros do grupo [FUKS et al., 2002]. Através disso, o trabalho colaborativo auxilia ao processo de aprendizagem, gerando conhecimento e auxiliando na solução de um determinado problema ou dúvida, isso é possível a partir de troca de informações que são disponibilizadas pelos usuários do sistema. Computer Supported Collaborative Learning – CSCL ou Aprendizagem Colaborativa Apoiada por Computador – ACAC pode ser definida como uma estratégia educacional em que o conhecimento é construído por dois ou mais indivíduos através da discussão, da reflexão e tomada de decisões, tendo como mediador desse processo os recursos informáticos (Internet, dentre outros). [IRALA, 2004] O trabalho colaborativo envolve um conjunto de métodos e processos que vêm auxiliar os grupos de usuários na comunicação e colaboração gerados a fim de chegar a um objetivo comum. Assim, segundo [LOPRIORE ,1999] o trabalho cooperativo pode ser definido como: uma atividade de troca de informações em grupo, onde o aluno possui uma dupla responsabilidade. Ao mesmo tempo em que é responsável por sua própria aprendizagem, é motivado a participar da aprendizagem dos outros membros do seu grupo [LOPRIORE ,1999]. O trabalho cooperativo é utilizado no desenvolvimento das aplicações que serão realizadas pelo grupo. A área de pesquisa que investiga os processos de apoio à cooperação e, conseqüentemente, possibilita o trabalho, a produção conjunta e a troca de informações, denomina-se Trabalho Cooperativo Suportado por Computador ou CSCW [ELLIS et al.,1991]. Pode ser definido ainda como: Um sistema de redes de computadores que apóia grupos de trabalho na realização de tarefas comuns, fornecendo uma interface que possibilita a realização de trabalho em conjunto [IRALA, 2004]. O CSCW é definido como uma área de estudos da ciência da computação que tem como foco as técnicas de comunicação 16 empregadas para dar suporte à cooperação, principalmente em negócios. O suporte computacional empregado é denominado de groupware, que fornece uma interface para um ambiente compartilhado e apóia tarefas cooperativas [SANTORO, 2002]. O CSCW pode ser entendido como um mecanismo de auxílio à aplicação do conhecimento, ou seja, pode ser utilizado nas técnicas de comunicação facilitando a cooperação entre os usuários. Essa cooperação é possível através das trocas de informações, dúvidas, conhecimento, além da criação de ambientes e ferramentas que facilitam a interação dos usuários em seu ambiente de trabalho. Enquanto o CSCL pode ser uma sub-área do CSCW, em que o objetivo é prover comunicação gerando uma melhor aprendizagem. A diferença entre CSCW (Computer-Supported Cooperative Work) e CSCL (Computer-Supported Cooperative Learning) é que CSCW é uma área de estudos que tem foco em técnicas de comunicação empregadas para prover suporte à cooperação principalmente em negócios; enquanto que CSCL é uma subárea de CSCW, em que o trabalho é educação e, portanto, tem foco naquilo que está sendo comunicado, visando a tornar a aprendizagem mais efetiva [CAMPOS et al, 2003]. Assim pode-se entender o CSCW como sendo um projeto que não visa somente o conhecimento que será adquirido, mas sim, atuar como uma forma de possibilitar que um ambiente (ferramenta) facilite este aprendizado sendo acessível aos usuários e interagindo com outras áreas, para se obter o resultado esperado. Já CSCL visa disponibilizar aos usuários matérias, tais como, textos, imagens entre outros, possibilitando que os usuários adquiram conhecimento sem que necessariamente haja uma preocupação com o processo de comunicação em si e sim com a aprendizagem através da colaboração entre os usuários. 17 2.2 Ferramentas Colaborativas As Ferramentas Colaborativas vêm sendo usadas como suporte aos ambientes colaborativos, possibilitando integração e comunicação entre os usuários, gerando um melhor desempenho na produção do trabalho, e podendo ser usadas em um único ambiente ou de forma separada [BRENNAND, 2005]. Estas ferramentas podem ser classificadas como síncronas, quando permitem que os usuários comuniquem-se em tempo real simultaneamente com um ou mais usuários do sistema trocando informações entre si; e assíncronas, quando a troca de informação não é feita em tempo real, sendo a informação apenas armazenada na ferramenta permitindo aos demais usuários o acesso ao conteúdo que ali está disponibilizado. Abaixo seguem as definições de algumas ferramentas que podem pertencer a um ambiente colaborativo: - Chat: espaço onde os usuários podem trocar informações, realizar discussões, esclarecer dúvidas. Esses diálogos são feitos em tempo real; os usuários estando conectados podem comunicar-se a qualquer hora ou lugar, como apresenta a Figura 1. Figura 1 - Exemplo de utilização de um Chat 18 - Editor de Texto: Uma ferramenta semelhante ao editor gráfico, onde os usuários poderão acessá-la de forma síncrona parar elaboração de seus textos, com auxilio dos demais profissionais não limitando a uma determinada área em especifico, ou seja, se um usuário necessitar de uma informação ou ajuda de outros profissionais de outras áreas os mesmos poderão fornecer-lhe as informações necessárias ao desenvolvimento do trabalho. A figura 2 apresenta o ambiente do editor de texto: Figura 2 -Exemplo de utilização de um Editor de Texto - Mural: espaço reservado aos usuários que desejam publicar avisos, recados informais, convites e etc. A Figura 3 apresenta um exemplo de mural. 19 Figura 3- Exemplo de utilização de um Mural - Votação: um ambiente reservado aos usuários que desejarem realizar alguma enquete sobre algum assunto relacionado à sua área, com isso poderá ter a opinião direta dos demais usuários tendo assim um resultado em percentual. A figura 4 apresenta um protótipo do ambiente de votação. Figura 4 - Exemplo de utilização de uma Ferramenta de Votação 20 - Fórum de Discussão: espaço reservado a discussões, onde os usuários podem criar debates, publicar dúvidas, trocando informações com os demais usuários, como apresenta a Figura 5. Figura 5 - Exemplo de utilização de um Fórum de Discussão Existem inúmeras ferramentas que também vêm sendo utilizadas em ambientes colaborativos, tais como, editores de Imagens, e-mail entre outros. 2.3 Ontologia As ontologias estão sendo utilizadas em diversas áreas, tais como Inteligência Artificial e Representação de Conhecimento, como também na Engenharia de Software, Comércio Eletrônico e etc. Podem ser utilizadas na formalização e estruturação de um determinado domínio, a fim de representar conceitos, regras e permitir relacionamentos entre as classes do domínio. Alguns autores definem Ontologia como sendo: Uma ontologia é uma hierarquia estruturada de um conjunto de termos para descrever um domínio que possa ser usada como estrutura de uma base de conhecimento [GRUBBER, 1999]. Termos e relações que compreendem o vocabulário de uma área, como também as regras para combinar estes termos e relações para definir extensões deste vocabulário [NOVELLO, 2002]. 21 Ontologias fornecem um vocabulário comum de uma área e define, com níveis distintos de formalismos, o significado dos termos e dos relacionamentos entre eles [GÓMEZ-PÉREZ, 1999]. A Ontologia pode ser utilizada nas ferramentas de um ambiente colaborativo com o propósito de armazenar informações sobre sua utilização baseando-se em seu conteúdo semântico. Com isso a ontologia oferece um acesso mais intuitivo sobre essas informações, através de entidades juntamente com suas propriedades, restrições e axiomas. Agentes são segundo [WOODRIDGE,1999], “um sistema computacional que está situado em um ambiente e capaz de atuar sobre o sistema de forma autônoma com intenção de atingir os objetivos de seu desenvolvedor”, além de permitir que agentes processem essas informações buscando obter conhecimento de forma automatizada, com o objetivo de melhorar os processos de recuperação de informação sobre a mesma. Assim, esses agentes podem trocar informações entre os demais agentes do sistema processando-as com o intuito de obter conhecimento de forma automatizada, com o objetivo de melhorar os processos de recuperação de informações sobre a mesma. Um agente é capaz de compreender o significado entre os objetos existentes em uma ontologia, raciocinando sobre eles a partir de regras de inferência, sendo capazes de compartilhar dados a partir das buscas realizadas. 2.3.1 Linguagem: OWL Para a criação de Ontologias podem ser utilizadas linguagens que irão auxiliar no desenvolvimento da mesma, dentre as quais se podem citar a OWL (Web Ontology Language) [OWL, 2004]. A OWL que é uma linguagem recomendada pela W3C (World Wide Web Consortium), com suporte a representação dos dados de tal forma que esses possam ser gerados e entendidos de forma explicita através de um conjunto de termos 22 e relacionamentos entre estes termos, também definida por [LUSTOSA, 2003] como sendo: uma linguagem para Ontologias Web que é desenvolvida para o uso por aplicações que necessitam processar o conteúdo de informações em vez de somente apresentá-las aos usuários, ou seja, ela é pretendida para ser utilizada quando informações contidas em documentos precisam ser processadas por aplicações, ao contrario do que ocorre quando estes conteúdos somente são apresentados aos humanos [LUSTOSA, 2003]. A OWL possui três sub-linguagens, de acordo com suas características [Smith et al 2003], que são OWL Lite, OWL DL e OWL Full. A sub-linguagem que será utilizada neste trabalho será a OWL DL, pois esta pode oferecer maior expressividade com relação à “completude (todas as conclusões são garantidas serem computáveis) e decidibilidade (todas as computações terminarão em um tempo finito) computacional ”[LIMA et al. , 2005]. Por exemplo, a OWL DL permite que todas as inferências possam ser realizadas sem que fiquem processando infinitamente, enquanto a OWL Full não possui a mesma segurança, pois, não possui nenhuma garantia computacional sendo elas completude e decidibilidade no ambiente que está sendo desenvolvido [LIMA et al. , 2005]. A OWL DL possui um conjunto de construções da linguagem OWL que irá permitir uma definição das estruturas que serão formalizadas. Para a estruturação de dados a OWL utiliza o XML (eXtensible Markup Language) que é uma linguagem de marcação projetada para a criação de documentos web, contribuindo para a interoperabilidade entre os diferentes dados na web [XML, 2003]. A representação dos dados é feita de forma estruturada possibilitando que a estrutura do documento, seu conteúdo e sua forma de apresentação sejam independentes, sendo que cada um destes pode ser definido pelo usuário, com isso o mesmo oferece maior flexibilidade para desenvolver páginas e personalizá-las. A sintaxe do XML estende as diversas ferramentas e linguagens, sendo utilizada para estruturação dos dados. Exemplo: a ferramenta de desenvolvimento Flash [MACROMEDIA, 2004] que possui suporte ao XML utilizando servidores que possuem a tecnologia XML na criação de aplicativos. 23 Uma das desvantagens é que o XML não impõe regras para descrição do modelo de domínio que está sendo estruturado e não possui a capacidade de diferenciar dados semanticamente iguais. Para a representação de dados a OWL utiliza o RDF (Resource Description Framework), sendo uma linguagem usada para descrever dados, tanto descritivos quanto estruturados. É utilizado na definição de domínios de ontologias, identificando hierarquias de conceitos e relações, sendo capaz de produz uma inferência a partir de outra existente [RDF, 2000]. A OWL expressa com mais facilidade a semântica, e com isso se torna mais promissora e completa que o XML, RDF, e RDF Schema, superando estas linguagens em sua habilidade para representar o conteúdo da Web [OWL, 2003]. A OWL foi desenvolvida baseando-se nas linguagens DAML e OIL que é uma linguagem desenvolvida para definir a semântica de recursos Web, que possui uma estrutura composta basicamente por cabeçalho (headers), classes (class), propriedades (property), instâncias (instances), entre outros, e é construída a partir da arquitetura XML e RDF. A figura 6 apresenta a origem da OWL, [LUSTOSA, 2003]. Figura 6 - Origem da OWL [LUSTOSA, 2003]. A seguir é apresentada uma relação de Elementos que formam a linguagem DAML e OIL [DAML + OIL, 2001]. Alguns dos elementos são também utilizados pela 24 OWL, tais como Class, para a definição de classes da ontologia, o ObjectProperty utilizado na criação dos relacionamentos entre as classes, o DatatypeProperty elemento utilizado para definição das propriedades de cada classe da ontologia, entre outros: Tabela 1 - Elementos da linguagem DAML + OIL [DAML+OIL, 2001]. A OWL foi desenvolvida tendo como base estas linguagens apresentadas, assim faz com que seja mais completa, pois possui uma quantidade maior de elementos para estruturação de ontologia que as demais linguagens. A linguagem OWL permite obter relacionamentos entre as classes, definir a cardinalidade dos atributos, criar propriedades referente às classes que estão sendo 25 estruturadas no ambiente. É possível definir axiomas que irão auxiliar a partir das regras definidas a semântica dos dados. A definição de uma ontologia OWL é composta basicamente por namespaces XML, cabeçalho, criação de classes e declaração de propriedades, como será apresentado no decorrer deste capítulo. <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xml:base="http://www.owl-ontologies.com/Estagio.owl"> Figura 7- Namespaces de uma Ontologia OWL A figura 7 apresenta as declarações de namespaces XML que são utilizadas com o intuito de evitar conflitos entre a semântica definida em documentos diferentes, caso exista o mesmo nome para os atributos. Um exemplo da utilização de namespaces, no domínio que está sendo representado existem duas classes no ambiente chamadas: “Moeda” e “Universo” e um atributo definido como “cruzeiro”, a namespace irá identificar a qual classe pertence este atributo, se “cruzeiro” pertence à classe “Moeda” sendo uma representação de valores, ou se “cruzeiro” faz parte da classe “Universo” representando uma estrela. As namespaces são usadas ainda para simplificar a utilização de termos URLs que serão apresentados na Ontologia. Um exemplo pode ser mostrado quando, ao invés de usar “http://www.w3.org/2002/07/owl#Class” para definição de uma classe, utiliza-se, com a namespace, somente “owl:class” . A apresentação de um cabeçalho em uma Ontologia OWL possui algumas informações, tais como: o “rdfs:comment” que informa um comentário da ontologia OWL que está sendo representada; o “owl:priorVersion” , que é uma tag padrão 26 de controle das versões da ontologia; e o “owl:imports”, que identifica uma importação de uma ontologia existente [LUSTOSA, 2003]. As classes em OWL são definidas a partir dos elementos “owl:Class” e “rdfs:subClassOf”. As propriedades da Ontologia são apresentadas através do elemento “owl:ObjectProperty”, onde é identificada cada propriedade das classe e subclasse da ontologia, utilizando tags. Para isso é utilizado o elemento “rdfs:domain” que permite definir a qual classe uma determinada propriedade será atribuída. A linguagem OWL permite utilizar diversos elementos, que servirão de auxílio na estruturação da ontologia, “rdf:Restriction”, tais criar “rdf:minCardinality”, como cardinalidade determinar com o restrições através do “rdf:cardinality”, “rdf:maxCardinality”, entre outras. Com isso é possível obter uma ontologia bem estruturada, ou seja, com termos bem definidos possibilitando um entendimento claro e possibilitando a criação de inferências mais complexas. 2.3.2 Ferramenta: Protégé O Protégé é uma ferramenta criada para o desenvolvimento de Ontologias. Esta ferramenta foi criada pela Universidade de Stanford e possui um processo contínuo de desenvolvimento e atualizações. O Protégé é uma ferramenta caracterizada por um gerenciamento de bases de conhecimento. Uma Ontologia desenvolvida é composta basicamente por [PROTÉGÉ, 2005]: • Classes: que são as entidades do domínio que será gerado; possui hierarquia taxonômica, como mostra a figura 8, onde a representação da classe está apresentada através do circulo da referência 1. 27 1 Figura 8 - Definição de Classes • Slots: são propriedades de classes e suas relações, como apresenta a figura 9, onde a representação da classe está apresentada através do circulo da referência 2. 2 Figura 9 - Definição de Slots 28 • Facets: descrevem propriedades dos slots e possibilita a especificação de restrições nos valores dos slots, sendo exemplificado na figura 10, onde a representação da classe está apresentada através do círculo da referência 3. 3 Figura 10 - Definição dos Facets • Instâncias: são as declarações realizadas em uma classe, como apresenta a figura 11. 5 4 Figura 11 - Declaração de Instâncias 29 Na referência 4, as classes que possuem os números entre parênteses indicam quantas instâncias foram criadas para esta classe, sendo que estas instâncias são listadas de acordo com a classe selecionada, como mostra a referência 5. É possível, com a utilização do Protégé, realizar consultas através das instâncias criadas. Através destas consultas é possível verificar qual a atuação deste objeto nas demais ferramentas, a partir de uma busca feita pelo nome do usuário, como apresenta a Figura 12. Figura 12 - Consulta de Usuário A Figura 12 apresenta uma consulta gerada no Protégé [PROTÉGÉ,2005] onde se pode verificar a interação entre os usuários do sistema. Estas informações podem servir de subsídio para que agentes realizem ações junto aos usuários verificando a atuação destes usuários no ambiente a partir do acompanhamento da utilização do mesmo. Conforme apresentado, foram definidos alguns conceitos para a compreensão do trabalho que está sendo realizado, a partir desta definição será estruturada uma ontologia para algumas das ferramentas colaborativas conforme será apresentado a seguir. 30 3 MATERIAIS E MÉTODOS Neste capítulo serão apresentados os materiais e métodos utilizados para o desenvolvimento deste trabalho, juntamente com as ferramentas, estudo e orientação que foram empregadas para a finalização deste trabalho. Para o desenvolvimento deste trabalho foram utilizados artigos sobre os assuntos abordados, dissertações de doutorado e mestrado, publicações científicas, trabalhos de conclusão de curso e também o site da W3C. Foram verificadas as partes que constituem um ambiente colaborativo, através de pesquisa na literatura da área. Em seguida, foram verificadas as características de cada uma destas partes, com o objetivo de obter os conceitos envolvidos nestas para que se possa definir os elementos de uma ontologia sobre as mesmas. Foi realizado um estudo sobre ontologia e juntamente com as linguagens utilizadas na definição destas ontologias. A partir disso foi possível definir as ferramentas colaborativas que serão formalizadas para a apresentação deste trabalho. A ferramenta estudada e que será utilizada para o desenvolvimento da ontologia e de seus componentes é o Protégé 3.1 Beta, com a linguagem OWL. Para um melhor entendimento sobre a ontologia que estará sendo criada foi feito um Modelo Conceitual utilizando a linguagem UML (Unified Modeling Language) através da ferramenta Rational Rose 2000 Enterprise Edition com o intuito de apresentar as classes, propriedades e relacionamentos referentes às Ferramentas Colaborativas que serão estruturadas na ontologia. Este trabalho foi desenvolvido no Centro Universitário Luterano de Palmas, no laboratório do GENORTE, localizado no Complexo de Informática do curso de Sistemas de Informação. A realização deste trabalho ocorreu durante o segundo semestre de 2005, como requisito da disciplina “Estágio Supervisionado em Sistemas de Informação” deste curso. 31 4 RESULTADOS E DISCUSSÕES O objetivo deste capítulo é apresentar os resultados obtidos a partir da definição de uma ontologia de algumas ferramentas colaborativas que foram vistas no decorrer deste trabalho, sendo estas, o Fórum de Discussão, Mural e Votação. Estas ferramentas foram escolhidas com o intuito de estruturar uma ferramenta colaborativa dinâmica, outra estática e uma de múltipla escolha. Como ferramenta dinâmica foi utilizado o Fórum de Discussão, no qual existe uma interação entre os usuários do sistema, uma vez que estes usuários podem deixar suas dúvidas e mensagens para os demais usuários. Como ferramenta estática foi utilizado o Mural, uma vez que o usuário deseje utilizar este espaço para inserir alguma informação ou aviso aos usuários do sistema. A Ferramenta de Votação foi escolhida para exemplificar uma ferramenta de múltipla escolha, pois assim os usuários poderão fazer questionamentos ou pesquisas para os demais usuários de forma intuitiva, disponibilizando a opção das respostas para que os usuários do ambiente participem da ferramenta de Votação. Após a definição das ferramentas que serão utilizadas no sistema foi feito um Modelo Conceitual, pois a partir da estruturação deste modelo é possível analisar o domínio, ou seja, o ambiente em que estará sendo feita a aplicação, como apresenta a Figura 13. 32 acessa 0..* Votacao Assunto Pergunta Resultado 0..* contem 0..* Voto Pessoa Resposta 1..* 1..* Pessoa pertence a 0..* Nome Endereço RG CPF Cidade Estado Área de Atuação Formação Área de Interesse Disciplinas 1..* Mural contem 1..* Remetente Mensagem Assunto 1..* Data 1..* Opcoes Alternativa é acessado por 1..* possui 1..* 1..* 1..* possui possui é acessado por 11 Material Área Descrição 1 Mensagens 1 possui 1..* Fórum Tema 1..* 1..* contem 1 Título Assunto Mensagem Remetente Data Figura 13 - Modelo Conceitual para Estruturação da Ontologia A Figura 13 apresenta a estrutura e composição das ferramentas do ambiente colaborativo apresentadas neste trabalho. Com a criação deste Modelo Conceitual é possível visualizar classes, atributos e relacionamentos existentes entre eles para auxiliar assim a definição de uma Ontologia. 33 4.1 Definição das Classes Para criação da ontologia foram definidas as classes que comporão a ontologia para as ferramentas colaborativas. As classes foram definidas como: “Material”, “Pessoa”, “Mural”, “Fórum” e “Votação”. A figura 14 apresenta a definição da classe “Mural”, onde na linha 1 apresenta o elemento owl:Class utilizado para definir a classe, o mesmo foi feito para as demais classes. Figura 14 - Definição da Classe “Mural” Para as classes “Fórum” e “Votação” foram criadas subclasses para uma melhor representação das informações no domínio. Com isso obtém-se uma classe específica ligada a uma classe genérica. A subclasse de “Fórum” foi definida como “Mensagens”, e as subclasses de “Votação” foram definidos como “Voto” e “Opções”. A figura 15 apresenta a definição das subclasses da classe “Votação”. 34 Figura 15 - Definição das subclasses “Opcoes” e “Voto” Tem-se, na figura 15, a definição da classe “Opcoes” e através do elemento “rdfs:subClassOf” a identificação de que ela é uma subclasse de “Votacao”, ou seja, inicialmente já havia sido definida uma classe genérica “Votacao” e agora é definida uma classe mais específica denominada “Opcoes”. A linha 2 apresenta o elemento <rdfs:subClassOf> que faz a referência da classe “Opcoes”, identificando que essa classe pertence a classe “Votação”. O mesmo acontece para subclasse “Voto” como mostra a linha 11 da figura 15. A definição da subclasse “Tema” da classe “Fórum” é feita do mesmo modo que o apresentado acima. 4.2 Definição das Propriedades A partir da definição das classes, foram definidas as propriedades ou atributos pertencentes a cada classe criada, de acordo com a necessidade de cada ferramenta. Um exemplo desta necessidade da definição das propriedades está representado na figura 16 onde foi definido algumas propriedades, como a propriedade “pergunta” utilizando o elemento “DatatypeProperty” como apresenta a linha 1, e é feita a 35 referência à classe da qual faz parte esta propriedade, ou seja, classe “Votacao”, declarada através do elemento “rdf:domain”, como apresenta a linha 2. Figura 16 - Definição das Propriedades “pergunta” e “alternativa” O mesmo acontece com a propriedade “alternativa” na linha 9, sendo que esta pertence a classe “Opções”. As propriedades são definidas para que a ferramenta obtenha os dados específicos necessários para a formalização das informações discutidas no ambiente. 36 4.3 Definição dos Relacionamentos Após a definição das classes e propriedades, são definidos os relacionamentos existentes entre as classes. Esses relacionamentos indicam que classe está relacionada à outra, assim é possível dizer que a classe “material” “possui” “pessoa”, ou seja, a classe “material” está interligada a classe “pessoa”, como está apresentado na figura 17. Figura 17 - Definição do Relacionamento “possui” A linha 1 apresenta o elemento owl:ObjectProperty, que identifica o objeto de relacionamento que está sendo criado, neste caso o relacionamento “possui”. Este relacionamento foi criado na classe “Material” na linha 16, fazendo referência às classes, “Pessoa”, “Votação”, “Forum”, “Mural”, como apresentado nas linhas 9 a 12 através do elemento owl:unionOf. Esse relacionamento indica que a classe “Material” está interligada as classes supracitadas. Ainda foram definidos mais três objetos de relacionamento, sendo eles: “é_acessado_por”, onde a classe “Pessoa” acessa as classes “Votação”, ”Fórum” e ”Mural”; como apresenta a figura 18. 37 Figura 18 - Definição do Relacionamento “é_acessado_por” O “contemForum”, onde a classe “Fórum” está interligada com a classe “Mensagens”,a figura 19 apresenta o relacionamento “contemForum”. Figura 19 - Definição do Relacionamento “contemForum” E por último foi definido o relacionamento “contemVotacao”, onde a classe “Votacao” possui relação com as classes “Opção” e ”Voto”, como aptresenta a figura 20. Figura 20- Definição do Relacionamento “contemVotacao” 38 Assim as classes que foram definidas para o ambiente, serão interligadas a partir da criação dos relacionamentos. 4.4 Axiomas Os axiomas são responsáveis pela representação de conhecimento no ambiente, através da definição das equivalências e restrições. Esses axiomas podem ser aplicados nas classes, propriedades, e relacionamentos. Para este trabalho foram criados os termos de equivalência, onde são definidos sinônimos para as classes e propriedades, identificando palavras diferentes, mas que possuem o mesmo significado ou semântica. Assim, com a realização de inferências o agente pode localizar termos diferentes, porém com a mesma semântica. A tabela 2 apresenta as classes do domínio seguido de alguns dos termos equivalentes criados para cada classe. Neste trabalho foram definidas também as equivalências para as propriedades de cada classe. Termos Equivalentes das Classes Classes Termos Equivalentes Fórum Debate Material Conteúdo Mural Notícia, Recados Pessoa Usuário, Individuo Votação Pesquisa, Enquete Tabela 2 - Termos Equivalentes das Classes Com a definição dos axiomas, através dos termos de equivalência é possível ter vários termos diferentes, pois os diversos termos possuem a semântica igual, tendo assim o mesmo significado. Com isso ao realizar uma busca por uma determinada classe, mesmo que esta não seja a que foi definida no ambiente, será possível encontrar um resultado referente a classe definida. Cabe ressaltar que foram criados, 39 além dos axiomas de equivalência, alguns axiomas de restrição, para definir a cardinalidade de uma determinada propriedade em uma classe. A figura 21 apresenta definição da restrição feita na propriedade “área_de_atuacao” da classe “Pessoa”. Figura 21- Definição do Axioma de Restrição da propriedade “área_de_atuacao” Para definição das restrições é utilizado o elemento owl:Restriction, como mostra a linha 1 da figura 21. Assim, é possível definir que na propriedade “área_de_atuacao” da classe “Pessoa”, uma determinada pessoa deve ter no mínimo uma Área de Atuação inserida no ambiente. O mesmo foi feito para as demais propriedades do domínio, conforme sua necessidade. 4.5 Consultas Através das consultas realizadas no domínio é possível verificar qual a atuação ou desempenho de um determinado usuário nas ferramentas apresentadas no domínio. Para um melhor entendimento do que está sendo apresentado neste trabalho, foi criado um Banco de Dados com o intuito de apresentar as semelhanças e as diferenças entre a formalização de um domínio utilizando a Ontologia e o Banco de Dados. A figura 22 apresenta o diagrama Entidade Relacionamento definido com as tabelas necessárias para a estruturação do domínio através das ferramentas que foram propostas neste trabalho juntamente com seus atributos. 40 Figura 22 - Diagrama ER Para exemplificar a utilização de um Banco de Dados, a partir da estruturação do diagrama ER (Entidade Relacionamento) foi criada uma consulta nas classes “Mural” e “Fórum” retornando os resultados onde o remetente fosse “Vitor”. A figura 23 mostra o código da consulta através do código SQL. 41 Figura 23 - Consulta SQL O resultado da consulta é apresentado através da tabela 3, identificando que o usuário “Vitor” obteve participação em duas ferramentas distintas. Tabela 3 - Resultado da Consulta SQL A mesma consulta foi realizada através da Ontologia utilizando o Protégé [PROTÉGÉ,2005] sendo possível realizar a verificação da interação entre os usuários do sistema. Ao realizar uma busca nas classes “Fórum” e “Mural”, sendo que o “autor” ou “remetente” (propriedade equivalente de “autor”) da mensagem inserida no “Fórum” é o usuário “Vitor”. A partir da consulta obtém-se o resultado em que é possível visualizar a instância a que pertence o objeto, ou seja, “OWL” da classe “Tema” e “Noticia” da classe “Mural”, como apresenta a figura 24. 42 Figura 24 - Consulta de Usuário através da Ontologia A consulta apresentada acima é uma inferência simples que pode ser feita utilizando o Banco de Dados e o Protégé. A partir da formalização da Ontologia é possível criar inferências, como será apresentado a seguir. Inicialmente foi feita uma busca através da “área_de_atuacao”, da classe “Pessoa”, a fim de identificar quais usuários do ambiente pertencem a uma determinada área. O resultado obtido está representado na tabela 4, para auxiliar o entendimento das consultas que serão realizadas no decorrer do trabalho. Área de Atuação Redes de Engenharia de Inteligência Segurança de Computadores SW Artificial Sistemas Amanda João Vitor Katia Gustavo Marta Augusto Rosana Lucas Luiz Julio Murilo Tabela 4 - Busca na ontologia por “área_de_atuação”. Com a figura 25 é possível verificar a atuação de um usuário em uma determinada ferramenta através de uma inferência, ou seja, a “Pessoa” “Vitor” possui sua área de atuação como sendo “IA”, ao buscar uma “Pessoa” através de sua área de atuação, têm-se como resultado a instância “Vitor” do tipo “Pessoa”. 43 Figura 25 - Exemplo de Consulta através da Ontologia Assim é possível visualizar o usuário “Vitor” na primeira consulta. A partir disso, foi feita a busca na ferramenta “Fórum” que possui a classe “Mensagens”. Primeiro foi realizada uma busca por “assunto” com o título “XML”, e segundo por “autor”, sendo este definido pelo retorno do usuário na consulta por “Pessoa” “Vitor”. O resultado foi a instância “XML”, do tipo “Mensagens” que é uma subclasse de “Fórum”, onde “Vitor” é um dos autores das mensagens deixadas naquele “Fórum” especifico. Esta instância encontra-se apresentada na figura 26, onde apresenta a instância da classe “Pessoa”, onde o usuário “Vitor” possui acesso a instância “XML”. 44 Figura 26 - Instância da Classe Pessoa As instâncias representam os elementos dos conceitos e relações da Ontologia, ou seja, as declarações de uma determinada classe. Assim como apresenta a figura 26, são preenchidos os campos das propriedades da classe “Pessoa”. Com isso é possível realizar as inferências supracitadas, verificando se a estruturação do domínio está correta. O mesmo foi feito para figura 27. 45 Figura 27 - Instância da Classe ”Mensagens” A inferência a seguir é apresentada uma consulta a partir do resultado apresentado na tabela 4 é feita uma busca sobre o “assunto” discutido na classe “Fórum”, neste caso buscando o “assunto” “Redes”. O retorno da busca é apresentado pela figura 28, e o resultado da instância encontrada é apresentado na figura 29. Figura 28 - Consulta realizada para a Subclasse “Mensagens” A figura 29 apresenta a instância “Redes” da classe “Mensagens”, com este resultado é possível observar a interação entre os usuários na ferramenta, através da inclusão de mensagens, e possível ainda identificar os usuários que estão participando 46 do Fórum com o campo “autor”. Essa interação mostra que os usuários pertencentes a esta área têm participado do ambiente contribuindo para a interação entre os mesmos. Figura 29 – Instância “Redes” da classe “Mensagens” A consulta apresentada pode ser feita para as demais classes do ambiente, servindo de base, por exemplo, para observar em que ferramenta será mais acessado determinado assunto, ou seja, buscar por assunto, através das ferramentas e verificar se este assunto tem obtido êxito. Pode ser utilizado de forma estratégica para que um grande número de usuários acesse mesmo que este não pertença àquela determinada área de atuação, verificando se essas ferramentas estão sendo utilizadas e ainda se os usuários que estão inseridos no ambiente têm interagido com os demais usuários. A figura 30 apresenta uma consulta feita sobre a classe “Forum”, na classe “Mensagens”, buscando pelos assuntos “Redes”, ”XML” e “UML”, a fim de identificar qual assunto está sendo mais discutido e quais usuários têm participado do fórum. 47 Figura 30 - Consulta por “assunto” da classe “Mensagens” A partir do resultado da figura 30, serão apresentadas as instâncias dos temas discutidos para que seja visível o resultado esperado sobre a consulta proposta, ou seja, verificar qual assunto está sendo mais discutido e quais usuários têm participado do Fórum. Figura 31– Instância “Redes” da classe “Mensagens” A figura 31 apresenta a instância do tema “Redes”, que possui 4 (quatro) usuários participando do “Forum”, incluindo suas mensagens. 48 Figura 32 - Instância “UML” da classe “Mensagens” A figura 32 apresenta a instância do tema “UML”, que possui 2 (dois) usuários participando do “Forum”, incluindo suas mensagens. Figura 33 - Instância “XML” da classe “Mensagens” 49 A figura 33 apresenta a instância do tema “XML”, que possui 3 (três) usuários participando do “Forum”, incluindo suas mensagens. Assim, é possível verificar que o assunto que está sendo mais discutido no Fórum é o que se refere a “Redes”, que possui 4 (quatro) usuários participando e interagindo no “Forum”. É possível observar que neste tema existe um usuário que não pertence a área de atuação “Redes”, sendo este o usuário “Vitor” que pertence a área de atuação “Inteligência Artificial”, de acordo com a tabela apresentada no inicio deste capitulo, verificando assim, os usuários que estão tendo participação nesta ferramenta. A consulta seguinte tem como objetivo identificar o acesso de um determinado usuário nas ferramentas do ambiente, ou seja, partir de uma busca por “e_acessado_por” de um usuário na classe “Pessoa”, é possível identificar as ferramentas a que este usuário está tendo acesso, como é apresentado na figura 34. Figura 34 - Instância “Lucas” da classe “Pessoa” 50 A partir de uma consulta feita sobre a classe “Pessoa” pelo usuário “Lucas”, pode-se verificar que este possui diversos acessos às ferramentas do ambiente, através do relacionamento chamado “e_acessado_por” criado entre a classe “Pessoa” e as demais classes do ambiente. É possível identificar com o relacionamento “e_acessado_por”, as instâncias onde este usuário “Lucas” atuou criando uma mensagem ou definindo um novo tópico na ferramenta. A última consulta que será apresentada mostra relação entre as ferramentas do ambiente. Na figura 35 esta consulta é demonstrada. Figura 35 - Consulta entre as classes do ambiente Para que as classes sejam interligadas são definidos relacionamentos, para exemplificar esta consulta será usado o relacionamento “possuiVotacao” que faz a ligação da classe “Tema” com a classe “Votacao”. Assim, quando o usuário cria um “Tema”, ele pode definir se vai ou não ter um tópico de “Votacao” com o mesmo assunto que está sendo definido na classe “Tema”. Com isso, é possível visualizar a interação entre as classes do domínio a partir dos relacionamentos criados, verificando para um determinado assunto do “Fórum”, por exemplo, se este possui algum tópico em outra ferramenta, sendo possível identificar os usuários que participam das ferramentas relacionadas. Com a utilização da Ontologia é possível realizar diversas inferências sobre as ferramentas que estão estruturadas no domínio, tais como quais assuntos foram discutidos por um determinado usuário em ferramentas diferentes, ou ainda que usuários corresponderam a este usuário com suas opiniões, qual a área de interesse de 51 um usuário que está participando de um fórum, se possui alguma relação com sua área de atuação conforme foi apresentado. Uma outra opção para estruturar o ambiente e armazenar tais informações seria a utilização de um banco de dados, seriam criadas as tabelas com seus devidos atributos e relacionamento entre as mesmas, porém optou-se por trabalhar com ontologia. Uma vez que esta permite a estruturação das classes, propriedades e relacionamentos armazenando assim as informações inseridas no ambiente. Com a utilização da semântica entre os dados a ontologia permite que uma determinada classe ou propriedade possa obter mais de um significado, ou seja, dados semanticamente iguais, mas com sintaxe diferente e ao realizar uma inferência a ontologia é capaz de direcionar a uma resposta correta para a pesquisa caso seja utilizado um termo equivalente para realizar a consulta. 52 5 CONSIDERAÇÕES FINAIS Para realização deste trabalho, foram pesquisados conceitos e exemplos sobre Ontologia, Ambientes Colaborativos e Ferramentas Colaborativas com o objetivo de conhecer sua estrutura e funcionamento, para realizar as aplicações propostas com este trabalho. Através do estudo realizado foi possível verificar a modelagem da Ontologia proposta, definindo as ferramentas colaborativas que seriam formalizadas, definindo as classes, propriedades e relacionamentos, realizar consultas e ainda criar um referencial teórico para embasar a utilização da Ontologia. A utilização das ontologias para formalização de ferramentas de um ambiente colaborativo, possibilitou que as informações sobre sua utilização fossem guardadas com base em seu conteúdo semântico e permitindo um acesso mais intuitivo, ou seja, direto sobre essas informações. Essas informações são adquiridas a partir das ferramentas colaborativas para que ofereçam aos usuários dados sobre as formas como os mesmo interagem no ambiente, como por exemplo, um usuário de uma determinada área, tenha participação em um fórum mesmo que este não seja da sua área. Com isso é possível verificar a atuação dos usuários no ambiente, mostrando quais suas áreas de atuação, seu interesse e ainda o quanto este usuário tem sido ativo no ambiente. Essa verificação de 53 atuação dos usuários é possível através da utilização da Ontologia que possibilita a realização de consultas sobre todas as informações do domínio. A dificuldade encontrada ao desenvolver o trabalho foi devido a grande complexidade de se estabelecer as partes que comporão a ontologia, fazendo com que todas as necessidades do ambiente que estará sendo desenvolvido sejam supridas. Ainda verificar como a ontologia será desenvolvida, a fim de se obter uma estrutura que permita obter as inferências como se planeja. Como trabalho futuro, visualiza-se a viabilidade de se formalizar as demais ferramentas do ambiente colaborativo a fim de que se torne possível realizar a integração das mesmas através de ontologia. Com essa integração poderão ser realizadas inferências as mais variadas sobre a real utilização do ambiente no que se refere à interação e colaboração entre seus usuários e da efetiva importância de cada uma no ambiente. 54 6 REFERÊNCIAS BIBLIOGRÁFICAS [BERNERS et al., 2001] BERNERS, Lee; T. Hendler; L. Lassila O.. “The Semantic WEB”. Scientific American, 2001. [BRENNAND, 2005] BRENNAND, C. R. L ., Neto, J. H. L., Fernandes, S. M. M. “ATCAAmbiente de Trabalho Colaborativo Avançado”. Congresso Internacional de Qualidade em EAD 2005. Disponível em: www.ricesu.com.br/ciqead2005/trabalhos/44.pdf . Acesso em 12/10/2005. [CAMPOS et al., 2003] CAMPOS, F. C. A. “Cooperação e aprendizagem on-line”. Rio de Janeiro: DP&A, 2003. Disponível em: <http://wwwadm.admp6.jussieu.fr/fp/uaginternetetp/definitiontravailcollaboratif.htm> Acesso em: 19/10/2005. [DAML+OIL, 2001] Disponível em: DAML+OIL (MARCH 2001) REFERENCE <http://www.w3.org/TR/daml+oil-reference>. DESCRIPTION. Acesso em: 04/12/2003. [ELLIS,1991] ELLIS, C.A., GIBBS, S.J. & REIN, G.L.: Groupware - Some Issues and Experiences. Communications of The ACM, vol. 34, no. 1, pp. 38-58. 2001. [FREITAS, 2003] FREITAS, Frederico Luiz Gonçalves de. “Ontologias e a Web Semântica”. In: Anais do XXIII Congresso da Sociedade Brasileira de 55 Computação. Volume 8: Jornada de Mini-Cursos em Inteligência Artificial. Campinas, 2003, v. 8, p. 1-52. Disponível em: http://www.inf.unisinos.br/~renata/cursos/topicosv /ontologias-ws.pdf . Acesso em 30/10/2005. [FALBO, 1998] FALBO, Ricardo de Almeida. “Integração de Conhecimento em um Ambiente de Desenvolvimento de Software”. Dissertação de Doutorado. Programa de Engenharia de Sistemas e Computação da COPPE/UFRJ UNIVERSIDADE FEDERAL DO RIO DE JANEIRO, 1998. Disponível em: http://www.inf.ufes.br/~falbo/pub.html . Acesso em 12/12/2005. [FREITAS, 2003] FREITAS, Frederico Luiz Gonçalves de. “Ontologias e a Web Semântica”. In: Renata Vieira; Fernando Osório. (Org.). Anais do XXIII Congresso da Sociedade Brasileira de Computação. Volume 8: Jornada de Mini-Cursos em Inteligência Artificial. Campinas, 2003, v. 8, p. 1-52. Disponível em: http://www.inf.unisinos.br/~renata/cursos/topicosv/ontologias-ws.pdf . Acesso em 01/10/2005. [FUKS, H.; RAPOSO, A. B.; GEROSA, M. A., 2002] FUKS, H.; RAPOSO, A. B.; GEROSA, M. A.. “Engenharia de groupware: desenvolvimento de aplicações colaborativas”. In: Congresso da Sociedade Brasileira de Computação, 2002. Florianópolis. ANAIS. Florianópolis: SBC, V. 2. p. 89-128. [GÓMEZ, PÉREZ, 1999] GÓMEZ, A. Benjamins.; PÉREZ, V. R.. “Overview of knowledge sharing and reuse components: Ontologies and problem-solving methods”. In: International Joint Conference on Artificial Intelligence(IJCAI99),Workshop on Ontologies and Problem- Solving Methods (KRR5), Editors. 1999. 56 [GRUBER, 1995] GRUBER, T. R.. “Toward Principles for the Design of Ontologies used for Knowledge Sharing”, 1995. International Journal of Human-Computer Studies. Nº 43, pp. 907-928. [GRUBBER, 1999]. GRUBBER, T. “What is an ontology?”. 1999. Disponivel em: <http:// www-ksl.stanford.edu/kst/what-is-an-ontology.html> . Acesso em: 12/10/2005. [IRALA, 2004] IRALA. “O Uso Do Amanda Como Ferramenta De Apoio A Uma Proposta De Aprendizagem Colaborativa Para A Língua Inglesa”, Abril 2004. [KOLDEHOFE, 2003] KOLDEHOFE, Boris. “Collaborative Environments: Aspects in Communication and Educational Visualisation”. Março 2003. Disponível em: <http://www.cs. chalmers.se/~khofer/pub/lic.pdf> . Acesso em: 01/11/2005. [LIMA, CARVALHO, 2005] LIMA, Júnio César de.; CARVALHO, Cedric Luiz de. “Ontologias - OWL (Web Ontology Language)”. Technical Report - RTINF_004-05 - Relatório Técnico. Junho, 2005. [LOPRIORE, 1999] LOPRIORE, L. (1999). " L’apprentissage coopératif : un défi pour les professeurs de langue ". Le français dans le monde recherches et applications no spécial apprendre les langues étrangères autrement, pp 134-141. Parigi, França. [LUSTOSA, 2003] LUSTOSA. Pollyane de Almeida. “OWL e Protégé: estudo e aplicação de conceitos para exemplificação da definição da camada de esquema da Web Semântica em um determinado domínio”. Trabalho de Conclusão de Curso. CEULP/ULBRA, 2003. [MACROMEDIA, 2004] “Macromedia FLASH 5”, Janeiro de 2004. Disponivel em http://www.macromedia.com. Acesso em 21/01/2006. 57 [MOECKEL, 2003] MOECKEL, Alexandre. “CSCW: conceitos e aplicações para cooperação”. Curitiba: CEFET, 2003. [NOVELLO, 2002] NOVELLO, Taisa Carla. “Ontologias, Sistemas baseados em conhecimento e modelos de banco de dados”. 2002. Disponível em: <http;//www.inf.ufrgs.br/~clesio/cmp 151/ cmp15120021/artigo_taisa.pdf>. Acesso em 12/10/2005. [OWL, 2003] “Owl Web Ontology Language Semantics And Abstract”. Março de 2003. Disponivel em http://www.w3.org/TR/owl-absyn . Acesso em 13/10/2005. [OWL, 2004] “Owl Web Ontology Language Overview”. Fevereiro de 2004. Disponível em: <http://www.w3.org/TR/owl-features/>. Acesso em 05/11/2005. [PADILHA, 2005] PADILHA, T. P. P. Um Ambiente de Aprendizado Colaborativo para Resolução deProblemas. Dissertação (Doutorado) . Universidade Federal de Santa Catarina, 2005. [PROTÉGÉ, 2005] “Protégé 3.1.1 Beta”, Agosto de 2005. Disponível em <http://protege.stanford.edu>. [RDF, 2000] “Resource Description Framework (Rdf) Schema Specification 1.0.” Março de 2000. Disponível em: <http://www.w3.org/TR/2000/CR-rdf-schema20000327>. Acesso em 05/02/2006. [RUSSEL, NORVIG, 1995] RUSSEL, S. J.; NORVIG, P. “Artificial Intelligence – A Modern Approach”. 1995. Prentice Hall. Nova Jersey. [SANTORO, et al., 2002] SANTORO, Flávia Maria; SANTOS, Neide; BORGES, Marcos R. S.. “A Avaliação de Estudantes em Ambientes de Aprendizagem Cooperativa Apoiados por Computadores”, 2002. Volume 7 nº1. 58 [SMITH et al 2003] Smith, M., Welty, C., McGuinness, D. Web Ontology Language (OWL) Guide Version 1.0.Disponivel em: http://www.w3.org/TR/2003/WD-owlguide-20030210/ . 2003. Acesso em 30/10/2005. [TELECKEN, 2000] TELECKEN, Tiago L. "Ambiente Colaborativo para Edição de Documentos Via Internet". Trabalho Final de Graduação. Universidade de Passo Fundo, 2000. [WOODRIDGE,1999] WOODRIDGE, M. “Intelligent Agents. In G. Weiss, editor: Multiagent Systems, The MIT Press”. April 1999. Pp. 27-77. [XML, 2003] EXTENSIBLE MARKUP LANGUAGE. <http://www.w3.org/XML/>. Acesso em 15/01/2006. 7 8 9 10 11 2003. Disponível em: 59 ANEXOS 60 Anexo 1 – Representação da Ontologia Modelada em OWL <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns="http://www.owl-ontologies.com/unnamed.owl#" xml:base="http://www.owl-ontologies.com/unnamed.owl"> <owl:Ontology rdf:about=""/> <owl:Class rdf:ID="usuario"/> <owl:Class rdf:ID="Pessoa"> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Definição da classe Pessoa</rdfs:comment> <owl:equivalentClass> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class> <owl:oneOf rdf:parseType="Collection"> <owl:Class rdf:about="#usuario"/> </owl:oneOf> </owl:Class> <owl:Restriction> <owl:onProperty> <owl:DatatypeProperty rdf:ID="area_de_atuacao"/> </owl:onProperty> <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int" >1</owl:minCardinality> </owl:Restriction> <owl:Restriction> 61 <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int" >1</owl:minCardinality> <owl:onProperty> <owl:DatatypeProperty rdf:ID="area_de_interesse"/> </owl:onProperty> </owl:Restriction> <owl:Restriction> <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int" >1</owl:minCardinality> <owl:onProperty> <owl:DatatypeProperty rdf:ID="formacao"/> </owl:onProperty> </owl:Restriction> <owl:Class> <owl:oneOf rdf:parseType="Collection"> <owl:Class rdf:ID="individuo"/> </owl:oneOf> </owl:Class> </owl:intersectionOf> </owl:Class> </owl:equivalentClass> </owl:Class> <owl:Class rdf:ID="Mensagens"> <rdfs:subClassOf> <owl:Class rdf:ID="Forum"/> </rdfs:subClassOf> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Definicao da classe Tema</rdfs:comment> </owl:Class> <owl:Class rdf:ID="Mural"> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" 62 >Definição da classe Mural</rdfs:comment> <owl:equivalentClass> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class> <owl:oneOf rdf:parseType="Collection"> <owl:Class rdf:ID="recados"/> </owl:oneOf> </owl:Class> <owl:Class> <owl:oneOf rdf:parseType="Collection"> <owl:Class rdf:ID="noticia"/> </owl:oneOf> </owl:Class> </owl:intersectionOf> </owl:Class> </owl:equivalentClass> </owl:Class> <owl:Class rdf:ID="Material"> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Definição da classe Material</rdfs:comment> <owl:equivalentClass> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class> <owl:oneOf rdf:parseType="Collection"> <owl:Class rdf:ID="conteudo"/> </owl:oneOf> </owl:Class> <owl:Restriction> <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int" 63 >1</owl:minCardinality> <owl:onProperty> <owl:DatatypeProperty rdf:about="#area_de_atuacao"/> </owl:onProperty> </owl:Restriction> </owl:intersectionOf> </owl:Class> </owl:equivalentClass> </owl:Class> <owl:Class rdf:ID="pesquisa"/> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Mensagens"/> <owl:Class rdf:about="#Mural"/> <owl:Class rdf:about="#Pessoa"/> <owl:Class rdf:ID="Votacao"/> </owl:unionOf> </owl:Class> <owl:Class rdf:about="#Forum"> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Definição da classe Forum</rdfs:comment> <owl:equivalentClass> <owl:Class> <owl:oneOf rdf:parseType="Collection"> <owl:Class rdf:ID="debate"/> </owl:oneOf> </owl:Class> </owl:equivalentClass> </owl:Class> <owl:Class rdf:ID="Opcoes"> <rdfs:subClassOf> 64 <owl:Restriction> <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int" >1</owl:minCardinality> <owl:onProperty> <owl:DatatypeProperty rdf:ID="alternativa"/> </owl:onProperty> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Class rdf:about="#Votacao"/> </rdfs:subClassOf> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Definicao da classe Opcoes</rdfs:comment> </owl:Class> <owl:Class rdf:about="#Votacao"> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Definição da classe Votacao</rdfs:comment> <owl:equivalentClass> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class> <owl:oneOf rdf:parseType="Collection"> <owl:Class rdf:about="#pesquisa"/> </owl:oneOf> </owl:Class> <owl:Class> <owl:oneOf rdf:parseType="Collection"> <owl:Class rdf:ID="enquete"/> </owl:oneOf> </owl:Class> </owl:intersectionOf> 65 </owl:Class> </owl:equivalentClass> </owl:Class> <owl:Class rdf:ID="Voto"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty> <owl:DatatypeProperty rdf:ID="pessoa"/> </owl:onProperty> <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int" >0</owl:minCardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Definicao da classe Voto</rdfs:comment> <rdfs:subClassOf rdf:resource="#Votacao"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty> <owl:DatatypeProperty rdf:ID="resposta"/> </owl:onProperty> <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int" >0</owl:minCardinality> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:ObjectProperty rdf:ID="contemMensagens"> <rdfs:range rdf:resource="#Forum"/> <rdfs:domain rdf:resource="#Mensagens"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="contemOpcao"> 66 <rdfs:domain rdf:resource="#Opcoes"/> <rdfs:range rdf:resource="#Votacao"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="contemForum"> <rdfs:range rdf:resource="#Mensagens"/> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Propriedade de relacionamento entre os conceitos Forum e Tema.</rdfs:comment> <rdfs:domain rdf:resource="#Forum"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="possui"> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Propriedade de relacionamento entre os conceitos material, pessoa, mural, votacao, voto e forum.</rdfs:comment> <rdfs:range> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Pessoa"/> <owl:Class rdf:about="#Votacao"/> <owl:Class rdf:about="#Forum"/> <owl:Class rdf:about="#Mural"/> </owl:unionOf> </owl:Class> </rdfs:range> <rdfs:domain rdf:resource="#Material"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="contemVoto"> <rdfs:range rdf:resource="#Votacao"/> <rdfs:domain rdf:resource="#Voto"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="e_acessado_por"> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" 67 >Propriedade de relacionamento entre os conceitos pessoa, votacao, mural e forum</rdfs:comment> <rdfs:range> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Votacao"/> <owl:Class rdf:about="#Forum"/> <owl:Class rdf:about="#Mural"/> </owl:unionOf> </owl:Class> </rdfs:range> <rdfs:domain rdf:resource="#Pessoa"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="contemVotacao"> <rdfs:range rdf:resource="#Voto"/> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Propriedade de relacionamento entre os conceitos votacao, opcoes e voto. </rdfs:comment> <rdfs:domain rdf:resource="#Votacao"/> </owl:ObjectProperty> <owl:DatatypeProperty rdf:ID="rg"> <rdfs:domain rdf:resource="#Pessoa"/> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Propriedade do tipo int. É propriedade da classe Pessoa.</rdfs:comment> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#int"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="pergunta"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:domain rdf:resource="#Votacao"/> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" 68 >Propriedade do tipo string. Propriedade da classe Votacao.</rdfs:comment> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:about="#formacao"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Propriedade do tipo string. É propriedade da classe Pessoa.</rdfs:comment> <rdfs:domain rdf:resource="#Pessoa"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="resultado"> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Propriedade do tipo string. Propriedade da classe Votacao.</rdfs:comment> <rdfs:domain rdf:resource="#Votacao"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:about="#alternativa"> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Propriedade do tipo string. Propriedade da classe Opcao.</rdfs:comment> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:domain rdf:resource="#Opcoes"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="mensagem"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Mural"/> <owl:Class rdf:about="#Mensagens"/> </owl:unionOf> </owl:Class> 69 </rdfs:domain> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Propriedade do tipo string. Propriedade das classe Tema, Mural.</rdfs:comment> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="descricao"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Propriedade do tipo string. É propriedade da classe material</rdfs:comment> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> <rdfs:domain rdf:resource="#Material"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:about="#area_de_interesse"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Propriedade do tipo string. É propriedade da classe Pessoa.</rdfs:comment> <rdfs:domain rdf:resource="#Pessoa"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="autor"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Mensagens"/> <owl:Class rdf:about="#Mural"/> </owl:unionOf> </owl:Class> </rdfs:domain> <owl:equivalentProperty> <owl:FunctionalProperty rdf:ID="remetente"/> </owl:equivalentProperty> </owl:DatatypeProperty> 70 <owl:DatatypeProperty rdf:ID="data"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Propriedade do tipo date. Propriedade das classe Tema, Mural.</rdfs:comment> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Mural"/> <owl:Class rdf:about="#Mensagens"/> </owl:unionOf> </owl:Class> </rdfs:domain> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="Usuario"> <rdfs:domain rdf:resource="#Mensagens"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <owl:equivalentProperty> <owl:FunctionalProperty rdf:about="#remetente"/> </owl:equivalentProperty> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="estado"> <rdfs:domain rdf:resource="#Pessoa"/> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Propriedade do tipo string. É propriedade da classe Pessoa.</rdfs:comment> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="endereco"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> 71 <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Propriedade do tipo string. É propriedade da classe Pessoa.</rdfs:comment> <rdfs:domain rdf:resource="#Pessoa"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="assunto"> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Mural"/> <owl:Class rdf:about="#Votacao"/> <owl:Class rdf:about="#Mensagens"/> </owl:unionOf> </owl:Class> </rdfs:domain> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Propriedade do tipo string. Propriedade das classe Tema, Mural e Votacao.</rdfs:comment> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:about="#resposta"> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Propriedade do tipo string. Propriedade da classe Voto</rdfs:comment> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:domain rdf:resource="#Voto"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:about="#area_de_atuacao"> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Propriedade do tipo string. É propriedade das classes material e pessoa.</rdfs:comment> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> 72 <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Material"/> <owl:Class rdf:about="#Pessoa"/> </owl:unionOf> </owl:Class> </rdfs:domain> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:about="#pessoa"> <rdfs:domain rdf:resource="#Voto"/> <owl:equivalentProperty> <owl:FunctionalProperty rdf:ID="nome"/> </owl:equivalentProperty> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Propriedade do tipo string. Propriedade da classe Voto</rdfs:comment> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="disciplinas"> <rdfs:domain rdf:resource="#Pessoa"/> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Propriedade do tipo string. É propriedade da classe Pessoa.</rdfs:comment> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="titulo"> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Propriedade do tipo string. É propriedade da classe Tema.</rdfs:comment> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:domain rdf:resource="#Mensagens"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> </owl:DatatypeProperty> 73 <owl:DatatypeProperty rdf:ID="cidade"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> <rdfs:domain rdf:resource="#Pessoa"/> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Propriedade do tipo string. É propriedade da classe Pessoa.</rdfs:comment> </owl:DatatypeProperty> <owl:FunctionalProperty rdf:ID="tema"> <rdfs:domain rdf:resource="#Forum"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Propriedade do tipo string. É propriedade da classe Forum.</rdfs:comment> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> </owl:FunctionalProperty> <owl:FunctionalProperty rdf:about="#nome"> <owl:equivalentProperty> <owl:FunctionalProperty rdf:about="#remetente"/> </owl:equivalentProperty> <rdfs:domain rdf:resource="#Pessoa"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Propriedade do tipo string. É propriedade da classe Pessoa.</rdfs:comment> <owl:equivalentProperty rdf:resource="#pessoa"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> </owl:FunctionalProperty> <owl:FunctionalProperty rdf:about="#remetente"> <owl:equivalentProperty rdf:resource="#autor"/> <owl:equivalentProperty rdf:resource="#nome"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" 74 >Propriedade do tipo string. Propriedade das classe Tema, Mural.</rdfs:comment> <owl:equivalentProperty rdf:resource="#Usuario"/> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Mensagens"/> <owl:Class rdf:about="#Mural"/> </owl:unionOf> </owl:Class> </rdfs:domain> </owl:FunctionalProperty> <owl:FunctionalProperty rdf:ID="cpf"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#int"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> <rdfs:domain rdf:resource="#Pessoa"/> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Propriedade do tipo int. É propriedade da classe Pessoa.</rdfs:comment> </owl:FunctionalProperty> <Voto rdf:ID="Voto_11"/> <Forum rdf:ID="Forum3"> <tema rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >OWL</tema> <contemForum> <Mensagens rdf:ID="OWL"> <tema rdf:datatype="http://www.w3.org/2001/XMLSchema#string" ></tema> <autor xml:lang="pt">Vitor</autor> <assunto rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >OWL</assunto> </Mensagens> </contemForum> 75 </Forum> <Pessoa rdf:ID="Katia"> <area_de_interesse rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Redes</area_de_interesse> <cpf rdf:datatype="http://www.w3.org/2001/XMLSchema#int">321321</cpf> <disciplinas rdf:datatype="http://www.w3.org/2001/XMLSchema#string" ></disciplinas> <estado rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >kjlkj</estado> <cidade rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >fdgf</cidade> <endereco rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >fdgfd</endereco> <nome rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Katia</nome> <rg rdf:datatype="http://www.w3.org/2001/XMLSchema#int">343242</rg> <area_de_atuacao rdf:datatype="http://www.w3.org/2001/XMLSchema#string" ></area_de_atuacao> </Pessoa> <Pessoa rdf:ID="Lucas"> <estado rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Tocantins</estado> <formacao rdf:datatype="http://www.w3.org/2001/XMLSchema#string" ></formacao> <cidade rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Palmas</cidade> <endereco rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >906 Sul Al 3 Lt 1</endereco> <nome rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Lucas</nome> <rg rdf:datatype="http://www.w3.org/2001/XMLSchema#int">54698645</rg> 76 <e_acessado_por> <Votacao rdf:ID="Enquete"> <resultado rdf:datatype="http://www.w3.org/2001/XMLSchema#string" ></resultado> <assunto xml:lang="pt"></assunto> </Votacao> </e_acessado_por> <area_de_atuacao rdf:datatype="http://www.w3.org/2001/XMLSchema#string" ></area_de_atuacao> <area_de_interesse xml:lang="pt">Seguranca</area_de_interesse> <area_de_interesse rdf:datatype="http://www.w3.org/2001/XMLSchema#string" ></area_de_interesse> <e_acessado_por> <Mural rdf:ID="Noticia"> <mensagem rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Teste...</mensagem> <assunto rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >XML</assunto> <remetente rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Vitor</remetente> <autor xml:lang="pt">Vitor</autor> </Mural> </e_acessado_por> <disciplinas rdf:datatype="http://www.w3.org/2001/XMLSchema#string" ></disciplinas> <e_acessado_por> <Mensagens rdf:ID="Redes"> <autor xml:lang="pt">Helena</autor> <data rdf:datatype="http://www.w3.org/2001/XMLSchema#date" >2006-02-24</data> 77 <mensagem xml:lang="pt">Procure no google vai encontrar bastante coisa lah...</mensagem> <remetente rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Vitor</remetente> <autor xml:lang="pt">Vitor</autor> <autor xml:lang="pt">Katia</autor> <titulo xml:lang="pt">Como gerar um arquivo DTD?</titulo> <tema xml:lang="pt">XML</tema> <assunto rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >XML</assunto> <mensagem xml:lang="pt">Tenho algum material sobre isso</mensagem> <mensagem xml:lang="pt">Criacao de uma DTD</mensagem> </Mensagens> </e_acessado_por> </Pessoa> <Pessoa rdf:ID="Vitor"> <estado rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Tocantins</estado> <nome rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Vitor</nome> <disciplinas xml:lang="pt">Arquitetura de Redes</disciplinas> <rg rdf:datatype="http://www.w3.org/2001/XMLSchema#int">111432</rg> <formacao rdf:datatype="http://www.w3.org/2001/XMLSchema#string" ></formacao> <e_acessado_por rdf:resource="#Redes"/> <area_de_interesse xml:lang="pt">Redes</area_de_interesse> <cpf rdf:datatype="http://www.w3.org/2001/XMLSchema#int">168455102</cpf> <cidade rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Palmas</cidade> <area_de_interesse xml:lang="pt">Linguagens de Programacao</area_de_interesse> 78 <area_de_interesse xml:lang="pt">Seguranca</area_de_interesse> <area_de_interesse xml:lang="pt">IA</area_de_interesse> <area_de_atuacao xml:lang="pt">IA</area_de_atuacao> <endereco rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >106 N Al 14 Casa30</endereco> <area_de_atuacao rdf:datatype="http://www.w3.org/2001/XMLSchema#string" ></area_de_atuacao> </Pessoa> <Forum rdf:ID="Forum2"> <contemForum rdf:resource="#Redes"/> <tema rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >XML</tema> </Forum> <Forum rdf:ID="Forum1"> <contemForum> <Mensagens rdf:ID="UML"> <remetente rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Vitor</remetente> <data rdf:datatype="http://www.w3.org/2001/XMLSchema#date" >2006-02-28</data> <assunto rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >Modelagem</assunto> <autor rdf:datatype="http://www.w3.org/2001/XMLSchema#string" ></autor> <tema xml:lang="pt">Padrao UML</tema> <autor xml:lang="pt">Helena</autor> <titulo xml:lang="pt">Utilizando o UML</titulo> <Usuario rdf:datatype="http://www.w3.org/2001/XMLSchema#string" ></Usuario> <mensagem xml:lang="pt">Como é gerado o MC de um sistema</mensagem> </Mensagens> 79 </contemForum> <tema rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >UML</tema> </Forum> </rdf:RDF>