POLLYANE DE ALMEIDA LUSTOSA

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

Download "POLLYANE DE ALMEIDA LUSTOSA"

Transcrição

1 POLLYANE DE ALMEIDA LUSTOSA OWL e Protégé: estudo e aplicação de conceitos para exemplificação da definição da camada de esquema da Web Semântica em um determinado domínio Palmas 2003

2 2 POLLYANE DE ALMEIDA LUSTOSA OWL e Protégé: estudo e aplicação de conceitos para exemplificação da definição da camada de esquema da Web Semântica em um determinado domínio Monografia apresentada como requisito parcial para a obtenção do grau de Bacharel em Sistemas de Informação, orientada pela Profª. M.Sc. Parcilene Fernandes de Brito e co-orientada pelo Prof. M.Sc. Fabiano Fagundes. Palmas 2003

3 3 POLLYANE DE ALMEIDA LUSTOSA OWL e Protégé: estudo e aplicação de conceitos para exemplificação da definição da camada de esquema da Web Semântica em um determinado domínio Monografia apresentada como requisito parcial para a obtenção do grau de Bacharel em Sistemas de Informação, 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 Universitário Luterano de Palmas Prof. M.Sc. Fabiano Fagundes Centro Universitário Luterano de Palmas Profª. M.Sc. Deise de Brum Saccol Centro Universitário Luterano de Palmas Palmas 2003

4 4 AGRADECIMENTOS A conclusão de um trabalho de grande relevância é mais um passo dado em direção ao desenvolvimento pessoal. Aprimorar nossa criatividade é querer buscar sempre mais, é procurar e criar novas oportunidades, enfrentando com destreza os desafios que freqüentemente insistem em aparecer. Ao concluir este trabalho de conclusão de curso, tenho imensa vontade de expressar minha gratidão 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, agradeço a Deus, meu Senhor, que me deu a sabedoria e vontade para buscar e enfrentar novos caminhos, por mais difíceis que tenham parecido ser e nunca ter me deixado desistir no meio deles. Obrigada, Senhor, pela oportunidade de concluir um curso de graduação. Agradeço a meus amados pais, José e Nilda, um casal fantástico que tem me fornecido muito carinho, compreensão e apoio para que eu busque minha felicidade. Por mais que eu procure por belas palavras para expressar toda minha admiração e amor, não seriam suficientes para agradecerem por terem me ensinado, muito bem, a viver. Aos senhores, meus votos de agradecimento por todo acompanhamento durante essa trajetória. São meus bens mais preciosos, juntamente com minhas irmãs, Christiane e Elaine, a quem também dedico este momento de realização, reconhecendo nossa união, mútuo respeito e compreensão. 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 família. Agradeço a todos os professores que participaram de minha formação até o meu estágio atual, e ainda aos que virão, pois não 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 admiração por vocês! A todos meus amigos, os quais muitos não sabem o quanto são especiais para mim, pelo incentivo e pelos muitos boa sorte! recebidos. A todos que participaram comigo dessa correria, sufoco, troca de experiências e pelos bons momentos de risadas. Muito obrigada!

5 5 SUMÁRIO LISTA DE FIGURAS...7 LISTA DE TABELAS INTRODUÇÃO REVISÃO DE LITERATURA Web Semântica Definição Arquitetura Ontologia Linguagens e Ferramentas para a criação de Ontologias RDF (Resource Description Framework) RDF Schema DAML + OIL OWL (Web Ontology Language) Estrutura da Ontologia OWL Namespaces Cabeçalho OWL Classes Subclasses Propriedades Classes Complexas Protégé Considerações Finais MATERIAIS E MÉTODOS Local e Período Materiais Hardware Software Fontes Bibliográficas Metodologia RESULTADOS E DISCUSSÃO Definição da Ontologia Protégé Plugin OWL Modelagem da Ontologia Definição das Classes Definição das Propriedades Definição de Classes Complexas Instanciação da Ontologia Considerações Finais CONSIDERAÇÕES FINAIS...71

6 6 REFERÊNCIAS BIBLIOGRÁFICAS...73 ANEXOS

7 7 LISTA DE FIGURAS Figura 1 - Representação das tecnologias de apoio ao desenvolvimento da Web Semântica Figura 2 - Arquitetura proposta para a Web Semântica Figura 3 - Exemplo de declaração RDF Figura 4 - Exemplo de código RDF Figura 5 - Representação de classes e recursos Figura 6 - Exemplo de Código RDFS Figura 7 - Exemplo (parcial) de uma ontologia DAML+OIL Figura 8 - Origem da OWL Figura 9 - Exemplo (parcial) dos elementos da OWL Figura 10 - Declaração de namespaces OWL Figura 11 - Exemplo de cabeçalho OWL Figura 12 - Exemplo de representação da classe owl:thing Figura 13 - Declaração de classes OWL Figura 14 - Declaração de subclasses OWL Figura 15 - Declaração de indivíduo OWL (1) Figura 16 - Declaração de indivíduo OWL (2) Figura 17 - Declaração de propriedade utilizando owl:objectproperty Figura 18 - Declaração de propriedade utilizando owl:datatypeproperty Figura 19 - Hierarquia das caracaterísticas de propriedades OWL Figura 20 - Exemplo de representação de transitividade Figura 21 - Sintaxe para declaração de propriedade transitiva (1) Figura 22 - Sintaxe para declaração de propriedade transitiva (2) Figura 23 - Sintaxe para declaração de propriedade simétrica Figura 24 - Sintaxe para declaração de propriedade funcional Figura 25 - Sintaxe para declaração de propriedade inversa Figura 26 - Representação da propriedade inversa Figura 27 - Sintaxe para declaração de propriedade funcional inversa Figura 28 - Sintaxe para declaração de cardinalidade sobre uma propriedade Figura 29 - Sintaxe para declaração de cardinalidade máxima e mínima Figura 30 - Sintaxe para restrição de propriedade utilizando owl:allvaluesfrom Figura 31 - Sintaxe para restrição de propriedade utilizando owl:somevaluesfrom Figura 32 - Sintaxe para restrição de propriedade utilizando owl:hasvalue Figura 33 - Sintaxe para utilização do elemento intersectionof Figura 34 - Representação da Intersecção Figura 35 - Sintaxe para utilização do elemento unionof Figura 36 - Representação da União Figura 37 - Sintaxe para utilização do elemento complementof Figura 38 - Representação do Complemento Figura 39 - Sintaxe para utilização do elemento oneof Figura 40 - Sintaxe para utilização do elemento disjointwith Figura 41 - Representação da Disjunção Figura 42 - Sintaxe para utilização do elemento equivalentclass Figura 43 - Interface da Protégé Figura 44 - Interface Protégé do módulo de manipulação de classes Figura 45 - Interface Protégé do módulo de manipulação de slots... 61

8 Figura 46 - Modelo da ontologia definida Figura 47 - Definição de Classes no Protégé Figura 48 - Declaração de Classes e Subclasses Figura 49 - Definição de Slots no Protégé Figura 50 - Exemplo de utilização da característica inverseof Figura 51 - Exemplo de propriedade funcional Figura 52 - Exemplo de utilização da característica InverseFunctionalProperty e FunctionalProperty Figura 53 - Exemplo de utilização da característica InverseFunctionalProperty Figura 54 Exemplo de utilização da restrição allvaluesfrom Figura 55 - Exemplo de utilização de unionof Figura 56 - Exemplo de utilização de intersectionof Figura 57 - Exemplo de utilização de complementof Figura 58 - Formulário para declaração de instâncias Figura 59 - Declaração de indivíduos

9 9 LISTA DE TABELAS Tabela 1 - Elementos DAML+OIL Tabela 2 - Diferença entre subclassof e equivalentclass... 53

10 10 RESUMO A Web Semântica é uma visão para o futuro da Web em que informações serão dadas explicitamente com seus significados, fazendo com que seja mais fácil para as máquinas processarem automaticamente e integrarem estas informações disponíveis na Web. A construção da Web Semântica envolverá a capacidade do XML (extensible Markup Language) em definir esquemas (estruturas) e a flexibilidade do RDF (Resource Definition Framework) em representar dados. O próximo elemento requerido para a Web Semântica é uma linguagem para ontologias, a qual possa descrever formalmente a semântica de classes e propriedades utilizadas em documentos Web. Neste contexto, diversas linguagens para definição e manipulação de ontologias vêm sendo desenvolvidas. Entre elas, uma de grande expressão é a OWL (Web Ontology Language). A OWL foi apresentada como uma candidata a recomendação da W3C em 18 de agosto de 2003 e está sendo desenvolvida pelo Web Ontology Working Group como parte do projeto da Web Semântica da W3C. O presente trabalho tem a finalidade de expor conceitos envolvendo a Web Semântica e Ontologias, bem como apresentar os principais elementos da OWL para definição de uma ontologia, demonstrando sua utilização em um domínio de um módulo para portais Web de universidades. Palavras-chaves: Web Semântica, Ontologia, OWL, Protégé.

11 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, Protégé.

12 11 1 INTRODUÇÃO A Web Semântica é uma visão para o futuro da Web em que informações serão dadas explicitamente com seus significados, fazendo com que seja mais fácil para as máquinas processarem automaticamente e integrarem estas informações disponíveis na Web. A construção da Web Semântica 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 próximo elemento requerido para a Web Semântica é uma linguagem para ontologias, a qual possa descrever formalmente a semântica das informações utilizadas em documentos Web. Para que as máquinas possam realizar um processamento significativo sobre estes documentos, esta linguagem deve superar a semântica básica oferecida pelo RDF Schema [Resource Definition Framework Schema] (OWL, 2003). Para um melhor esclarecimento, reserva-se esse parágrafo para explicitação dos termos sintaxe e semântica que tanto serão 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 através da precedência de uma barra (/). Consta ainda que as tags devem vir entre os símbolos "<" e ">": <nome> Pollyane </nome> A semântica representa o significado dos dados. E para que esse significado possa ser compreendido pela máquina, é necessário uma detalhada e complexa descrição da representação desses dados através de suas propriedades, conceitos e relacionamentos. A

13 partir disso, vem a necessidade do estudo envolvendo o contexto de ontologias, de forma a se obter um vocabulário padrão para as definições semânticas. 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 são utilizadas por pessoas, bases de dados e aplicações que precisam compartilhar informações de um domínio. A palavra ontologia está sendo utilizada para descrever artefatos com diferentes níveis de estruturas. Estes variam de simples taxonomias (classificação de palavras) a esquemas de metadados. A Web Semântica necessita de ontologias que especifiquem descrições para os seguintes tipos de conceitos (OWL, 2003): - classes de domínios de interesse; - relacionamentos que possam existir entre essas classes; - propriedades (ou atributos) que as classes podem ter. As ontologias se destacam com relevância na emergente Web Semântica como uma forma de representação da semântica de documentos, de forma a permitir que essa semântica seja utilizada por aplicações Web e agentes inteligentes. Com a utilização de ontologias, as aplicações podem tornar-se mais inteligentes, no sentido em que poderão trabalhar mais no nível conceitual humano (OWL, 2003). As ontologias podem ser úteis à comunidade como uma maneira de estruturar e definir os significados dos metadados que estão sendo coletados e padronizados, provendo serviços mais avançados como buscas mais exatas na Web, agentes inteligentes de software e gerenciamento do conhecimento através de ferramentas automatizadas. Ontologias são pontos críticos para aplicações que querem procurar ou compartilhar informações de diversas comunidades, pois definem formalmente um conjunto de termos que é utilizado para descrever e representar um domínio. Ocorre que um mesmo termo pode ser usado com significado diferente em contextos diferentes e termos diferentes podem ser usados para itens que têm o mesmo significado. O RDF e RDF Schema começam a solucionar este problema permitindo que uma semântica simples seja associada com os termos. Com o RDF Schema, pode-se definir classes que possuem superclasses e várias subclasses, propriedades que podem ter subpropriedades e domínios. Neste sentido, o RDF Schema é uma linguagem simples para definição de ontologias. Entretanto, a fim de se obter interoperabilidade entre os diversos esquemas desenvolvidos de forma autônoma, declarações mais ricas de semânticas são necessárias (OWL, 2003). Por exemplo, o RDF 12

14 Schema não pode especificar que as classes móveis e médicos são distintas, ou que uma string soneto se refere a um poema composto exatamente de quatorze versos, pelo fato de não possuir, em sua sintaxe, propriedades que viabilizem tal inferência. Neste contexto, diversas linguagens para definição e manipulação de ontologias vêm sendo desenvolvidas. Entre elas, uma de grande expressão é a OWL (Web Ontology Language). A OWL foi apresentada como uma candidata a recomendação da W3C em 18 de agosto de 2003 e está sendo desenvolvida pelo Web Ontology Working Group como parte do projeto da Web Semântica da W3C. A OWL habilita a máquina a compreender o dado, ou seja, ela oferece a capacidade de processamento semântico pela máquina, através de sua potencialidade em descrever os relacionamentos e propriedades entre os conceitos de um domínio. Dessa maneira tem-se a seguinte representação das tecnologias de apoio à Web Semântica (OWL, 2003c): 13 Figura 1 Representação das tecnologias de apoio ao desenvolvimento da Web Semântica (OWL, 2003c) XML: fornece uma sintaxe superficial para estruturar os documentos, mas não dispõe, completamente, de uma semântica aos mesmos. XML Schema: é uma linguagem para definir restrições relacionadas às estruturas dos documentos XML. RDF: é um modelo de dados para objetos (recursos) e relações existentes entre eles, fornecendo uma semântica simples para esse modelo, o qual pode ser representado através de uma sintaxe XML.

15 14 RDF Schema: é um vocabulário para descrição de propriedades e classes dos recursos RDF, com uma semântica para definir genericamente a hierarquia de tais propriedades e classes. OWL: estabelece um vocabulário maior para descrição de propriedades e classes: relações entre classes (por exemplo, disjunções), cardinalidades (por exemplo, exatamente um ), igualdades, tipificação rica das propriedades, características mais apuradas das propriedades (por exemplo, transitividade) e enumerações de classes. A OWL, juntamente com o padrão RDF, pois baseia-se em sua sintaxe, expressa a parte semântica das informações e a XML, DTD e XML Schemas ficam responsáveis pela estruturação dos dados, pela sua parte sintática. A OWL tem a intenção de prover uma linguagem que pode ser utilizada para descrever as classes e suas relações que são inerentes a aplicações e documentos Web. O presente trabalho tem a finalidade de expor conceitos envolvendo a Web Semântica e Ontologias, bem como apresentar os principais elementos da OWL para definição de uma ontologia, demonstrando sua utilização em uma ontologia para o domínio de um módulo de portais Web para universidades.

16 15 2 REVISÃO DE LITERATURA Para que os propósitos desse trabalho fossem atingidos, foram realizados pesquisas e estudos envolvendo conceitos e ferramentas referentes à Web Semântica, Ontologias e OWL (Web Ontology Language). Parte desses estudos foram retirados de (Lustosa, 2003) e serão apresentados no decorrer dessa seção, de modo que forneçam uma fundamentação teórica para uma melhor compreensão do objetivo maior desse trabalho: a apresentação da linguagem OWL e sua aplicação sobre um domínio, abordando a camada de esquema da arquitetura da Web Semântica, demonstrada nas seções a seguir. 2.1 Web Semântica A Web é um grande repositório de dados, que apresenta características particulares no que se refere a meios de acesso e estrutura. Seus dados não possuem uma estrutura previamente definida e não são fortemente tipados, sendo, assim, denominados dados semi-estruturados (Mello, 2000). Com o seu crescente avanço e a diversificada forma de representação de seus dados, torna-se cada vez mais difícil a recuperação das informações 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 têm sido criados. Essa deficiência, na Web, quanto a disponibilização de dados heterogêneos e sua despadronização e a elevada quantidade de informações resultantes de consultas que não atendem as reais necessidades dos usuários levou a necessidade de se buscar a compreensão semântica do conteúdo dos documentos pela própria máquina para o processamento dessas informações: a Web Semântica (SW, 2001).

17 Definição A Web Semântica é a evolução da Web obtida via adição de semântica ao formato atual de representação de dados. A Web Semântica apresentará uma estrutura que possibilitará a compreensão e o gerenciamento dos conteúdos armazenados na Web, independente da forma em que estes se apresentem, seja texto, som, imagem ou gráficos. Essa compreensão será possível a partir da valoração semântica desses conteúdos e através de agentes que serão programas coletores de conteúdo advindos de fontes diversas capazes de processar as informações e permutar resultados com outros programas (Berners-Lee, 2001). Assim, ela visa fornecer estruturas e semântica ao conteúdo das páginas Web, criando um ambiente onde agentes de software e usuários possam trabalhar cooperativamente. A Web Semântica é a representação dos dados na Web. É um esforço colaborativo conduzido pela W3C com participação de um grande número de pesquisadores. É baseada no RDF (Resource Description Framework), integrada a uma variedade de aplicações usando XML (extensible Markup Language) para a sintaxe e os URIs (Universal Resource Identifier) para nomeações (SW, 2001). A Web Semântica visa o discernimento pela própria máquina das informações contidas nos documentos Web. Atualmente, essa compreensão é realizada pelo usuário, onde ele escolhe e define o que verdadeiramente lhe interessa. Com a utilização de metadados é possível a descrição e uma melhor definição semântica das informações, gerando uma recuperação com maior qualidade e precisão. Assim, diversas tecnologias, como a XML e a RDF, vêm sendo trabalhadas com o objetivo de promover o intercâmbio de metadados desenvolvidos de forma independente, de modo que eles possam ser compreendidos pelo computador, sem o auxílio do discernimento humano. A arquitetura RDF consiste em uma estrutura básica para o processamento de metadados, provendo interoperabilidade entre aplicações que trocam informações, compreendidas pela máquina e entre si na Web (RDF, 2000) e descrevendo formalmente um determinado recurso da Web através de seus metadados. Através da criação de padrões, arquiteturas de metadados, ontologias, dentre outras, projetos, como o da Web Semântica (SW, 2001) conduzido pela W3C, têm sido realizados no sentido de buscar a otimização da integração, intercâmbio e compreensão semântica das informações Web. Atualmente, a Web Semântica é um dos objetivos a longo prazo da W3C. Ela pode trazer uma série de otimizações em diversos serviços já oferecidos na Web, como: no comércio

18 eletrônico, com o desenvolvimento de eficientes catálogos eletrônicos; em sites não-comerciais; em bibliotecas digitais e mecanismos de buscas. Assim, a Web Semântica poderá fornecer pesquisas mais apuradas e eficientes, através de mecanismos de buscas, conforme as necessidades do usuário e a disponibilidade das fontes de dados. Entretanto, a obtenção da concretização da Web Semântica ainda precisa ultrapassar grandes problemas, principalmente, como: a heterogeneidade semântica, a qual dificulta a interoperabilidade de modo que haja a cooperação entre múltiplas fontes de informação, apresentando diferenças sintáticas, semânticas e estruturais. A proposta para a Web Semântica é representada por uma arquitetura composta por: uma camada de estrutura, uma camada de esquema e uma camada lógica. Esta arquitetura é apresentada e mais detalhada na próxima seção Arquitetura A proposta para o desenvolvimento da Web Semântica é sugerida através da arquitetura (Berners-Lee, 2001) dividida em camadas representada pela Figura 2. Figura 2 - Arquitetura proposta para a Web Semântica (Berners-Lee, 2001) A camada de estrutura, primeira camada da arquitetura proposta (Figura 2), representa o primeiro passo para a definição da Web Semântica, que é a representação do conhecimento (Berners-Lee, 2001). A camada de estrutura é o nível mais baixo, em que se

19 realiza a estruturação dos dados e a definição dos mesmos, a qual é dada através da explicitação de seus significados. O recurso da camada de esquema, a ontologia, fornece um conjunto de regras que define hierarquia, relacionamentos e restrições entre termos, representando de forma completa um domínio, independente da linguagem utilizada. A ontologia é descrita com maiores detalhes na seção 2.2. E, por fim, a camada lógica tem a função de definir um conjunto de regras de inferências, além dos próprios mecanismos que as realizarão, atribuindo-as aos documentos que contém dados. As regras de inferência oferecem aos agentes computacionais o poder de racionar sobre as estruturas de dados que estão expressas na camada de estrutura, a partir das relações entre esses dados definidas na camada de esquema Ontologia O termo ontologia é proveniente da Filosofia, sendo empregado como a representação da existência através de uma explicação sistemática (Novello, 2002). Na área da Informática, mais precisamente em Inteligência Artificial, ela é utilizada como a especificação explícita de uma conceitualização (Grubber, 1999) (Guarino, 1998). Assim, a ontologia é uma descrição explícita de conceitos e relações referentes a determinado domínio. Essa conceitualização refere-se ao conjunto de conceitos, relações, objetos e restrições que são definidos para um modelo semântico de algum domínio de interesse. Muitos projetos na área de Inteligência Artificial vêm explorando o uso de ontologias. Na área da Inteligência Artificial, vários conceitos para o termo ontologia surgiram: Uma ontologia é uma especificação explícita de uma conceitualização. Uma ontologia é uma hierarquia estruturada de um conjunto de termos para descrever um domínio que possa ser usada como estrutura de uma base de conhecimento. Ela fornece os meios para descrever explicitamente a conceitualização do conhecimento representado em uma base de conhecimento. (Grubber, 1999)

20 Uma ontologia é definida como uma especificação formal de uma conceitualização compartilhada. (Borst, 1997) 19 Ontologias fornecem um vocabulário comum de uma área e define, com níveis distintos de formalismos, o significado dos termos e dos relacionamentos entre eles. (Gómez-Pérez, 1999) Ontologias são termos e relações que compreendem o vocabulário de uma área, como também as regras para combinar estes termos e relações para definir extensões deste vocabulário. (Novello, 2002) Essas definições foram melhor explicadas por (Studer, 1998) e (Abel, 2001): A conceitualização, para a Ontologia, refere-se a um modelo abstrato de algum fenômeno do mundo, por terem sido identificados os conceitos relevantes para aquele fenômeno. Explícito significa que o conjunto de conceitos utilizados e as restrições aplicadas são previamente e explicitamente definidas. Formal refere-se ao fato de que se espera que uma ontologia seja processável por um computador, o que exclui definições em linguagem natural, por exemplo. Finalmente, uma ontologia é compartilhada porque descreve um conhecimento consensual, que é utilizado por mais de um indivíduo e aceito por um grupo. A partir da apresentação destes vários conceitos, pode-se inferir que uma ontologia é a representação formal de um domínio, através da explicitação dos conceitos e relacionamentos, bem como as regras que envolvem essas relações do referido domínio. As ontologias expressam o formalismo dos conceitos e das relações acerca de um domínio, de modo que possa viabilizar a inferência, pela máquina, da semântica aos significados das informações. Uma ontologia requer o uso de um vocabulário específico para descrever uma realidade, de forma que o domínio de conhecimento seja definido em um nível genérico (Novello, 2002). Essa definição é realizada através de uma especificação formal acerca do domínio, de modo que com a utilização de uma ontologia seja possível o compartilhamento e reuso de conhecimento. Assim, pode-se ver a ontologia como uma maneira de

21 explicitação e descrição de conceitos, e seus relacionamentos, referentes a uma determinada área de conhecimento. Numa ontologia, existem, geralmente, três tipos de informação (Bézivin, 1998), de modo a facilitar a compreensão dos diferentes níveis de abstração: terminológica: é a camada de definição da ontologia, onde se representa o conjunto de conceitos e das relações do domínio; assertiva: denominada de camada de axiomas da ontologia, constitui-se do conjunto de proposições verdadeiras que se aplicam aos conceitos e relações; pragmática: refere-se à camada de ferramentas, a forma de expressar e apresentar os conceitos e relações que foram definidos nas camadas anteriores. A ontologia formaliza o conhecimento através da utilização de cinco componentes (Novello, 2002): 1. Conceitos: são a representação de algo, ou de qualquer coisa, acerca do domínio em questão. Sendo que as propriedades de um conceito são denominadas de atributos. Por exemplo, um conceito poderia ser uma pessoa, tendo como atributo a idade. 2. Relacionamentos: são as integrações entre os conceitos do domínio. Nessas relações, podem-se definir as cardinalidades. Por exemplo, pode-se ter um relacionamento entre pessoa e universidade, através da relação estuda em. 3. Funções: são relações especiais onde o enésimo elemento da relação é único para os n- 1 elementos precedentes. As funções são definidas formalmente como: F: C1 x C2 x C3 x... x Cn-1 Cn 4. Axiomas: elas modelam sentenças que são sempre verdadeiras. Por exemplo, define-se que a idade de uma pessoa corresponde ao ano atual subtraindo a data de seu nascimento. 5. Instâncias: representam os elementos de uma ontologia, ou seja, são as representações dos conceitos e relações que foram estabelecidas pela ontologia. O desenvolvimento de uma ontologia pode ser resumido pelos seguintes princípios básicos (Novello, 2002): clareza e objetividade: os conceitos devem ser definidos de forma clara e acompanhados de documentação em linguagem natural; padronização dos nomes; uma definição deve exprimir as condições necessárias e suficientes para expressar um termo, indo além das necessidades circunstanciais de uma aplicação; 20

22 coerência, de modo que se permita originar inferências que sejam consistentes com as definições declaradas; permissão da declaração de novos termos sem que seja necessário a revisão dos termos já existentes; possibilidade da definição de tão poucas suposições quanto possíveis sobre o mundo a ser modelado, permitindo que as especializações e instanciações da ontologia sejam definidas com liberdade; as classes definidas devem ser independentes, sem sobreposição de conceitos; modularidade; representação dos conceitos similares seguindo as mesmas primitivas, de modo que sejam agrupados numa mesma ordem semântica. Dependendo da aplicabilidade, uma ontologia pode ser descrita em distintos níveis de abstração. Conforme (Novello, 2002), uma ontologia pode ser classificada em três níveis: ontologia de nível de topo: descrição de conceitos gerais e independentes, sem se restringir a um domínio específico; ontologia de domínio e de tarefa: respectivamente, é a descrição dos conceitos referentes a um domínio, e de uma tarefa genérica ou específica dos conceitos definidos na ontologia de nível de topo. ontologia de aplicação: descrição dos conceitos dependendo de uma ontologia de domínio e de uma ontologia de tarefa particulares, que são muitas vezes especializações das ontologias de domínio e de tarefa relacionadas. Assim, pode-se dizer que a ontologia visa desenvolver um conjunto de regras que possibilitem a inferência de forma que a máquina possa, através do acesso a essas regras e a uma coleção de dados e metadados, abstrair um significado semântico das informações disponibilizadas na Web. O uso de ontologias torna possível definir uma infra-estrutura para integrar sistemas inteligentes no nível do conhecimento (Novello, 2002). Resumidamente, a utilização de ontologias oferece vantagens como: possibilitar o compartilhamento e a interoperabilidade do conhecimento entre os domínios; estruturar o domínio de forma que se permita sua compreensão com maior clareza e objetividade; 21

23 permitir a reutilização de conceitos em domínios. A vantagem da utilização de uma ontologia é de se lidar com conceitos, representando-os formalmente, e de se livrar de problemas inerentes ao vocabulário da linguagem natural (Bézivin, 1998). Ou seja, com a utilização de ontologias, é possível, então, evitar questões como palavras com significação aproximada e utilização de outras expressões em substituição de determinada palavra, representando o mesmo significado Linguagens e Ferramentas para a criação de Ontologias Nos últimos anos, diversas linguagens para definição de ontologias vêm 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 característica 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 popularização da construção de Ontologias, motivou-se o desenvolvimento de ambientes que permitissem a execução dessa tarefa. A escolha por uma destas ferramentas que seja mais adequada à criação de uma ontologia dependerá da experiência do usuário e do estágio de desenvolvimento dessa ontologia (Duineveld, 1999). Dentre as ferramentas mais citadas na literatura, que estão associadas a criação e manipulação de ontologias, estão a OILEd (OILEd, 2003), OntoEdit (OntoEdit, 2003) e Protégé (Protégé, 2003). A ferramenta para edição de ontologias, Protégé, foi criada pela Universidade de Stanford, e continua em constante desenvolvimento e atualizações. Visto que este trabalho utiliza a Protégé para definição de uma ontologia para um domínio específico, abordado a partir da seção 4, foi-lhe dedicada uma seção, a 2.7, para apresentar uma maior explanação 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 intercâmbio de metadados. Ele pode especificar o relacionamento entre classes e fornecer

24 interoperabilidade estrutural, entretanto não fornece mecanismos para a declaração de propriedades e relacionamentos entre essas propriedades e outros recursos (RDF, 2000). Estas características faltantes podem ser definidas com a aplicação do RDF Schema, descrito na seção 2.4. O modelo básico de dados RDF é composto por (RDF, 2000) : recurso (resource): qualquer entidade que pode ser referenciada através 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 localização de um determinado recurso em algum lugar na Web; propriedade (property): é um atributo ou característica que representa um recurso, ou ainda, o relacionamento entre recursos; declaração (statement): corresponde a uma propriedade ou valor dessa propriedade associada a um recurso específico. Uma declaração é dividida em três partes: sujeito, predicado e objeto. Esquematicamente pode-se dizer que (Ciuffo, 2002): 23 Declaração = Recurso (sujeito) + Propriedades do recurso(predicado) + valor da propriedade (objeto) A Figura 3 apresenta a declaração: Pollyane é webdesigner do site Figura 3 - Exemplo de declaração 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 código RDF:

25 24 01 <?xml version='1.0' encoding='iso '?> <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#"> <rdf:description rdf:about="http://www.pollyane.com.br"> <equipe:webdesigner rdf:id="http://www.exemplordf.com.br"> 11 <equipe:nome>pollyane Lustosa</equipe:nome> </equipe:webdesigner> </rdf:description> </rdf:rdf> Figura 4 - Exemplo de código RDF O código é iniciado com a declaração do prólogo, 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 expressão RDF e utiliza o vocabulário definido pelos namespaces especificados nas linhas 4, 5 e 6, sendo que as linhas 4 e 5 referem-se, respectivamente, à sintaxe padrão do RDF e RDF Schema, e a linha 6 a um vocabulário criado especificamente para fornecer informações 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 informações referentes ao webdesigner, sendo que os elementos utilizados para essa descrição (nome e ), precisam estar em conformidade com o vocabulário descrito no namespace Um namespace é um mecanismo oferecido pela linguagem XML que permite que o desenvolvedor possa especificar nomes de elementos comuns a determinados domínios de maneira única na Web (Ciuffo, 2002). A utilização de namespaces possibilita referenciar a qual vocabulário pertence determinado nome, de forma a não se ter uma especificação ambígua no documento. Por exemplo, a palavra título, 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 referências a palavra título indicará, faz-se a utilização do namespace, de forma a designar se ele pertence e está referenciando o livro ou a pessoa.

26 RDF Schema As propriedades RDF podem ser vistas como atributos dos recursos e relacionamentos entre recursos. Entretanto, o RDF não fornece mecanismos para descrever essas propriedades, nem para definir as relações entre elas e outros recursos (RDFS, 2003). O RDF Schema (RDFS) provê uma descrição do vocabulário RDF, definindo classes e propriedades que podem ser utilizadas para descrever classes, propriedades e recursos. O RDF Schema é uma extensão do RDF e oferece mecanismos para descrição 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 dicionário que descreve os termos que poderão ser declarados em especificações RDF. O RDFS é especificado como um conjunto de classes, propriedades e restrições entre seus relacionamentos, sendo que essas classes são organizadas de forma hierárquica. Os recursos podem ser instâncias de uma ou mais classes, representados através da propriedade rdf:type. A figura a seguir (RDF, 2000) representa as classes, propriedades e recursos que são utilizadas no RDF Schema. Figura 5 - Representação de classes e recursos Conforme a figura anterior, as classes (e subclasses) são demonstradas por um retângulo com cantos arredondados, os recursos por círculos pretos e as setas indicam qual é a classe que define o referido recurso.

27 Para exemplo do uso de classes, propriedades e recursos do RDFS, segue o código representado pela Figura 6: 26 <?xml version='1.0' encoding='iso '?> <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"> 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"> resource="http://www.w3.org/2000/01/rdfschema#class"/> <rdfs:subclassof rdf:resource="#animal"/> </rdf:description> <rdf:description ID="Sapo"> resource="http://www.w3.org/2000/01/rdfschema#class"/> <rdfs:subclassof rdf:resource="#anfibio"/> </rdf:description> <rdf:description ID="Mamifero"> resource="http://www.w3.org/2000/01/rdfschema#class"/> <rdfs:subclassof rdf:resource="#animal"/> </rdf:description> </rdf:rdf> Figura 6 - Exemplo de Código RDFS A figura 6 representa a definição de classes para um esquema Animal, através da declaração de classes e subclasses. O vocabulário do RDF Schema é definido através do namespace xmlns:rdfs = "http://www.w3.org/2000/01/rdf-schema#">. 2.5 DAML + OIL A DAML + OIL é uma linguagem de marcação semântica para recursos Web, a qual estende os padrões RDF e RDF Schema (DAML+OIL, 2001). DAML + OIL lançada em março de 2001 é uma extensão de sua versão anterior lançada em dezembro de 2000 (DAML+OIL, 2001). Conforme o seu próprio nome já indica, ela surgiu da combinação de

28 outras duas linguagens, DAML-ONT e OIL, resultando em uma linguagem com uma semântica mais bem definida. Uma ontologia DAML+OIL é composta por vários componentes, sendo alguns opcionais e outros que podem se repetir por diversas vezes durante a definição da mesma. Uma ontologia DAML+OIL consiste de zero ou mais cabeçalhos (headers), seguidos de zero ou mais classes (representadas pelo elemento class), propriedades (property) e instâncias (instances) (DAML+OIL, 2001). Um cabeçalho de uma ontologia DAML+OIL pode ser da seguinte forma: 27 <daml:ontology rdf:about= > <daml:versioninfo>$id: NOTE-daml+oil-reference html, v /12/18 22:12:09 connolly Exp $ </daml:versioninfo> <rdfs:comment>um exemplo de Ontologia</rdfs:comment> <daml:imports rdf:resource= /> </daml:ontology> A ontologia pode ter zero ou mais versioninfo e imports. O elemento que representa as informações sobre versões (versioninfo) geralmente contém strings que fornecem tais informações sobre a versão. Este elemento não influencia no significado lógico da ontologia (DAML+OIL, 2001). Cada expressão definida com imports está referenciando outra ontologia DAML+OIL que contém definições que se aplicam ao recurso DAML+OIL corrente. Cada referência consiste em uma especificação de um URI, o qual referencia o local de onde a ontologia deve ser importada. As declarações de imports são 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, então a ontologia X está importando ambas ontologias, Y e Z. Cada expressão class referencia o nome de uma classe (sendo identificada por uma URI), a classe que contém os elementos enumerados, a classe de todas instâncias que satisfazem a propriedade de restrição ou a classe que é a combinação booleana de tais expressões. Dois nomes de classes já são predefinidos, daml:thing e daml:nothing. Todo objeto é um membro de daml:thing e não é 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 contém uma lista dos objetos que são suas instâncias. A utilização de oneof define que uma classe contém exatamente a referida lista de elementos (DAML+OIL, 2001):

29 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 instâncias das classes e de propriedades são escritas de acordo com a sintaxe RDF e RDF Schema, por exemplo (DAML+OIL, 2001): <continente rdf:id= Asia /> <rdf:description rdf:id= Asia > > <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 vários tipos de elementos que auxiliam na definição dos conceitos e relações pertencentes ao domínio 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

30 29 maxcardinality maxcardinalityq mincardinality uniqueproperty versioninfo Na Figura 7 é apresentado um código (parcial) (DAML+OIL, 2001) de uma ontologia definida em DAML+OIL, utilizando alguns dos elementos relacionados na tab ela <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-walkthru /daml+oil-ex#" 7. xmlns:exd ="http://www.w3.org/tr/2001/note-daml+oil-walkthru /daml+oil-ex-dt#" 8. xmlns ="http://www.w3.org/tr/2001/note-daml+oil-walkthru /daml+oil-ex#" 9. > 10. <daml:ontology rdf:about=""> 11. <daml:versioninfo>$id: Overview.html,v /12/18 21:48:05 connolly Exp $</daml:versioninfo> 12. <daml:imports rdf:resource="http://www.w3.org/2001/10/daml+oil"/> 13. </daml:ontology> 14. <daml:class rdf:id="animal"> 15. <rdfs:label>animal</rdfs:label> 16. <rdfs:comment> 17. This class of animals is illustrative of a number of ontological idioms. 18. </rdfs:comment> 19. </daml:class> 20. <daml:class rdf:id="male"> 21. <rdfs:subclassof rdf:resource="#animal"/> 22. </daml:class> 23. <daml:class rdf:id="female"> 24. <rdfs:subclassof rdf:resource="#animal"/> 25. </daml:class> 26. <daml:class rdf:id="woman"> 27. <rdfs:subclassof rdf:resource="#female"/> 28. </daml:class> 29. <daml:class rdf:id="man"> 30. <rdfs:subclassof rdf:resource="#male"/> 31. </daml:class> 32. <daml:datatypeproperty rdf:id="shoesize"> 33. <rdfs:comment> 34. shoesize is a DatatypeProperty whose range is xsd:decimal. 35. shoesize is also a UniqueProperty (can only have one shoesize) 36. </rdfs:comment>

31 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: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, são definidos, nas linhas de 1 a 9 (Figura 7), os namespaces utilizados na ontologia. Da linha 10 a 13 é declarado o cabeçalho da ontologia através dos elementos <daml:ontology>...</daml:ontology>. Em seguida, são determinadas as classes presentes na ontologia (Animal, Male, Female, Woman e Man) através de <daml:class>...</daml:class>, sendo também indicado por <daml:subclassof>... </daml:subclassof> qual é subclasse de outra classe. Nas linhas 32 e 40 são definidas propriedades associadas ao seu tipo de dado, ou seja, está sendo determinado que age (idade) e shoesize (tamanho dos sapatos) são valores inteiros e decimais, respectivamente, e que são UniqueProperty (propriedades únicas, ou seja, somente existe uma idade e um tamanho de sapatos associados a cada pessoa). Essas definições estão sendo referenciadas pelo elemento <daml:datatypeproperty>... </daml: DatatypeProperty>. Na linha 48 é definida uma propriedade hasmother, na qual é determinado através 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.

32 OWL (Web Ontology Language) A construção da Web Semântica 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 Semântica 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 recomendações da W3C para o desenvolvimento da Web Semântica, no que refere-se à definição de ontologias (OWL, 2003). A OWL pode ser utilizada para explicitar representações do significado de termos em vocabulários e o relacionamento entre estes termos. Esta representação de termos e de seus relacionamentos é a chamada, e já mencionada, ontologia. Para que a Web Semântica possa oferecer a interoperabilidade dos dados, duas condições são necessárias (OWL, 2003c): 1. Adoção de uma sintaxe comum: habilitando as aplicações a analisarem sintaticamente os dados. O XML provê esta característica de uma sintaxe comum. 2. Adoção de meios para a compreensão da semântica: habilitando as aplicações a utilizarem o dado. A OWL provê uma forma padrão de expressar a semântica. O problema chave em conseguir-se interoperabilidade está em ser capaz de reconhecer que as duas partes do dado estão 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 compatível com o RDF e RDF Schema. A OWL também incorpora uma revisão da linguagem DAML + OIL, acrescentada de características aprendidas no desenvolvimento e nas aplicações da DAML + OIL. Sua origem é basicamente a representada pela Figura 8 (OWL, 2003c):

33 32 Figura 8 Origem da OWL A OWL é uma linguagem de definição semântica para publicação e compartilhamento de ontologias na Web. Ela é desenvolvida como uma extensão do vocabulário RDF e é derivada da DAML+OIL. A OWL tem mais facilidade para expressar a semântica que o RDF e RDF Schema, superando estas linguagens em sua habilidade para interpretar de forma legível o conteúdo na Web (OWL, 2003). Dessa forma, como espera-se que as máquinas executem um raciocínio lógico dos documentos Web, a linguagem deve ir além da semântica básica oferecida pelo RDF Schema (OWL, 2003). A OWL é um conjunto de elementos e atributos XML, com significado padronizado, que são 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

34 A OWL é utilizada para representar explicitamente o conjunto de termos de um vocabulário e os relacionamentos entre estes termos. É uma linguagem para Ontologias Web que é desenvolvida para a utilização em aplicações que necessitam processar o conteúdo de informações em vez de somente apresentá-las aos usuários, ou seja, ela é pretendida para ser utilizada quando informações contidas em documentos precisam ser processadas por aplicações, ao contrário do que ocorre quando estes conteúdos somente são apresentados aos humanos. A OWL facilita à máquina uma maior legibilidade ao conteúdo da Web que aquelas suportadas pelo XML (XML, 2003), RDF (RDF, 2000) e RDF Schema (RDFS, 2003), por fornecer um vocabulário adicional juntamente com uma semântica formal. Ela possui três sub-linguagens, que foram projetadas conforme o grupo de implementadores e usuários: OWL Lite, OWL DL e OWL Full (OWL, 2003), ou seja, dependendo da aplicabilidade e da definição 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 básico aos usuários que necessitam apenas classificar uma hierarquia de classes e definições 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 não possuem essa restrição. Dessa forma, ela facilita o desenvolvimento de ferramentas que lhe dêem suporte, visto que não apresenta grande complexidade para a implementação de suas funcionalidades. A OWL DL fornece suporte aos usuários que necessitam de uma expressividade maior para o processamento computacional. A OWL DL inclui todas as construções da linguagem OWL, assim como a OWL Full. As duas diferem quanto às restrições de tipos, ou seja, a OWL DL não permite que uma classe seja considerada um indivíduo ou propriedade, ou que uma propriedade possa ser conseiderada como indivíduo ou classe (OWL, 2003). Enquanto que na OWL Full essa flexibilidade é possível, ela considera, simultaneamente uma classe como sendo um conjunto de indivíduos e como sendo o próprio indivíduo. Outra diferença 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 serão apresentados na seção ). 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 não gosto de Sauterne (OWL, 2003). 33

35 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 não se pode restringir somente a busca por palavras-chaves, mas é necessário que se especifique o significado dos recursos descritos na Web. Esta camada adicional de interpretação irá capturar a semântica dos dados. A OWL é uma linguagem para definição e instanciação de ontologias Web. Uma ontologia deve incluir descrições de classes, propriedades e suas instâncias Estrutura da Ontologia OWL Um documento OWL consiste de declarações de namespaces (Namespaces, 2003), um cabeçalho opcional referente à ontologia e definições de classes, propriedades e indivíduos (OWL, 2003b). A OWL não impõe uma ordem padrão para a disposição destes componentes numa ontologia. Os desenvolvedores de ontologias, geralmente, utilizam alguma forma de ordenação, como, por exemplo, definem o cabeçalho no início da ontologia, porém, isso não interfere em seu significado. Nas próximas subseções serão apresentadas informações e a sintaxe para declaração de elementos e regras básicas para definição de uma ontologia utilizando a OWL Namespaces Um namespace é utilizado para evitar colisões entre vocabulários 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 utilização de um conjunto adicional de caracteres ASCII, como, por exemplo, acentuações, o qual não é permitido pelo URI (Universal Resource Identifier) (Namespaces, 2003). Dessa maneira, antes que seja empregado um conjunto de termos, é necessária a declaração dos vocabulários específicos do contexto que está sendo trabalhado, ou seja, é preciso informar os namespaces que serão utilizados. Um padrão inicial para uma ontologia informa um conjunto de declarações de namespaces XML incluído entre as tags rdf:rdf. Eles fornecem uma forma de se evitar a ambiguidade na interpretação de identificadores do documento, fazendo com que a ontologia se torne mais legível. O

36 namespace é declarado através do atributo xmlns. Uma ontologia OWL típica é iniciada com uma declaração de namespaces similar a apresentada na Figura 10 (W3C, 2003). 35 Figura 10 Declaração de namespaces OWL As duas primeiras declarações, linhas 2 e 3, identificam o namespace associado com a própria 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 definição do namespace que representa outra ontologia existente, do domínio 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 referência ao que está descrito no namespace indicado pela URL Esta é uma declaração convencional da OWL, utilizada para introduzir o vocabulário OWL. Como já foi anteriormente mencionado, a OWL depende das construções definidas pelos tipos de dados do RDF, RDF Schema e XML Schema. Assim, é necessário que seus referidos namespaces sejam indicados. Tem-se, dessa maneira, as declarações para os mesmos na linhas 7 (para RDF), 8 (RDFS) e 9 (XML Schema), sendo que os seus prefixos a serem utilizados nesta ontologia são, respectivamente, rdf, rdfs e xsd Cabeçalho OWL A partir do momento que as declarações das namespaces são definidas, é possível realizar a inclusão de uma coleção de afirmações acerca da referida ontologia, definindo, assim, o seu cabeçalho. Estas informações são agrupadas dentro da tag owl:ontology. Estas tags suportam comentários, controle de versão e inclusão de outras ontologias (Figura 11).

37 36 Figura 11 - Exemplo de cabeçalho OWL Através do elemento owl:ontology declara-se uma coleção de meta-dados OWL acerca do documento. Assim, têm-se na Figura 12 a representação de um cabeçalho OWL contendo informações diversas representadas por: rdf:about é um atributo que fornece um nome ou referência para a ontologia. rdfs:comment apresenta algum comentário referente à ontologia modelada; owl:priorversion é uma tag padrão utilizada para o controle de versões da ontologia; owl:imports indica a importação de uma ontologia já existente definida pelo recurso apresentado em seguida. A utilização de... na Figura 12, indica que outras informações adicinais podem ser elicitadas. Como, por exemplo, através de declarações em RDF, título, criador, publicação, data e descrição também podem ser inseridos. E, por fim, o cabeçalho OWL é finalizado com a tag de fechamento </owl:ontology>. Ao importar outra ontologia está-se obtendo, para a ontologia atual, todas as afirmações que ela fornece. Para utilizar a ontologia importada, ela normalmente é coordenada através da declaração de namespaces. Assim, há uma distinção entre estes dois mecanismos: declaração através 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 indicação da intenção em se incluir informações de outra ontologia. Ao se importar uma ontologia A para uma ontologia B, estará importando-se, também, todas as outras ontologias que, por ventura, a ontologia A esteja utilizando. Muitos dos elementos de uma ontologia OWL são formados por classes, propriedades, instâncias das classes e relacionamentos entre elas. As próximas subseções apresentam componentes essenciais para construções de ontologias através de elementos providos pela OWL.

38 Classes A utilização de ontologias depende da capacidade em raciocinar sobre as classes, as instâncias, objetos, indivíduos. Para que isto ocorra de maneira útil, necessita-se de um mecanismo para a descrição de classes e suas propriedades. O mais básico dos conceitos acerca de um domínio corresponde às classes, que são as raízes das árvores de taxinomia. Cada objeto na linguagem OWL é um membro da classe owl:thing por padrão, a qual já é predefinida na OWL. Dessa forma, cada classe definida pelo usuário é implicitamente uma subclasse de owl:thing. É como se ela fosse a classe raiz de todas as outras (Figura 12): Figura 12 Exemplo de representação da classe owl:thing As classes específicas de um domínio são declaradas simplesmente através de nomeações às mesmas. Por exemplo, observa-se três classes referentes a uma ontologia de domínio Universidade (Figura 13): Figura 13 Declaração de classes OWL Tem-se que as classes são declaradas através do elemento owl:class e seus nomes são 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, através da utilização de rdf:resource= #Curso. Outras ontologias podem referenciá-la utilizando seu caminho completo, uma URI. Para efeitos de demonstração, consideremos o exemplo: Ou ainda, de uma forma mais

39 fácil e mais comumente utilizada, cria-se uma namespace referente a ontologia que desejase utilizar, como já foi explicitado anteriormente: 38 Dessa forma, a classe Curso definida poderá ser referenciada através da tag de indicação de namespace: uni:curso Subclasses Outro construtor fundamental na taxinomia para classes é a representação de suas subclasses, ou seja, estar relacionando uma classe mais específica a uma classe mais genérica. Dessa maneira, se uma classe A é subclasse de B, então toda instância de A também é uma instância de B. A declaração de subclasses é realizada através do elemento rdfs:subclassof. Esta tag possibilita, ainda, uma relação transitiva: se A é subclasse de B e B é subclasse de C, então A é subclasse de C. Figura 14 Declaração de subclasses OWL Tem-se, na Figura 14, a definição da classe PosGraduacao e a identificação de que ela é uma subclasse de Curso, ou seja, já havia-se definido uma classe mais genérica Curso e agora é declarada uma classe mais específica PosGraduacao. O relacionamento entre as duas classes existentes é realizada através de rdfs:subclassof, identificando, assim, essa hierarquia. Tem-se até o momento que PosGraduacao é um Curso de uma Universidade. Mas, esta definição ainda está muito incompleta. É necessário definir mais restrições para as classes, de modo que se possa obter um raciocínio lógico sobre as mesmas. Assim, além das classes, pode-se descrever seus membros, ou seja, informar os indíviduos (individuals) que também fazem parte deste domínio e tem relação com essas classes declaradas. Por exemplo, tem-se uma classe Regiao e declaramos Sul como sendo um indivíduo desta classe (Figura 15):

40 39 Figura 15 Declaração de indivíduo OWL (1) A distinção entre classe e indivíduo em OWL é a seguinte (OWL, 2003): enquanto uma classe é simplesmente um nome e uma coleção de propriedades que descrevem um conjunto de indivíduos, estes, por sua vez, são os membros (objetos, partes ou itens) destes conjuntos. As classes devem corresponder ao conjunto das coisas acerca de um domínio e, os indivíduos seriam as instâncias dessas classes, ou seja, devem corresponder às entidades reais que podem ser agrupadas em uma classe. Além da forma já apresentada para declaração de indivíduos, também pode-se fazer da seguinte maneira (Figura 16): Figura 16 Declaração de indivíduo OWL (2) A forma supracitada de representação de individual terá o mesmo sentido da maneira apresentada pela Figura 15. A propriedade RDF, rdf:type, faz uma ligação entre o indivíduo e a classe a que pertence. Na Figura 16 tem-se a especificação de uma classe Regiao, fazendo-se em seguida uma referência ao indivíduo Sul, o qual estará existente dentro da classe raiz Thing e finalmente, informa-se que Sul (uma região específica) é membro de Regiao, que contém todas as regiões geográficas Propriedades As propriedades descrevem características e relacionamentos entre classes. A propriedade é uma relação binária (OWL, 2003). Quando se define uma propriedade há diversas formas de restringir a sua relação. O domínio e o nível podem ser especificados. A propriedade pode ser definida como uma especialização (subpropriedade) de outra propriedade existente. Em OWL existem duas classes para especificar propriedades:

41 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). 40 Figura 17 Declaração de propriedade utilizando owl:objectproperty 2. owl:datatypeproperty é utilizada para especificar um tipo de dado, uma expressão literal ou um valor. Por exemplo, uma propriedade idade poderá ser relacionada com um tipo de dado específico a um número inteiro não-negativo. Os tipos de dados suportados são os especificados pelo XML Schema (Figura 18): Figura 18 Declaração de propriedade utilizando owl:datatypeproperty Características das Propriedades As propriedades podem representar características como sendo TransitiveProperty (transitivas), SymmetricProperty (simétricas), FunctionalProperty (funcionais), inverseof (inversas), inversefunctionalproperty (inversas e funcionais). Estas características podem ser organizadas hierarquicamente da seguinte forma (OWL, 2003c) (Figura 19): Figura 19 Hierarquia das caracaterísticas de propriedades OWL

42 Como já foi mencionado, a OWL é baseada no RDF e no RDFS e daí o elemento rdf:property como elemento raiz. Em conseqüência desta organização hierárquica, 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 TransitiveProperty O elemento owl:transitiveproperty é subclasse de owl:objectproperty (OWL, 2003). Dessa forma, o seu nível (rdfs:range) somente pode ser um recurso e não pode especificar um literal ou um tipo de dado. Uma propriedade é transitiva quando se tem a intenção de demonstrar que se A está contido em B e B está contido em C, então A está contido em C: Figura 20 Exemplo de representação de transitividade Através da Figura 20, pode-se verificar que se uma propriedade P é especificada como transitiva para A, B e C, então: (P(A, B) P(B, C)) P(A, C) A sintaxe OWL para representação de uma propriedade transitiva é a que se segue (Figura 21):

43 42 Figura 21 Sintaxe para declaração de propriedade transitiva (1) Tem-se na Figura 21, na linha sublinhada, a identificação de que a propriedade localizadoem trata-se de uma propriedade transitiva. Assim, pelo exemplo, pode-se inferir que, como Jalapão é uma região que está localizadaem Tocantins, então ela também está localizadaem Brasil. Ao invés de se representar como na figura anterior, também pode-se declarar a propriedade transitiva diretamente através do elemento owl:transitiveproperty (Figura 22): Figura 22 Sintaxe para declaração de propriedade transitiva (2) Teria-se o mesmo efeito ao utilizar a sintaxe da Figura 22, como a constante na Figura 21, pois ambas são equivalentes. 2. SymmetricProperty O elemento owl:symmetricproperty é subclasse de owl:objectproperty (OWL, 2003). Uma propriedade é simétrica quando procura representar correspondência entre A e B. Por exemplo, duas cidades A e B são adjacentes se são próximas, vizinhas. Isso porque, estando as cidades próximas, se a cidade A for vizinha da cidade B, é impossível que B não 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) é necessário e suficiente para a existência de P(B,A).

44 43 Figura 23 Sintaxe para declaração de propriedade simétrica Inicialmente, na Figura 23, há a declaração da propriedade regiaoadjacente, na qual indica-se, através da primeira linha sublinhada, que ela trata-se de uma propriedade simétrica. Da mesma forma, como foi explicado na propriedade transitiva, também podería-se ter utilizado diretamente o elemento owl:symmetricproperty. Na segunda linha sublinhada, apresenta-se a utilização da propriedade referenciando que Palmas é uma região adjacente a de Paraíso. 3. FunctionalProperty O elemento FunctionalProperty indica que para cada instância existe somente um valor para a propriedade caracterizando, assim, a propriedade funcional. É como se falasse que ela possui a cardinalidade mínima de 0 (zero) e máxima de 1 (um): Figura 24 Sintaxe para declaração de propriedade funcional 4. inverseof O elemento inverseof referencia que uma propriedade é inversa de outra. Assim, pode-se inferir que se está relacionando um indivíduo A a outro B por uma propriedade P1, e P2 é o inverso de P1, então B se relaciona a A, possuindo, assim, uma relação inversa. P1(A,B) P2(B,A)

45 44 Por exemplo: Figura 25 Sintaxe para declaração de propriedade inversa Na Figura 25, tem-se a declaração 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 Representação da propriedade inversa 5. InverseFunctionalProperty A propriedade funcional inversa define que uma propriedade representa unicamente determinado indivíduo, ou seja, o valor atribuído a ela identifica somente a referida instância. Figura 27 Sintaxe para declaração de propriedade funcional inversa

46 45 Considerando que a propriedade pertence ao domínio da classe Pessoa, assim, tem-se que, na Figura 27, é funcional inversa por ser associada a uma única pessoa, ou seja, não tem-se o mesmo para outra pessoa. A fim de explicitar melhor, considera-se uma propriedade "datanascimento", sendo que ela não é 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 são: CPF, número do seguro social, chave primária em um banco relacional, entre outras Restrições sobre Propriedades Além de fornecer declarações de características sobre as propriedades, é possível refinar ainda mais essas propriedades em contextos específicos (OWL, 2003c). Isto é realizado através das restrições sobre as propriedades com o elemento owl:restriction, sendo que o elemento owl:onproperty indica qual a propriedade que está sendo restrita. Estas restrições podem ser definidas através de: cardinality (cardinalidade), maxcardinality (cardinalidade máxima), mincardinality (cardinalidade mínima), allvaluesfrom (todos os valores de), somevaluesfrom (alguns valores de) e hasvalue (classes definidas por restrições de valor). 1. cardinality / maxcardinality / mincardinality A cardinalidade é uma forma de estar restrigindo a quantidade mínima e máxima para determinada propriedade. Figura 28 Sintaxe para declaração de cardinalidade sobre uma propriedade

47 Por exemplo, na Figura 28, tem-se a definição de uma propriedade temanosafra para a classe safra, sendo que esta propriedade está sendo restringida através do elemento owl:cardinality, o qual está indicando que terá a ocorrência de apenas 1 (um) no documento. Ou seja, para cada safra será associado apenas um ano. A OWL fornece, também, a possibilidade de estar se estabelecendo a quantidade mínima de ocorrências, bem como a máxima. 46 Figura 29 Sintaxe para declaração de cardinalidade máxima e mínima Nesse ponto, Figura 29, pode-se observar a utilização simultânea dos elementos owl:mincardinality e owl:maxcardinality, os quais definem um intervalo de valores possíveis (entre 0 e 1000) para a propriedade fruto. Também, há a possibilidade de utilizar-se somente um dos elementos por vez, sendo que se fosse utilizado somente o mincardinality estaria-se indicando que era o mínimo de ocorrência possível, se fosse o maxcardinality indicaría-se que poderia ter no máximo 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 instâncias das propriedades. O elemento owl:allvaluesfrom, como owl:somevaluesfrom e owl:hasvalue (a serem apresentados subseqüencialmente), são locais às classes que contêm tal propriedade. A restrição owl:allvaluesfrom indica que todas as instâncias das classes que tiverem essa propriedade especificada, os valores da propriedade devem ser membros da classe referenciada por ela.

48 47 Figura 30 Sintaxe para restrição 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 móveis deve ser uma "FabricaDeMoveis". A restrição allvaluesfrom é sobre a propriedade "temfabricante" somente para esta classe "Moveis", ou seja, se ela for aplicada a outra classe, essa restrição não é válida, tendo, assim, validade somente localmente. A restrição allvaluesfrom não indica que "Moveis" tenha um fabricante, mas se tiver um ou mais, todos devem ser uma fábrica de móveis. 3. somevaluesfrom A restrição 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 fábrica de móveis. Figura 31 Sintaxe para restrição de propriedade utilizando owl:somevaluesfrom A restrição somevaluesfrom requer que para cada instância da classe que está sendo definida, possua ao menos um valor da classe descrita pela restrição, ou seja, é necessário que haja ao menos um fabricante que é uma fábrica de móveis, mas podem haver fabricantes que não a sejam.

49 48 4. hasvalue A restrição owl:hasvalue permite especificar classes baseadas na existência de valores particulares para propriedades (OWL, 2003). Dessa forma, através do elemento hasvalue pode-se definir uma limitação de valores para a propriedade restrita, de modo que os indivíduos da classe com esse tipo de declaração tenham a propriedade especificada com o valor declarado. Figura 32 Sintaxe para restrição de propriedade utilizando owl:hasvalue Pode-se determinar uma classe C através da propriedade P com valor Z, sendo que, qualquer indivíduo Y que estiver relacionado com o valor Z através da propriedade P inferese este indivíduo como pertencente a classe C (Carneiro, 2003). Assim, de acordo com a Figura 32, tem-se que todo indivíduo, da classe VinhoItaliano, que for instanciado deve ter Italia como valor para a propriedade produzidoem e que indivíduos que contiverem este valor, Italia, na referida propriedade, pode ser classificado como VinhoItaliano Classes Complexas A OWL fornece um conjunto de construtores adicionais com os quais pode-se dar mais forma às classes, impondo-lhes mais definições (OWL, 2003). A OWL suporta um conjunto básico de operações: união, intersecção e complemento, sendo que as mesmas são expressas através de, respectivamente, owl:unionof, owl:intersectionof e owl:complementof. Pode-se, ainda, indicar extensões de classes através do elemento oneof e afirmar que extensões de classes são disjuntas (disjointwith). Extensões de classes em OWL referem-se aos conjuntos de indivíduos que são membros da classe. A OWL permite manipular essas extensões de classes através do conjunto de operações supracitados.

50 49 1. Intersecção A intersectionof pode ser demonstrado através do seguinte exemplo: Figura 33 Sintaxe para utilização do elemento intersectionof Como exposto na Figura 33, pode-se declarar classes através da intersecção de outras classes com definições de restrições. No exemplo anterior, tem-se a definição da classe VinhoBranco, em que ela é formada através da intersecção da (intersectionof) classe Vinho e da restrição da propriedade possuicor que define um valor para a mesma ( Branca ). Isto quer dizer que, se algo é vinho e é branco, então ele é uma instância de VinhoBranco. Figura 34 Representação da Intersecção O intersectionof é análoga a conjunção em Lógica. Ou seja, dado que V é um conjunto que designa elementos do tipo vinho e B, um conjunto que designa elementos da cor branca, então 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 característica de ser vinho e branco, simultaneamente. Vale, ainda, ressaltar que o elemento rdf:parsetype= Collection é requerido automaticamente pelo owl:intersectionof. 2. União A utilização de unionof é semelhante a construção sintática de intersectionof. Considera-se o seguinte exemplo:

51 50 Figura 35 Sintaxe para utilização do elemento unionof Conforme a Figura 35, tem-se que a classe Pessoa é formada pela união das extensões (subclasses) Homem e Mulher. Figura 36 Representação da União A unionof é análoga a disjunção em Lógica. Ou seja, utilizando H para designar o conjunto dos indivíduos homens e M para designar o conjunto de indíviduos 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 extensão contém exatamente aqueles indivíduos que não pertencem à extensão da classe designada pela owl:complementof. É análoga à negação na Lógica. <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 utilização do elemento complementof

52 51 Na Figura 37, é definida que a classe NaoFilmeFrances é a interseção da classe Filme com o conjunto de todas as coisas não são dirigidas por um diretor francês. Figura 38 Representação do Complemento Para uma melhor visualização, 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 relação a A o conjunto formado pelos elementos que pertencem a A e não pertencem a B, ou seja, é o conjunto resultante de A B (representado pela parte sombreada). 4. Enumeração A OWL fornece os meios para especificar uma classe através de uma enumeração direta de seus componentes. Isto é feito usando o construtor oneof. Esta definição especifica completamente a extensão da classe, de modo que nenhum outro indivíduo 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 utilização do elemento oneof De acordo com o código apresentado na Figura 39, é estabelecido que nenhum outro indivíduo, além daqueles que foram enumerados na classe, podem pertencer ao conjunto designado CorVinho.

53 52 5. Disjunção A disjunção de um conjunto de classes pode ser expressado usando o construtor owl:disjointwith. Desta forma, é estabelecido que um indivíduo que seja um membro de uma classe não pode simultaneamente pertencer a outra classe. É análogo a disjunção exclusiva em Lógica. Figura 40 Sintaxe para utilização do elemento disjointwith O exemplo da Massa (Figura 40) apresenta múltiplas classes disjuntas. É necessário observar que isto afirma somente que Massa é disjunta de todas as outras classes apresentadas, mas não afirma, por exemplo, que a Carne e a Ave são disjuntas. A disjunção pode ser visualizada através do conjunto resultante de uma intersecção entre conjuntos distintos, ou seja, eles não possuem elementos em comum tornando o resultado nulo (A B = ): <owl:class rdf:id="massa"> <rdfs:subclassof rdf:resource="#coisacomestível"/> <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 41 Representação da Disjunção 6. EquivalentClass A propriedade equivalentclass indica que duas classes têm precisamente as mesmas instâncias.

54 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 utilização do elemento equivalentclass De acordo com a Figura 42, é observado que CoisasDoTocantins são exatamente as coisas situadas no Estado do Tocantins. A diferença entre usar owl:equivalentclass e rdfs:subclassof é que, na primeira, uma condição deve ser suficiente e necessária, enquanto na segunda, apenas necessária numa dada situação. Assim, tem-se que, com subclassof, as coisas localizadas no Estado do Tocantins não são necessariamente coisas do Tocantins; apenas o inverso é verdadeiro. No entanto, na utilização 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 diferença entre as situações supracitadas. Tabela 2 - Diferença entre subclassof e equivalentclass Relação subclassof equivalentclass Implicação x (Tx Ex) x ((Tx Ex) (Ex Tx)) 2.7 Protégé Uma ferramenta extensível para construção de ontologias e desenvolvimento de aplicações que utilizam ontologias (Protégé, 2003b), assim foi definida a Protégé em um tutorial, referente ao seu plugin OWL, na Segunda Conferência Internacional da Web Semântica (2nd International Semantic Web Conference) realizada em outubro de 2003 nos Estados Unidos. Protégé é uma ferramenta que permite sua utilização para (Protégé, 2003): construir uma ontologia; ajustar a forma de aquisição de conhecimento; entrar com um domínio de conhecimento. Dentre suas características principais destacam-se (Protégé, 2003):

55 geração automática de interfaces gráficas para os usuários, baseada nos modelos definidos por eles, para aquisição das instâncias para os domínios; arquitetura e modelo de conhecimento extensíveis; possibilidade de utilizar outras aplicações com o ambiente de desenvolvimento do Protégé, ou vice-versa. Protégé é um ambiente que pode ser estendido com recursos gráficos como tabelas, diagramas, componentes de animação para acessar outras aplicações com sistemas baseados em conhecimento. É ainda uma biblioteca que pode ser utilizada e acessada por outras aplicações para exibição de suas bases de conhecimento. Os objetivos do Protégé são (Protégé, 2003): permitir interoperabilidade com outros sistemas de representação de conhecimento; ser uma ferramenta de aquisição de conhecimento fácil de configurar e utilizar; ser extensível. Uma ontologia Protégé consiste basicamente de: classes: são as entidades do domínio a ser modelado; slots: descrevem propriedades de classes e instâncias, bem como as relações; facets: descrevem propriedades dos slots, é uma forma de especificar restrições (constraints) nos valores dos slots; instâncias: são declarações de determinada classe. 54 Figura 43 - Interface da Protégé

56 Protégé foi desenvolvida, inicialmente (na década de 80) (Protégé, 2003b), pelo departamento de informática médica da University of Stanford, sendo amplamente utilizada nessa área nos dias atuais. Ela está em constante desenvolvimento e, atualmente, oferece suporte à Web Semântica através da utilização de um plugin para a OWL (em desenvolvimento, tendo sua última atualização em 04 de dezembro do corrente ano). Não muito antigamente era chamada de Protégé-2000, sendo renomeada somente para Protégé a partir de sua versão 2.0 (beta) lançada no segundo semestre de A ferramenta Protégé é um software free e open-source. Ela fornece diversos plugins de modo a lhe dar maiores características e fornecer suporte às necessidades dos programadores. Através dela, há a possibilidade de conversão em vários formatos como XML, XMLSchema, RDF, RDFS, Topic Maps, UML, OIL, DAML+OIL, OWL (Protégé,2003), entre outros, fornecendo, assim, maior flexibilidade à aplicação. O Protégé tem sua instalação livre, é desenvolvido em Java, necessitando, assim, do JVM (Java Virtual Machine) e está disponível para diversas plataformas, caracterizando sua interoperabilidade, como: Windows (95, 98, NT, 2000, ME e XP); Linux; Solaris; AIX; HP-UX; Mac OS X v Considerações Finais O projeto de aplicações semânticas tem o seu foco nos conteúdos. O ponto central das aplicações semânticas é o sentido dos conceitos, contextos e relações. Elas definem modelos de conhecimento as quais são chamadas de ontologias (Lustosa, 2003). A partir de tecnologias como a XML e RDF e da representação explícita da semântica dos dados, aliados à teoria de domínios ou ontologias, é possível oferecer um serviço Web com um maior nível de qualidade. As ontologias apresentam meios para estabelecer uma base concisa de conceitos. A integração de ontologias é muito relevante hoje para a viabilização do desenvolvimento pleno da Web Semântica (SW, 2001) de

57 forma a consolidar diversas atividades na Web como: fornecer maior suporte ao serviço de comércio eletrônico, oferecer maior precisão aos mecanismos de buscas, prover a conexão semântica e a interoperabilidade entre os conteúdos das páginas, de maneira a ser utilizado cooperativamente por máquinas e humanos. Assim, diversas pesquisas envolvendo ontologias tendem para a definição de uma linguagem para sua criação e manipulação. Entre elas, a de maior destaque é a OWL, do Web Ontology Working Group, parte do projeto da Web Semântica da W3C. Ela habilita a máquina a compreender o dado, ou seja, ela oferece a capacidade de processamento semântico pela máquina, através de sua potencialidade em descrever os relacionamentos e propriedades entre os conceitos de um domínio. Juntamente com o padrão RDF, a OWL expressa a parte semântica das informações e a XML, DTD e XML Schemas ficam responsáveis pela estruturação dos dados, pela sua parte sintática. A OWL tem a intenção de prover uma linguagem que pode ser utilizada para descrever as classes e suas relações que são inerentes a aplicações e documentos Web. 56

58 57 3 MATERIAIS E MÉTODOS Para o desenvolvimento desse trabalho foram utilizados diversos recursos bibliográficos, de hardware e software, que aliados às orientações permitiram a finalização do mesmo. 3.1 Local e Período Este trabalho foi desenvolvido durante o segundo semestre de 2003, como parte da disciplina Prática em Sistemas de Informação II. Os locais utilizados para sua elaboração foram os laboratórios de informática do curso de Sistemas de Informação, sendo que os mais utilizados foram o Laboratório de Multimídia (LabMídia) e Núcleo de Desenvolvimento de Software (NDS) do Centro Universitário Luterano de Palmas. Bem como, destacando também, a utilização de um computador pessoal. 3.2 Materiais Os recursos utilizados para o desenvolvimento do trabalho foram disponibilizados pelo próprio curso Sistemas de Informação do CEULP/ULBRA em seus laboratórios, tais como hardware e software licenciados. As demais ferramentas free foram adquiridas via Internet Hardware Pentium III, 750 Mhz e 128 Mb de RAM (Disponível no laboratório); Pentium IV, 2.4 Ghz e 256 Mb de RAM (Disponível no laboratório);

59 58 Athlon XP (1.8 Ghz) e 256Mb de RAM (Computador pessoal) Software Microsoft Windows 2000 Professional; Microsoft Office 2000 Professional; Internet Explorer 6.0; Acrobat Reader 6.0; Protégé versão 2.0 (Beta) Fontes Bibliográficas Teses de Mestrados; Trabalhos de Conclusão de Curso; Publicações Científicas; Artigos; Site da W3C (World Wide Web Consortium) (W3C, 2003); Sites diversos. 3.3 Metodologia Diversas pesquisas foram realizadas no sentido de recolher informações referentes ao domínio do trabalho desenvolvido, de maneira que permitisse oferecer uma sustentação teórica necessária para a sua conclusão. Assim, foram abordados conceitos e técnicas alusivas ao escopo do trabalho, para que fosse possível apresentar uma proposta de definição de um domínio de ontologia, como forma de concretização de parte do que foi explanado na Revisão de Literatura.

60 59 4 RESULTADOS E DISCUSSÃO Esta seção tem o objetivo de apresentar uma proposta de desenvolvimento de uma ontologia através da linguagem OWL e sua aplicação sobre um domínio, abordando, assim, a camada de esquema da arquitetura da Web Semântica (Figura 2). Nesta camada define-se a hierarquia e os relacionamentos entre os termos e, como apoio à elaboração da mesma, utilizou-se um editor de ontologias, o Protégé, a fim de explicitar parte dos elementos propostos pela OWL apresentados no decorrer da seção 2.6. Esta linguagem foi escolhida por ser uma das recomendações da W3C (W3C, 2003) para construções de ontologias. Maiores detalhes referentes às definições dos conceitos envolvidos na modelagem podem ser obtidos no código completo na seção dos anexos. 4.1 Definição da Ontologia O desenvolvimento de uma ontologia é um processo iterativo [Protégé, 2003b]. Para a modelagem de uma ontologia, é necessária a definição do escopo, para que sejam identificadas suas classes e propriedades, bem como os relacionamentos entre elas e então possa, a partir dessas definições, criar as instâncias relativas a ontologia modelada. A ontologia a ser demonstrada nas próximas seções refere-se ao domínio de um módulo para um portal Web de universidades. Esse módulo refere-se a parte relacionada ao Curso com suas disciplinas e turmas. Para o seu desenvolvimento foi utilizada uma das ferramentas disponíveis para edição de ontologias, o Protégé 2.0. Ela foi escolhida por ser muito bem citada nos materiais relacionados ao tema e por ter atendido as necessidades para a conclusão do trabalho. Esse ambiente para criação de ontologias é um software free, desenvolvido pela

61 Universidade de Stanford, que foi adquirido via Internet através de seu site oficial <http://protege.standord.edu/>. O código completo referente a ontologia modelada pode ser encontrado nos anexos deste trabalho Protégé A Protégé está em constante atualização de forma a estar aprimorando-se e podendo dar maior suporte à Web Semântica. Atualmente está em sua versão 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 definição de ontologias baseadas nessa linguagem Plugin OWL O projeto referente ao desenvolvimento do plugin OWL foi iniciado em Abril de 2003 (Protégé, 2003b), baseado em idéias de projetos anteriores como do RDF, OilTab e DAML+OIL. O plugin OWL fornece uma extensão ao Protégé de forma a permitir edição de ontologias em OWL. Conta, atualmente, com uma versão beta disponível em <http://protege.stanford.edu/plugins/owl>. As características gerais oferecidas pelo mesmo são: executar e salvar arquivos OWL; utilizar editores gráficos para expressões de classes. Para sua utilização é necessário que se tenha a última versão do Protégé 2.0, e, conseqüentemente, como já foi comentado anteriormente (seção 2.7), a JVM (Java Virtual Machine) versão ou superior. Tendo essa configuração inicial, pode-se realizar o download do arquivo compactado contendo o plugin OWL a partir de <http://protégé.stanford.edu/plugins/owl/download/protégé-owl.zip>. O referido arquivo deverá ser descompactado no diretório de plugins onde a Protégé está instalada. A partir desse ponto, já pode-se utilizá-lo, sendo que ele será carregado na próxima vez que se executar a Protégé. A interface após a instalação do mesmo é a seguinte:

62 61 Figura 44 - Interface Protégé do módulo de manipulação de classes Figura 45 - Interface Protégé do módulo de manipulação de slots

63 Modelagem da Ontologia O desenvolvimento de uma ontologia no Protégé consiste basicamente nos seguintes passos: primeiramente é definido um esquema com as classes (class), subclasses (subclass), propriedades e relações (slots) referentes ao domínio que se deseja modelar, neste caso do domínio de parte de um portal Web para universidades. O modelo utilizado como referência para a modelagem da referida ontologia foi o que se segue: Figura 46 Modelo da ontologia definida

OWL e Protégé-2000 na definição de uma ontologia para o domínio Universidade

OWL e Protégé-2000 na definição de uma ontologia para o domínio Universidade OWL e Protégé-2000 na definição de uma ontologia para o domínio Universidade Pollyane de Almeida Lustosa 1, Fabiano Fagundes 2, Parcilene F. de Brito 2 1 Acadêmica do curso de Bacharel em Sistemas de Informação

Leia mais

PROJETO DE REDES www.projetoderedes.com.br

PROJETO DE REDES www.projetoderedes.com.br PROJETO DE REDES www.projetoderedes.com.br Centro Universitário de Volta Redonda - UniFOA Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro

Leia mais

RDF e RDF Schema na representação de páginas do portal CEULP/ULBRA

RDF e RDF Schema na representação de páginas do portal CEULP/ULBRA RDF e RDF Schema na representação de páginas do portal CEULP/ULBRA Danilo de Abreu Noleto 1, Parcilene Fernandes de Brito 1 1 Curso de Sistemas de Informação Centro Universitário Luterano de Palmas (CEULP/ULBRA)

Leia mais

L A C Laboratory for Advanced Collaboration

L A C Laboratory for Advanced Collaboration Publicação de Dados Governamentais no Padrão Linked Data 2.3 Web Ontology Language (OWL) Karin Breitman José Viterbo Edgard Marx Percy Salas L A C Laboratory for Advanced Collaboration Objetivo deste módulo

Leia mais

Ontologias - OWL (Web Ontology Language) Júnio César de Lima Cedric Luiz de Carvalho

Ontologias - OWL (Web Ontology Language) Júnio César de Lima Cedric Luiz de Carvalho Ontologias - OWL (Web Ontology Language) Júnio César de Lima Cedric Luiz de Carvalho Technical Report - RT-INF_004-05 - Relatório Técnico June - 2005 - Junho The contents of this document are the sole

Leia mais

Padrões, Ferramentas e Boas Práticas no Desenvolvimento de Software para Web Semântica

Padrões, Ferramentas e Boas Práticas no Desenvolvimento de Software para Web Semântica Padrões, Ferramentas e Boas Práticas no Desenvolvimento de Software para Web Semântica Ernesto F. Veiga, Márcio V. Oliveira Sena, Renato de F. Bulcão Neto ernestofonseca@inf.ufg.br marciovinicius@inf.ufg.br

Leia mais

Web de hoje (2.0) Porquê WEB 2.0?

Web de hoje (2.0) Porquê WEB 2.0? WEB 2.0 Conceitos O termo Web 2.0 refere-se a mudança para uma Internet como plataforma e um entendimento das regras para obter sucesso nesta nova plataforma. Segundo Tim O'Reilly, um dos criadores do

Leia mais

Uma ontologia para a representação do domínio de agricultura familiar na arquitetura AgroMobile. Roger Alves Prof. Me.

Uma ontologia para a representação do domínio de agricultura familiar na arquitetura AgroMobile. Roger Alves Prof. Me. Uma ontologia para a representação do domínio de agricultura familiar na arquitetura AgroMobile Roger Alves Prof. Me. Vinícius Maran O que é uma ontologia? Palavra vinda do grego, advinda da união entre

Leia mais

D2R EDITOR: HABILITANDO A PUBLICAÇÃO AUTOMÁTICA DE ANOTAÇÕES SEMÂNTICAS DE SITES DINÂMICOS

D2R EDITOR: HABILITANDO A PUBLICAÇÃO AUTOMÁTICA DE ANOTAÇÕES SEMÂNTICAS DE SITES DINÂMICOS UNIVERSIDADE FEDERAL DE SANTA CATARINA PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO André Guerreiro Cantarelli D2R EDITOR: HABILITANDO A PUBLICAÇÃO AUTOMÁTICA DE ANOTAÇÕES SEMÂNTICAS DE SITES DINÂMICOS

Leia mais

Web Semântica e PLN. Paulo Gomes DEI FCTUC

Web Semântica e PLN. Paulo Gomes DEI FCTUC Web Semântica e PLN Paulo Gomes DEI FCTUC 1 Sumário Motivação da Web Semântica Conceitos base da WS WS vs. PLN Sinergias entre WS e PLN Conclusão 2 Motivação Limitações da Web actualmente: Overflow de

Leia mais

O padrão RDF na descrição de imagens

O padrão RDF na descrição de imagens O padrão RDF na descrição de imagens Edeilson Milhomem da Silva 1, Parcilene Fernandes de Brito 1 1 Sistemas de Informação Centro Universitário Luterano de Palmas (CEULP/ULBRA) Cx. Postal 160 77054-970

Leia mais

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

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

Leia mais

Padrões, Ferramentas e Boas Práticas no Desenvolvimento de Software para Web Semântica

Padrões, Ferramentas e Boas Práticas no Desenvolvimento de Software para Web Semântica Padrões, Ferramentas e Boas Práticas no Desenvolvimento de Software para Web Semântica Ernesto F. Veiga, Márcio V. Oliveira Sena, Renato de F. Bulcão Neto ernestofonseca@inf.ufg.br marciovinicius@inf.ufg.br

Leia mais

Web Semântica. Web Semântica. uma introdução @yaso

Web Semântica. Web Semântica. uma introdução @yaso Web Semântica uma introdução @yaso O que é SEMÂNTICA Semântica é o estudo do signifcado. Incide sobre a relação entre signifcantes, tais como palavras, frases, sinais e símbolos, e o que eles representam,

Leia mais

Introdução 17. 1 Introdução

Introdução 17. 1 Introdução Introdução 17 1 Introdução O volume de informações que gerenciamos tem crescido a cada dia. Realizamos milhões de pesquisas na Web, postamos mensagens em blogs, enviamos mensagens de correio eletrônico,

Leia mais

A WEB SEMÂNTICA E SUA APLICABILIDADE NO MEIO ACADÊMICO

A WEB SEMÂNTICA E SUA APLICABILIDADE NO MEIO ACADÊMICO A WEB SEMÂNTICA E SUA APLICABILIDADE NO MEIO ACADÊMICO Graycielli Athanasio Mendes, Ana Carolina Xaves Ferreira, Rafael Couto dos S. Lima mendes.grace@gmail.com, anacarolinaxaves@yahoo.com.br, rafaelcoutolima@yahoo.com.br

Leia mais

Web Semântica e Matching de Ontologias: Uma Visão Geral

Web Semântica e Matching de Ontologias: Uma Visão Geral Web Semântica e Matching de Ontologias: Uma Visão Geral Hélio Rodrigues de Oliveira Departamento de Computação Universidade Federal do Ceará heliorodrigues@lia.ufc.br Bernadette Farias Lóscio Departamento

Leia mais

3 Modelo de Controle de Acesso no Projeto de Aplicações na Web Semântica

3 Modelo de Controle de Acesso no Projeto de Aplicações na Web Semântica 3 Modelo de Controle de Acesso no Projeto de Aplicações na Web Semântica Este trabalho tem o objetivo de integrar o controle de acesso no projeto de aplicações na web semântica. Uma arquitetura de software

Leia mais

Requisitos de Software

Requisitos de Software Requisitos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 1 Objetivos Apresentar os conceitos de requisitos de usuário e de sistema Descrever requisitos funcionais

Leia mais

Web Atual. O que é? WEB SEMÂNTICA. Web hoje é... O que é a web. Web Atual é Sintática!!! Web hoje é...sintática

Web Atual. O que é? WEB SEMÂNTICA. Web hoje é... O que é a web. Web Atual é Sintática!!! Web hoje é...sintática WEB SEMÂNTICA Prof. Dr. Fernando Gauthier INE/UFSC Web Atual O que é? Web hoje é... O que é a web Uma biblioteca digital hipermídia Uma biblioteca de documentos (páginas web) interconectados por hiperlinks

Leia mais

ONTOLOGIA DE DOMÍNIO PARA ANÁLISE DE BLOGS

ONTOLOGIA DE DOMÍNIO PARA ANÁLISE DE BLOGS Centro Universitário Feevale ONTOLOGIA DE DOMÍNIO PARA ANÁLISE DE BLOGS Fernando Mertins Prof. Orientador: Rodrigo Rafael Villarreal Goulart Dezembro de 2007 Roteiro da Apresentação Introdução Objetivos

Leia mais

MÁRCIA LÍLIAN SANDRI. Análise Comparativa entre o Modelo OOHDM e Ontologias a partir de uma Aplicação Baseada em Material Didático

MÁRCIA LÍLIAN SANDRI. Análise Comparativa entre o Modelo OOHDM e Ontologias a partir de uma Aplicação Baseada em Material Didático MÁRCIA LÍLIAN SANDRI Análise Comparativa entre o Modelo OOHDM e Ontologias a partir de uma Aplicação Baseada em Material Didático Palmas - TO 2005 MÁRCIA LÍLIAN SANDRI Análise Comparativa entre o Modelo

Leia mais

Semântica para Sharepoint. Busca semântica utilizando ontologias

Semântica para Sharepoint. Busca semântica utilizando ontologias Semântica para Sharepoint Busca semântica utilizando ontologias Índice 1 Introdução... 2 2 Arquitetura... 3 3 Componentes do Produto... 4 3.1 OntoBroker... 4 3.2 OntoStudio... 4 3.3 SemanticCore para SharePoint...

Leia mais

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados: MC536 Introdução Sumário Conceitos preliminares Funcionalidades Características principais Usuários Vantagens do uso de BDs Tendências mais recentes em SGBDs Algumas desvantagens Modelos de dados Classificação

Leia mais

Modelagem do Conhecimento para a Gestão de Processos e Projetos. Modelagem do Conhecimento para a Gestão de Processos e Projetos Prof.

Modelagem do Conhecimento para a Gestão de Processos e Projetos. Modelagem do Conhecimento para a Gestão de Processos e Projetos Prof. Modelagem do Conhecimento para a Gestão de Processos e Projetos 1 Objetivo Apresentação de modelo conceitual para a integração e recuperação de informações, disponíveis em ambientes internos ou externos,

Leia mais

OWL-DL Propriedades. Tópicos Especiais em Ontologias UTFPR/CPGEI/Prof. Tacla

OWL-DL Propriedades. Tópicos Especiais em Ontologias UTFPR/CPGEI/Prof. Tacla OWL-DL Propriedades Tópicos Especiais em Ontologias UTFPR/CPGEI/Prof. Tacla PROPRIEDADES Propriedades são relações entre dois indivíduos. Tipos de propriedades em OWL Object properties: liga um indivíduos

Leia mais

Protégé-OWL Tutorial. Adriano Melo André Chagas Fred Freitas. Sistemas Inteligentes http://www.cin.ufpe.br/~if684

Protégé-OWL Tutorial. Adriano Melo André Chagas Fred Freitas. Sistemas Inteligentes http://www.cin.ufpe.br/~if684 Protégé-OWL Tutorial Adriano Melo André Chagas Fred Freitas Sistemas Inteligentes http://www.cin.ufpe.br/~if684 Instalação Download do Protégé public de astm stanford.edu (site oficial) Protégé 3.4.4 OWL

Leia mais

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd. Apresentação Este curso tem como objetivo, oferecer uma noção geral sobre a construção de sistemas de banco de dados. Para isto, é necessário estudar modelos para a construção de projetos lógicos de bancos

Leia mais

Modelos de Sistema. 2007 by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1.

Modelos de Sistema. 2007 by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1. Modelos de Sistema Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1 Objetivos Explicar por que o contexto de um sistema deve ser modelado como parte do processo de RE Descrever

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 13 Web Services Web Services

Leia mais

INSTITUTO VIANNA JÚNIOR LTDA FACULADE DE CIENCIAS ECONOMICAS VIANNA JUNIOR

INSTITUTO VIANNA JÚNIOR LTDA FACULADE DE CIENCIAS ECONOMICAS VIANNA JUNIOR INSTITUTO VIANNA JÚNIOR LTDA FACULADE DE CIENCIAS ECONOMICAS VIANNA JUNIOR WEB SEMÂNTICA: A nova internet que fará com que os computadores entendam a lógica humana. Lúcia Helena de Magalhães 1 Márcio Aarestrup

Leia mais

XML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA

XML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA XML e Banco de Dados DCC/IM/UFBA Banco de Dados na Web Armazenamento de dados na Web HTML muito utilizada para formatar e estruturar documentos na Web Não é adequada para especificar dados estruturados

Leia mais

RDF (Resource Description Framework) RDFS (Resource Description Framework Schema)

RDF (Resource Description Framework) RDFS (Resource Description Framework Schema) RDF (Resource Description Framework) RDFS (Resource Description Framework Schema) Tópicos Especiais em Engenharia de Software I (Introdução à Engenharia de Ontologias) Curso: Engenharia de Computação Prof.

Leia mais

PADRÕES PARA O DESENVOLVIMENTO NA WEB

PADRÕES PARA O DESENVOLVIMENTO NA WEB PADRÕES PARA O DESENVOLVIMENTO NA WEB Ederson dos Santos Cordeiro de Oliveira 1,Tiago Bonetti Piperno 1, Ricardo Germano 1 1 Universidade Paranaense (UNIPAR) Paranavaí PR- Brasil edersonlikers@gmail.com,

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula

Leia mais

2 Conceitos relativos a Web services e sua composição

2 Conceitos relativos a Web services e sua composição 15 2 Conceitos relativos a Web services e sua composição A necessidade de flexibilidade na arquitetura das aplicações levou ao modelo orientado a objetos, onde os processos de negócios podem ser representados

Leia mais

UNIVERSIDADE FEDERAL DE CAMPINA GRANDE - UFCG INTEGRAÇÃO DE BANCOS DE DADOS FEDERADOS NA WEB. Philip Stephen Medcraft (Mestrando)

UNIVERSIDADE FEDERAL DE CAMPINA GRANDE - UFCG INTEGRAÇÃO DE BANCOS DE DADOS FEDERADOS NA WEB. Philip Stephen Medcraft (Mestrando) UNIVERSIDADE FEDERAL DE CAMPINA GRANDE - UFCG CENTRO DE CIÊNCIAS E TECNOLOGIA - CCT DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO - DSC COORDENAÇÃO DE PÓS-GRADUAÇÃO EM INFORMÁTICA - COPIN INTEGRAÇÃO DE BANCOS

Leia mais

RSS no desenvolvimento de uma Central de Notícias

RSS no desenvolvimento de uma Central de Notícias RSS no desenvolvimento de uma Central de Notícias Darley Passarin 1, Parcilene Fernandes de Brito 1 1 Sistemas de Informação Centro Universitário Luterano de Palmas (CEULP/ULBRA) Palmas TO Brasil darley@centralrss.com.br,

Leia mais

Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes.

Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes. 1 Diagrama de Classes Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes. Um dos objetivos do diagrama de classes é definir a base para

Leia mais

Empresa de Informática e Informação do Município de Belo Horizonte S/A PRODABEL

Empresa de Informática e Informação do Município de Belo Horizonte S/A PRODABEL Empresa de Informática e Informação do Município de Belo Horizonte S/A PRODABEL Diretoria de Sistema - DS Superintendência de Arquitetura de Sistemas - SAS Gerência de Arquitetura de Informação - GAAS

Leia mais

Cadernos UniFOA. Web Semântica: Uma Rede de Conceitos. Semantic Web: A Network of ConceptsONCEPTS

Cadernos UniFOA. Web Semântica: Uma Rede de Conceitos. Semantic Web: A Network of ConceptsONCEPTS 23 Web Semântica: Uma Rede de Conceitos Semantic Web: A Network of ConceptsONCEPTS Professor Especialista José Maurício dos Santos Pinheiro Artigo Original Original Paper Palavras-chaves: Internet Semântica

Leia mais

Requisitos de Software

Requisitos de Software Requisitos de Software Centro de Informática - Universidade Federal de Pernambuco Kiev Gama kiev@cin.ufpe.br Slides originais elaborados por Ian Sommerville e adaptado pelos professores Márcio Cornélio,

Leia mais

UNIVERSIDADE FEDERAL DO ESTADO DO RIO DE JANEIRO ESCOLA DE INFORMÁTICA APLICADA CURSO DE BACHARELADO EM SISTEMAS DE INFORMAÇÃO

UNIVERSIDADE FEDERAL DO ESTADO DO RIO DE JANEIRO ESCOLA DE INFORMÁTICA APLICADA CURSO DE BACHARELADO EM SISTEMAS DE INFORMAÇÃO UNIVERSIDADE FEDERAL DO ESTADO DO RIO DE JANEIRO ESCOLA DE INFORMÁTICA APLICADA CURSO DE BACHARELADO EM SISTEMAS DE INFORMAÇÃO BENEFÍCIOS DA INTEGRAÇÃO ENTRE ONTOLOGIA E MODELAGEM DE PROCESSOS DE NEGÓCIO

Leia mais

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos

Leia mais

Internet. Gabriela Trevisan Bacharel em Sistemas de Infomação

Internet. Gabriela Trevisan Bacharel em Sistemas de Infomação Internet Gabriela Trevisan Bacharel em Sistemas de Infomação Histórico da Web World Wide Web o nosso www é o meio de comunicação mais utilizado no mundo atualmente. Através da WWW qualquer usuário conectado

Leia mais

EP-RDF: SISTEMA PARA ARMAZENAMENTO E RECUPERAÇÃO DE IMAGENS BASEADO EM ONTOLOGIA

EP-RDF: SISTEMA PARA ARMAZENAMENTO E RECUPERAÇÃO DE IMAGENS BASEADO EM ONTOLOGIA EP-RDF: SISTEMA PARA ARMAZENAMENTO E RECUPERAÇÃO DE IMAGENS BASEADO EM ONTOLOGIA Resumo Edeilson Milhomem da Silva1, Parcilene Fernandes de Brito 1 1 Centro Universitário Luterano de Palmas (CEULP / ULBRA),

Leia mais

JONATHAN SCHNEIDER DESENVOLVIMENTO DE FORNECEDORES E CONSUMIDORES DE CONTEÚDO WEB SEMÂNTICO

JONATHAN SCHNEIDER DESENVOLVIMENTO DE FORNECEDORES E CONSUMIDORES DE CONTEÚDO WEB SEMÂNTICO FUNDAÇÃO DE ENSINO EURÍPIDES SOARES DA ROCHA CENTRO UNIVERSITÁRIO EURÍPIDES DE MARÍLIA UNIVEM CURSO DE CIÊNCIA DA COMPUTAÇÃO JONATHAN SCHNEIDER DESENVOLVIMENTO DE FORNECEDORES E CONSUMIDORES DE CONTEÚDO

Leia mais

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES [Observação: O template a seguir é utilizado como roteiro para projeto de sistemas orientado

Leia mais

Recuperação de Informações em Documentos Anotados Semanticamente na Área de Gestão Ambiental

Recuperação de Informações em Documentos Anotados Semanticamente na Área de Gestão Ambiental 1 Recuperação de Informações em Documentos Anotados Semanticamente na Área de Gestão Ambiental Celso Araújo Fontes (IME) celsowm@gmail.com Maria Claudia Cavalcanti (IME) yoko@ime.eb.br Ana Maria de Carvalho

Leia mais

2 Engenharia de Software

2 Engenharia de Software 20 2 Engenharia de Software 2.1 Design de Sistemas Orientados a Objetos Os Sistemas Orientados a Objetos não são mais novidade hoje em dia já estando há muitos anos no mercado. A orientação a objetos permite

Leia mais

Serviços Web Semânticos

Serviços Web Semânticos Serviços Web Semânticos Paulo Vitor Antonini Orlandin paulovitor_e@hotmail.com Resumo O grande crescimento na utilização de Serviços Web torna imprescindível o desenvolvimento de uma forma de melhoria

Leia mais

Uma Ontologia para Gestão de Segurança da Informação

Uma Ontologia para Gestão de Segurança da Informação Uma Ontologia para Gestão de Segurança da Informação Paulo Fernando da Silva, Henrique Otte, José Leomar Todesco, Fernando A. O. Gauthier Programa de Pós-Graduação em Engenharia e Gestão do Conhecimento

Leia mais

XML e Banco de Dados de Internet. Tópicos Especiais em Tecnologia da Informação Profa. Késsia R. C. Marchi

XML e Banco de Dados de Internet. Tópicos Especiais em Tecnologia da Informação Profa. Késsia R. C. Marchi XML e Banco de Dados de Internet Tópicos Especiais em Tecnologia da Informação Profa. Késsia R. C. Marchi Motivação Diversas aplicações Web utilizam Fontes de Dados (BD); Arquitetura Cliente-Servidor (2

Leia mais

Projeto de Arquitetura

Projeto de Arquitetura Projeto de Arquitetura Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 11 Slide 1 Objetivos Apresentar projeto de arquitetura e discutir sua importância Explicar as decisões de projeto

Leia mais

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância 5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância O capítulo anterior apresentou uma discussão sobre a inclusão dos chamados learning services no processo

Leia mais

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 1. Conceitos de Orientação a Objetos Introdução O paradigma da POO Classes

Leia mais

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA INTRODUÇÃO O projeto de um banco de dados é realizado sob um processo sistemático denominado metodologia de projeto. O processo do

Leia mais

Faculdade Lourenço Filho - ENADE 2011-1

Faculdade Lourenço Filho - ENADE 2011-1 1. Quando se constrói um banco de dados, define-se o modelo de entidade e relacionamento (MER), que é a representação abstrata das estruturas de dados do banco e seus relacionamentos. Cada entidade pode

Leia mais

Rational Quality Manager. Nome: Raphael Castellano Campus: AKXE Matrícula: 200601124831

Rational Quality Manager. Nome: Raphael Castellano Campus: AKXE Matrícula: 200601124831 Rational Quality Manager Nome: Raphael Castellano Campus: AKXE Matrícula: 200601124831 1 Informações Gerais Informações Gerais sobre o RQM http://www-01.ibm.com/software/awdtools/rqm/ Link para o RQM https://rqmtreina.mvrec.local:9443/jazz/web/console

Leia mais

Uso de taxonomias na gestão de conteúdo de portais corporativos.

Uso de taxonomias na gestão de conteúdo de portais corporativos. Gestão de Conteúdo web através de ontologias: conceitos e aplicações Fernando Silva Parreiras Contextualização O que? Uso de taxonomias na gestão de conteúdo de portais corporativos. Quem? Gerentes, consultores

Leia mais

Aplicação de um Metamodelo de Contexto a uma Tarefa de Investigação Policial

Aplicação de um Metamodelo de Contexto a uma Tarefa de Investigação Policial Aplicação de um Metamodelo de Contexto a uma Tarefa de Investigação Policial Lucas A. de Oliveira, Rui A. R. B. Figueira, Expedito C. Lopes Mestrado em Sistemas e Computação Universidade de Salvador (UNIFACS)

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Conceitos Básicos Introdução Banco de Dados I Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Dados

Leia mais

Frameworks. Pasteur Ottoni de Miranda Junior

Frameworks. Pasteur Ottoni de Miranda Junior Frameworks Pasteur Ottoni de Miranda Junior 1-Definição Apesar do avanço das técnicas de desenvolvimento de software, a construção de software ainda é um processo extremamente complexo.a reutilização tem

Leia mais

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3 DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3 Eduardo Laguna Rubai, Tiago Piperno Bonetti Universidade Paranaense (Unipar) Paranavaí PR- Brasil eduardorubay@gmail.com, bonetti@unipar.br Resumo.

Leia mais

Criação de Consultas e Relatórios no Access CRIAÇÃO DE CONSULTAS E RELATÓRIOS NO ACCESS

Criação de Consultas e Relatórios no Access CRIAÇÃO DE CONSULTAS E RELATÓRIOS NO ACCESS Criação de Consultas e Relatórios no Access CRIAÇÃO DE CONSULTAS E RELATÓRIOS NO ACCESS Sumário Conceitos / Autores chave... 3 1. Introdução... 4 2. Consultas... 5 3. Relatórios... 8 4. Conclusões... 11

Leia mais

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 2 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Revisão sobre Banco de Dados e SGBDs Aprender as principais

Leia mais

O PROJETO DE PESQUISA. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

O PROJETO DE PESQUISA. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza O PROJETO DE PESQUISA Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Escolher um tema de pesquisa Por onde começar? Ler para aprender Estrutura do Projeto de Pesquisa A Definição

Leia mais

Semântica na Web RDF. Carlos Bazilio. Depto de Computação Instituto de Ciência e Tecnologia Universidade Federal Fluminense

Semântica na Web RDF. Carlos Bazilio. Depto de Computação Instituto de Ciência e Tecnologia Universidade Federal Fluminense Semântica na Web RDF Carlos Bazilio Depto de Computação Instituto de Ciência e Tecnologia Universidade Federal Fluminense 1 Contexto... 2 Contexto (2) 3 Problemas na Web Atual Pouca integração de informações

Leia mais

5 Exemplos. 5.1. Produção bibliográfica da PUC-Rio

5 Exemplos. 5.1. Produção bibliográfica da PUC-Rio 5 Exemplos Foram desenvolvidas duas aplicações que exemplificam o uso e a utilidade das mudanças feitas no método SHDM e do ambiente de desenvolvimento Synth, apresentadas nas seções a seguir. 5.1. Produção

Leia mais

EXPERIÊNCIA DE USO DE ARQUITETURA CORPORATIVA NO PROJETO DE RES

EXPERIÊNCIA DE USO DE ARQUITETURA CORPORATIVA NO PROJETO DE RES EXPERIÊNCIA DE USO DE ARQUITETURA CORPORATIVA NO PROJETO DE RES Rigoleta Dutra Mediano Dias 1, Lívia Aparecida de Oliveira Souza 2 1, 2 CASNAV, MARINHA DO BRASIL, MINISTÉRIO DA DEFESA, BRASIL Resumo: Este

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

Este relatório tem por objetivo, abordar a sintaxe XML.

Este relatório tem por objetivo, abordar a sintaxe XML. Relatório do GPES Este relatório tem por objetivo, abordar a sintaxe XML. XML Estrutura do documento Um documento XML é uma árvore rotulada onde um nó externo consiste de: [1] Dados de caracteres (uma

Leia mais

XML. 1. XML: Conceitos Básicos. 2. Aplicação XML: XHTML 3. Folhas de Estilo em Cascata XML

XML. 1. XML: Conceitos Básicos. 2. Aplicação XML: XHTML 3. Folhas de Estilo em Cascata XML 1 1. : Conceitos Básicos 2. Aplicação : XHTML 3. Folhas de Estilo em Cascata 2 é um acrônimo para EXtensible Markup Language é uma linguagem de marcação muito parecida com HTML foi designada para descrever

Leia mais

1. NÍVEL CONVENCIONAL DE MÁQUINA (Cont.) 1.3. INSTRUÇÕES Conceitos Básicos

1. NÍVEL CONVENCIONAL DE MÁQUINA (Cont.) 1.3. INSTRUÇÕES Conceitos Básicos 1. NÍVEL CONVENCIONAL DE MÁQUINA (Cont.) 1.3. INSTRUÇÕES Conceitos Básicos Já estudamos anteriormente que os processadores funcionam (ou melhor, o seu hardware funciona) através de ordens simples e básicas,

Leia mais

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador> FACULDADE DE ENGENHARIA DE COMPUTAÇÃO PROJETO FINAL I e II PLANO DE TRABALHO O Trabalho de Conclusão de Curso (TCC) a ser desenvolvido

Leia mais

Tecnologia para Sistemas Inteligentes Apontamentos para as aulas sobre. Introdução à Representação e Processamento de Ontologias: Framework O3f

Tecnologia para Sistemas Inteligentes Apontamentos para as aulas sobre. Introdução à Representação e Processamento de Ontologias: Framework O3f Tecnologia para Sistemas Inteligentes Apontamentos para as aulas sobre Introdução à Representação e Processamento de Ontologias: Framework O3f Luís Miguel Botelho Departamento de Ciências e Tecnologias

Leia mais

ONTOLOGIA PARA PUBLICAÇÃO CIENTÍFICA 1 ONTOLOGY FOR SCIENTIFIC PUBLICATION

ONTOLOGIA PARA PUBLICAÇÃO CIENTÍFICA 1 ONTOLOGY FOR SCIENTIFIC PUBLICATION ONTOLOGIA PARA PUBLICAÇÃO CIENTÍFICA 1 ONTOLOGY FOR SCIENTIFIC PUBLICATION Andrenizia Aquino Eluan Mestranda do Programa de Pós-Graduação em Ciência da Informação Universidade Federal de Santa Catarina

Leia mais

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 2 Computação em Nuvem Desafios e Oportunidades A Computação em Nuvem

Leia mais

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE] 1/6 Banco de Dados O que é um Banco de Dados? Uma coleção de dados relacionados [ELMASRI/NAVATHE] Conjunto de dados integrados que tem por objetivo atender a uma comunidade específica [HEUSER] Um conjunto

Leia mais

Uma Arquitetura para o Compartilhamento do Conhecimento em Bibliotecas Digitais

Uma Arquitetura para o Compartilhamento do Conhecimento em Bibliotecas Digitais Uma Arquitetura para o Compartilhamento do Conhecimento em Bibliotecas Digitais Nikolai Dimitrii Albuquerque (Grupo Stela - UFSC) nikolai@stela.ufsc.br Vinícius Medina Kern (Grupo Stela - UFSC) kern@stela.ufsc.br

Leia mais

S E O PA R A I N I C I A N T E S

S E O PA R A I N I C I A N T E S SEO PARA INICIANTES QUEM SOU EU? WEB DESIGNER COM FOCO NO SEO DE QUALIDADE IDEALIZADOR DO COMSEO CEO DA MOSKO WEB DESIGNER O QUE É SEO? É O CONJUNTO DE ESTRATÉGIAS COM O OBJETIVO DE POTENCIALIZAR E MELHORAR

Leia mais

Proposta de Adaptação do Webvox a Internet com XML

Proposta de Adaptação do Webvox a Internet com XML Proposta de Adaptação do Webvox a Internet com XML Tatiana B. de Oliveira, Márcia Lilian Sandri, Fabiano Fagundes Centro Universitário Luterano de Palmas Palmas TO Brasil {tatianaoliveira,marcialilian,fagundes}@ulbra-to.br

Leia mais

ESTUDO TÉCNICO N.º 14/2012

ESTUDO TÉCNICO N.º 14/2012 ESTUDO TÉCNICO N.º 14/2012 MANUAL DE INSTRUÇÕES PARA UTILIZAÇÃO DO ARQUIVO EM FORMATO XML PARA IMPORTAÇÃO DOS DADOS DO REGISTRO MENSAL DE ATENDIMENTOS DOS CRAS MINISTÉRIO DO DESENVOLVIMENTO SOCIAL E COMBATE

Leia mais

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44 Armazenando Dados em Aplicações Java Parte 2 de 3: Apresentando as opções Hua Lin Chang Costa, hualin@cos.ufrj.br, COPPE/UFRJ. Leonardo Gresta Paulino Murta, leomurta@ic.uff.br, IC/UFF. Vanessa Braganholo,

Leia mais

Ontologia de Domínio da Biodisponibilidade de Ferro: Uma Experiência no Projeto Nutri-Fuzzy-Orixás

Ontologia de Domínio da Biodisponibilidade de Ferro: Uma Experiência no Projeto Nutri-Fuzzy-Orixás Ontologia de Domínio da Biodisponibilidade de Ferro: Uma Experiência no Projeto Nutri-Fuzzy-Orixás Alessandra Brito F. Oliveira 1; Vera Maria Benjamim Werneck 1 ; Regina Serrão Lanzillotti 1 ; Haydée Serrão

Leia mais

OntoEditor: Um editor para manipular ontologias na Web

OntoEditor: Um editor para manipular ontologias na Web Universidade Federal de Campina Grande Centro de Ciências e Tecnologia Curso de Mestrado em Informática Coordenação de Pós-Graduação em Informática OntoEditor: Um editor para manipular ontologias na Web

Leia mais

Padrões de projeto 1

Padrões de projeto 1 Padrões de projeto 1 Design Orientado Objeto Encapsulamento Herança Polimorfismo Design Patterns 2 Responsabilidades Booch e Rumbaugh Responsabilidade é um contrato ou obrigação de um tipo ou classe. Dois

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 02 Análise e Projeto OO Edirlei Soares de Lima Análise A análise modela o problema e consiste das atividades necessárias para entender

Leia mais

OBJETOS DE APRENDIZAGEM

OBJETOS DE APRENDIZAGEM MEDs e METADADOS OBJETOS DE APRENDIZAGEM O que é um objeto de aprendizagem? Segundo Wiley, D.A.,2000 Qualquer entidade DIGITAL que pode ser usada, reusada ou referenciada durante um processo de aprendizagem

Leia mais

PROPOSTA DE SOFTWARE DE INSTALAÇÃO PARA UM AMBIENTE INTEGRADO DE GERÊNCIA DE PROJETOS E DE PROCESSOS DE NEGÓCIOS

PROPOSTA DE SOFTWARE DE INSTALAÇÃO PARA UM AMBIENTE INTEGRADO DE GERÊNCIA DE PROJETOS E DE PROCESSOS DE NEGÓCIOS PROPOSTA DE SOFTWARE DE INSTALAÇÃO PARA UM AMBIENTE INTEGRADO DE GERÊNCIA DE PROJETOS E DE PROCESSOS DE NEGÓCIOS Élysson Mendes Rezende Bacharelando em Sistemas de Informação Bolsista de Iniciação Científica

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Requisitos Cap. 06 e 07 Sommerville 8 ed. REQUISITOS DE SOFTWARE» Requisitos são descrições de serviços fornecidos pelo sistema e suas restrições operacionais. REQUISITOS DE USUÁRIOS: São

Leia mais

1. CONCEITOS BÁSICOS DE BD, SBD E SGBD

1. CONCEITOS BÁSICOS DE BD, SBD E SGBD Introdução 1. CONCEITOS BÁSICOS DE BD, SBD E SGBD A importância da informação para a tomada de decisões nas organizações tem impulsionado o desenvolvimento dos sistemas de processamento de informações.

Leia mais

Anexo VI Edital nº 03361/2008. Projeto de Integração das informações de Identificação Civil. 1. Definições de interoperabilidade adotadas pela SENASP

Anexo VI Edital nº 03361/2008. Projeto de Integração das informações de Identificação Civil. 1. Definições de interoperabilidade adotadas pela SENASP Anexo VI Edital nº 03361/2008 Projeto de Integração das informações de Identificação Civil 1. Definições de interoperabilidade adotadas pela SENASP A Senasp procura adotar os padrões de interoperabilidade

Leia mais

Web Semântica: Conceitos e Tecnologias

Web Semântica: Conceitos e Tecnologias Capítulo 9 Web Semântica: Conceitos e Tecnologias Fernando Wagner Filho e Bernadette Farias Lóscio Abstract With the advent of the Web 2.0, the amount of data available on the Web is growing in an exponential

Leia mais

CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA ETEC PROF. MÁRIO ANTÔNIO VERZA CURSO TÉCNICO EM INFORMÁTICA PARA INTERNET

CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA ETEC PROF. MÁRIO ANTÔNIO VERZA CURSO TÉCNICO EM INFORMÁTICA PARA INTERNET CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA ETEC PROF. MÁRIO ANTÔNIO VERZA CURSO TÉCNICO EM INFORMÁTICA PARA INTERNET WEBSITE MUNDO MULHER GABRIELA DE SOUZA DA SILVA LUANA MAIARA DE PAULA SILVA

Leia mais

EDEILSON MILHOMEM DA SILVA RDF E RDQL NA SISTEMATIZAÇÃO E RECUPERAÇÃO DE IMAGENS

EDEILSON MILHOMEM DA SILVA RDF E RDQL NA SISTEMATIZAÇÃO E RECUPERAÇÃO DE IMAGENS EDEILSON MILHOMEM DA SILVA RDF E RDQL NA SISTEMATIZAÇÃO E RECUPERAÇÃO DE IMAGENS Palmas 2004 iii EDEILSON MILHOMEM DA SILVA RDF E RDQL NA SISTEMATIZAÇÃO E RECUPERAÇÃO DE IMAGENS Relatório apresentado como

Leia mais

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 SUMÁRIO 1 Conceitos Básicos... 3 1.1 O que é Software?... 3 1.2 Situações Críticas no desenvolvimento

Leia mais

Pós Graduação Engenharia de Software

Pós Graduação Engenharia de Software Pós Graduação Engenharia de Software Ana Candida Natali COPPE/UFRJ Programa de Engenharia de Sistemas e Computação FAPEC / FAT Estrutura do Módulo Parte 1 QUALIDADE DE SOFTWARE PROCESSO Introdução: desenvolvimento

Leia mais

3.1 Definições Uma classe é a descrição de um tipo de objeto.

3.1 Definições Uma classe é a descrição de um tipo de objeto. Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Classes Autoria:Aristófanes Corrêa Silva Adaptação:

Leia mais

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais