Web Semântica: Conceitos e Tecnologias

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

Download "Web Semântica: Conceitos e Tecnologias"

Transcrição

1 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 way, increasingly the need for a way to organize and dispose these data, in order to integrate and share them easily. Also is important that applications that use these data be able to interpret them to automate tasks and facilitate the navigation on the Web. In this context, the Semantic Web is meant to be a gradual evolution of the current Web, where the data will be easily processed by applications. Resumo Com o advento da Web 2.0, o volume de dados disponível na Internet vem aumentando de forma exponencial, tornando cada vez mais necessária uma forma de organizar e dispor estes dados de maneira que seja possível integrá-los e compartilhá-los com facilidade. Além disso, a fim de automatizar tarefas e facilitar a navegação do usuário é importante que as aplicações que fazem uso desses dados sejam capazes de interpretá-los. Neste contexto, surgiu o conceito de Web Semântica, que se propõe a ser uma evolução gradual da Web atual, onde os dados poderão ser facilmente processados pelas aplicações e técnicas avançadas poderão ser utilizadas a fim de tirar proveito desta representação..

2 9. Web Semântica O advento da Web 2.0 trouxe aos usuários uma melhor forma de comunicação e interação, popularizando ainda mais o acesso a Internet e incentivando tanto a colaboração intelectual quanto de recursos por parte dos usuários. Como conseqüência direta deste comportamento, o volume de dados disponíveis na Web vem crescendo em quantidade exponencial. Para prover acesso a este grande volume de dados, mecanismos para busca de informações, amplamente utilizados hoje em dia, como Google, usam estratégias baseadas em busca por palavra-chave. Apesar de amplamente difundidas e utilizadas estas estratégias possuem sérios problemas como[10]: Alta sensibilidade à sintaxe e pouca precisão: os mecanismos de busca não levam em consideração a semântica do domínio, e isto pode causar o retorno de inúmeras ocorrências irrelevantes. Dessa forma, as ocorrências relevantes recuperadas geralmente são acompanhadas de milhares de outras ocorrências com pouca ou nenhuma relevância. Organização ineficiente dos dados: informações e recursos relevantes podem não estar relacionados e, em conseqüência, aparecerão separadamente no resultado da consulta. Isto pode exigir do usuário várias consultas extras e uma triagem manual dos documentos resultantes. Diante deste cenário, surgiu a idéia da Web Semântica, que tem como um dos seus principais objetivos prover meios para organizar os dados e permitir que estes possam ser interpretados pelos computadores. Dessa forma será possível melhorar os resultados das buscas e facilitar a automação de tarefas relevantes, evitando, sempre que possível, o desperdício de tempo e fazendo com que tanto os dados quanto as máquinas sejam utilizados de forma mais inteligente. Para ilustrar um exemplo de aplicação da Web Semântica, imagine que um usuário deseja viajar de uma localidade a outra. Para isso terá que pegar um avião e depois ficar hospedado em um hotel. Com o advento da Web Semântica, será possível realizar uma busca pela passagem mais barata para o destino em questão, incluindo as restrições de horário de saída e chegada. Posteriormente, uma busca pelo hotel mais adequado às necessidades do usuário também poderá ser feita sem que haja inúmeras intervenções ou triagens humanas. Em 2001, Berners-Lee [8] definiu o conceito de Web Semântica bem como uma possível arquitetura para aplicações sob o mesmo contexto. A arquitetura passou por várias modificações e a sua configuração atual é ilustrada na Figura 9.1.

3 Figura 9.1. Arquitetura atual da Web Semântica A arquitetura mencionada é separada em camadas, onde cada uma delas possui uma determinada função. Outro fato interessante é a alta interoperabilidade entre as mesmas. Abaixo, uma breve explicação das funcionalidades de cada uma destas camadas: Camada URI/IRI: Permite identificar unicamente cada recurso(ex: figures e páginas HTML) disponível na Web através de um endereço (Universal Resource Identifier); Camada XML: Permite a criação de marcações para descrição de informações. A sintaxe das camadas superiores é baseada em XML; Camada RDF: Provê um modelo de descrição lógica de dados permitindo descrever assertivas e informações sobre um determinado recurso; Camada RDFS: Permite a criação de um vocabulário para a camada RDF. Com o RDFS, é possível criar hierarquia de classes e propriedades; Camada da Ontologia: Estende a camada RDFS, provendo um maior nível de expressividade para a definição da semântica das informações; Camada de Consulta: Responsável prover meios para a realização de consultas sobre o modelo de dados RDFS/Ontologia; Camada de Regras: Provê um mecanismo de criação de relações entre recursos que não podem ser descritas diretamente na ontologia; Camada Lógica: É responsável pelo raciocínio e execução de inferências lógicas a partir da semântica previamente descrita; Camada de Prova e Confiança: Camada que provê um mecanismo para avaliar o nível de confiabilidade das fontes de recursos e informações; Camada de Aplicação: Camada que permite a interação entre o usuário e a aplicação Web Semântica.

4 Uma questão que merece destaque no contexto de Web Semântica é o uso de ontologias, que são utilizadas para prover uma correta interpretação do significado dos dados. Na Ciência da Computação, uma ontologia pode ser descrita como sendo uma especificação explícita e formal de um domínio a qual se tem interesse em representar. As ontologias são baseadas em lógica descritiva, consistindo de conceitos (classes) e relacionamentos (propriedades) entre estes conceitos [10]. No domínio de uma universidade, por exemplo, os termos professor, aluno, funcionário, disciplina são exemplos de conceitos existentes em uma possível ontologia para este domínio. Como exemplos de relacionamento entre estes conceitos, podemos citar que um professor ensina um aluno, um aluno cursa uma disciplina, entre outros. Dentro de uma ontologia, vale destacar o relacionamento hierárquico entre conceitos, consistindo de classes e subclasses. Similar à orientação a objetos, toda subclasse herda as características de sua classe pai. No contexto da Web Semântica, o uso de ontologias provê uma série de vantagens como por exemplo a possibilidade de realização de inferências para a descoberta de novas informações. Outro grande benefício é o fato de que as ontologias são extensíveis, ou seja, é possível estender uma ontologia de modo a adaptá-la para modelar o domínio de interesse. Para exemplificar tal característica, suponha que se tenha interesse em descrever um domínio com informações sobre computadores. Neste caso, se existir uma ontologia mais geral que descreve equipamentos, então será possível estendê-la para que seja possível descrever dados sobre computadores. Entretanto, para que a Web Semântica torne-se uma concreta realidade, é necessário que haja uma padronização de tecnologias. Neste contexto, o W3C (World Wide Web Consortium) e a comunidade acadêmica têm unido esforços no sentido de criar, disponibilizar e padronizar linguagens e tecnologias para garantir a correta e melhor interoperabilidade possível. Neste capítulo, serão apresentados os conceitos básicos relacionados à Web Semântica, bem como algumas das principais tecnologias atualmente disponíveis para o desenvolvimento de aplicações neste contexto. O restante deste capítulo está organizado como se segue: a Seção 9.2 apresenta alguns conceitos básicos relacionados à XML; a Seção 9.3 aborda o conceito de namespaces; as seções 9.4 e 9.5 apresentam RDF e RDFS respectivamente; a Seção 9.6 descreve brevemente a linguagem de consulta SPARQL; a Seção 9.7 apresenta a linguagem OWL; a Seção 9.8 discute rapidamente o uso do SWRL e o papel dos reasoners Conceitos básicos de XML XML é uma linguagem de marcação que, diferentemente do HTML, permite a criação e o uso de tags personalizadas, fornecendo assim uma maneira simples de organizar e estruturar os dados existentes em uma determinada aplicação [1][25]. De posse dos dados estruturados, é possível estabelecer uma comunicação entre aplicações, permitindo a cooperação entre as mesmas para execução de tarefas complexas. Atualmente XML é a linguagem padrão recomendada pela W3C para troca de dados via Web. A Web Semântica exige uma descrição formal da semântica dos dados, de tal forma a evitar ambigüidades e permitir a interpretação de informações por parte das

5 aplicações. Neste contexto, XML provê uma sintaxe bem definida, sendo atualmente utilizado na maioria das aplicações existentes na Web. A Figura 9.2 exibe trechos de documentos HTML e XML que exibem informações relacionadas a professores. É possível verificar que no documento HTML a maior preocupação é com a aparência dos dados e em como eles serão exibidos para o usuário. Por outro lado, no documento XML, o objetivo principal consiste em estruturar os dados de tal forma a possibilitar o processamento destes. Dessa forma, é possível saber que o dado é referente ao ID do professor em questão, bem como Fernando Wagner trata-se do nome deste mesmo professor. Vale ressaltar que a sintaxe do XML é bem formal e possui uma série de regras a serem obedecidas. Um documento XML que segue todas as regras sintáticas da linguagem é chamado de documento XML bem formado. Figura 9.2. Trechos de código HTML e XML destacando os dados de um professor Por outro lado, XML permite estruturar um mesmo conjunto de dados de formas diferentes. A Figura 9.3, por exemplo, mostra uma maneira alternativa de representação das informações relacionadas a um professor. Tal característica pode levar a discordância entre aplicações além de uma possível confusão na hora de capturar os dados estruturados. Figura 9.3. Documento XML alternativo ao da Figura 9.2 Para evitar este tipo de problema, foram propostas linguagens para definição de esquemas XML, que são uma espécie de contrato, onde todas as partes envolvidas por um contexto de aplicação devem escrever seus documentos XML seguindo o padrão de estruturação especificado no esquema XML correspondente. Dentre as linguagens para definição de esquemas XML, destacam-se DTD e XML Schema. Um esquema especifica quais elementos e atributos são permitidos em um determinado documento XML, além da maneira como estes devem estar. A Figura 9.4 mostra um exemplo de um esquema para o documento XML da Figura 9.2.

6 Figura 9.4. Documento XML Schema correspondente ao XML da Figura 9.2 O XML Schema foi desenvolvido com o mesmo propósito do DTD. Porém, este provê uma linguagem bem mais rica para a definição de esquemas XML. Uma vantagem é que XML Schema é baseado em XML, o que aumenta a interoperabilidade e não exige conhecimento prévio de outro tipo de linguagem para definição de esquemas. Além disso, é possível manipular um arquivo XML Schema usando um editor XML ou uma API como DOM ou SAX. O XML Schema é uma recomendação da W3C desde 2001 que visa substituir o DTD. Documentos XML que são bem-formados e estão de acordo com o esquema especificado são chamados de documentos válidos. A aplicação responsável por executar esta verificação é chamada de Parser. Caso haja algum erro de sintaxe ou alguma desconformidade entre o documento XML e o esquema correspondente, o parser acusará o erro Namespaces Atualmente, a forma mais utilizada de troca de dados pela Web é através de documentos XML. Tecnicamente, documentos XML podem utilizar vários esquemas para estruturação de seus dados, ou seja, um documento XML pode fazer referência a vários esquemas XML. Na maioria dos casos, os esquemas são desenvolvidos por vários grupos distintos. Como as fontes desconhecem os outros esquemas envolvidos na especificação da estrutura dos documentos XML, ambigüidades podem ser geradas, como por exemplo, a declaração de tags de mesmo nome, mas com semânticas distintas. Nestes casos, o parser não saberá como validar corretamente estes elementos, pois não conseguirá fazer a distinção a qual esquema o elemento faz referência. Para resolver problemas como este, foram criados os chamados namespaces, os quais são URIs que referenciam o esquema do qual o elemento faz parte. A Figura 9.6 ilustra um exemplo da utilização de namespaces. Prefixos que referenciam o namespace são declarados no elemento raiz do documento XML, como em destaque na Figura 9.6. Neste caso o parser tem condições de identificar qual elemento titulo trata da titulação acadêmica e qual trata da titulação como empregado da universidade.

7 Figura 9.5. Exemplo utilizando namespace 9.4. RDF Resource Description Framework Apesar de ser uma recomendação do W3C amplamente utilizada em diversas aplicações, XML não possui os requisitos necessários para descrever adequadamente a semântica de uma informação. A forma como os elementos devem estar relacionados, bem como a definição significado dos mesmos fica a cargo do desenvolvedor. O modelo de dados RDF foi proposto como uma possível solução para esta limitação de XML. Freqüentemente referenciado como uma linguagem, o mais correto seria afirmar que o RDF é um modelo de dados que possibilita a definição de afirmações, chamadas sentenças, sobre um recurso. Entende-se por um recurso, qualquer coisa sobre a qual se quer expressar uma idéia. Um recurso pode estar relacionado com dados ou com outros recursos através das sentenças. Uma sentença é estruturada no formato sujeito + predicado + objeto onde: Sujeito: Tem como valor o recurso do qual se quer escrever uma sentença. Predicado: Especifica um relacionamento entre sujeito e objeto. O predicado é especificado através de propriedades, que são relações binárias, geralmente nomeadas por um verbo e permitem relacionar um recurso a dados ou a outros recursos. Objeto: Denomina o recurso ou dado que se relaciona ao sujeito. Devido ao seu formato, uma sentença é freqüentemente chamada de tripla. Assim sendo, um documento RDF pode ser visto como um conjunto de triplas, onde estas descrevem informações sobre os recursos envolvidos no domínio de interesse. A Figura 9.6 mostra uma maneira abstrata de se visualizar triplas. Figura 9.6. Forma abstrata de visualizar triplas. As triplas representadas na Figura 9.6 contêm informações sobre dois recursos. A primeira tripla informa que o recurso p possui nome Berna Farias. A

8 segunda tripla descreve um segundo recurso CK120, cujo nome é Banco de Dados I. A terceira tripla descreve um relacionamento entre os dois recursos criados através do predicado EnsinadoPor. Os elementos de RDF para descrição de triplas são: <rdf:description>: Usado toda vez que se quer escrever uma tripla acerca de um recurso. <rdf:id>: Responsável pela declaração de um recurso. rdf:resource: Atributo utilizado para fazer referência a outros recursos existentes. Documentos RDF também podem ser visualizados como grafos, onde cada recurso e/ou literais existentes são os nós e as propriedades são as arestas. A Figura 9.7 mostra as triplas da Figura 9.6 dispostas sobre a forma de um grafo. Figura 9.7. Visualização de triplas através de um grafo Considere agora a Figura 9.8 que contém o exemplo de triplas descritas utilizando a sintaxe de XML. A linha 1 mostra a versão da sintaxe XML utilizada. As linhas 2 e 3 exibem o elemento raiz de um documento RDF, juntamente com os namespaces que serão utilizados. Por padrão o elemento raiz de todo documento RDF é <rdf:rdf>. A linha 5 mostra a criação de um recurso cujo o ID é P Na linha 7, descrevemos a mesma informação da contida na Figura 9.6, de que o recurso criado na linha 5 tem por nome Berna Farias. Vale salientar a importância do namespace uni, especificando o domínio das informações que o recurso em questão fará uso. Figura 9.8. Trecho de um documento RDF. Nas linhas 11 à 14 descrevemos um recurso como uma disciplina. Podemos verificar que não é obrigatório o uso do <rdf:id> para a criação do recurso, ou seja,

9 podemos utilizar a tag <rdf:description> juntamente com o atributo rdf:about para criar e escrever informações acerca do recurso. É uma boa prática utilizar rdf:resource ao invés de escrever o valor do elemento. Isto fortalece o relacionamento entre os recursos. No caso da Figura 9.8, por exemplo, não seria interessante escrever <uni:ensinadopor>p </ uni:ensinadopor >. Outra importante funcionalidade presente no RDF são os containers. Eles permitem certa propriedade fazer referência a mais de um recurso. Estes são divididos em 3 formas: rdf:bag: Simboliza um conjunto de recursos ou literais onde permite-se repetições de elementos e a ordenação disposta não é relevante. rdf:seq: Similar ao bag, porém a ordem dos elementos é relevante. rdf:alt: Um conjunto de recursos onde apenas um destes poderá ser escolhido como real valor da propriedade. A Figura 9.9 mostra um exemplo do uso do container bag. No exemplo o container foi usado para especificar os componentes de um projeto. É importante ressaltar que o RDF é um modelo de dados que possibilita escrever triplas sobre qualquer recurso em qualquer domínio, ou seja, o RDF é independente de domínio. Atualmente, o RDF utiliza a sintaxe XML em sua especificação. Porém, nada impede que os conceitos do RDF sejam implementados utilizando outras sintaxes. Figura 9.9 Uso do container <rdf:bag> 9.5. RDFS Resource Description Framework Schema RDF provê um modelo de dados que permite descrever sentenças sobre domínios de interesse. Apesar disso, um documento RDF não pode ser considerado uma ontologia. Isto porque não é possível conceitualizar um domínio como proposto na definição de ontologias [6]. Não é possível especificar em RDF, por exemplo, que todo docente é um funcionário, ou que os participantes de um projeto devem ser todos pesquisadores. Além disso, RDF dá margem a certas inconsistências como a ilustrada na Figura O código da Figura 9.10 é validado com sucesso pelo parser RDF. Porém, a semântica do documento contém uma falha grave. A tripla representada pelas linhas 9-

10 11 diz que um recurso que representa um conjunto de indivíduos é do tipo deste indivíduo, quando o mais sensato seria expressar o oposto. Figura Possível inconsistência no RDF Neste contexto, RDFS visa solucionar tais problemas provendo construtores que permitem especificar formalmente um esquema. A idéia principal é unir RDFS + RDF de tal forma que todas as sentenças descritas em RDF obedeçam à semântica descrita no esquema especificado em RDFS. Este esquema nada mais é do que a modelagem do domínio de interesse. Alguns construtores de RDFS são citados e descritos abaixo: <rdfs:class> - Permite a criação de classes. O conceito de classes em RDF é similar ao existente na programação orientada a objetos, ou seja, uma classe descreve um conjunto de indivíduos/instâncias que possuem as mesmas características e comportamentos. A existência das classes é muito importante para o contexto das ontologias, uma vez que estas permitem explicitar generalizações, além de impedir inconsistências semânticas como a ilustrada na Figura <rdfs:subclassof> - Permite especificar especializações entre classes, inclusive heranças múltiplas. Assim como na orientação a objetos, uma subclasse herda todas as características das classes pai. Podemos expressar, por exemplo, que um docente é subclasse de funcionário, ou seja, todo docente também é um funcionário. Vale destacar o caráter transitivo deste construtor, ou seja, dada três classes A, B e C, se A é subclasse de B e B é subclasse de C, então podemos inferir que A é subclasse de C. RDF provê um construtor para declaração de propriedades. Porém, RDFS estende este construtor fazendo uso de outros novos construtores, gerando maior poder de expressividade para a explicitação da semântica de uma propriedade. Os construtores utilizados na extensão são citados abaixo: <rdfs:domain> - Define quais classes de indivíduos serão aceitas como sendo o sujeito em triplas envolvendo a propriedade. Este conjunto de classes é denominado de domain <rdfs:range> - Define quais classes de indivíduos ou valores literais serão aceitos como sendo o objeto em triplas envolvendo propriedade. <rdfs:subpropertyof> - Caracteriza uma hierarquia entre propriedades. Análogo ao conceito de subclasse para classes. Este conjunto de classes ou valores literais é denominado de range. As subpropriedades herdam os conjuntos domain e range de suas propriedades mais gerais. Considere o exemplo da Figura 9.11.

11 Figura Declaração de Domains, Ranges e subproperty. As linhas 8 11 apresentam declarações de duas classes, Pesquisador e Evento, juntamente com uma instância de cada uma destas classes. Nas linhas é declarada uma propriedade Envolve que relacionará instâncias de pesquisadores com instâncias de eventos. Logo após, as linhas apresentam a declaração de outra propriedade, chamada Organiza. Os conjuntos domain e range desta nova propriedade não estão declarados de maneira explicita, mas pode-se inferir que estes têm como valores os conjuntos de pesquisadores e eventos respectivamente, pelo fato de que a propriedade Organiza é uma subpropriedade de Envolve. Da mesma maneira que subclasses herdam as características de suas classes pai, as propriedades também herdam as características das suas propriedades pai. Pelo exemplo da Figura 9.11, é possível notar que RDFS expande os horizontes de RDF, de tal forma que é possível explicitar e inferir outras informações relevantes ao domínio de interesse. Por este motivo é válido ressaltar que o modelo de dados constituído da união de RDF e RDFS tem uma maior expressividade do que o modelo RDF por si só. Vale também destacar a declaração de namespaces no elemento raiz (linhas 2-6) bem como o seu uso ao longo do documento, visando distinguir o contexto dos elementos utilizados. Apesar do aumento da expressividade advindo da união de RDF com RDFS, isto ainda não é o suficiente para prover uma rica descrição semântica acerca de um domínio de interesse. É necessário que haja um vocabulário mais amplo, que possibilite a especificação de regras que poderão ser usadas pelo reasoner para inferência novos fatos. Em RDF/RDFS não é possível, por exemplo, restringir a cardinalidade de uma propriedade. Não é possível dizer que um time de futebol contém no mínimo onze jogadores, por exemplo. Também não há expressividade suficiente para classificar um indivíduo mediante certo tipo de valor que este contém em alguma propriedade. A próxima seção aborda SPARQL, a linguagem recomendada pela W3C para consultas por informações em documentos RDF/RDFS. Em seguida, será introduzida a linguagem OWL (Ontology Web Language), que disponibiliza um rico vocabulário de construtores permitindo aumentar consideravelmente a expressividade para descrição de ontologias.

12 9.6. SPARQL Linguagem para consultas por triplas RDF Assim como os sistemas de bancos de dados relacionais fazem uso do SQL para consultar registros nas suas bases de dados, o SPARQL é a linguagem recomendada pelo W3C para recuperação de informações em documentos RDF/RDFS O RDF e RDFS permitem que uma determinada informação possa ser modelada de diversas maneiras, apesar de sempre dispô-la na forma de uma tripla. Logo, se faz necessário ter uma linguagem de consulta que consiga recuperar os dados de interesse levando em consideração a semântica das sentenças, e não a sintática. Considere o seguinte trecho de um documento: <rdf:description rdf:about="949318"> <rdf:type rdf:resource="&uni;professor"/> <uni:name>davi Cavalcante</uni:name> <uni:title>doutorado</uni:title> </rdf:description> O trecho acima cria uma instância do tipo Professor e determina seu nome, Davi Cavalcante, e sua titulação, Doutorado. Existe uma maneira equivalente de especificarmos estas mesmas sentenças, como descrito a seguir: <uni:professor rdf:about="949318"> <uni:name> Davi Cavalcante </uni:name> <uni:title> Doutorado </uni:title> </uni:professor> É possível perceber que os dois trechos declaram triplas que possuem o mesmo significado, mas são expressos de forma diferente. As linguagens para consulta XML existentes atualmente não dão suporte para essa variedade sintática, o que requer a especificação de uma linguagem de consulta que dê suporte a estes níveis de expressividade e que entenda a semântica do modelo RDF/RDFS. Apesar de existirem outras linguagens de consulta (SeRQL, RQL, etc..) mais antigas, maduras e com maior poder de expressividade que o SPARQL, estas ou foram projetadas para se trabalhar em um domínio específico ou são interpretadas apenas por algumas poucas ferramentas, o que acaba resultando em uma baixa interoperabilidade. Semelhante ao SQL, o SPARQL possui uma estrutura SELECT-FROM- WHERE onde: SELECT: Especifica uma projeção sobre os dados como a ordem e a quantidade de atributos e/ou instâncias que serão retornados. FROM: Declara as fontes que serão consultadas. Esta cláusula é opcional. Quando não especificada, assumimos que a busca será feita em um documento RDF/RDFS particular. WHERE: Impões restrições na consulta. Os registros retornados pela consulta deverão satisfazer as restrições impostas por esta cláusula.

13 O resultado de uma consulta SPARQL pode ser encarado como um subgrafo resultante da execução da consulta sobre o grafo que representa o modelo. Considere por exemplo o grafo apresentado na Figura 9.12 extraído de [15]. Figura Representação das instâncias de um domínio O grafo da Figura 9.12 representa a relação entre as instâncias de uma ontologia cujo domínio é focado na descrição e formalização de escritores. O subgrafo destacado em negrito pode ser encarado, por exemplo, como o resultado de uma consulta que retorna o escritor que escreveu o livro King Lear e é casado com AnneHathaway. Esta consulta pode ser descrita abaixo: PREFIX rdf: < PREFIX rdfs: < PREFIX wri: < SELECT?x WHERE { }?x rdf:type escritor AnneHathaway wri:married?x?x wri:wrote KingLear Neste exemplo,?x é uma variável que representa o conjunto de recursos que será retornado como resposta da consulta. As cadeias de caracteres?x wri:wrote KingLear, AnneHathaway wri:married?x e?x wrote KingLear são chamados de padrões de

14 tripla (triple patterns). No contexto de SPARQL, os padrões de triplas são usados para designar condições de retorno na cláusula WHERE. Os significados dos padrões de tripla podem ser interpretados em linguagem natural. No caso da consulta acima, tais significados são respectivamente: O recurso é escritor? AnneHathaway foi casado com o recurso? O recurso escreveu King Lear? Todos os recursos que satisfizerem a essas três perguntas serão retornados pela consulta em questão. Segue abaixo outro exemplo de consulta SPARQL. A consulta irá retornar todas as classes existentes no modelo da Figura 9.12: PREFIX rdf: < PREFIX rdfs: < SELECT?c WHERE { }?c rdf:type rdfs:class. A consulta acima é bem geral e pode ser utilizada em qualquer esquema, independente do domínio modelado. Outro exemplo similar seria escrever uma consulta que retornasse todas as propriedades existentes no modelo e assim por diante. É possível formular consultas de modo a retornar informações complexas ou mais simples, dependendo do objetivo que se queira alcançar. Outro exemplo de consulta consiste em fazer uma projeção das propriedades de dados de um determinado modelo para obtenção de seus valores: SELECT?nome? WHERE { }?x rdf:type uni:professor ; uni:nome?nome ; uni: ? . A consulta acima retornará o nome e o de todos os professores descritos. Além das cláusulas básicas SELECT, FROM e WHERE, tem-se outras cláusulas opcionais com o objetivo de aumentar a expressividade das consultas. São estas: FILTER: Operador usado para comparações booleanas entre instâncias. Ex: SELECT?n WHERE

15 { }?x rdf:type uni:curso ; uni:ensinadopor: ?c uni:nome?n. FILTER (?c =?x). A consulta acima retorna o nome de todos os cursos no qual o professor de código leciona. OPTIONAL: Torna uma determinada restrição na cláusula WHERE opcional. Ex: SELECT?nome? WHERE { }?x rdf:type uni:professor ; uni:nome?nome. OPTIONAL {?x uni: ? } Se a cláusula OPTIONAL não fosse usada na consulta acima, seriam retornados todos os professores que, obrigatoriamente, possuem um nome e um . Caso um professor não tivesse um , este não seria retornado no resultado final da consulta. Com o uso da cláusula, serão inclusos no resultado final os professores que possuem um nome, mas não possuem OWL - Ontology Web Language A expressividade RDF/RDFS, descrita nas seções anteriores, é bastante limitada. Basicamente, RDF descreve sentenças sem que haja qualquer descrição formal de um domínio, e o RDF Schema somente suporta hierarquia de classes e propriedades. No contexto da Web Semântica, a camada da ontologia visa suprir essas limitações provendo uma maior expressividade para descrever um domínio de interesse.. Abaixo são descritas algumas dessas características Restrições de propriedades: Muitas vezes precisamos impor restrições nos valores que uma propriedade pode assumir. Por exemplo, não conseguimos dizer em RDF/RDFS que um time de futebol tem que ter, no mínimo, onze jogadores para poder disputar uma partida. Disjunção de classes: No domínio-alvo pode acontecer de classes (conceitos) serem disjuntos. Por exemplo, homem e mulher são dois conceitos disjuntos, pois uma pessoa não pode ser do sexo masculino e feminino ao mesmo tempo. Em RDF/RDFS, é possível somente expressar relações de hierarquia como mulher é subclasse de pessoa. Combinação entre classes: RDF/RDFS não permite que se criem novos conceitos utilizando uma combinação de conceitos já especificados usando, por exemplo, a união ou interseção destes.

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

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

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

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

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE Fabiana Gomes Marinho Faculdade Lourenço Filho Resumo: Na UML, a modelagem conceitual dos dados é descrita pelo diagrama de classes, que através

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

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

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

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

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

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

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses

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

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

Conceitos de Banco de Dados

Conceitos de Banco de Dados Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir

Leia mais

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

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.

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

UML - Unified Modeling Language

UML - Unified Modeling Language UML - Unified Modeling Language Casos de Uso Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 24 de abril

Leia mais

Agregadores de Conteúdo

Agregadores de Conteúdo Agregadores de Conteúdo São programas ou sites capazes de interpretar e mostrar o conteúdo dos Feeds RSS. Essa é uma forma de facilitar a leitura de vários sites e blogs, acessando o que há de novo em

Leia mais

Persistência e Banco de Dados em Jogos Digitais

Persistência e Banco de Dados em Jogos Digitais Persistência e Banco de Dados em Jogos Digitais Prof. Marcos Francisco Pereira da Silva Especialista em Engenharia de Software Jogos Digitais - Computação Gráfica 1 Agenda Vantagens de usar a abordagem

Leia mais

Ajuda ao SciEn-Produção 1. 1. O Artigo Científico da Pesquisa Experimental

Ajuda ao SciEn-Produção 1. 1. O Artigo Científico da Pesquisa Experimental Ajuda ao SciEn-Produção 1 Este texto de ajuda contém três partes: a parte 1 indica em linhas gerais o que deve ser esclarecido em cada uma das seções da estrutura de um artigo cientifico relatando uma

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

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

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

Leia mais

Protótipo de sistema de consultas utilizando a linguagem SPARQL

Protótipo de sistema de consultas utilizando a linguagem SPARQL Protótipo de sistema de consultas utilizando a linguagem SPARQL Aluno(a): André Luiz Nunes Orientador: Roberto Heinzle Roteiro Introdução Objetivos Web semântica Tecnologias para web semântica Trabalhos

Leia mais

LINGUAGEM DE BANCO DE DADOS

LINGUAGEM DE BANCO DE DADOS LINGUAGEM DE BANCO DE DADOS Gabriela Trevisan Bacharel em Sistemas de Informação Universidade Federal do Rio Grande Pós-Graduanda Formação Pedagógica de Professores (FAQI) Conceito de BD Um banco de dados

Leia mais

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008 Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

02 - Usando o SiteMaster - Informações importantes

02 - Usando o SiteMaster - Informações importantes 01 - Apresentação do SiteMaster - News Edition O SiteMaster foi desenvolvido para ser um sistema simples de gerenciamento de notícias, instalado em seu próprio computador e com configuração simplificada,

Leia mais

4 O Workflow e a Máquina de Regras

4 O Workflow e a Máquina de Regras 4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu

Leia mais

Criação e publicação de um dataset de dados interligados das edições passadas do Simpósio Brasileiro de Banco de Dados

Criação e publicação de um dataset de dados interligados das edições passadas do Simpósio Brasileiro de Banco de Dados U NIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA 2 0 1 2. 2 Criação e publicação de um dataset de dados interligados das edições passadas do Simpósio Brasileiro

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

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

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

Protégé Desenvolvimento de contologias

Protégé Desenvolvimento de contologias Protégé Desenvolvimento de contologias Joel Luis Carbonera jlcarbonera@inf.ufrgs.br Protégé Desenvolvimento de contologias Ontologias Ontologias Termo do domínio da Filosofia A disciplina filosófica preocupada

Leia mais

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho 20 Capítulo 3 Avaliação de Desempenho Este capítulo aborda como medir, informar e documentar aspectos relativos ao desempenho de um computador. Além disso, descreve os principais fatores que influenciam

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

Sistema de Controle de Solicitação de Desenvolvimento

Sistema de Controle de Solicitação de Desenvolvimento Sistema de Controle de Solicitação de Desenvolvimento Introdução O presente documento descreverá de forma objetiva as principais operações para abertura e consulta de uma solicitação ao Setor de Desenvolvimento

Leia mais

Análise da Nova Linguagem HTML5 para o Desenvolvimento Web

Análise da Nova Linguagem HTML5 para o Desenvolvimento Web Análise da Nova Linguagem HTML5 para o Desenvolvimento Web Sergio N. Ikeno¹, Késsia Rita da Costa Marchi¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil sergioikn@gmail.com, kessia@unipar.br Resumo.

Leia mais

ADM041 / EPR806 Sistemas de Informação

ADM041 / EPR806 Sistemas de Informação ADM041 / EPR806 Sistemas de Informação UNIFEI Universidade Federal de Itajubá Prof. Dr. Alexandre Ferreira de Pinho 1 Sistemas de Apoio à Decisão (SAD) Tipos de SAD Orientados por modelos: Criação de diferentes

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso 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 Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

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

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

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Tópicos Motivação e Objetivos LP e SOA Processo ADESE

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

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

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

gerenciamento de portais e websites corporativos interface simples e amigável, ágil e funcional não dependendo mais de um profissional especializado

gerenciamento de portais e websites corporativos interface simples e amigável, ágil e funcional não dependendo mais de um profissional especializado O NetPublisher é um sistema de gerenciamento de portais e websites corporativos (intranets ou extranets), apropriado para pequenas, médias e grandes empresas. O conteúdo do website pode ser atualizado

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

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

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

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

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

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 1 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Apresenta a diferença entre dado e informação e a importância

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

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

Projeto de Sistemas I

Projeto de Sistemas I Instituto Federal de Educação, Ciência e Tecnologia de São Paulo Projeto de Sistemas I Professora: Kelly de Paula Cunha E-mail:kellypcsoares@ifsp.edu.br Requisitos: base para todo projeto, definindo o

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

UNIVERSIDADE ESTADUAL DO AMAZONAS ESPECIALIZAÇÃO EM DESENVOLVIMENTO EM SOFTWARE LIVRE CONCEITOS E PROJETOS DE BANCO DE DADOS E SQL

UNIVERSIDADE ESTADUAL DO AMAZONAS ESPECIALIZAÇÃO EM DESENVOLVIMENTO EM SOFTWARE LIVRE CONCEITOS E PROJETOS DE BANCO DE DADOS E SQL O trabalho consiste na resolução de um exercício e na confecção de um relatório. 17/10/2005 é o último dia para entrega. O trabalho deverá entregue impresso e o seu conteúdo gravado numa mídia. O formato

Leia mais

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

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

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

Linguagem Lógica Prolog

Linguagem Lógica Prolog Linguagem Lógica Prolog Linguagens de Programação Departamento de Computação Universidade Federal de Sergipe Conteúdo O que é diferente na Programação Lógica Cláusulas, Fatos, Regras e Predicado Objetos

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

Resolução da lista de exercícios de casos de uso

Resolução da lista de exercícios de casos de uso Resolução da lista de exercícios de casos de uso 1. Explique quando são criados e utilizados os diagramas de casos de uso no processo de desenvolvimento incremental e iterativo. Na fase de concepção se

Leia mais

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP Banco de Dados Introdução João Eduardo Ferreira Osvaldo Kotaro Takai jef@ime.usp.br DCC-IME-USP Importância dos Bancos de Dados A competitividade das empresas depende de dados precisos e atualizados. Conforme

Leia mais

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados. BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br INTRODUÇÃO Hoje é

Leia mais

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas PIM PROGRAMA DE INTEGRAÇÃO COM O MERCADO GUIA DE CURSO Tecnologia em Sistemas de Informação Tecnologia em Desenvolvimento Web Tecnologia em Análise e Desenvolvimento de Sistemas Tecnologia em Sistemas

Leia mais

Roteiro 3 Modelagem relacional

Roteiro 3 Modelagem relacional Roteiro 3 Modelagem relacional Objetivos: Explorar conceitos sobre: o Modelagem de bancos de dados projetos: conceitual, lógico e físico; o Conceitos sobre o modelo relacional: tuplas, atributo, entidades,

Leia mais

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma: 1 Introdução A utilização de frameworks como base para a construção de aplicativos tem sido adotada pelos desenvolvedores com três objetivos básicos. Primeiramente para adotar um padrão de projeto que

Leia mais

2 Geração Dinâmica de Conteúdo e Templates de Composição

2 Geração Dinâmica de Conteúdo e Templates de Composição 2 Geração Dinâmica de Conteúdo e Templates de Composição Alguns dos aspectos mais importantes na arquitetura proposta nesta dissertação são: a geração dinâmica de conteúdo e a utilização de templates de

Leia mais

Engenharia de Requisitos

Engenharia de Requisitos Engenharia de Requisitos Introdução a Engenharia de Requisitos Professor: Ricardo Argenton Ramos Aula 08 Slide 1 Objetivos Introduzir a noção de requisitos do sistema e o processo da engenharia de requisitos.

Leia mais

Universidade da Beira Interior

Universidade da Beira Interior Universidade da Beira Interior Relatório Apresentação Java Server Pages Adolfo Peixinho nº4067 Nuno Reis nº 3955 Índice O que é uma aplicação Web?... 3 Tecnologia Java EE... 4 Ciclo de Vida de uma Aplicação

Leia mais

Dadas a base e a altura de um triangulo, determinar sua área.

Dadas a base e a altura de um triangulo, determinar sua área. Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares

Leia mais

ROTEIRO PARA TREINAMENTO DO SAGRES DIÁRIO Guia do Docente

ROTEIRO PARA TREINAMENTO DO SAGRES DIÁRIO Guia do Docente Conceito ROTEIRO PARA TREINAMENTO DO SAGRES DIÁRIO Guia do Docente O Sagres Diário é uma ferramenta que disponibiliza rotinas que facilitam a comunicação entre a comunidade Docente e Discente de uma instituição,

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

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br 04/08/2012. Aula 7. Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br 04/08/2012. Aula 7. Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 7 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Aprender sobre a modelagem lógica dos dados. Conhecer os

Leia mais

Fernando Albuquerque - fernando@cic.unb.br. Bancos de Dados. Fernando Albuquerque. 061-2733589 fernando@cic.unb.br

Fernando Albuquerque - fernando@cic.unb.br. Bancos de Dados. Fernando Albuquerque. 061-2733589 fernando@cic.unb.br Bancos de Dados Fernando Albuquerque 061-2733589 fernando@cic.unb.br Tópicos Introdução O modelo relacional A linguagem SQL Introdução O que é um banco de dados : Coleção de informações que existe por

Leia mais

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com.

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com. Sistemas da Informação Banco de Dados I Edson Thizon (edson@esucri.com.br) 2008 Apresentação (mini-currículo) Formação Acadêmica Mestrando em Ciência da Computação (UFSC/ ) Créditos Concluídos. Bacharel

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

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

Tarefa Orientada 16 Vistas

Tarefa Orientada 16 Vistas Tarefa Orientada 16 Vistas Objectivos: Vistas só de leitura Vistas de manipulação de dados Uma vista consiste numa instrução de SELECT que é armazenada como um objecto na base de dados. Deste modo, um

Leia mais

Modelo Entidade-Relacionamento

Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento Banco de Dados I Fases do Projeto jt de BD Enunciado de requisitos entrevista com o usuário do banco de dados para entender e documentar seus requerimentos de dados. Projeto

Leia mais

TOTVS BA Guia de Customização Linha Logix

TOTVS BA Guia de Customização Linha Logix TOTVS BA Guia de Customização Linha Logix Guia de Customização Sumário Título do documento 1. Objetivo... 3 2. Introdução... 3 3. Customização... 3 2 TOTVS BA Linha Logix Guia de Customização Projeto/Versão:

Leia mais

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1. Universidade Federal de Santa Maria Curso de Arquivologia Disciplina de Banco de Dados Aplicados à Arquivística Prof. Andre Zanki Cordenonsi Versao 1.0 Março de 2008 Tópicos Abordados Conceitos sobre Banco

Leia mais

Projeto de Arquitetura

Projeto de Arquitetura Introdução Projeto de Arquitetura (Cap 11 - Sommerville) UNIVERSIDADE FEDERAL DE ALAGOAS Curso de Ciência da Computação Engenharia de Software I Prof. Rômulo Nunes de Oliveira Até agora, estudamos: Os

Leia mais

Especificação do 3º Trabalho

Especificação do 3º Trabalho Especificação do 3º Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação,

Leia mais

SISTEMA GERENCIADOR DE BANCO DE DADOS

SISTEMA GERENCIADOR DE BANCO DE DADOS BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br SISTEMA GERENCIADOR

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS VINICIUS DA SILVEIRA SEGALIN FLORIANÓPOLIS OUTUBRO/2013 Sumário

Leia mais

Histórico de Revisão Data Versão Descrição Autor

Histórico de Revisão Data Versão Descrição Autor H6Projetos Documento de Requisitos Versão 1.3 Histórico de Revisão Data Versão Descrição Autor 05/09/2013 1.0 Preenchimento do Capítulo 2 Requisitos Funcionais Evilson Montenegro 26/09/2013 1.1 Preenchimento

Leia mais

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR 6LPXODomR GH6LVWHPDV )HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR #5,6. Simulador voltado para análise de risco financeiro 3RQWRV IRUWHV Fácil de usar. Funciona integrado a ferramentas já bastante conhecidas,

Leia mais

Glossários em Moodle (1.6.5+)

Glossários em Moodle (1.6.5+) Glossários em Moodle (1.6.5+) Athail Rangel Pulino 2 Ficha Técnica Título Glossários em Moodle Autor Athail Rangel Pulino Filho Copyright Creative Commons Edição Agosto 2007 Glossários em Moodle 3 Índice

Leia mais

SAV Sistema de Aluguel de Veículos I - DOCUMENTO DE REQUISITOS Versão 1.00

SAV Sistema de Aluguel de Veículos I - DOCUMENTO DE REQUISITOS Versão 1.00 SAV Sistema de Aluguel de Veículos I - DOCUMENTO DE REQUISITOS Versão 1.00 Conteúdo 1. INTRODUÇÃO...3 1.1 CONVENÇÕES, TERMOS E ABREVIAÇÕES... 3 1.1.1 Identificação dos Requisitos... 3 1.1.2 Prioridades

Leia mais

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki Prevayler Perola André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki Prevayler Prevayler é a implementação em Java do conceito de Prevalência. É um framework que prega uma JVM invulnerável

Leia mais

DATA WAREHOUSE. Introdução

DATA WAREHOUSE. Introdução DATA WAREHOUSE Introdução O grande crescimento do ambiente de negócios, médias e grandes empresas armazenam também um alto volume de informações, onde que juntamente com a tecnologia da informação, a correta

Leia mais