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>
Download

Desenvolvimento de Ontologias para Ferramentas de