You are on page 1of 93

POLLYANE DE ALMEIDA LUSTOSA

OWL e Protg: estudo e aplicao de conceitos para exemplificao da definio da camada de esquema da Web Semntica em um determinado domnio

Palmas 2003

POLLYANE DE ALMEIDA LUSTOSA

OWL e Protg: estudo e aplicao de conceitos para exemplificao da definio da camada de esquema da Web Semntica em um determinado domnio

Monografia apresentada como requisito parcial para a obteno do grau de Bacharel em Sistemas de Informao, orientada pela Prof. M.Sc. Parcilene Fernandes de Brito e co-orientada pelo Prof. M.Sc. Fabiano Fagundes.

Palmas 2003

POLLYANE DE ALMEIDA LUSTOSA

OWL e Protg: estudo e aplicao de conceitos para exemplificao da definio da camada de esquema da Web Semntica em um determinado domnio

Monografia apresentada como requisito parcial para a obteno do grau de Bacharel em Sistemas de Informao, orientada pela Prof. M.Sc. Parcilene Fernandes de Brito e co-orientada pelo Prof. M.Sc. Fabiano Fagundes.

Aprovada em Dezembro de 2003


BANCA EXAMINADORA

_____________________________________________ Prof. M.Sc. Parcilene Fernandes de Brito


Centro Universitrio Luterano de Palmas

_____________________________________________ Prof. M.Sc. Fabiano Fagundes


Centro Universitrio Luterano de Palmas

_____________________________________________ Prof. M.Sc. Deise de Brum Saccol


Centro Universitrio Luterano de Palmas

Palmas 2003

AGRADECIMENTOS

A concluso de um trabalho de grande relevncia mais um passo dado em direo ao desenvolvimento pessoal. Aprimorar nossa criatividade querer buscar sempre mais, procurar e criar novas oportunidades, enfrentando com destreza os desafios que freqentemente insistem em aparecer. Ao concluir este trabalho de concluso de curso, tenho imensa vontade de expressar minha gratido a tantas pessoas que, direta ou indiretamente, me ajudaram a realiz-lo. Pessoas que com simples palavras ou gestos motivaram-me a seguir em frente. Primeiramente, e com muito amor, agradeo a Deus, meu Senhor, que me deu a sabedoria e vontade para buscar e enfrentar novos caminhos, por mais difceis que tenham parecido ser e nunca ter me deixado desistir no meio deles. Obrigada, Senhor, pela oportunidade de concluir um curso de graduao. Agradeo a meus amados pais, Jos e Nilda, um casal fantstico que tem me fornecido muito carinho, compreenso e apoio para que eu busque minha felicidade. Por mais que eu procure por belas palavras para expressar toda minha admirao e amor, no seriam suficientes para agradecerem por terem me ensinado, muito bem, a viver. Aos senhores, meus votos de agradecimento por todo acompanhamento durante essa trajetria. So meus bens mais preciosos, juntamente com minhas irms, Christiane e Elaine, a quem tambm dedico este momento de realizao, reconhecendo nossa unio, mtuo respeito e compreenso. Ao meu cunhado, Leonardo, pelo seu bom humor e brincadeiras e por quem tenho um grande carinho. Dedico, ainda, um agradecimento especial a todos de minha grande famlia. Agradeo a todos os professores que participaram de minha formao at o meu estgio atual, e ainda aos que viro, pois no pararei por aqui... Em especial, quero agradecer Professora Parcilene Fernandes de Brito, minha orientadora, e ao Professor Fabiano Fagundes, meu co-orientador, por todas as palavras ditas e que precisavam ser ouvidas. Meu respeito, carinho e grande admirao por vocs! A todos meus amigos, os quais muitos no sabem o quanto so especiais para mim, pelo incentivo e pelos muitos boa sorte! recebidos. A todos que participaram comigo dessa correria, sufoco, troca de experincias e pelos bons momentos de risadas. Muito obrigada!

SUMRIO LISTA DE FIGURAS ..........................................................................................................7 LISTA DE TABELAS .........................................................................................................9 1 INTRODUO...............................................................................................................11 2 REVISO DE LITERATURA ......................................................................................15
2.1 Web Semntica ..................................................................................................................... 15

2.1.1 Definio.............................................................................................................16 2.1.2 Arquitetura ..........................................................................................................17


2.2 Ontologia............................................................................................................................... 18

2.2.1 Linguagens e Ferramentas para a criao de Ontologias....................................22


2.3 RDF (Resource Description Framework) .......................................................................... 22 2.4 RDF Schema ......................................................................................................................... 25 2.5 DAML + OIL........................................................................................................................ 26 2.6 OWL (Web Ontology Language)........................................................................................ 31

2.6.1 Estrutura da Ontologia OWL..............................................................................34


2.6.1.1 Namespaces ........................................................................................................................... 34 2.6.1.2 Cabealho OWL ................................................................................................................... 35 2.6.1.3 Classes .................................................................................................................................. 37 2.6.1.4 Subclasses............................................................................................................................. 38 2.6.1.5 Propriedades ......................................................................................................................... 39 2.6.1.6 Classes Complexas ............................................................................................................... 48

2.7 Protg................................................................................................................................... 53 2.8 Consideraes Finais............................................................................................................ 55

3 MATERIAIS E MTODOS ..........................................................................................57


3.1 Local e Perodo ..................................................................................................................... 57 3.2 Materiais ............................................................................................................................... 57

3.2.1 Hardware.............................................................................................................57 3.2.2 Software ..............................................................................................................58 3.2.3 Fontes Bibliogrficas ..........................................................................................58


3.3 Metodologia .......................................................................................................................... 58

4 RESULTADOS E DISCUSSO....................................................................................59
4.1 Definio da Ontologia......................................................................................................... 59 4.2 Protg................................................................................................................................... 60

4.2.1 Plugin OWL........................................................................................................60


4.3 Modelagem da Ontologia..................................................................................................... 62

4.3.1 Definio das Classes .........................................................................................63 4.3.2 Definio das Propriedades ................................................................................64 4.3.3 Definio de Classes Complexas ........................................................................67 4.3.4 Instanciao da Ontologia...................................................................................69
4.4 Consideraes Finais............................................................................................................ 70

5 CONSIDERAES FINAIS .........................................................................................71

6 REFERNCIAS BIBLIOGRFICAS..........................................................................73 ANEXOS.............................................................................................................................78

LISTA DE FIGURAS

Figura 1 - Representao das tecnologias de apoio ao desenvolvimento da Web Semntica .... 13 Figura 2 - Arquitetura proposta para a Web Semntica................................................................... 17 Figura 3 - Exemplo de declarao RDF............................................................................................ 23 Figura 4 - Exemplo de cdigo RDF................................................................................................... 24 Figura 5 - Representao de classes e recursos ................................................................................ 25 Figura 6 - Exemplo de Cdigo RDFS ............................................................................................... 26 Figura 7 - Exemplo (parcial) de uma ontologia DAML+OIL ........................................................ 30 Figura 8 - Origem da OWL ................................................................................................................ 32 Figura 9 - Exemplo (parcial) dos elementos da OWL..................................................................... 32 Figura 10 - Declarao de namespaces OWL .................................................................................. 35 Figura 11 - Exemplo de cabealho OWL.......................................................................................... 36 Figura 12 - Exemplo de representao da classe owl:Thing........................................................... 37 Figura 13 - Declarao de classes OWL ........................................................................................... 37 Figura 14 - Declarao de subclasses OWL ..................................................................................... 38 Figura 15 - Declarao de indivduo OWL (1)................................................................................. 39 Figura 16 - Declarao de indivduo OWL (2)................................................................................ 39 Figura 17 - Declarao de propriedade utilizando owl:ObjectProperty......................................... 40 Figura 18 - Declarao de propriedade utilizando owl:DatatypeProperty..................................... 40 Figura 19 - Hierarquia das caracatersticas de propriedades OWL ................................................ 40 Figura 20 - Exemplo de representao de transitividade................................................................. 41 Figura 21 - Sintaxe para declarao de propriedade transitiva (1).................................................. 42 Figura 22 - Sintaxe para declarao de propriedade transitiva (2).................................................. 42 Figura 23 - Sintaxe para declarao de propriedade simtrica........................................................ 43 Figura 24 - Sintaxe para declarao de propriedade funcional ....................................................... 43 Figura 25 - Sintaxe para declarao de propriedade inversa........................................................... 44 Figura 26 - Representao da propriedade inversa .......................................................................... 44 Figura 27 - Sintaxe para declarao de propriedade funcional inversa.......................................... 44 Figura 28 - Sintaxe para declarao de cardinalidade sobre uma propriedade ............................. 45 Figura 29 - Sintaxe para declarao de cardinalidade mxima e mnima...................................... 46 Figura 30 - Sintaxe para restrio de propriedade utilizando owl:allValuesFrom........................ 47 Figura 31 - Sintaxe para restrio de propriedade utilizando owl:someValuesFrom................... 47 Figura 32 - Sintaxe para restrio de propriedade utilizando owl:hasValue ................................. 48 Figura 33 - Sintaxe para utilizao do elemento intersectionOf ..................................................... 49 Figura 34 - Representao da Interseco......................................................................................... 49 Figura 35 - Sintaxe para utilizao do elemento unionOf ............................................................... 50 Figura 36 - Representao da Unio.................................................................................................. 50 Figura 37 - Sintaxe para utilizao do elemento complementOf.................................................... 50 Figura 38 - Representao do Complemento.................................................................................... 51 Figura 39 - Sintaxe para utilizao do elemento oneOf................................................................... 51 Figura 40 - Sintaxe para utilizao do elemento disjointWith ........................................................ 52 Figura 41 - Representao da Disjuno........................................................................................... 52 Figura 42 - Sintaxe para utilizao do elemento equivalentClass .................................................. 53 Figura 43 - Interface da Protg ......................................................................................................... 54 Figura 44 - Interface Protg do mdulo de manipulao de classes............................................. 61 Figura 45 - Interface Protg do mdulo de manipulao de slots................................................. 61

Figura 46 - Modelo da ontologia definida......................................................................................... 62 Figura 47 - Definio de Classes no Protg .................................................................................... 63 Figura 48 - Declarao de Classes e Subclasses............................................................................... 64 Figura 49 - Definio de Slots no Protg ........................................................................................ 64 Figura 50 - Exemplo de utilizao da caracterstica inverseOf....................................................... 65 Figura 51 - Exemplo de propriedade funcional ................................................................................ 66 Figura 52 - Exemplo de utilizao da caracterstica InverseFunctionalProperty e FunctionalProperty................................................................................................................................ 66 Figura 53 - Exemplo de utilizao da caracterstica InverseFunctionalProperty.......................... 67 Figura 54 Exemplo de utilizao da restrio allValuesFrom ....................................................... 67 Figura 55 - Exemplo de utilizao de unionOf................................................................................. 68 Figura 56 - Exemplo de utilizao de intersectionOf....................................................................... 68 Figura 57 - Exemplo de utilizao de complementOf ..................................................................... 68 Figura 58 - Formulrio para declarao de instncias...................................................................... 69 Figura 59 - Declarao de indivduos................................................................................................ 69

LISTA DE TABELAS

Tabela 1 - Elementos DAML+OIL.................................................................................................... 28 Tabela 2 - Diferena entre subClassOf e equivalentClass............................................................... 53

10

RESUMO

A Web Semntica uma viso para o futuro da Web em que informaes sero dadas explicitamente com seus significados, fazendo com que seja mais fcil para as mquinas processarem automaticamente e integrarem estas informaes disponveis na Web. A construo da Web Semntica envolver a capacidade do XML (eXtensible Markup Language) em definir esquemas (estruturas) e a flexibilidade do RDF (Resource Definition Framework) em representar dados. O prximo elemento requerido para a Web Semntica uma linguagem para ontologias, a qual possa descrever formalmente a semntica de classes e propriedades utilizadas em documentos Web. Neste contexto, diversas linguagens para definio e manipulao de ontologias vm sendo desenvolvidas. Entre elas, uma de grande expresso a OWL (Web Ontology Language). A OWL foi apresentada como uma candidata a recomendao da W3C em 18 de agosto de 2003 e est sendo desenvolvida pelo Web Ontology Working Group como parte do projeto da Web Semntica da W3C. O presente trabalho tem a finalidade de expor conceitos envolvendo a Web Semntica e Ontologias, bem como apresentar os principais elementos da OWL para definio de uma ontologia, demonstrando sua utilizao em um domnio de um mdulo para portais Web de universidades.

Palavras-chaves: Web Semntica, Ontologia, OWL, Protg.

11

ABSTRACT

The Semantic Web is a vision for the future of the Web where information will be given explicitly with its meanings, thus facilitating for machines to process automatically and to integrate these available information in the Web. The bulding of the Semantic Web will include the capacity of the XML (eXtensible Markup Language) in to define projects (structures) and the flexibility of RDF (Resource Definition Framework) of representing datas. The next element required for the Semantic Web is a language for ontologies, which can describe formally the semantic of classes and properties used in Web documents. In this context, diverse languages for definition and manipulation of ontologies are being developed. Between them, one of great expression, is OWL (Web Ontology Language). The OWL was presented as a candidate to the recommendation of the W3C in August 18, 2003 and is being developed for the Web Ontology Working Group as part of the project of the Semantic Web of the W3C. The present work has the purpose of displaying the concepts involving the Semantic Web and Ontologies, as well as to present the main elements of the OWL for the definition of an ontology, demonstrating its use in an ontology for the domain of a module to the universities Web sites.

Keywords: Semantic Web, Ontology, OWL, Protg.

11

1 INTRODUO

A Web Semntica uma viso para o futuro da Web em que informaes sero dadas explicitamente com seus significados, fazendo com que seja mais fcil para as mquinas processarem automaticamente e integrarem estas informaes disponveis na Web. A construo da Web Semntica envolver a capacidade do XML [eXtensible Markup Language] (XML, 2003) em definir esquemas (estruturas) e a flexibilidade do RDF [Resource Definition Framework] (RDF, 2000) em representar dados. O prximo elemento requerido para a Web Semntica uma linguagem para ontologias, a qual possa descrever formalmente a semntica das informaes utilizadas em documentos Web. Para que as mquinas possam realizar um processamento significativo sobre estes documentos, esta linguagem deve superar a semntica bsica oferecida pelo RDF Schema [Resource Definition Framework Schema] (OWL, 2003). Para um melhor esclarecimento, reserva-se esse pargrafo para explicitao dos termos sintaxe e semntica que tanto sero mencionados ao decorrer deste trabalho. A sintaxe representa a estrutura dos dados. Por exemplo, o XML determina que seus dados possuam uma estrutura, na qual o dado seja iniciado com uma tag (elemento que o representa) e finalizado com a mesma tag, sendo que esta ltima indicada atravs da precedncia de uma barra (/). Consta ainda que as tags devem vir entre os smbolos "<" e ">": <nome> Pollyane </nome>

A semntica representa o significado dos dados. E para que esse significado possa ser compreendido pela mquina, necessrio uma detalhada e complexa descrio da representao desses dados atravs de suas propriedades, conceitos e relacionamentos. A

12

partir disso, vem a necessidade do estudo envolvendo o contexto de ontologias, de forma a se obter um vocabulrio padro para as definies semnticas. Uma ontologia define os termos utilizados para descrever e representar uma rea de conhecimento, bem como os relacionamentos entre estes conceitos (OWL, 2003). As ontologias so utilizadas por pessoas, bases de dados e aplicaes que precisam compartilhar informaes de um domnio. A palavra ontologia est sendo utilizada para descrever artefatos com diferentes nveis de estruturas. Estes variam de simples taxonomias (classificao de palavras) a esquemas de metadados. A Web Semntica necessita de ontologias que especifiquem descries para os seguintes tipos de conceitos (OWL, 2003): classes de domnios de interesse; relacionamentos que possam existir entre essas classes; propriedades (ou atributos) que as classes podem ter. As ontologias se destacam com relevncia na emergente Web Semntica como uma forma de representao da semntica de documentos, de forma a permitir que essa semntica seja utilizada por aplicaes Web e agentes inteligentes. Com a utilizao de ontologias, as aplicaes podem tornar-se mais inteligentes, no sentido em que podero trabalhar mais no nvel conceitual humano (OWL, 2003). As ontologias podem ser teis comunidade como uma maneira de estruturar e definir os significados dos metadados que esto sendo coletados e padronizados, provendo servios mais avanados como buscas mais exatas na Web, agentes inteligentes de software e gerenciamento do conhecimento atravs de ferramentas automatizadas. Ontologias so pontos crticos para aplicaes que querem procurar ou compartilhar informaes de diversas comunidades, pois definem formalmente um conjunto de termos que utilizado para descrever e representar um domnio. Ocorre que um mesmo termo pode ser usado com significado diferente em contextos diferentes e termos diferentes podem ser usados para itens que tm o mesmo significado. O RDF e RDF Schema comeam a solucionar este problema permitindo que uma semntica simples seja associada com os termos. Com o RDF Schema, pode-se definir classes que possuem superclasses e vrias subclasses, propriedades que podem ter subpropriedades e domnios. Neste sentido, o RDF Schema uma linguagem simples para definio de ontologias. Entretanto, a fim de se obter interoperabilidade entre os diversos esquemas desenvolvidos de forma autnoma, declaraes mais ricas de semnticas so necessrias (OWL, 2003). Por exemplo, o RDF

13

Schema no pode especificar que as classes mveis e mdicos so distintas, ou que uma string soneto se refere a um poema composto exatamente de quatorze versos, pelo fato de no possuir, em sua sintaxe, propriedades que viabilizem tal inferncia. Neste contexto, diversas linguagens para definio e manipulao de ontologias vm sendo desenvolvidas. Entre elas, uma de grande expresso a OWL (Web Ontology Language). A OWL foi apresentada como uma candidata a recomendao da W3C em 18 de agosto de 2003 e est sendo desenvolvida pelo Web Ontology Working Group como parte do projeto da Web Semntica da W3C. A OWL habilita a mquina a compreender o dado, ou seja, ela oferece a capacidade de processamento semntico pela mquina, atravs de sua potencialidade em descrever os relacionamentos e propriedades entre os conceitos de um domnio. Dessa maneira tem-se a seguinte representao das tecnologias de apoio Web Semntica (OWL, 2003c):

Figura 1 Representao das tecnologias de apoio ao desenvolvimento da Web Semntica (OWL, 2003c)

XML: fornece uma sintaxe superficial para estruturar os documentos, mas no dispe, completamente, de uma semntica aos mesmos. XML Schema: uma linguagem para definir restries relacionadas s estruturas dos documentos XML. RDF: um modelo de dados para objetos (recursos) e relaes existentes entre eles, fornecendo uma semntica simples para esse modelo, o qual pode ser representado atravs de uma sintaxe XML.

14

RDF Schema: um vocabulrio para descrio de propriedades e classes dos recursos RDF, com uma semntica para definir genericamente a hierarquia de tais propriedades e classes. OWL: estabelece um vocabulrio maior para descrio de propriedades e classes: relaes entre classes (por exemplo, disjunes), cardinalidades (por exemplo, exatamente um), igualdades, tipificao rica das propriedades, caractersticas mais apuradas das propriedades (por exemplo, transitividade) e enumeraes de classes.

A OWL, juntamente com o padro RDF, pois baseia-se em sua sintaxe, expressa a parte semntica das informaes e a XML, DTD e XML Schemas ficam responsveis pela estruturao dos dados, pela sua parte sinttica. A OWL tem a inteno de prover uma linguagem que pode ser utilizada para descrever as classes e suas relaes que so inerentes a aplicaes e documentos Web. O presente trabalho tem a finalidade de expor conceitos envolvendo a Web Semntica e Ontologias, bem como apresentar os principais elementos da OWL para definio de uma ontologia, demonstrando sua utilizao em uma ontologia para o domnio de um mdulo de portais Web para universidades.

15

2 REVISO DE LITERATURA

Para que os propsitos desse trabalho fossem atingidos, foram realizados pesquisas e estudos envolvendo conceitos e ferramentas referentes Web Semntica, Ontologias e OWL (Web Ontology Language). Parte desses estudos foram retirados de (Lustosa, 2003) e sero apresentados no decorrer dessa seo, de modo que forneam uma fundamentao terica para uma melhor compreenso do objetivo maior desse trabalho: a apresentao da linguagem OWL e sua aplicao sobre um domnio, abordando a camada de esquema da arquitetura da Web Semntica, demonstrada nas sees a seguir.

2.1 Web Semntica

A Web um grande repositrio de dados, que apresenta caractersticas particulares no que se refere a meios de acesso e estrutura. Seus dados no possuem uma estrutura previamente definida e no so fortemente tipados, sendo, assim, denominados dados semi-estruturados (Mello, 2000). Com o seu crescente avano e a diversificada forma de representao de seus dados, torna-se cada vez mais difcil a recuperao das informaes por ela dispostas. O seu uso intensivo ligado ao seu crescente desenvolvimento tem tornado a Web um atraente campo de pesquisa e muitos projetos referentes a ela tm sido criados. Essa deficincia, na Web, quanto a disponibilizao de dados heterogneos e sua despadronizao e a elevada quantidade de informaes resultantes de consultas que no atendem as reais necessidades dos usurios levou a necessidade de se buscar a compreenso semntica do contedo dos documentos pela prpria mquina para o processamento dessas informaes: a Web Semntica (SW, 2001).

16

2.1.1 Definio A Web Semntica a evoluo da Web obtida via adio de semntica ao formato atual de representao de dados. A Web Semntica apresentar uma estrutura que possibilitar a compreenso e o gerenciamento dos contedos armazenados na Web, independente da forma em que estes se apresentem, seja texto, som, imagem ou grficos. Essa compreenso ser possvel a partir da valorao semntica desses contedos e atravs de agentes que sero programas coletores de contedo advindos de fontes diversas capazes de processar as informaes e permutar resultados com outros programas (Berners-Lee, 2001). Assim, ela visa fornecer estruturas e semntica ao contedo das pginas Web, criando um ambiente onde agentes de software e usurios possam trabalhar cooperativamente. A Web Semntica a representao dos dados na Web. um esforo colaborativo conduzido pela W3C com participao de um grande nmero de pesquisadores. baseada no RDF (Resource Description Framework), integrada a uma variedade de aplicaes usando XML (eXtensible Markup Language) para a sintaxe e os URIs (Universal Resource Identifier) para nomeaes (SW, 2001). A Web Semntica visa o discernimento pela prpria mquina das informaes contidas nos documentos Web. Atualmente, essa compreenso realizada pelo usurio, onde ele escolhe e define o que verdadeiramente lhe interessa. Com a utilizao de metadados possvel a descrio e uma melhor definio semntica das informaes, gerando uma recuperao com maior qualidade e preciso. Assim, diversas tecnologias, como a XML e a RDF, vm sendo trabalhadas com o objetivo de promover o intercmbio de metadados desenvolvidos de forma independente, de modo que eles possam ser compreendidos pelo computador, sem o auxlio do discernimento humano. A arquitetura RDF consiste em uma estrutura bsica para o processamento de metadados, provendo interoperabilidade entre aplicaes que trocam informaes, compreendidas pela mquina e entre si na Web (RDF, 2000) e descrevendo formalmente um determinado recurso da Web atravs de seus metadados. Atravs da criao de padres, arquiteturas de metadados, ontologias, dentre outras, projetos, como o da Web Semntica (SW, 2001) conduzido pela W3C, tm sido realizados no sentido de buscar a otimizao da integrao, intercmbio e compreenso semntica das informaes Web. Atualmente, a Web Semntica um dos objetivos a longo prazo da W3C. Ela pode trazer uma srie de otimizaes em diversos servios j oferecidos na Web, como: no comrcio

17

eletrnico, com o desenvolvimento de eficientes catlogos eletrnicos; em sites no-comerciais; em bibliotecas digitais e mecanismos de buscas. Assim, a Web Semntica poder fornecer pesquisas mais apuradas e eficientes, atravs de mecanismos de buscas, conforme as necessidades do usurio e a disponibilidade das fontes de dados. Entretanto, a obteno da concretizao da Web Semntica ainda precisa ultrapassar grandes problemas, principalmente, como: a heterogeneidade semntica, a qual dificulta a interoperabilidade de modo que haja a cooperao entre mltiplas fontes de informao, apresentando diferenas sintticas, semnticas e estruturais. A proposta para a Web Semntica representada por uma arquitetura composta por: uma camada de estrutura, uma camada de esquema e uma camada lgica. Esta arquitetura apresentada e mais detalhada na prxima seo. 2.1.2 Arquitetura A proposta para o desenvolvimento da Web Semntica sugerida atravs da arquitetura (Berners-Lee, 2001) dividida em camadas representada pela Figura 2.

Figura 2 - Arquitetura proposta para a Web Semntica (Berners-Lee, 2001) A camada de estrutura, primeira camada da arquitetura proposta (Figura 2), representa o primeiro passo para a definio da Web Semntica, que a representao do conhecimento (Berners-Lee, 2001) . A camada de estrutura o nvel mais baixo, em que se

18

realiza a estruturao dos dados e a definio dos mesmos, a qual dada atravs da explicitao de seus significados. O recurso da camada de esquema, a ontologia, fornece um conjunto de regras que define hierarquia, relacionamentos e restries entre termos, representando de forma completa um domnio, independente da linguagem utilizada. A ontologia descrita com maiores detalhes na seo 2.2. E, por fim, a camada lgica tem a funo de definir um conjunto de regras de inferncias, alm dos prprios mecanismos que as realizaro, atribuindo-as aos documentos que contm dados. As regras de inferncia oferecem aos agentes computacionais o poder de racionar sobre as estruturas de dados que esto expressas na camada de estrutura, a partir das relaes entre esses dados definidas na camada de esquema.

2.2 Ontologia

O termo ontologia proveniente da Filosofia, sendo empregado como a representao da existncia atravs de uma explicao sistemtica (Novello, 2002). Na rea da Informtica, mais precisamente em Inteligncia Artificial, ela utilizada como a especificao explcita de uma conceitualizao (Grubber, 1999) (Guarino, 1998). Assim, a ontologia uma descrio explcita de conceitos e relaes referentes a determinado domnio. Essa conceitualizao refere-se ao conjunto de conceitos, relaes, objetos e restries que so definidos para um modelo semntico de algum domnio de interesse. Muitos projetos na rea de Inteligncia Artificial vm explorando o uso de ontologias. Na rea da Inteligncia Artificial, vrios conceitos para o termo ontologia surgiram: Uma ontologia uma especificao explcita de uma

conceitualizao. Uma ontologia uma hierarquia estruturada de um conjunto de termos para descrever um domnio que possa ser usada como estrutura de uma base de conhecimento. Ela fornece os meios para descrever explicitamente a conceitualizao do conhecimento representado em uma base de conhecimento. (Grubber, 1999)

19

Uma ontologia definida como uma especificao formal de uma conceitualizao compartilhada.(Borst, 1997)

Ontologias fornecem um vocabulrio comum de uma rea e define, com nveis distintos de formalismos, o significado dos termos e dos relacionamentos entre eles. (Gmez-Prez, 1999)

Ontologias so termos e relaes que compreendem o vocabulrio de uma rea, como tambm as regras para combinar estes termos e relaes para definir extenses deste vocabulrio. (Novello, 2002)

Essas definies foram melhor explicadas por (Studer, 1998) e (Abel, 2001): A conceitualizao, para a Ontologia, refere-se a um modelo abstrato de algum fenmeno do mundo, por terem sido identificados os conceitos relevantes para aquele fenmeno. Explcito significa que o conjunto de conceitos utilizados e as restries aplicadas so previamente e explicitamente definidas. Formal refere-se ao fato de que se espera que uma ontologia seja processvel por um computador, o que exclui definies em linguagem natural, por exemplo. Finalmente, uma ontologia compartilhada porque descreve um conhecimento consensual, que utilizado por mais de um indivduo e aceito por um grupo. A partir da apresentao destes vrios conceitos, pode-se inferir que uma ontologia a representao formal de um domnio, atravs da explicitao dos conceitos e relacionamentos, bem como as regras que envolvem essas relaes do referido domnio. As ontologias expressam o formalismo dos conceitos e das relaes acerca de um domnio, de modo que possa viabilizar a inferncia, pela mquina, da semntica aos significados das informaes. Uma ontologia requer o uso de um vocabulrio especfico para descrever uma realidade, de forma que o domnio de conhecimento seja definido em um nvel genrico (Novello, 2002). Essa definio realizada atravs de uma especificao formal acerca do domnio, de modo que com a utilizao de uma ontologia seja possvel o compartilhamento e reuso de conhecimento. Assim, pode-se ver a ontologia como uma maneira de

20

explicitao e descrio de conceitos, e seus relacionamentos, referentes a uma determinada rea de conhecimento. Numa ontologia, existem, geralmente, trs tipos de informao (Bzivin, 1998), de modo a facilitar a compreenso dos diferentes nveis de abstrao: terminolgica: a camada de definio da ontologia, onde se representa o conjunto de conceitos e das relaes do domnio; assertiva: denominada de camada de axiomas da ontologia, constitui-se do conjunto de proposies verdadeiras que se aplicam aos conceitos e relaes; pragmtica: refere-se camada de ferramentas, a forma de expressar e apresentar os conceitos e relaes que foram definidos nas camadas anteriores. A ontologia formaliza o conhecimento atravs da utilizao de cinco componentes (Novello, 2002): 1. Conceitos: so a representao de algo, ou de qualquer coisa, acerca do domnio em questo. Sendo que as propriedades de um conceito so denominadas de atributos. Por exemplo, um conceito poderia ser uma pessoa, tendo como atributo a idade. 2. Relacionamentos: so as integraes entre os conceitos do domnio. Nessas relaes, podem-se definir as cardinalidades. Por exemplo, pode-se ter um relacionamento entre pessoa e universidade, atravs da relao estuda em. 3. Funes: so relaes especiais onde o ensimo elemento da relao nico para os n1 elementos precedentes. As funes so definidas formalmente como: F: C1 x C2 x C3 x ... x Cn-1 Cn 4. Axiomas: elas modelam sentenas que so sempre verdadeiras. Por exemplo, define-se que a idade de uma pessoa corresponde ao ano atual subtraindo a data de seu nascimento. 5. Instncias: representam os elementos de uma ontologia, ou seja, so as representaes dos conceitos e relaes que foram estabelecidas pela ontologia. O desenvolvimento de uma ontologia pode ser resumido pelos seguintes princpios bsicos (Novello, 2002): clareza e objetividade: os conceitos devem ser definidos de forma clara e acompanhados de documentao em linguagem natural; padronizao dos nomes; uma definio deve exprimir as condies necessrias e suficientes para expressar um termo, indo alm das necessidades circunstanciais de uma aplicao;

21

coerncia, de modo que se permita originar inferncias que sejam consistentes com as definies declaradas; permisso da declarao de novos termos sem que seja necessrio a reviso dos termos j existentes; possibilidade da definio de to poucas suposies quanto possveis sobre o mundo a ser modelado, permitindo que as especializaes e instanciaes da ontologia sejam definidas com liberdade; as classes definidas devem ser independentes, sem sobreposio de conceitos; modularidade; representao dos conceitos similares seguindo as mesmas primitivas, de modo que sejam agrupados numa mesma ordem semntica. Dependendo da aplicabilidade, uma ontologia pode ser descrita em distintos nveis de abstrao. Conforme (Novello, 2002), uma ontologia pode ser classificada em trs nveis: ontologia de nvel de topo: descrio de conceitos gerais e independentes, sem se restringir a um domnio especfico; ontologia de domnio e de tarefa: respectivamente, a descrio dos conceitos referentes a um domnio, e de uma tarefa genrica ou especfica dos conceitos definidos na ontologia de nvel de topo. ontologia de aplicao: descrio dos conceitos dependendo de uma ontologia de domnio e de uma ontologia de tarefa particulares, que so muitas vezes especializaes das ontologias de domnio e de tarefa relacionadas. Assim, pode-se dizer que a ontologia visa desenvolver um conjunto de regras que possibilitem a inferncia de forma que a mquina possa, atravs do acesso a essas regras e a uma coleo de dados e metadados, abstrair um significado semntico das informaes disponibilizadas na Web. O uso de ontologias torna possvel definir uma infra-estrutura para integrar sistemas inteligentes no nvel do conhecimento (Novello, 2002). Resumidamente, a utilizao de ontologias oferece vantagens como: possibilitar o compartilhamento e a interoperabilidade do conhecimento entre os domnios; estruturar o domnio de forma que se permita sua compreenso com maior clareza e objetividade;

22

permitir a reutilizao de conceitos em domnios. A vantagem da utilizao de uma ontologia de se lidar com conceitos, representando-os formalmente, e de se livrar de problemas inerentes ao vocabulrio da linguagem natural (Bzivin, 1998). Ou seja, com a utilizao de ontologias, possvel, ento, evitar questes como palavras com significao aproximada e utilizao de outras expresses em substituio de determinada palavra, representando o mesmo significado.

2.2.1 Linguagens e Ferramentas para a criao de Ontologias

Nos ltimos anos, diversas linguagens para definio de ontologias vm sendo desenvolvidas, como por exemplo, a OIL (Ontology Inference Layer) (OIL, 2000) , SHOE (Simple HTML Ontology Extensions) (SHOE, 2000), XOL (XML-based Ontology Exchange Language) (XOL, 1999), DAML (DARPA Agent Markup Language) (DAML, 2003), DAML+OIL (DAML+OIL, 2001), OWL (OWL, 2003), dentre outras. A principal caracterstica dessas linguagens est na capacidade de representar ontologias em RDF (RDF, 2000) e RDFSchema(RDFS, 2003), arquitetura j consagrada pela W3C (W3C, 2003) para interoperabilidade de dados na Web (Moura, 2001) . Com a popularizao da construo de Ontologias, motivou-se o desenvolvimento de ambientes que permitissem a execuo dessa tarefa. A escolha por uma destas ferramentas que seja mais adequada criao de uma ontologia depender da experincia do usurio e do estgio de desenvolvimento dessa ontologia (Duineveld, 1999). Dentre as ferramentas mais citadas na literatura, que esto associadas a criao e manipulao de ontologias, esto a OILEd (OILEd, 2003), OntoEdit (OntoEdit, 2003) e Protg (Protg, 2003). A ferramenta para edio de ontologias, Protg, foi criada pela Universidade de Stanford, e continua em constante desenvolvimento e atualizaes. Visto que este trabalho utiliza a Protg para definio de uma ontologia para um domnio especfico, abordado a partir da seo 4, foi-lhe dedicada uma seo, a 2.7, para apresentar uma maior explanao acerca da mesma.

2.3 RDF (Resource Description Framework)

O modelo de dados do RDF (RDF, 2000) fornece uma arquitetura para o processamento e o intercmbio de metadados. Ele pode especificar o relacionamento entre classes e fornecer

23

interoperabilidade estrutural, entretanto no fornece mecanismos para a declarao de propriedades e relacionamentos entre essas propriedades e outros recursos (RDF, 2000). Estas caractersticas faltantes podem ser definidas com a aplicao do RDF Schema, descrito na seo 2.4. O modelo bsico de dados RDF composto por (RDF, 2000) : recurso (resource): qualquer entidade que pode ser referenciada atravs de um URI. O URI (Universal Resource Identifier) um identificador de recursos universal, ou seja, ele pode ser um sujeito, objeto ou uma URL (Uniform Resource Locator) que serve para identificar unicamente determinado recurso (Berners-Lee, 2001). A URL, localizador universal de recursos, o tipo mais comum e utilizado de um URI, a qual define a localizao de um determinado recurso em algum lugar na Web; propriedade (property): um atributo ou caracterstica que representa um recurso, ou ainda, o relacionamento entre recursos; declarao (statement): corresponde a uma propriedade ou valor dessa propriedade associada a um recurso especfico. Uma declarao dividida em trs partes: sujeito, predicado e objeto. Esquematicamente pode-se dizer que (Ciuffo, 2002):
Declarao = Recurso (sujeito) + Propriedades do recurso(predicado) + valor da propriedade (objeto)

Figura

apresenta

declarao:

Pollyane

webdesigner

do

site

www.pollyane.com.br.

Figura 3 - Exemplo de declarao RDF A sintaxe RDF utiliza a linguagem XML e namespaces (URI) para associar cada propriedade com o esquema que a define. A seguir, um exemplo de um cdigo RDF:

24

01 <?xml version='1.0' encoding='ISO-8859-1'?> 02 03 <rdf:RDF 04 xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" 05 xmlns:rdfs = "http://www.w3.org/2000/01/rdf-schema#" 06 xmlns:equipe = "http://www.exemploRDF.com.br/exemplo#"> 07 08 <rdf:Description rdf:about="http://www.pollyane.com.br"> 09 10 <equipe:webdesigner rdf:ID="http://www.exemploRDF.com.br"> 11 <equipe:nome>Pollyane Lustosa</equipe:nome> 12 <equipe:email>pollyane@ulbra-to.br</equipe:email> 13 </equipe:webdesigner> 14 15 </rdf:Description> 16 17 </rdf:RDF>

Figura 4 - Exemplo de cdigo RDF

O cdigo iniciado com a declarao do prlogo, indicando que o RDF baseado na XML. O bloco que compreende da linha 03 linha 17, especificado por <rdf:RDF>
... </rdf:RDF>,

define que uma expresso RDF e utiliza o vocabulrio definido pelos

namespaces especificados nas linhas 4, 5 e 6, sendo que as linhas 4 e 5 referem-se, respectivamente, sintaxe padro do RDF e RDF Schema, e a linha 6 a um vocabulrio criado especificamente para fornecer informaes sobre a equipe de desenvolvimento de um site. A tag <description> (linha 08) utilizada para referenciar o recurso da Web que ter seus metadados descritos. As linhas de 10 13 utilizam o prefixo de namespace
equipe

para descrever informaes referentes ao webdesigner, sendo que os elementos

utilizados para essa descrio (nome e email), precisam estar em conformidade com o vocabulrio descrito no namespace http://www.exemploRDF.com.br/exemplo. Um namespace um mecanismo oferecido pela linguagem XML que permite que o desenvolvedor possa especificar nomes de elementos comuns a determinados domnios de maneira nica na Web (Ciuffo, 2002). A utilizao de namespaces possibilita referenciar a qual vocabulrio pertence determinado nome, de forma a no se ter uma especificao ambgua no documento. Por exemplo, a palavra ttulo, a ser utilizada em um documento, poder referenciar o nome de um livro ou um pronome de tratamento a ser usado para determinada pessoa (Sr., Sra., Dr., etc.). Para identificar a qual dessas referncias a palavra ttulo indicar, faz-se a utilizao do namespace, de forma a designar se ele pertence e est referenciando o livro ou a pessoa.

25

2.4 RDF Schema

As propriedades RDF podem ser vistas como atributos dos recursos e relacionamentos entre recursos. Entretanto, o RDF no fornece mecanismos para descrever essas propriedades, nem para definir as relaes entre elas e outros recursos (RDFS, 2003). O RDF Schema (RDFS) prov uma descrio do vocabulrio RDF, definindo classes e propriedades que podem ser utilizadas para descrever classes, propriedades e recursos. O RDF Schema uma extenso do RDF e oferece mecanismos para descrio de recursos e relacionamentos entre eles (RDF, 2000). O objetivo definir regras de forma a garantir que os dados estejam de acordo com elas (Ciuffo, 2002). O RDF Schema pode ser entendido como um dicionrio que descreve os termos que podero ser declarados em especificaes RDF. O RDFS especificado como um conjunto de classes, propriedades e restries entre seus relacionamentos, sendo que essas classes so organizadas de forma hierrquica. Os recursos podem ser instncias de uma ou mais classes, representados atravs da propriedade rdf:type. A figura a seguir (RDF, 2000) representa as classes, propriedades e recursos que so utilizadas no RDF Schema.

Figura 5 - Representao de classes e recursos Conforme a figura anterior, as classes (e subclasses) so demonstradas por um retngulo com cantos arredondados, os recursos por crculos pretos e as setas indicam qual a classe que define o referido recurso.

26

Para exemplo do uso de classes, propriedades e recursos do RDFS, segue o cdigo representado pela Figura 6:

<?xml version='1.0' encoding='ISO-8859-1'?> <rdf:RDF xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs = "http://www.w3.org/2000/01/rdf-schema#"> <rdf:Description ID="Animal"> <rdf:type resource="http://www.w3.org/2000/01/rdfschema#Class"/> <rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdfschema#Resource"/> </rdf:Description> <rdf:Description ID="Anfibio"> <rdf:type resource="http://www.w3.org/2000/01/rdfschema#Class"/> <rdfs:subClassOf rdf:resource="#Animal"/> </rdf:Description> <rdf:Description ID="Sapo"> <rdf:type resource="http://www.w3.org/2000/01/rdfschema#Class"/> <rdfs:subClassOf rdf:resource="#Anfibio"/> </rdf:Description> <rdf:Description ID="Mamifero"> <rdf:type resource="http://www.w3.org/2000/01/rdfschema#Class"/> <rdfs:subClassOf rdf:resource="#Animal"/> </rdf:Description> </rdf:RDF>

Figura 6 - Exemplo de Cdigo RDFS A figura 6 representa a definio de classes para um esquema Animal, atravs da declarao de classes e subclasses. O vocabulrio do RDF Schema definido atravs do namespace xmlns:rdfs = "http://www.w3.org/2000/01/rdf-schema#">.

2.5 DAML + OIL A DAML + OIL uma linguagem de marcao semntica para recursos Web, a qual estende os padres RDF e RDF Schema (DAML+OIL, 2001). DAML + OIL lanada em maro de 2001 uma extenso de sua verso anterior lanada em dezembro de 2000 (DAML+OIL, 2001). Conforme o seu prprio nome j indica, ela surgiu da combinao de

27

outras duas linguagens, DAML-ONT e OIL, resultando em uma linguagem com uma semntica mais bem definida. Uma ontologia DAML+OIL composta por vrios componentes, sendo alguns opcionais e outros que podem se repetir por diversas vezes durante a definio da mesma. Uma ontologia DAML+OIL consiste de zero ou mais cabealhos (headers), seguidos de zero ou mais classes (representadas pelo elemento class), propriedades (property) e instncias (instances) (DAML+OIL, 2001). Um cabealho de uma ontologia DAML+OIL pode ser da seguinte forma:
<daml:Ontology rdf:about=> <daml:versionInfo>$Id: NOTE-daml+oil-reference-20011218.html, v1.6 2001/12/18 22:12:09 connolly Exp $ </daml:versionInfo> <rdfs:comment>Um exemplo de Ontologia</rdfs:comment> <daml:imports rdf:resource=http://www.w3.org/2001/10/daml+oil/> </daml:Ontology>

A ontologia pode ter zero ou mais versionInfo e imports. O elemento que representa as informaes sobre verses (versionInfo) geralmente contm strings que fornecem tais informaes sobre a verso. Este elemento no influencia no significado lgico da ontologia (DAML+OIL, 2001). Cada expresso definida com imports est referenciando outra ontologia DAML+OIL que contm definies que se aplicam ao recurso DAML+OIL corrente. Cada referncia consiste em uma especificao de um URI, o qual referencia o local de onde a ontologia deve ser importada. As declaraes de imports so consideradas transitivas (DAML+OIL, 2001), ou seja, se uma ontologia X importa uma ontologia Y, e por sua vez, essa ontologia Y importa uma Z, ento a ontologia X est importando ambas ontologias, Y e Z. Cada expresso class referencia o nome de uma classe (sendo identificada por uma URI), a classe que contm os elementos enumerados, a classe de todas instncias que satisfazem a propriedade de restrio ou a classe que a combinao booleana de tais expresses. Dois nomes de classes j so predefinidos, daml:Thing e daml:Nothing. Todo objeto um membro de daml:Thing e no membro de daml:nothing. Desse modo, toda classe uma subclasse de daml:Thing e daml:nothing uma subclasse de toda classe. O elemento daml:oneOf contm uma lista dos objetos que so suas instncias. A utilizao de oneOf define que uma classe contm exatamente a referida lista de elementos (DAML+OIL, 2001):

28

<daml:oneOf parseType=daml:collection> <daml:Thing rdf:about=#Europa/> <daml:Thing rdf:about=#Africa/> <daml:Thing rdf:about=#America/> <daml:Thing rdf:about=#Asia/> <daml:Thing rdf:about=#Oceania/> </oneOf>

As instncias das classes e de propriedades so escritas de acordo com a sintaxe RDF e RDF Schema, por exemplo (DAML+OIL, 2001):

<continente rdf:ID=Asia/> <rdf:Description rdf:ID=Asia> <rdf:type> <rdfs:Class rdf:about=#continente/> </rdf:type> </rdf:Description> <rdf:Description rdf:ID=India> <faz_parte_de rdf:resource=#Asia/> </rdf:Description>

A DAML+OIL faz uso de vrios tipos de elementos que auxiliam na definio dos conceitos e relaes pertencentes ao domnio da ontologia. Um ndice desses elementos listado a seguir (DAML+OIL, 2001):

Tabela 1 - Elementos DAML+OIL Elementos DAML+OIL


cardinality cardinalityQ Class complementOf Datatype DatatypeProperty DatatypeRestriction Datatype value differentIndividualFrom disjointUnionOf disjointWith domain equivalentTo hasClass hasClassQ hasValue imports intersectionOf inverseOf minCardinalityQ ObjectClass ObjectProperty ObjectRestriction oneOf onProperty Ontology Property range Restriction sameClassAs sameIndividualAs samePropertyAs subClassOf subPropertyOf toClass transitiveProperty unambigousProperty unionOf

29

maxCardinality maxCardinalityQ minCardinality

uniqueProperty versionInfo

Na Figura 7 apresentado um cdigo (parcial) (DAML+OIL, 2001) de uma ontologia definida em DAML+OIL, utilizando alguns dos elementos relacionados na tab ela 1.

1. <rdf:RDF 2. xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 3. xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" 4. xmlns:daml="http://www.w3.org/2001/10/daml+oil#" 5. xmlns:xsd ="http://www.w3.org/2000/10/XMLSchema#" 6. xmlns:dex ="http://www.w3.org/TR/2001/NOTE-daml+oil-walkthru20011218/daml+oil-ex#" 7. xmlns:exd ="http://www.w3.org/TR/2001/NOTE-daml+oil-walkthru20011218/daml+oil-ex-dt#" 8. xmlns ="http://www.w3.org/TR/2001/NOTE-daml+oil-walkthru20011218/daml+oil-ex#" 9. > 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. <daml:Ontology rdf:about=""> <daml:versionInfo>$Id: Overview.html,v 1.10 2001/12/18 21:48:05 connolly Exp $</daml:versionInfo> <daml:imports rdf:resource="http://www.w3.org/2001/10/daml+oil"/> </daml:Ontology> <daml:Class rdf:ID="Animal"> <rdfs:label>Animal</rdfs:label> <rdfs:comment> This class of animals is illustrative of a number of ontological idioms. </rdfs:comment> </daml:Class> <daml:Class rdf:ID="Male"> <rdfs:subClassOf rdf:resource="#Animal"/> </daml:Class> <daml:Class rdf:ID="Female"> <rdfs:subClassOf rdf:resource="#Animal"/> </daml:Class> <daml:Class rdf:ID="Woman"> <rdfs:subClassOf rdf:resource="#Female"/> </daml:Class> <daml:Class rdf:ID="Man"> <rdfs:subClassOf rdf:resource="#Male"/> </daml:Class> <daml:DatatypeProperty rdf:ID="shoesize"> <rdfs:comment> shoesize is a DatatypeProperty whose range is xsd:decimal. shoesize is also a UniqueProperty (can only have one shoesize) </rdfs:comment>

30 37. <rdf:type rdf:resource="http://www.w3.org/2001/10/daml+oil#UniqueProperty"/> 38. <rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#decimal"/> 39. </daml:DatatypeProperty> 40. <daml:DatatypeProperty rdf:ID="age"> 41. <rdfs:comment> 42. age is a DatatypeProperty whose range is xsd:integer. 43. age is also a UniqueProperty (can only have one age) 44. </rdfs:comment> 45. <rdf:type rdf:resource="http://www.w3.org/2001/10/daml+oil#UniqueProperty" /> 46. <rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#nonNegativeInt eger"/> 47. </daml:DatatypeProperty> 48. <daml:UniqueProperty rdf:ID="hasMother"> 49. <rdfs:range rdf:resource="#Female"/> 50. </daml:UniqueProperty> 51. <Man rdf:ID="Adam"> 52. <rdfs:label>Adam</rdfs:label> 53. <rdfs:comment>Adam is a man.</rdfs:comment> 54. <age><xsd:integer rdf:value="17"/></age> 55. <shoesize><xsd:decimal rdf:value="15.5"/></shoesize> 56. </Man> 57. </rdf:RDF>

Figura 7 - Exemplo (parcial) de uma ontologia DAML+OIL (DAML+OIL, 2001) Primeiramente, so definidos, nas linhas de 1 a 9 (Figura 7), os namespaces utilizados na ontologia. Da linha 10 a 13 declarado o cabealho da ontologia atravs dos elementos <daml:Ontology>...</daml:Ontology>. Em seguida, so determinadas as classes presentes na ontologia (Animal, Male, Female, Woman e Man) atravs de
<daml:Class>...</daml:Class>, </daml:subClassOf>

sendo tambm indicado por <daml:subClassOf>...

qual subclasse de outra classe. Nas linhas 32 e 40 so definidas

propriedades associadas ao seu tipo de dado, ou seja, est sendo determinado que age (idade) e shoesize (tamanho dos sapatos) so valores inteiros e decimais,

respectivamente, e que so UniqueProperty (propriedades nicas, ou seja, somente existe uma idade e um tamanho de sapatos associados a cada pessoa). Essas definies esto sendo referenciadas pelo elemento
<daml:DatatypeProperty> ... </daml:

DatatypeProperty>.

Na linha 48 definida uma propriedade hasMother, na qual

determinado atravs de range que esta propriedade somente pode conter valores femininos (Female). E, por fim, nas linhas de 51 a 56 definido um objeto da classe Man,
Adam,

que um homem com idade 17 e tamanho dos sapatos de 15.5.

31

2.6 OWL (Web Ontology Language)

A construo da Web Semntica envolver a capacidade do XML (XML, 2003) em definir esquemas (estruturas) e a flexibilidade do RDF (RDF, 2000) em representar dados. Inicialmente, sobre o RDF, requerida para a Web Semntica uma linguagem para ontologias, de modo que se descreva formalmente os significados das terminologias utilizadas em documentos Web. A OWL (Web Ontology Language) candidata crescente lista de

recomendaes da W3C para o desenvolvimento da Web Semntica, no que refere-se definio de ontologias (OWL, 2003). A OWL pode ser utilizada para explicitar representaes do significado de termos em vocabulrios e o relacionamento entre estes termos. Esta representao de termos e de seus relacionamentos a chamada, e j mencionada, ontologia. Para que a Web Semntica possa oferecer a interoperabilidade dos dados, duas condies so necessrias (OWL, 2003c): 1. Adoo de uma sintaxe comum: habilitando as aplicaes a analisarem sintaticamente os dados. O XML prov esta caracterstica de uma sintaxe comum. 2. Adoo de meios para a compreenso da semntica: habilitando as aplicaes a utilizarem o dado. A OWL prov uma forma padro de expressar a semntica. O problema chave em conseguir-se interoperabilidade est em ser capaz de reconhecer que as duas partes do dado esto falando sobre a mesma coisa, mesmo que estejam utilizando diferentes terminologias. A OWL pode ser utilizada como uma ponte entre terminologias distintas, de modo que se possa compreender e obter a interoperabilidade dos dados (OWL, 2003c). A sintaxe da OWL baseada no XML e RDF, fazendo com que ela seja maximamente compatvel com o RDF e RDF Schema. A OWL tambm incorpora uma reviso da linguagem DAML + OIL, acrescentada de caractersticas aprendidas no desenvolvimento e nas aplicaes da DAML + OIL. Sua origem basicamente a representada pela Figura 8 (OWL, 2003c):

32

Figura 8 Origem da OWL

A OWL uma linguagem de definio semntica para publicao e compartilhamento de ontologias na Web. Ela desenvolvida como uma extenso do vocabulrio RDF e derivada da DAML+OIL. A OWL tem mais facilidade para expressar a semntica que o RDF e RDF Schema, superando estas linguagens em sua habilidade para interpretar de forma legvel o contedo na Web (OWL, 2003). Dessa forma, como espera-se que as mquinas executem um raciocnio lgico dos documentos Web, a linguagem deve ir alm da semntica bsica oferecida pelo RDF Schema (OWL, 2003). A OWL um conjunto de elementos e atributos XML, com significado padronizado, que so utilizados para definir termos e seus relacionamentos. Ela estende o RDF Schema, ou seja, torna-o mais amplo, acrescentando outros elementos, como, por exemplo, equivalentClass e TransitiveProperty (Figura 9).

Figura 9 - Exemplo (parcial) dos elementos da OWL

33

A OWL utilizada para representar explicitamente o conjunto de termos de um vocabulrio e os relacionamentos entre estes termos. uma linguagem para Ontologias Web que desenvolvida para a utilizao em aplicaes que necessitam processar o contedo de informaes em vez de somente apresent-las aos usurios, ou seja, ela pretendida para ser utilizada quando informaes contidas em documentos precisam ser processadas por aplicaes, ao contrrio do que ocorre quando estes contedos somente so apresentados aos humanos. A OWL facilita mquina uma maior legibilidade ao contedo da Web que aquelas suportadas pelo XML (XML, 2003), RDF (RDF, 2000) e RDF Schema (RDFS, 2003), por fornecer um vocabulrio adicional juntamente com uma semntica formal. Ela possui trs sub-linguagens, que foram projetadas conforme o grupo de implementadores e usurios: OWL Lite, OWL DL e OWL Full (OWL, 2003), ou seja, dependendo da aplicabilidade e da definio da ontologia, uma dessas sublinguagens se aplica melhor. A OWL Lite um subconjunto da OWL DL, que, por sua vez, um subconjunto da OWL Full. A OWL Lite oferece um suporte mais bsico aos usurios que necessitam apenas classificar uma hierarquia de classes e definies simples de propriedades. Por exemplo, a OWL Lite possibilita restringir cardinalidades para propriedades somente com os valores 0 ou 1, enquanto que as OWL DL e Full no possuem essa restrio. Dessa forma, ela facilita o desenvolvimento de ferramentas que lhe dem suporte, visto que no apresenta grande complexidade para a implementao de suas funcionalidades. A OWL DL fornece suporte aos usurios que necessitam de uma expressividade maior para o processamento computacional. A OWL DL inclui todas as construes da linguagem OWL, assim como a OWL Full. As duas diferem quanto s restries de tipos, ou seja, a OWL DL no permite que uma classe seja considerada um indivduo ou propriedade, ou que uma propriedade possa ser conseiderada como indivduo ou classe (OWL, 2003). Enquanto que na OWL Full essa flexibilidade possvel, ela considera, simultaneamente uma classe como sendo um conjunto de indivduos e como sendo o prprio indivduo. Outra diferena significativa entre as duas (OWL, 2003) a OWL Full permitir que uma propriedade do tipo owl:DatatypeProperty possa ser definida como owl:InverseFunctionalProperty (ambos os elementos sero apresentados na seo 2.6.1.5). Considera-se a seguinte consulta: Diga-me que vinhos eu devo comprar para servir com cada item do seguinte menu. E, de qualquer forma, eu no gosto de Sauterne (OWL, 2003).

34

Seria dificultoso, hoje, construir um agente Web que fosse capaz de procurar por vinhos na Web que satisfizessem esta consulta supracitada. Para suportar esta forma de processamento no se pode restringir somente a busca por palavras-chaves, mas necessrio que se especifique o significado dos recursos descritos na Web. Esta camada adicional de interpretao ir capturar a semntica dos dados. A OWL uma linguagem para definio e instanciao de ontologias Web. Uma ontologia deve incluir descries de classes, propriedades e suas instncias.

2.6.1 Estrutura da Ontologia OWL

Um documento OWL consiste de declaraes de namespaces (Namespaces, 2003), um cabealho opcional referente ontologia e definies de classes, propriedades e indivduos (OWL, 2003b). A OWL no impe uma ordem padro para a disposio destes componentes numa ontologia. Os desenvolvedores de ontologias, geralmente, utilizam alguma forma de ordenao, como, por exemplo, definem o cabealho no incio da ontologia, porm, isso no interfere em seu significado. Nas prximas subsees sero apresentadas informaes e a sintaxe para declarao de elementos e regras bsicas para definio de uma ontologia utilizando a OWL.

2.6.1.1 Namespaces Um namespace utilizado para evitar colises entre vocabulrios definidos em documentos distintos, que, porventura, utilizem os mesmos nomes para seus elementos e atributos. Ele identificado por um IRI (Internationalized Resource Identifier). Um IRI permite a utilizao de um conjunto adicional de caracteres ASCII, como, por exemplo, acentuaes, o qual no permitido pelo URI (Universal Resource Identifier) (Namespaces, 2003). Dessa maneira, antes que seja empregado um conjunto de termos, necessria a declarao dos vocabulrios especficos do contexto que est sendo trabalhado, ou seja, preciso informar os namespaces que sero utilizados. Um padro inicial para uma ontologia informa um conjunto de declaraes de namespaces XML includo entre as tags rdf:RDF. Eles fornecem uma forma de se evitar a ambiguidade na interpretao de identificadores do documento, fazendo com que a ontologia se torne mais legvel. O

35

namespace declarado atravs do atributo xmlns. Uma ontologia OWL tpica iniciada com uma declarao de namespaces similar a apresentada na Figura 10 (W3C, 2003).

Figura 10 Declarao de namespaces OWL As duas primeiras declaraes, linhas 2 e 3, identificam o namespace associado com a prpria ontologia, ou seja, a que est sendo definida. Como foi um exemplo retirado da W3C, elas referenciam a ontologia desenvolvida para wine (vinhos) (WINE, 2003). Na linha 5, h a definio do namespace que representa outra ontologia existente, do domnio de food (comida) (FOOD, 2003), que ser utilizada no desenvolvimento da ontologia atual. A linha 6 informa que neste documento os elementos prefixados com owl: devem ser compreendidos como uma referncia ao que est descrito no namespace indicado pela URL http://www.w3.org/2002/07/owl#. Esta uma declarao convencional da OWL, utilizada para introduzir o vocabulrio OWL. Como j foi anteriormente mencionado, a OWL depende das construes definidas pelos tipos de dados do RDF, RDF Schema e XML Schema. Assim, necessrio que seus referidos namespaces sejam indicados. Tem-se, dessa maneira, as declaraes para os mesmos na linhas 7 (para RDF), 8 (RDFS) e 9 (XML Schema), sendo que os seus prefixos a serem utilizados nesta ontologia so, respectivamente, rdf, rdfs e xsd. 2.6.1.2 Cabealho OWL A partir do momento que as declaraes das namespaces so definidas, possvel realizar a incluso de uma coleo de afirmaes acerca da referida ontologia, definindo, assim, o seu cabealho. Estas informaes so agrupadas dentro da tag owl:Ontology. Estas tags suportam comentrios, controle de verso e incluso de outras ontologias (Figura 11).

36

Figura 11 - Exemplo de cabealho OWL Atravs do elemento owl:Ontology declara-se uma coleo de meta-dados OWL acerca do documento. Assim, tm-se na Figura 12 a representao de um cabealho OWL contendo informaes diversas representadas por:
rdf:about

um atributo que fornece um nome ou referncia para a ontologia. apresenta algum comentrio referente ontologia modelada; uma tag padro utilizada para o controle de verses da

rdfs:comment

owl:priorVersion

ontologia;
owl:imports

indica a importao de uma ontologia j existente definida pelo

recurso apresentado em seguida. A utilizao de ... na Figura 12, indica que outras informaes adicinais podem ser elicitadas. Como, por exemplo, atravs de declaraes em RDF, ttulo, criador,

publicao, data e descrio tambm podem ser inseridos. E, por fim, o cabealho OWL finalizado com a tag de fechamento </owl:Ontology>. Ao importar outra ontologia est-se obtendo, para a ontologia atual, todas as afirmaes que ela fornece. Para utilizar a ontologia importada, ela normalmente coordenada atravs da declarao de namespaces. Assim, h uma distino entre estes dois mecanismos: declarao atravs de owl:imports e namespaces. O namespace prov nomes para melhor referenciar o que foi definido em outra ontologia OWL. Conceitualmente, o elemento owl:imports fornece apenas uma indicao da inteno em se incluir informaes de outra ontologia. Ao se importar uma ontologia A para uma ontologia B, estar importando-se, tambm, todas as outras ontologias que, por ventura, a ontologia A esteja utilizando. Muitos dos elementos de uma ontologia OWL so formados por classes, propriedades, instncias das classes e relacionamentos entre elas. As prximas subsees apresentam componentes essenciais para construes de ontologias atravs de elementos providos pela OWL.

37

2.6.1.3 Classes A utilizao de ontologias depende da capacidade em raciocinar sobre as classes, as instncias, objetos, indivduos. Para que isto ocorra de maneira til, necessita-se de um mecanismo para a descrio de classes e suas propriedades. O mais bsico dos conceitos acerca de um domnio corresponde s classes, que so as razes das rvores de taxinomia. Cada objeto na linguagem OWL um membro da classe owl:Thing por padro, a qual j predefinida na OWL. Dessa forma, cada classe definida pelo usurio implicitamente uma subclasse de owl:Thing. como se ela fosse a classe raiz de todas as outras (Figura 12):

Figura 12 Exemplo de representao da classe owl:Thing As classes especficas de um domnio so declaradas simplesmente atravs de nomeaes s mesmas. Por exemplo, observa-se trs classes referentes a uma ontologia de domnio Universidade (Figura 13):

Figura 13 Declarao de classes OWL Tem-se que as classes so declaradas atravs do elemento owl:Class e seus nomes so identificados pelo atributo rdf:ID, o qual semelhante ao atributo ID do XML, servindo como identificador do recurso. Dessa forma, a classe Curso pode ser referenciada, dentro deste mesmo documento, atravs da utilizao de

rdf:resource=#Curso. Outras ontologias podem referenci-la utilizando seu caminho completo, uma URI. Para efeitos de demonstrao, consideremos o exemplo: http://www.polly.com.br/Ontologias/Universidade#Curso. Ou ainda, de uma forma mais

38

fcil e mais comumente utilizada, cria-se uma namespace referente a ontologia que desejase utilizar, como j foi explicitado anteriormente:

Dessa forma, a classe Curso definida poder ser referenciada atravs da tag de indicao de namespace: uni:Curso.

2.6.1.4 Subclasses Outro construtor fundamental na taxinomia para classes a representao de suas subclasses, ou seja, estar relacionando uma classe mais especfica a uma classe mais genrica. Dessa maneira, se uma classe A subclasse de B, ento toda instncia de A tambm uma instncia de B. A declarao de subclasses realizada atravs do elemento
rdfs:subClassOf.

Esta tag possibilita, ainda, uma relao transitiva: se A subclasse de

B e B subclasse de C, ento A subclasse de C.

Figura 14 Declarao de subclasses OWL Tem-se, na Figura 14, a definio da classe PosGraduacao e a identificao de que ela uma subclasse de Curso, ou seja, j havia-se definido uma classe mais genrica Curso e agora declarada uma classe mais especfica PosGraduacao. O relacionamento entre as duas classes existentes realizada atravs de rdfs:subClassOf, identificando, assim, essa hierarquia. Tem-se at o momento que PosGraduacao um Curso de uma Universidade. Mas, esta definio ainda est muito incompleta. necessrio definir mais restries para as classes, de modo que se possa obter um raciocnio lgico sobre as mesmas. Assim, alm das classes, pode-se descrever seus membros, ou seja, informar os indviduos (individuals) que tambm fazem parte deste domnio e tem relao com essas classes declaradas. Por exemplo, tem-se uma classe Regiao e declaramos Sul como sendo um indivduo desta classe (Figura 15):

39

Figura 15 Declarao de indivduo OWL (1) A distino entre classe e indivduo em OWL a seguinte (OWL, 2003): enquanto uma classe simplesmente um nome e uma coleo de propriedades que descrevem um conjunto de indivduos, estes, por sua vez, so os membros (objetos, partes ou itens) destes conjuntos. As classes devem corresponder ao conjunto das coisas acerca de um domnio e, os indivduos seriam as instncias dessas classes, ou seja, devem corresponder s entidades reais que podem ser agrupadas em uma classe. Alm da forma j apresentada para declarao de indivduos, tambm pode-se fazer da seguinte maneira (Figura 16):

Figura 16 Declarao de indivduo OWL (2) A forma supracitada de representao de individual ter o mesmo sentido da maneira apresentada pela Figura 15. A propriedade RDF, rdf:type, faz uma ligao entre o indivduo e a classe a que pertence. Na Figura 16 tem-se a especificao de uma classe Regiao, fazendo-se em seguida uma referncia ao indivduo Sul, o qual estar existente dentro da classe raiz Thing e finalmente, informa-se que Sul (uma regio especfica) membro de Regiao, que contm todas as regies geogrficas.

2.6.1.5 Propriedades

As propriedades descrevem caractersticas e relacionamentos entre classes. A propriedade uma relao binria (OWL, 2003). Quando se define uma propriedade h diversas formas de restringir a sua relao. O domnio e o nvel podem ser especificados. A propriedade pode ser definida como uma especializao (subpropriedade) de outra propriedade existente. Em OWL existem duas classes para especificar propriedades:

40

1. owl:ObjectProperty utilizada para relacionar uma classe com outra classe. Por exemplo, uma propriedade pertenceA poder relacionar uma classe Disciplina com uma classe Curso (Figura 17).

Figura 17 Declarao de propriedade utilizando owl:ObjectProperty 2. owl:DatatypeProperty utilizada para especificar um tipo de dado, uma expresso literal ou um valor. Por exemplo, uma propriedade idade poder ser relacionada com um tipo de dado especfico a um nmero inteiro no-negativo. Os tipos de dados suportados so os especificados pelo XML Schema (Figura 18):

Figura 18 Declarao de propriedade utilizando owl:DatatypeProperty

2.6.1.5.1 Caractersticas das Propriedades

As propriedades podem representar caractersticas como sendo TransitiveProperty (transitivas), SymmetricProperty (simtricas), FunctionalProperty (funcionais), inverseOf (inversas), inverseFunctionalProperty (inversas e funcionais). Estas caractersticas podem ser organizadas hierarquicamente da seguinte forma (OWL, 2003c) (Figura 19):

Figura 19 Hierarquia das caracatersticas de propriedades OWL

41

Como j foi mencionado, a OWL baseada no RDF e no RDFS e da o elemento rdf:Property como elemento raiz. Em conseqncia desta organizao hierrquica, tem-se que (OWL, 2003c): SymmetricProperty e TransitiveProperty podem ser utilizadas para relacionar recursos com recursos. FunctionalProperty e InverseFunctionalProperty podem ser utilizadas para relacionar recursos com recursos, recursos com alguma literal do RDF Schema ou com um tipo de dado do XML Schema.

1. TransitiveProperty

O elemento owl:TransitiveProperty subclasse de owl:ObjectProperty (OWL, 2003). Dessa forma, o seu nvel (rdfs:range) somente pode ser um recurso e no pode especificar um literal ou um tipo de dado. Uma propriedade transitiva quando se tem a inteno de demonstrar que se A est contido em B e B est contido em C, ento A est contido em C:

Figura 20 Exemplo de representao de transitividade Atravs da Figura 20, pode-se verificar que se uma propriedade P especificada como transitiva para A, B e C, ento: (P(A, B) P(B, C)) P(A, C)

A sintaxe OWL para representao de uma propriedade transitiva a que se segue (Figura 21):

42

Figura 21 Sintaxe para declarao de propriedade transitiva (1) Tem-se na Figura 21, na linha sublinhada, a identificao de que a propriedade localizadoEm trata-se de uma propriedade transitiva. Assim, pelo exemplo, pode-se inferir que, como Jalapo uma regio que est localizadaEm Tocantins, ento ela tambm est localizadaEm Brasil. Ao invs de se representar como na figura anterior, tambm pode-se declarar a propriedade transitiva diretamente atravs do elemento owl:TransitiveProperty (Figura 22):

Figura 22 Sintaxe para declarao de propriedade transitiva (2) Teria-se o mesmo efeito ao utilizar a sintaxe da Figura 22, como a constante na Figura 21, pois ambas so equivalentes.

2. SymmetricProperty

O elemento owl:SymmetricProperty subclasse de owl:ObjectProperty (OWL, 2003). Uma propriedade simtrica quando procura representar correspondncia entre A e B. Por exemplo, duas cidades A e B so adjacentes se so prximas, vizinhas. Isso porque, estando as cidades prximas, se a cidade A for vizinha da cidade B, impossvel que B no seja vizinha de A. Essa propriedade definida como: P(A,B) P(B,A) Ou seja, a simetria acontece, nesse contexto, quando P(A,B) necessrio e suficiente para a existncia de P(B,A).

43

Figura 23 Sintaxe para declarao de propriedade simtrica Inicialmente, na Figura 23, h a declarao da propriedade regiaoAdjacente, na qual indica-se, atravs da primeira linha sublinhada, que ela trata-se de uma propriedade simtrica. Da mesma forma, como foi explicado na propriedade transitiva, tambm podera-se ter utilizado diretamente o elemento owl:SymmetricProperty. Na segunda linha sublinhada, apresenta-se a utilizao da propriedade referenciando que Palmas uma regio adjacente a de Paraso.

3. FunctionalProperty

O elemento FunctionalProperty indica que para cada instncia existe somente um valor para a propriedade caracterizando, assim, a propriedade funcional. como se falasse que ela possui a cardinalidade mnima de 0 (zero) e mxima de 1 (um):

Figura 24 Sintaxe para declarao de propriedade funcional

4. inverseOf

O elemento inverseOf referencia que uma propriedade inversa de outra. Assim, pode-se inferir que se est relacionando um indivduo A a outro B por uma propriedade P1, e P2 o inverso de P1, ento B se relaciona a A, possuindo, assim, uma relao inversa. P1(A,B) P2(B,A)

44

Por exemplo:

Figura 25 Sintaxe para declarao de propriedade inversa Na Figura 25, tem-se a declarao de duas propriedades ministra e ministradaPor, sendo que, nesta ltima, define-se que ela uma inversa (inverseOf) a ministra. Ou seja, se atribuirmos a propriedade ministra a uma classe Professor relacionando-a com Disciplina, pode-se inferir que Disciplina ministradaPor tal Professor, e vice-versa:

Figura 26 Representao da propriedade inversa 5. InverseFunctionalProperty

A propriedade funcional inversa define que uma propriedade representa unicamente determinado indivduo, ou seja, o valor atribudo a ela identifica somente a referida instncia.

Figura 27 Sintaxe para declarao de propriedade funcional inversa

45

Considerando que a propriedade email pertence ao domnio da classe Pessoa, assim, tem-se que, na Figura 27, email funcional inversa por ser associada a uma nica pessoa, ou seja, no tem-se o mesmo e-mail para outra pessoa. A fim de explicitar melhor, considera-se uma propriedade "dataNascimento", sendo que ela no funcional inversa, pois muitas pessoas podem ter a mesma data e, caso fosse funcional inversa, somente uma pessoa poderia ter aquela data aplicada a ela. Outros exemplos de propriedades que podem ser funcionais inversas so: CPF, nmero do seguro social, chave primria em um banco relacional, entre outras.

2.6.1.5.2 Restries sobre Propriedades

Alm de fornecer declaraes de caractersticas sobre as propriedades, possvel refinar ainda mais essas propriedades em contextos especficos (OWL, 2003c). Isto realizado atravs das restries sobre as propriedades com o elemento
owl:Restriction,

sendo que o elemento owl:onProperty indica qual a propriedade que

est sendo restrita. Estas restries podem ser definidas atravs de: cardinality (cardinalidade), maxCardinality (cardinalidade mxima), minCardinality (cardinalidade mnima), allValuesFrom (todos os valores de), someValuesFrom (alguns valores de) e hasValue (classes definidas por restries de valor).

1. cardinality / maxCardinality / minCardinality

A cardinalidade uma forma de estar restrigindo a quantidade mnima e mxima para determinada propriedade.

Figura 28 Sintaxe para declarao de cardinalidade sobre uma propriedade

46

Por exemplo, na Figura 28, tem-se a definio de uma propriedade temAnoSafra para a classe safra, sendo que esta propriedade est sendo restringida atravs do elemento owl:cardinality, o qual est indicando que ter a ocorrncia de apenas 1 (um) no documento. Ou seja, para cada safra ser associado apenas um ano. A OWL fornece, tambm, a possibilidade de estar se estabelecendo a quantidade mnima de ocorrncias, bem como a mxima.

Figura 29 Sintaxe para declarao de cardinalidade mxima e mnima Nesse ponto, Figura 29, pode-se observar a utilizao simultnea dos elementos
owl:minCardinality

e owl:maxCardinality, os quais definem um intervalo de valores

possveis (entre 0 e 1000) para a propriedade fruto. Tambm, h a possibilidade de utilizar-se somente um dos elementos por vez, sendo que se fosse utilizado somente o
minCardinality maxCardinality

estaria-se indicando que era o mnimo de ocorrncia possvel, se fosse o indicara-se que poderia ter no mximo determinado valor.

2. allValuesFrom

Diversas maneiras para restringir os tipos dos elementos sobre uma propriedade j foram anteriormente explicitadas. Todos essas formas para os dados foram globais, visto que aplicam-se a todas as instncias das propriedades. O elemento owl:allValuesFrom, como
owl:someValuesFrom

e owl:hasValue (a serem apresentados subseqencialmente), so locais

s classes que contm tal propriedade. A restrio owl:allValuesFrom indica que todas as instncias das classes que tiverem essa propriedade especificada, os valores da propriedade devem ser membros da classe referenciada por ela.

47

Figura 30 Sintaxe para restrio de propriedade utilizando owl:allValuesFrom A Figura 30 especifica que a classe "Moveis" possui uma propriedade "temFabricante", sendo que essa propriedade restrita no sentido de que todo fabricante de mveis deve ser uma "FabricaDeMoveis". A restrio allValuesFrom sobre a propriedade "temFabricante" somente para esta classe "Moveis", ou seja, se ela for aplicada a outra classe, essa restrio no vlida, tendo, assim, validade somente localmente. A restrio allValuesFrom no indica que "Moveis" tenha um fabricante, mas se tiver um ou mais, todos devem ser uma fbrica de mveis.

3. someValuesFrom

A restrio owl:someValuesFrom similar a anterior. Utilizando o mesmo exemplo dado pela Figura 30, substituindo, simplesmente,
allValuesFrom

por

someValuesFrom, ele significa que ao menos um dos fabricantes seja uma fbrica de mveis.

Figura 31 Sintaxe para restrio de propriedade utilizando owl:someValuesFrom A restrio someValuesFrom requer que para cada instncia da classe que est sendo definida, possua ao menos um valor da classe descrita pela restrio, ou seja, necessrio que haja ao menos um fabricante que uma fbrica de mveis, mas podem haver fabricantes que no a sejam.

48

4. hasValue

A restrio owl:hasValue permite especificar classes baseadas na existncia de valores particulares para propriedades (OWL, 2003). Dessa forma, atravs do elemento
hasValue

pode-se definir uma limitao de valores para a propriedade restrita, de modo que os

indivduos da classe com esse tipo de declarao tenham a propriedade especificada com o valor declarado.

Figura 32 Sintaxe para restrio de propriedade utilizando owl:hasValue Pode-se determinar uma classe C atravs da propriedade P com valor Z, sendo que, qualquer indivduo Y que estiver relacionado com o valor Z atravs da propriedade P inferese este indivduo como pertencente a classe C (Carneiro, 2003). Assim, de acordo com a Figura 32, tem-se que todo indivduo, da classe VinhoItaliano, que for instanciado deve ter Italia como valor para a propriedade produzidoEm e que indivduos que contiverem este valor, Italia, na referida propriedade, pode ser classificado como VinhoItaliano.

2.6.1.6 Classes Complexas A OWL fornece um conjunto de construtores adicionais com os quais pode-se dar mais forma s classes, impondo-lhes mais definies (OWL, 2003). A OWL suporta um conjunto bsico de operaes: unio, interseco e complemento, sendo que as mesmas so expressas atravs de, respectivamente,
owl:unionOf, owl:intersectionOf

owl:complementOf.

Pode-se, ainda, indicar extenses de classes atravs do elemento oneOf e

afirmar que extenses de classes so disjuntas (disjointWith). Extenses de classes em OWL referem-se aos conjuntos de indivduos que so membros da classe. A OWL permite manipular essas extenses de classes atravs do conjunto de operaes supracitados.

49

1. Interseco

A intersectionOf pode ser demonstrado atravs do seguinte exemplo:

Figura 33 Sintaxe para utilizao do elemento intersectionOf Como exposto na Figura 33, pode-se declarar classes atravs da interseco de outras classes com definies de restries. No exemplo anterior, tem-se a definio da classe VinhoBranco, em que ela formada atravs da interseco da (intersectionOf) classe Vinho e da restrio da propriedade possuiCor que define um valor para a mesma (Branca). Isto quer dizer que, se algo vinho e branco, ento ele uma instncia de VinhoBranco.

Figura 34 Representao da Interseco O intersectionOf anloga a conjuno em Lgica. Ou seja, dado que V um conjunto que designa elementos do tipo vinho e B, um conjunto que designa elementos da cor branca, ento temos, x(Vx Bx). Desta forma, informado que para algo ser designado VinhoBranco deve existir pelo menos um elemento que, num dado momento, tenha a caracterstica de ser vinho e branco, simultaneamente. Vale, ainda, ressaltar que o elemento
rdf:parseType=Collection requerido automaticamente pelo owl:intersectionOf.

2. Unio A utilizao de unionOf semelhante a construo sinttica de intersectionOf. Considera-se o seguinte exemplo:

50

Figura 35 Sintaxe para utilizao do elemento unionOf Conforme a Figura 35, tem-se que a classe Pessoa formada pela unio das extenses (subclasses) Homem e Mulher.

Figura 36 Representao da Unio A unionOf anloga a disjuno em Lgica. Ou seja, utilizando H para designar o conjunto dos indivduos homens e M para designar o conjunto de indviduos mulheres, temos que: x (Hx Mx). Qualquer coisa que seja ou homem ou mulher considerada uma pessoa.

3. Complemento

A owl:complementOf descreve uma classe na qual sua extenso contm exatamente aqueles indivduos que no pertencem extenso da classe designada pela owl:complementOf. anloga negao na Lgica.
<owl:Class rdf:ID="NaoFilmeFrances"> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Filme"/> <owl:Class> <owl:complementOf> <owl:Restriction> <owl:onProperty rdf:resource="#dirigidoPor" /> <owl:hasValue rdf:resource="#DiretorFrances" /> </owl:Restriction> </owl:complementOf> </owl:Class> </owl:intersectionOf>

</owl:Class> Figura 37 Sintaxe para utilizao do elemento complementOf

51

Na Figura 37, definida que a classe NaoFilmeFrances a interseo da classe Filme com o conjunto de todas as coisas no so dirigidas por um diretor francs.

Figura 38 Representao do Complemento Para uma melhor visualizao, de acordo com a Figura 38, dados os conjuntos A e B, onde B est contido em A, denomina-se o complemento de B em relao a A o conjunto formado pelos elementos que pertencem a A e no pertencem a B, ou seja, o conjunto resultante de A B (representado pela parte sombreada).

4. Enumerao

A OWL fornece os meios para especificar uma classe atravs de uma enumerao direta de seus componentes. Isto feito usando o construtor oneOf. Esta definio especifica completamente a extenso da classe, de modo que nenhum outro indivduo possa ser declarado pertecente classe.
<owl:Class rdf:ID="CorVinho"> <rdfs:subClassOf rdf:resource="#DescricaoVinho"/> <owl:oneOf rdf:parseType="Collection"> <CorVinho rdf:about="#Branco" /> <CorVinho rdf:about="#Rose" /> <CorVinho rdf:about="#Vermelho" /> </owl:oneOf> </owl:Class>

Figura 39 Sintaxe para utilizao do elemento oneOf De acordo com o cdigo apresentado na Figura 39, estabelecido que nenhum outro indivduo, alm daqueles que foram enumerados na classe, podem pertencer ao conjunto designado CorVinho.

52

5. Disjuno

A disjuno de um conjunto de classes pode ser expressado usando o construtor


owl:disjointWith.

Desta forma, estabelecido que um indivduo que seja um membro de

uma classe no pode simultaneamente pertencer a outra classe. anlogo a disjuno exclusiva em Lgica.
<owl:Class rdf:ID="Massa"> <rdfs:subClassOf rdf:resource="#CoisaComestvel"/> <owl:disjointWith rdf:resource="#Carne"/> <owl:disjointWith rdf:resource="#Ave"/> <owl:disjointWith rdf:resource="#Peixe"/> <owl:disjointWith rdf:resource="#Sobremesa"/> <owl:disjointWith rdf:resource="#Fruta"/> </owl:Class>

Figura 40 Sintaxe para utilizao do elemento disjointWith O exemplo da Massa (Figura 40) apresenta mltiplas classes disjuntas. necessrio observar que isto afirma somente que Massa disjunta de todas as outras classes apresentadas, mas no afirma, por exemplo, que a Carne e a Ave so disjuntas. A disjuno pode ser visualizada atravs do conjunto resultante de uma interseco entre conjuntos distintos, ou seja, eles no possuem elementos em comum tornando o resultado nulo (A B = ):

Figura 41 Representao da Disjuno 6. EquivalentClass

A propriedade equivalentClass indica que duas classes tm precisamente as mesmas instncias.

53

<owl:Class rdf:ID="CoisasDoTocantins"> <owl:equivalentClass> <owl:Restriction> <owl:onProperty rdf:resource="#localizadoEm" /> <owl:allValuesFrom rdf:resource="#EstadoTocantins" /> </owl:Restriction> </owl:equivalentClass> </owl:class>

Figura 42 Sintaxe para utilizao do elemento equivalentClass De acordo com a Figura 42, observado que CoisasDoTocantins so exatamente as coisas situadas no Estado do Tocantins. A diferena entre usar owl:equivalentClass e
rdfs:subClassOf

que, na primeira, uma condio deve ser suficiente e necessria,

enquanto na segunda, apenas necessria numa dada situao. Assim, tem-se que, com
subClassOf,

as coisas localizadas no Estado do Tocantins no so necessariamente coisas

do Tocantins; apenas o inverso verdadeiro. No entanto, na utilizao de


equivalentClass,

se algo foi localizado no Tocantins, j necessariamente uma coisa do

Tocantins. Para um maior esclarecimento, tem-se a letra T, para representar CoisasDoTocantins e E, para representar coisas localizadas no Estado do Tocantins. Na tabela abaixo, demonstrada a diferena entre as situaes supracitadas. Tabela 2 - Diferena entre subClassOf e equivalentClass
Relao subClassOf equivalentClass Implicao x (Tx Ex) x ((Tx Ex) (Ex Tx))

2.7 Protg

Uma ferramenta extensvel para construo de ontologias e desenvolvimento de aplicaes que utilizam ontologias (Protg, 2003b), assim foi definida a Protg em um tutorial, referente ao seu plugin OWL, na Segunda Conferncia Internacional da Web Semntica (2nd International Semantic Web Conference) realizada em outubro de 2003 nos Estados Unidos. Protg uma ferramenta que permite sua utilizao para (Protg, 2003): construir uma ontologia; ajustar a forma de aquisio de conhecimento; entrar com um domnio de conhecimento. Dentre suas caractersticas principais destacam-se (Protg, 2003):

54

gerao automtica de interfaces grficas para os usurios, baseada nos modelos definidos por eles, para aquisio das instncias para os domnios; arquitetura e modelo de conhecimento extensveis; possibilidade de utilizar outras aplicaes com o ambiente de desenvolvimento do Protg, ou vice-versa. Protg um ambiente que pode ser estendido com recursos grficos como tabelas, diagramas, componentes de animao para acessar outras aplicaes com sistemas baseados em conhecimento. ainda uma biblioteca que pode ser utilizada e acessada por outras aplicaes para exibio de suas bases de conhecimento. Os objetivos do Protg so (Protg, 2003): permitir interoperabilidade com outros sistemas de representao de conhecimento; ser uma ferramenta de aquisio de conhecimento fcil de configurar e utilizar; ser extensvel. Uma ontologia Protg consiste basicamente de: classes: so as entidades do domnio a ser modelado; slots: descrevem propriedades de classes e instncias, bem como as relaes; facets: descrevem propriedades dos slots, uma forma de especificar restries (constraints) nos valores dos slots; instncias: so declaraes de determinada classe.

Figura 43 - Interface da Protg

55

Protg foi desenvolvida, inicialmente (na dcada de 80) (Protg, 2003b), pelo departamento de informtica mdica da University of Stanford, sendo amplamente utilizada nessa rea nos dias atuais. Ela est em constante desenvolvimento e, atualmente, oferece suporte Web Semntica atravs da utilizao de um plugin para a OWL (em desenvolvimento, tendo sua ltima atualizao em 04 de dezembro do corrente ano). No muito antigamente era chamada de Protg-2000, sendo renomeada somente para Protg a partir de sua verso 2.0 (beta) lanada no segundo semestre de 2003. A ferramenta Protg um software free e open-source. Ela fornece diversos plugins de modo a lhe dar maiores caractersticas e fornecer suporte s necessidades dos programadores. Atravs dela, h a possibilidade de converso em vrios formatos como XML, XMLSchema, RDF, RDFS, Topic Maps, UML, OIL, DAML+OIL, OWL (Protg,2003), entre outros, fornecendo, assim, maior flexibilidade aplicao. O Protg tem sua instalao livre, desenvolvido em Java, necessitando, assim, do JVM (Java Virtual Machine) e est disponvel para diversas plataformas, caracterizando sua interoperabilidade, como: Windows (95, 98, NT, 2000, ME e XP); Linux; Solaris; AIX; HP-UX; Mac OS X v.10.1.

2.8 Consideraes Finais

O projeto de aplicaes semnticas tem o seu foco nos contedos. O ponto central das aplicaes semnticas o sentido dos conceitos, contextos e relaes. Elas definem modelos de conhecimento as quais so chamadas de ontologias (Lustosa, 2003). A partir de tecnologias como a XML e RDF e da representao explcita da semntica dos dados, aliados teoria de domnios ou ontologias, possvel oferecer um servio Web com um maior nvel de qualidade. As ontologias apresentam meios para estabelecer uma base concisa de conceitos. A integrao de ontologias muito relevante hoje para a viabilizao do desenvolvimento pleno da Web Semntica (SW, 2001) de

56

forma a consolidar diversas atividades na Web como: fornecer maior suporte ao servio de comrcio eletrnico, oferecer maior preciso aos mecanismos de buscas, prover a conexo semntica e a interoperabilidade entre os contedos das pginas, de maneira a ser utilizado cooperativamente por mquinas e humanos. Assim, diversas pesquisas envolvendo ontologias tendem para a definio de uma linguagem para sua criao e manipulao. Entre elas, a de maior destaque a OWL, do Web Ontology Working Group, parte do projeto da Web Semntica da W3C. Ela habilita a mquina a compreender o dado, ou seja, ela oferece a capacidade de processamento semntico pela mquina, atravs de sua potencialidade em descrever os relacionamentos e propriedades entre os conceitos de um domnio. Juntamente com o padro RDF, a OWL expressa a parte semntica das informaes e a XML, DTD e XML Schemas ficam responsveis pela estruturao dos dados, pela sua parte sinttica. A OWL tem a inteno de prover uma linguagem que pode ser utilizada para descrever as classes e suas relaes que so inerentes a aplicaes e documentos Web.

57

3 MATERIAIS E MTODOS

Para o desenvolvimento desse trabalho foram utilizados diversos recursos bibliogrficos, de hardware e software, que aliados s orientaes permitiram a finalizao do mesmo.

3.1 Local e Perodo

Este trabalho foi desenvolvido durante o segundo semestre de 2003, como parte da disciplina Prtica em Sistemas de Informao II. Os locais utilizados para sua elaborao foram os laboratrios de informtica do curso de Sistemas de Informao, sendo que os mais utilizados foram o Laboratrio de Multimdia (LabMdia) e Ncleo de Desenvolvimento de Software (NDS) do Centro Universitrio Luterano de Palmas. Bem como, destacando tambm, a utilizao de um computador pessoal.

3.2 Materiais

Os recursos utilizados para o desenvolvimento do trabalho foram disponibilizados pelo prprio curso Sistemas de Informao do CEULP/ULBRA em seus laboratrios, tais como hardware e software licenciados. As demais ferramentas free foram adquiridas via Internet.

3.2.1 Hardware Pentium III, 750 Mhz e 128 Mb de RAM (Disponvel no laboratrio); Pentium IV, 2.4 Ghz e 256 Mb de RAM (Disponvel no laboratrio);

58

Athlon XP 2200+ (1.8 Ghz) e 256Mb de RAM (Computador pessoal).

3.2.2 Software Microsoft Windows 2000 Professional; Microsoft Office 2000 Professional; Internet Explorer 6.0; Acrobat Reader 6.0; Protg verso 2.0 (Beta). 3.2.3 Fontes Bibliogrficas Teses de Mestrados; Trabalhos de Concluso de Curso; Publicaes Cientficas; Artigos; Site da W3C (World Wide Web Consortium) (W3C, 2003); Sites diversos.

3.3 Metodologia

Diversas pesquisas foram realizadas no sentido de recolher informaes referentes ao domnio do trabalho desenvolvido, de maneira que permitisse oferecer uma sustentao terica necessria para a sua concluso. Assim, foram abordados conceitos e tcnicas alusivas ao escopo do trabalho, para que fosse possvel apresentar uma proposta de definio de um domnio de ontologia, como forma de concretizao de parte do que foi explanado na Reviso de Literatura.

59

4 RESULTADOS E DISCUSSO

Esta seo tem o objetivo de apresentar uma proposta de desenvolvimento de uma ontologia atravs da linguagem OWL e sua aplicao sobre um domnio, abordando, assim, a camada de esquema da arquitetura da Web Semntica (Figura 2). Nesta camada define-se a hierarquia e os relacionamentos entre os termos e, como apoio elaborao da mesma, utilizou-se um editor de ontologias, o Protg, a fim de explicitar parte dos elementos propostos pela OWL apresentados no decorrer da seo 2.6. Esta linguagem foi escolhida por ser uma das recomendaes da W3C (W3C, 2003) para construes de ontologias. Maiores detalhes referentes s definies dos conceitos envolvidos na modelagem podem ser obtidos no cdigo completo na seo dos anexos.

4.1 Definio da Ontologia

O desenvolvimento de uma ontologia um processo iterativo [Protg, 2003b]. Para a modelagem de uma ontologia, necessria a definio do escopo, para que sejam identificadas suas classes e propriedades, bem como os relacionamentos entre elas e ento possa, a partir dessas definies, criar as instncias relativas a ontologia modelada. A ontologia a ser demonstrada nas prximas sees refere-se ao domnio de um mdulo para um portal Web de universidades. Esse mdulo refere-se a parte relacionada ao Curso com suas disciplinas e turmas. Para o seu desenvolvimento foi utilizada uma das ferramentas disponveis para edio de ontologias, o Protg 2.0. Ela foi escolhida por ser muito bem citada nos materiais relacionados ao tema e por ter atendido as necessidades para a concluso do trabalho. Esse ambiente para criao de ontologias um software free, desenvolvido pela

60

Universidade de Stanford, que foi adquirido via Internet atravs de seu site oficial <http://protege.standord.edu/>. O cdigo completo referente a ontologia modelada pode ser encontrado nos anexos deste trabalho.

4.2 Protg

A Protg est em constante atualizao de forma a estar aprimorando-se e podendo dar maior suporte Web Semntica. Atualmente est em sua verso 2.0 (beta) e conta com diversos plugins. O plugin OWL foi o utilizado para o desenvolvimento deste trabalho, de modo a oferecer um apoio para a definio de ontologias baseadas nessa linguagem. 4.2.1 Plugin OWL

O projeto referente ao desenvolvimento do plugin OWL foi iniciado em Abril de 2003 (Protg, 2003b), baseado em idias de projetos anteriores como do RDF, OilTab e DAML+OIL. O plugin OWL fornece uma extenso ao Protg de forma a permitir edio de ontologias em OWL. Conta, atualmente, com uma verso beta disponvel em <http://protege.stanford.edu/plugins/owl>. As caractersticas gerais oferecidas pelo mesmo so: executar e salvar arquivos OWL; utilizar editores grficos para expresses de classes. Para sua utilizao necessrio que se tenha a ltima verso do Protg 2.0, e, conseqentemente, como j foi comentado anteriormente (seo 2.7), a JVM (Java Virtual Machine) verso 1.4.2 ou superior. Tendo essa configurao inicial, pode-se realizar o download do arquivo compactado contendo o plugin OWL a partir de

<http://protg.stanford.edu/plugins/owl/download/protg-owl.zip>. O referido arquivo dever ser descompactado no diretrio de plugins onde a Protg est instalada. A partir desse ponto, j pode-se utiliz-lo, sendo que ele ser carregado na prxima vez que se executar a Protg. A interface aps a instalao do mesmo a seguinte:

61

Figura 44 - Interface Protg do mdulo de manipulao de classes

Figura 45 - Interface Protg do mdulo de manipulao de slots

62

4.3 Modelagem da Ontologia

O desenvolvimento de uma ontologia no Protg consiste basicamente nos seguintes passos: primeiramente definido um esquema com as classes (class), subclasses (subclass), propriedades e relaes (slots) referentes ao domnio que se deseja modelar, neste caso do domnio de parte de um portal Web para universidades. O modelo utilizado como referncia para a modelagem da referida ontologia foi o que se segue:

Figura 46 Modelo da ontologia definida

63

4.3.1 Definio das Classes As classes OWL so definidas no seguinte mdulo do Protg:

Figura 47 Definio de Classes no Protg Na figura anterior, referncia representada pelo nmero 1, est a rea destinada manipulao das classes e subclasses. Essa manipulao refere-se criao e excluso de classes e definio de o que classe e o que subclasse (hierarquia). O nmero 2 refere-se a insero de comentrios ou informaes acerca da prpria classe selecionada (metadados), ou seja, dados como seu nome, documentaes e anotaes referentes a verso, autor, entre outros. O nmero 3 est relacionado ao painel dedicado incluso e excluso dos slots correspondentes a cada classe ou subclasse. Para que esses slots sejam inclusos, primeiramente eles tm que ser criados, podendo fazer isso nesse prprio painel ou na rea destinada manipulao de slots (Figura 45). Ele lista todos os slots que podem ser atribudos a tal classe. As referncias 4 e 5 so dedicadas s definies lgicas, s regras, ou seja, o nmero 4 para declarao das restries locais para as propriedades de determinada classe e o 5 para declarao, por exemplo, de equivalncias e disjunes para as classes.

64

Foram definidas, ao total, doze classes e subclasses, as quais so as que esto na rvore definida na referncia indicada pelo nmero 1 da Figura 47. Como exemplo da sintaxe de definio classes, considera-se os seguintes exemplos:
1. 2. 2. 3. 4. 5. 6. <owl:Class rdf:ID="Curso"/> <owl:Class rdf:ID="Funcionario"> <rdfs:subClassOf> <owl:Class rdf:ID="Pessoa"/> </rdfs:subClassOf> ... </owl:Class>

Figura 48 Declarao de Classes e Subclasses A Figura 48 demonstra a declarao de duas classes, sendo uma na linha 1 e a outra iniciada na linha 2. Primeiramente, na linha 1, tem-se uma declarao da classe Curso atravs do elemento owl:Class. Na linha 2, h a definio da classe Funcionrio, indicando, ainda, que a mesma subclasse de Pessoa nas linhas de 3 a 6. As ... indicam que pode-se ter mais cdigo entre o elemento owl:Class, como, por exemplo, as definies das propriedades para a classe em questo. 4.3.2 Definio das Propriedades As propriedades OWL so definidas no seguinte mdulo do Protg:

Figura 49 Definio de Slots no Protg

65

A rea representada pelo nmero 1 refere-se lista dos slots j criados, sendo que as classes, as quais o slot selecionado pertence, so apresentadas na rea de nmero 3, no campo Domain, o qual se refere ao domnio a que o slot pode ser aplicado. Um slot (propriedade) pode atribuir valores aos indivduos ou definir relacionamentos entre eles. O nmero 2 refere-se a insero de comentrios ou informaes acerca do prprio slot selecionado (metadados), assim, como ocorre na Figura 47, ou seja, dados como seu nome, documentaes e anotaes referentes a verso, autor, entre outros. O nmero 3 a rea destinada s caractersticas e restries globais, ou seja, todas as definies realizadas nessa regio, sero aplicadas a todos os slots independente das classes que os contenham. Para que seja realizado as restries locais, somente ao slot de determinada classe, devem ser realizadas na rea de 4 da Figura 47. Ainda no retngulo nmero 3, define-se o tipo do valor do slot (Range). Esses tipos podem ser: Booleanos (True ou False); Class (Representam alguma classe definida na base); Float (Nmeros reais); Instance (Instncia de alguma classe definida na base); Integer (Nmeros inteiros); String (Caracteres alfanumricos).

No exemplo da Figura 49, o tipo do slot ministradaPor foi instance, sendo assim necessrio especificar a lista de classes que conter as instncias de que se necessita. Isso definido no campo Classes, que nesse caso foi Professor. Pode-se perceber que o Domain deste slot Turma, logo temos o seguinte relacionamento: Turma ministradaPor Professor. Podendo inferir, ainda, que um Professor ministra uma Turma. Assim, temos uma propriedade inversa, ou seja, ministradaPor inversa a ministra. O cdigo, para essa restrio sobre a propriedade, o seguinte:
<owl:ObjectProperty rdf:ID="ministraTurma"> <owl:inverseOf> <owl:ObjectProperty rdf:about="#ministradaPor"/> </owl:inverseOf> <rdfs:range rdf:resource="#Turma"/> <rdfs:domain rdf:resource="#Professor"/> </owl:ObjectProperty>

Figura 50 Exemplo de utilizao da caracterstica inverseOf H, tambm, a possibilidade de especificar a cardinalidade da propriedade, que, no caso do Protg, indicado da seguinte forma: se marcado a opo multiple, mltiplos

66

valores podem ser atribudos ao slot; caso seja marcado a opo required, necessrio preencher os campos at least (pelo menos) e at most (no mximo) o valor indicado no campo de edio. Sendo que, por default, a cardinalidade multiple. Se nenhuma das opes determinada, a propriedade fica com cardinalidade de 0..1, sendo chamada de propriedade funcional. Diversas propriedades funcionais foram definidas na ontologia em questo. As propriedades funcionais so aquelas em so aplicadas no mximo uma vez a cada instncia. Segue o exemplo:
1. <owl:DatatypeProperty rdf:ID="dataNascimento"> 2. <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> 3. <rdfs:domain rdf:resource="#Pessoa"/> 4. <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> 5. </owl:DatatypeProperty>

Figura 51 Exemplo de propriedade funcional A propriedade dataNascimento indicada como sendo funcional na linha 4, isso significa que para cada Pessoa (seu domnio, na linha 3) ir existir somente uma data de nascimento. Diversas outras propriedades podem ser observadas no cdigo completo (Anexo 1) como sendo funcionais, por exemplo, RG e orgaoEmissor (domnio: Pessoa) e ano e semestre (domnios: Turma e MatrizCurricular). Alm de funcionais, as propriedades tambm podem ser funcionais inversas, ou somente funcionais inversas. Observa-se cada caso:
1. <owl:DatatypeProperty rdf:ID="CPF"> 2. <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> 3. <rdfs:domain rdf:resource="#Pessoa"/> 4. <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> 5. <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/> 6. </owl:DatatypeProperty>

Figura 52 Exemplo de utilizao da caracterstica InverseFunctionalProperty e FunctionalProperty A propriedade CPF alm de ser definida como funcional (Figura 52, linha 4), tambm especificada como funcional inversa (linha 5). Para cada pessoa existe somente uma propriedade CPF, sendo, assim, funcional. E aplicada a somente uma pessoa, pois muitas pessoas no podem ter o mesmo valor de CPF, caracterizando a propriedade funcional inversa.

67

Como exemplo de uma propriedade somente funcional inversa, segue o cdigo:


1. <owl:DatatypeProperty rdf:ID="email"> 2. <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> 3. <rdfs:domain rdf:resource="#Pessoa"/> 4. <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/> 5. </owl:DatatypeProperty>

Figura 53 Exemplo de utilizao da caracterstica InverseFunctionalProperty Nesse caso, Figura 53, temos a propriedade email que somente funcional inversa, ou seja, ela aplica-se a somente uma pessoa. Essa propriedade no funcional porque uma pessoa pode ter mltiplos e-mails. Como restrio propriedades, pode-se demonstrar a utilizao de allValuesFrom:
1. <owl:Class rdf:ID="Curso"> 2. <rdfs:subClassOf> 3. <owl:Restriction> 4. <owl:onProperty> 5. <owl:ObjectProperty rdf:about="#possuiProfessor"/> 6. </owl:onProperty> 7. <owl:allValuesFrom rdf:resource="#Professor"/> 8. </owl:Restriction> 9. </rdfs:subClassOf> 10. ... 11. </owl:Class>

Figura 54 Exemplo de utilizao da restrio allValuesFrom O elemento allValuesFrom aplicado localmente propriedade de determinada classe, ou seja, a restrio somente tem validade na classe que a propriedade pertence. Na Figura 54, a propriedade, em que a restrio definida, possuiProfessor (linhas 3 a 8), sendo que a classe Curso. Tem-se, ento, que a referida propriedade somente pode possuir valores que sejam instncias da classe Professor (linha 7).

4.3.3 Definio de Classes Complexas

Alguns exemplos utilizando elementos para definio de classes complexas sero demonstradas no decorrer dessa seo. Nem todos os elementos oferecidos pela OWL foram possveis de ser aplicados ao domnio em questo, pelo fato de no apresentarem a viabilidade de utilizao nos conceitos identificados na modelagem da ontologia. A exemplificao da utilizao de unionOf pode ser dada da seguinte forma:

68 <owl:Class rdf:ID="Departamento"> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Curso" /> <owl:Class rdf:about="#Funcionario" /> </owl:unionOf> </owl:Class>

Figura 55 Exemplo de utilizao de unionOf A utilizao de unionOf, na Figura 55, est estabelecendo a unio de duas classes Curso e Funcionario, para que atravs dessa relao seja definida a classe Departamento.
<owl:Class rdf:ID="FuncionarioProfessor"> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Funcionario" /> <owl:Restriction> <owl:onProperty rdf:resource="#possuiCargo" /> <owl:hasValue rdf:resource="#Professor" /> </owl:Restriction> </owl:intersectionOf> </owl:Class>

Figura 56 Exemplo de utilizao de intersectionOf A declarao da classe FuncionarioProfessor (Figura 56) apresenta que ela formada pela interseco da classe Funcionario e da propriedade possuiCargo que contm o valor Professor. A Figura 57 apresenta a classe dos funcionrios que no so professores:
1. <owl:Class rdf:ID="NaoFuncionarioProfessor"> 2. <owl:intersectionOf rdf:parseType="Collection"> 3. <owl:Class rdf:about="#Funcionario"/> 4. <owl:Class> 5. <owl:complementOf> 6. <owl:Restriction> 7. <owl:onProperty rdf:resource="#possuiCargo" /> 8. <owl:hasValue rdf:resource="#Professor" /> 9. </owl:Restriction> 10. </owl:complementOf> 11. </owl:Class> 12. </owl:intersectionOf> 13. </owl:Class>

Figura 57 Exemplo de utilizao de complementOf Atravs da utilizao do elemento complementOf podem-se obter os indivduos que no pertencem a classe que foi definida. Assim, conseguem-se as instncias que no satisfazem a restrio de que possuiCargo contenha Professor atravs de

69 complementOf

(linhas 5 a 10) e ento realizada a interseco do resultado dessa

inferncia com a classe Funcionario, obtendo a classe que se est definindo NaoFuncionarioProfessor. 4.3.4 Instanciao da Ontologia Aps a definio da ontologia, h a criao de instncias para as classes que foram declaradas:

Figura 58 Formulrio para declarao de instncias As instncias so inseridas a partir de um formulrio que o Protg fornece automaticamente (Figura 58), conforme o esquema primeiramente desenvolvido para a ontologia.
<Cargo rdf:ID="auxiliarBiblioteca"> <nome>auxiliarBiblioteca</nome> <descricao>Auxiliar na Biblioteca</descricao> <codigo>2</codigo> </Cargo>

Figura 59 Declarao de indivduos A Figura 59 exemplifica a definio de indivduos, declarando auxiliarBiblioteca como uma instncia da classe Cargo. Todas as suas propriedades tambm so instanciadas, cada uma assumindo um determinado valor.

70

4.4 Consideraes Finais

Todas as definies para a ontologia daro suporte semntico s aplicaes que envolvam o domnio abordado, visto que, com as determinaes destes relacionamentos entre classes e propriedades, pode-se obter um maior nvel de compreenso pela mquina, para que se possa inferir conhecimentos semnticos atravs do processamento realizado sobre o que se foi estabelecido. importante ressaltar que a modelagem de uma ontologia requer um nvel extenso de abstraes e pode ser que a mesma possa no abordar todas as questes necessrias, como a definio de todos os termos envolvidos em um domnio, para tal sucesso no processamento semntico. Atravs da modelagem realizada, por exemplo, observa-se o tratamento dado para a inferncia de funcionrios. A partir das regras estabelecidas para este recurso, possvel responder a uma consulta do tipo: Necessito de uma relao de todos os funcionrios administrativos. Isso acontece em virtude da classe identificada como

NaoFuncionarioProfessor. Ou seja, o complemento de todos que tem a caracterstica de possuir cargo professor, seria a resposta a tal inferncia. A partir da definio das classes complexas, possvel verificar os axiomas da ontologia. Ou seja, algumas verdades so estabelecidas. Conforme observado nos exemplos supracitados, as relaes existentes nas subclasses fornecem circunstncias de necessidade entre classes. Por exemplo, para ser um professsor, um indivduo necessita tambm ser um funcionrio. Desta forma, ainda que a ontologia para a universidade no tenha sido desenvolvida em toda a sua extenso (dada a caracterstica complexa de tal domnio), o entendimento das caractersicas e restries para propriedades e relacionamentos entre classes oferecidas pela OWL de extrema relevncia e o ponto-chave inicial para que se venha a modelar ontologias com um conjunto complexo de regras que possibilitem a inferncia semntica por aplicativos sem o auxlio humano.

71

5 CONSIDERAES FINAIS

O desenvolvimento da Web Semntica um grande desafio enfrentado pelos pesquisadores cientficos da rea, pois envolve a transformao da atual Web somente de exibio de informaes para uma Web onde as informaes sejam apresentadas, interpretadas e processadas por agentes de software, auxiliando o homem em suas atividades. Observa-se que as pesquisas nessa rea esto tendendo, gradualmente, para o tema ontologia, visto que diversas linguagens e ferramentas tm sido criadas no sentido de promover sua definio. A ferramenta empregada, neste trabalho, para demonstrao de como utilizar um ambiente para construo de ontologias, a Protg, foi utilizada com o seu plugin OWL, para que fornecesse suporte a referida linguagem. Alm da modelagem de uma ontologia, com a definio de suas classes, subclasses, slots, este software possibilita a personalizao de um formulrio de dados para a entrada de instncias conforme a ontologia modelada. Grande parte da infra-estrutura de suporte a Web Semntica est em fase de desenvolvimento, sendo, ainda, necessrios muitos esforos no sentido de se obter a sua concretizao. Este trabalho descreveu o desenvolvimento de uma ontologia, abordando a parte relacionada a camada de esquema da Web Semntica, a fim de exemplificar os conceitos, abordados na reviso de literatura, referentes as propriedades oferecidas pela linguagem OWL, detalhando ainda, a metodologia necessria para sua definio na ferramenta Protg, atravs do processo para construo de uma ontologia com a determinao da hierarquia de classes, propriedades e seus relacionamentos referentes a um domnio. importante lembrar que no existe uma nica ontologia correta para um domnio (Ontology, 2003). Diferentes pessoas podem modelar ontologias diferentes para um

72

mesmo domnio. A linguagem utilizada como apoio definio do modelo ontolgico, a OWL, foi escolhida por ser uma das recomendaes da W3C (W3C, 2003) para construes de ontologias. Como sugestes para trabalhos futuros recomenda-se uma comparao entre as linguagens existentes para descrio de ontologias, bem como de suas ferramentas, abordando as potencialidades que cada uma oferece ou suprime e estudos mais aprofundados referentes a ontologias aplicadas a servios Web.

73

6 REFERNCIAS BIBLIOGRFICAS

(Abel, 2001)

Abel, M., Estudo da percia em petrografia sedimentar e sua importncia para a engenharia de conhecimento. In: Programa de Ps-Graduao em Cincia da Computao UFRGS. Porto Alegre, 2001.

(Berners-Lee, 2001)

BERNERS-LEE, Tim. HENDLER, James. LASSILA, Ora. The Semantic Web. Maio de 2001. Disponvel em:

<http://www.scientificamerican.com/article.cfm?articleID=0004814410D2-1C70-84A9809EC588EF21&catID=2>. Acesso em 04/12/2003. (Bzivin, 1998) BZIVIN, Jean. Whos Afraid of Ontologies? Disponvel em: <http://www.metamodel.com/oopsla98-cdif-workshop/bezivin1/>. Acesso em 04/12/2003. (Bortz, 1997) BORST, W. N. Construction of engineering ontologies. In: University of Twente: Enschede, 1997. (Carneiro, 2003) CARNEIRO, Mrcio Rodrigo de Freitas. Ontologias, Web Semntica e Aplicaes. Junho de 2003. Monografia apresentada ao IME-USP (Instituto de Matemtica e Estatstica da Universidade de So Paulo). Disponvel em <www.ime.usp.br/~yoshi/2003i/mac5701 /Relatorios/Marcio.monografia.Carneiro.pdf>. 04/12/2003. (DAML, 2003) THE DARPA AGENT MARKUP LANGUAGE HOMEPAGE. Junho Acesso em:

74

de 2003. Disponvel em <http://www.daml.org>. Acesso em: 04/12/2003. (DAML+OIL, 2001) DAML+OIL (MARCH 2001) REFERENCE DESCRIPTION. Dezembro de 2001. Disponvel em: <http://www.w3.org/TR/daml+oil-reference>. Acesso em: 04/12/2003. (Duineveld, 1999) DUINEVELD, A. STOTER, R., WEIDEN, M. KENEPA, B., BENJAMINS, R. Wondertools? A comparative study of ontological engineering tools. In: Proceedings of the 12th Workshop on Knowledge Acquisition, Modeling and Management (KAW99). Banff: Canad, Outubro de 1999. (FOOD, 2003) OWL WEB ONTOLOGY LANGUAGE - GUIDE. Disponvel em: <http://www.w3.org/TR/2003/CR-owl-guide-20030818/food.rdf>. Acesso em 24/11/2003. (Gmez-Prez, 1999) GMEZ-PREZ, A. BENJAMINS, V. R. Overview of knowledge sharing and reuse components: Ontologies and problem-solving methods. In: International Joint Conference on Artificial Intelligence(IJCAI-99),Workshop on Ontologies and ProblemSolving Methods (KRR5), V.R. Benjamins, et al., Editors. Stockolm, Sweden, 1999. (Grubber, 1999) GRUBBER, T. What is an Ontology?. Disponvel em: <http://wwwksl.stanford.edu/kst/what-is-an-ontology.html>. Acesso em 04/12/2003. (Guarino, 1998) GUARINO, N. Formal Ontology and Information Systems. In: Formal Ontology in Information Systems (FOIS98). Trento, Itlia, 1998. (HTML, 2003) HYPERTEXT MARKUP LANGUAGE (HTML). Maio de 2003. Disponvel 04/12/2003. (Lustosa, 2003) LUSTOSA, Pollyane de Almeida. Estudo e documentao dos em: <http://www.w3.org/MarkUp/>. Acesso em:

75

conceitos, linguagens e ferramentas relacionadas a Ontologia. Relatrio de Estgio. Curso de Bacharel em Sistemas de Informao. Centro Universitrio Luterano de Palmas CEULP/ULBRA, Palmas, 2003. (Moura, 2001) MOURA, Ana Maria de C. A Web Semntica: fundamentos e tecnologias. Rio de Janeiro: Instituto Militar de Engenharia, Set. 2001. Disponvel em: <http://www.udabol.edu.bo/biblioteca/ congresos/cicc/cicc2001/datos/Tutoriales/Tutorial4/T4.pdf>. Acesso em 04/12/2003. (Namespaces, 2003) NAMESPACES IN XML 1.1. Novembro de 2003. Disponvel em: < http://www.w3.org/TR/xml-names11/>. Acesso em: 04/12/2003. (Novello, 2002) NOVELLO, Taisa Carla. Ontologias, Sistemas baseados em conhecimento e modelos de banco de dados. 2002. Disponvel em: <http://www.inf.ufrgs.br/~clesio/cmp151/cmp15120021/artigo_taisa. pdf>. Acesso em: 04/12/2003. (OIL, 2000) DESCRIPTION OF OIL. Disponvel em:

http://www.ontoknowledge.org/oil>. Acesso em: 04/12/2003. (OILEd, 2003) OILED. Fevereiro de 2003. Disponvel em:

<http://oiled.man.ac.uk/download.shtml>. Acesso em: 04/12/2003. (OntoEdit, 2003) ONTOEDIT DESIGNING THE SEMANTIC WEB. Disponvel em: <http://www.ontoprise.de/products/ontoedit>. 04/12/2003. (Ontology, 2003) ONTOLOGY DEVELOPMENT 101: A GUIDE TO CREATING YOUR FIRST ONTOLOGY. Stanford University. (OWL, 2003) OWL WEB ONTOLOGY LANGUAGE GUIDE. Agosto de 2003. Disponvel em: <http://www.w3.org/TR/2003/CR-owl-guideAcesso em:

20030818/>. Acesso em: 04/12/2003.

76

(OWL, 2003b)

OWL WEB ONTOLOGY LANGUAGE REFERENCE. Agosto de 2003. Disponvel em: <http://www.w3.org/TR/owl-ref>. Acesso em: 04/12/2003.

(OWL, 2003c)

OWL WEB ONTOLOGY LANGUAGE. Disponvel em: <http://www.xfront.com/owl/>. Acesso em: 04/12/2003.

(Protg, 2003)

PROTG.

Junho

de

2003.

Disponvel

em:

<http://protege.stanford.edu>. Acesso em: 04/12/2003. (Protg, 2003b) PROTG. Outubro de 2003. Disponvel em:

<http://protege.stanford.edu/plugins/owl/download/Protege-OWLTutorial-ISWC03.pdf>. Acesso em: 04/12/2003. (RDF, 2000) RESOURCE DESCRIPTION FRAMEWORK (RDF) SCHEMA SPECIFICATION 1.0. Maro de 2000. Disponvel em:

<http://www.w3.org/TR/2000/CR-rdf-schema-20000327>. em 04/12/2003. (RDFS, 2003)

Acesso

RDF VOCABULARY DESCRIPTION LANGUAGE 1.0: RDF SCHEMA. 2003. Disponvel em: <http://www.w3.org/TR/rdf-

schema/>. Acesso em 04/12/2003. (SHOE, 2000) SHOE 1.01 PROPOSED SPECIFICATION. Abril de 2000. Disponvel <http://www.cs.umd.edu/projects/plus/SHOE/spec.html>. em: 04/12/2003. (Studer, 1998) STUDER, R., V.R. BENJAMINS, and D. FENSEL, Knowledge engineering: principles and methods, In: Data & Knowledge Engineering. Amsterdam, 1998. (SW, 2001) SEMANTIC WEB. 2001. Disponvel em: em: Acesso

<http://www.w3.org/2001/sw>. Acesso em 04/12/2003.

77

(W3C, 2003)

WORLD

WIDE

WEB

CONSORTIUM.

Disponvel

em:

<http://www.w3.org>. Acesso em 04/12/2003. (WINE, 2003) OWL WEB ONTOLOGY LANGUAGE - GUIDE. Disponvel em: <http://www.w3.org/TR/2003/CR-owl-guide-20030818/wine.rdf>. Acesso em 24/11/2003. (XML, 2003) EXTENSIBLE MARKUP LANGUAGE. 2003. Disponvel em: <http://www.w3.org/XML/>. Acesso em 04/12/2003. (XOL, 1999) XOL ONTOLOGY EXCHANGE LANGUAGE. Agosto de 1999. Disponvel em: <http://www.ai.sri.com/pkarp/xol/xol.html>. Acesso em: 04/12/2003.

78

ANEXOS

79

Anexo 1 1. Cdigo OWL da Ontologia modelada


<rdf:RDF xmlns="http://owl.protege.stanford.edu#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#"> <owl:Ontology rdf:about=""/> <owl:Class rdf:ID="Professor"> <rdfs:subClassOf> <owl:Class rdf:about="#Funcionario"/> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="Turma"/> <owl:Class rdf:ID="Disciplina"/> <owl:Class rdf:ID="CursoDisciplina"/> <owl:Class rdf:ID="Curso"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty> <owl:ObjectProperty rdf:about="#possuiProfessor"/> </owl:onProperty> <owl:allValuesFrom rdf:resource="#Professor"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty> <owl:ObjectProperty rdf:about="#possuiMatrizCurricular"/> </owl:onProperty> <owl:allValuesFrom> <owl:Class rdf:ID="MatrizCurricular"/> </owl:allValuesFrom> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="PlanoEnsino"> <rdfs:comment>Plano de Ensino referente a uma disciplina</rdfs:comment> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty> <owl:ObjectProperty rdf:about="#bibliografiaBasica"/> </owl:onProperty> <owl:someValuesFrom> <owl:Class rdf:ID="Livro"/> </owl:someValuesFrom> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty> <owl:ObjectProperty rdf:about="#bibliografiaComplementar"/> </owl:onProperty> <owl:someValuesFrom rdf:resource="#Livro"/> </owl:Restriction>

80 </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="FuncionarioProfessor"> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Funcionario" /> <owl:Restriction> <owl:onProperty rdf:resource="#possuiCargo" /> <owl:hasValue rdf:resource="#Professor" /> </owl:Restriction> </owl:intersectionOf> </owl:Class> <owl:Class rdf:ID="NaoFuncionarioProfessor"> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Funcionario"/> <owl:Class> <owl:complementOf> <owl:Restriction> <owl:onProperty rdf:resource="#possuiCargo" /> <owl:hasValue rdf:resource="#Professor" /> </owl:Restriction> </owl:complementOf> </owl:Class> </owl:intersectionOf> </owl:Class> <owl:Class rdf:ID="Funcionario"> <rdfs:subClassOf> <owl:Class rdf:ID="Pessoa"/> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty> <owl:ObjectProperty rdf:about="#possuiCargo"/> </owl:onProperty> <owl:allValuesFrom> <owl:Class rdf:ID="Cargo"/> </owl:allValuesFrom> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="Departamento"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty> <owl:ObjectProperty rdf:about="#possuiCurso"/> </owl:onProperty> <owl:allValuesFrom rdf:resource="#Curso"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty> <owl:ObjectProperty rdf:about="#possuiFuncionario"/> </owl:onProperty> <owl:allValuesFrom rdf:resource="#Funcionario"/> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:ObjectProperty rdf:ID="credito"/>

81 <owl:ObjectProperty rdf:ID="possuiDisciplina"> <rdfs:domain rdf:resource="#CursoDisciplina"/> <rdfs:range rdf:resource="#Disciplina"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="constaEm"/> <owl:ObjectProperty rdf:ID="bibliografiaComplementar"> <rdfs:domain rdf:resource="#PlanoEnsino"/> <rdfs:range rdf:resource="#Livro"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="ministraTurma"> <owl:inverseOf> <owl:ObjectProperty rdf:about="#ministradaPor"/> </owl:inverseOf> <rdfs:range rdf:resource="#Turma"/> <rdfs:domain rdf:resource="#Professor"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="pertenceAoDpto"> <owl:inverseOf> <owl:ObjectProperty rdf:about="#possuiCurso"/> </owl:inverseOf> <rdfs:domain rdf:resource="#Curso"/> <rdfs:range rdf:resource="#Departamento"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="recomendadoAoPlanoEnsino"> <rdfs:range rdf:resource="#PlanoEnsino"/> <rdfs:domain rdf:resource="#Livro"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="preRequisito"> <rdfs:domain rdf:resource="#CursoDisciplina"/> <rdfs:range rdf:resource="#CursoDisciplina"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="possuiPlanoEnsino"> <owl:inverseOf> <owl:ObjectProperty rdf:about="#pertenceDisciplina"/> </owl:inverseOf> <rdfs:range rdf:resource="#PlanoEnsino"/> <rdfs:domain rdf:resource="#Disciplina"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="bibliografiaBasica"> <rdfs:domain rdf:resource="#PlanoEnsino"/> <rdfs:range rdf:resource="#Livro"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="ministradaPor"> <owl:inverseOf rdf:resource="#ministraTurma"/> <rdfs:domain rdf:resource="#Turma"/> <rdfs:range rdf:resource="#Professor"/> <rdfs:comment>Propriedade de relacionamento entre Turma e Professor</rdfs:comment> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="pertenceTurma"> <owl:inverseOf> <owl:ObjectProperty rdf:about="#possuiCursoDisciplina"/> </owl:inverseOf> <rdfs:domain rdf:resource="#CursoDisciplina"/> <rdfs:range rdf:resource="#Turma"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="possuiCargo"> <owl:inverseOf>

82 <owl:ObjectProperty rdf:about="#possuiFuncionario"/> </owl:inverseOf> <rdfs:domain rdf:resource="#Funcionario"/> <rdfs:range rdf:resource="#Cargo"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="possuiCurso"> <owl:inverseOf rdf:resource="#pertenceAoDpto"/> <rdfs:range rdf:resource="#Curso"/> <rdfs:domain rdf:resource="#Departamento"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="possuiProfessor"> <rdfs:domain rdf:resource="#Curso"/> <rdfs:range rdf:resource="#Professor"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="possuiFuncionario"> <owl:inverseOf rdf:resource="#possuiCargo"/> <rdfs:domain rdf:resource="#Departamento"/> <rdfs:range rdf:resource="#Funcionario"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="possuiCursoDisciplina"> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Turma"/> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Turma"/> <owl:Class rdf:about="#MatrizCurricular"/> </owl:unionOf> </owl:Class> <owl:Class rdf:about="#MatrizCurricular"/> </owl:unionOf> </owl:Class> </rdfs:domain> <owl:inverseOf rdf:resource="#pertenceTurma"/> <rdfs:range rdf:resource="#CursoDisciplina"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="pertenceMatrizCurricular"> <owl:inverseOf rdf:resource="#possuiCursoDisciplina"/> <rdfs:domain rdf:resource="#CursoDisciplina"/> <rdfs:range rdf:resource="#MatrizCurricular"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="possuiMatrizCurricular"> <owl:inverseOf> <owl:ObjectProperty rdf:about="#pertenceAoCurso"/> </owl:inverseOf> <rdfs:domain rdf:resource="#Curso"/> <rdfs:range rdf:resource="#MatrizCurricular"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="pertenceAoCurso"> <owl:inverseOf rdf:resource="#possuiMatrizCurricular"/> <rdfs:range rdf:resource="#Curso"/> <rdfs:domain rdf:resource="#MatrizCurricular"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="pertenceDisciplina"> <owl:inverseOf rdf:resource="#possuiPlanoEnsino"/> <rdfs:domain rdf:resource="#PlanoEnsino"/> <rdfs:range rdf:resource="#Disciplina"/>

83 </owl:ObjectProperty> <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#ObjectProperty"/> <rdfs:domain rdf:resource="#Pessoa"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="sala"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#int"/> <rdfs:domain rdf:resource="#Turma"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="anoEdicao"> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:domain rdf:resource="#Livro"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="autor"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> <rdfs:domain rdf:resource="#Livro"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="vagas"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#int"/> <rdfs:domain rdf:resource="#Turma"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="avaliacao"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> <rdfs:domain rdf:resource="#PlanoEnsino"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="descricao"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Cargo"/> <owl:Class rdf:about="#MatrizCurricular"/> </owl:unionOf> </owl:Class> <owl:Class rdf:about="#MatrizCurricular"/> <owl:Class rdf:about="#Cargo"/> </owl:unionOf> </owl:Class> </rdfs:domain>

84 </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="semestre"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#int"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Turma"/> <owl:Class rdf:about="#MatrizCurricular"/> </owl:unionOf> </owl:Class> <owl:Class rdf:about="#Turma"/> <owl:Class rdf:about="#MatrizCurricular"/> </owl:unionOf> </owl:Class> </rdfs:domain> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="horario"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> <rdfs:domain rdf:resource="#Turma"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="agencia"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> <rdfs:domain rdf:resource="#Funcionario"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> <rdfs:comment>Agncia Bancria</rdfs:comment> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="volume"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#int"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> <rdfs:domain rdf:resource="#Livro"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="programa"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> <rdfs:domain rdf:resource="#PlanoEnsino"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="mercadoTrabalho"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> <rdfs:domain rdf:resource="#Curso"/>

85 </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="dataNascimento"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:domain rdf:resource="#Pessoa"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="titulo"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> <rdfs:domain rdf:resource="#Livro"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="periodo"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#int"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> <rdfs:domain rdf:resource="#CursoDisciplina"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="ano"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#int"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Turma"/> <owl:Class rdf:about="#MatrizCurricular"/> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Turma"/> <owl:Class rdf:about="#MatrizCurricular"/> </owl:unionOf> </owl:Class> </owl:unionOf> </owl:Class> </rdfs:domain> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="perfilProfissional"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> <rdfs:domain rdf:resource="#Curso"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="remuneracaoSalarial"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> <rdfs:domain rdf:resource="#Funcionario"/>

86 <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="horaAula"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#int"/> <rdfs:domain rdf:resource="#CursoDisciplina"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="editora"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> <rdfs:domain rdf:resource="#Livro"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="ISBN"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> <rdfs:domain rdf:resource="#Livro"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProper ty"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="email"> <rdfs:domain rdf:resource="#Pessoa"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="sigla"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="ementa"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> <rdfs:domain rdf:resource="#PlanoEnsino"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="objetivoDisciplina"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> <rdfs:domain rdf:resource="#PlanoEnsino"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="nome"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Disciplina"/> <owl:Class rdf:about="#Cargo"/>

87 <owl:Class rdf:about="#Departamento"/> <owl:Class rdf:about="#Curso"/> </owl:unionOf> </owl:Class> </rdfs:domain> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="tipo"> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#CursoDisciplina"/> <owl:Class rdf:about="#Curso"/> </owl:unionOf> </owl:Class> <owl:Class rdf:about="#CursoDisciplina"/> <owl:Class rdf:about="#Curso"/> </owl:unionOf> </owl:Class> </rdfs:domain> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="objetivo"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> <rdfs:domain rdf:resource="#Curso"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="metodologia"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> <rdfs:domain rdf:resource="#PlanoEnsino"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="diferencial"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> <rdfs:domain rdf:resource="#Curso"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="conta"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> <rdfs:domain rdf:resource="#Funcionario"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="matricula">

88 <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#int"/> <rdfs:domain rdf:resource="#Funcionario"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="codigo"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#int"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> <rdfs:domain> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Disciplina"/> <owl:Class rdf:about="#Cargo"/> <owl:Class rdf:about="#PlanoEnsino"/> </owl:unionOf> </owl:Class> <owl:Class rdf:about="#Departamento"/> <owl:Class rdf:about="#Cargo"/> <owl:Class rdf:about="#Disciplina"/> <owl:Class rdf:about="#MatrizCurricular"/> <owl:Class rdf:about="#PlanoEnsino"/> </owl:unionOf> </owl:Class> </rdfs:domain> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProper ty"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="orgaoEmissor"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> <rdfs:domain rdf:resource="#Pessoa"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="creditos"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#int"/> <rdfs:domain rdf:resource="#CursoDisciplina"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="numero"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#int"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> <rdfs:domain rdf:resource="#Turma"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="CPF"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:domain rdf:resource="#Pessoa"/>

89 <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="RG"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:domain rdf:resource="#Pessoa"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="telefone"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> <rdfs:domain rdf:resource="#Pessoa"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="localEdicao"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> <rdfs:domain rdf:resource="#Livro"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="cargaHoraria"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#int"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> <rdfs:domain rdf:resource="#Professor"/> </owl:DatatypeProperty> <owl:FunctionalProperty rdf:ID="objetivoCurso"> <rdfs:domain rdf:resource="#PlanoEnsino"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> </owl:FunctionalProperty> <owl:FunctionalProperty rdf:ID="nomePessoa"> <rdfs:domain rdf:resource="#Pessoa"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> </owl:FunctionalProperty> <Disciplina rdf:ID="BD3"> <nome>Banco de Dados 3</nome> <codigo>1</codigo> <possuiPlanoEnsino> <PlanoEnsino rdf:ID="PlanoEnsino1"> <objetivoCurso>O Curso de Bacharelado em Sistemas de Informao prope-se a fornecer uma noo abrangente das reas relacionadas s cincias da computao, acrescentado de uma formao que permita ao aluno gerir, administrar e, principalmente, criar empresas ou atividades de cunho comrcio-empresarial que se utilizam destas cincias.</objetivoCurso> <codigo>1</codigo> <avaliacao>G1: 7,0 e G2: 7,0, Trabalhos: 3,0</avaliacao>

90 <objetivoDisciplina>Transmitir ao aluno conhecimentos bsicos de Dados Semi-Estruturados; Introduzir o aluno linguagem XML, apresentando formas de estruturao, armazenamento e acesso aos dados; capacitar o aluno para o desenvolvimento de aplicaes XML. </objetivoDisciplina> <ementa>Conceitos de Banco de Dados e Sistema de Gerncia de Banco de Dados; introduo a dados semi-estruturados; noes de XML; linguagens de consulta e esquemas para dados semiestruturados; apresentao de produtos comerciais (Tamino, Lore, etc). Desenvolvimento de aplicaes com bancos de dados semiestruturados. </ementa> <programa>1. Conceitos de Banco de Dados e Sistema de Gerncia de Banco de Dados 2. Introduo a dados semi-estruturados 3. Noes de XML 4. Esquemas para dados XML 4. Linguagens de consulta 5. Apresentao de produtos comerciais (Tamino, Lore, etc) 6. Construo de aplicaes com bancos de dados XML. </programa> <metodologia>Aulas Expositivas, Trabalhos em Grupo ExtraClasse e Aulas Prticas em Laboratrio </metodologia> </PlanoEnsino> </possuiPlanoEnsino> </Disciplina> <Turma rdf:ID="Portal_Individual_2"> <ano>2003</ano> <semestre>2</semestre> <sala>201</sala> <vagas>30</vagas> <horario>3.1</horario> <ministradaPor> <Professor rdf:ID="Professor1"> <agencia>1000-0</agencia> <conta>19000-0</conta> <CPF>123456789-00</CPF> <dataNascimento>27/04/1970</dataNascimento> <nomePessoa>Mariana Vasconcelos</nomePessoa> <orgaoEmissor>SSP-TO</orgaoEmissor> <RG>666.333</RG> <email>mariana@universidade.br</email> <endereco>206 Sul</endereco> <telefone>212-0000</telefone> <matricula>12345</matricula> <remuneracaoSalarial>15000.0</remuneracaoSalarial> <cargaHoraria>100</cargaHoraria> </Professor> </ministradaPor> <numero>201</numero> </Turma> <Livro rdf:ID="Ontologias"> <titulo>Ontologias</titulo> <anoEdicao>2003</anoEdicao> <editora>Ulbra</editora> <ISBN>1245</ISBN> <localEdicao>Palmas</localEdicao> <autor>Deise Saccol</autor> <volume>1</volume> <recomendadoAoPlanoEnsino rdf:resource="#PlanoEnsino1"/> </Livro> <Cargo rdf:ID="auxiliarBiblioteca"> <nome>auxiliarBiblioteca</nome> <descricao>Auxiliar na Biblioteca</descricao>

91 <codigo>2</codigo> </Cargo> <CursoDisciplina rdf:ID="SI_BD3"> <horaAula>60</horaAula> <creditos>4</creditos> <tipo>opcional</tipo> <tipo>SimpleInstance(SI_Contabilidade of Cls(CursoDisciplina))</tipo> <periodo>6</periodo> <pertenceTurma rdf:resource="#Portal_Individual_2"/> <possuiDisciplina rdf:resource="#BD3"/> <pertenceMatrizCurricular> <MatrizCurricular rdf:ID="MC1"> <ano>2003</ano> <semestre>2</semestre> <codigo>1</codigo> <descricao>Matriz Curriciular para o curso de Sistemas de Informacao</descricao> </MatrizCurricular> </pertenceMatrizCurricular> </CursoDisciplina> <Cargo rdf:ID="assistenteAdminsitrativo"> <nome>assistenteAdministrativo</nome> <codigo>1</codigo> <descricao>Auxiliar na Administracao</descricao> </Cargo> <Curso rdf:ID="CursoSI"> <nome>Sistemas de Informacao</nome> <perfilProfissional>O profissional de Sistemas de Informao preparado para investigar conceitos e tcnicas de informtica, contribuindo na soluo de problemas de tratamento de informaes nas organizaes. Ele tambm capaz de desenvolver sistemas de informao em concordncia com as estruturas organizacionais e com nfase em informtica e sua aplicao, alm de contribuir para o desenvolvimento cientfico e tecnolgico da rea de Sistemas de Informao. O curso do CEULP/ULBRA forma profissionais empreendedores, capazes de projetar, implantar e gerenciar a infraestrutura da tecnologia de informao, envolvendo computadores, comunicao de dados em sistemas organizacionais. </perfilProfissional> <mercadoTrabalho>O mercado de trabalho para o bacharel em Sistemas de Informao bastante promissor. De uma maneira geral, este profissional capaz de desempenhar funes como projetista de software, consultor de tecnologia e cargos de gerncia em centros de informtica. So, tambm, candidatos potenciais aos cursos de ps-graduao responsveis pelo desenvolvimento cientfico da rea de Informtica e Computao. </mercadoTrabalho> <diferencial>O curso trabalha, conjuntamente, o ensino, a pesquisa e a extenso. Dessa forma, as aes realizadas por professores, alunos e demais colaboradores objetivam: intensificar a vida universitria atravs de seminrios e grupos de estudos, desenvolvendo tpicos extra-curriculares; - preparar os alunos para a ps-graduao ou para especializao em novas tecnologias, estimulando sua participao em congressos cientficos; - desenvolver a linguagem escrita e oral atravs de exposies e seminrios; - inserir os alunos em atividades de desenvolvimento de software, oferecimento de consultoria, planejamento e organizao de redes, entre outras; - estabelecer vnculos de contato com a comunidade empresarial, utilizando o conhecimento especfico do aluno para suprir necessidades em

92 relao ao trabalho prtico; - desenvolver habilidades empreendedoras de carter empresarial, incentivando o surgimento de novas idias, sempre com esprito crtico e inovador. </diferencial> <tipo>Graduacao</tipo> <objetivo>O Curso de Bacharelado em Sistemas de Informao prope-se a fornecer uma noo abrangente das reas relacionadas s cincias da computao, acrescentado de uma formao que permita ao aluno gerir, administrar e, principalmente, criar empresas ou atividades de cunho comrcio-empresarial que se utilizam destas cincias. </objetivo> <possuiProfessor rdf:resource="#Professor1"/> <possuiMatrizCurricular rdf:resource="#MC1"/> </Curso> </rdf:RDF>

You might also like