wiki:Guias/HowTo/ProjetoPAPPEGeisa
Last modified 8 years ago Last modified on 09/22/11 10:29:09

16 de Agosto:

Entendendo o conceito:

A Web Semântica é uma Web de dados. Uma extensão da Web atual e não a sua substituição, ela vem para melhorar experiência do usuário.

Integração de Dados que podem ser relacionados uns aos outros assim como os documentos (ou partes deles) já são e assim, como consequência, gerar novos relacionamentos possíveis entre eles. Para cumprir este objetivo, o mais importante é ser capaz de definir e descrever as relações entre os dados (ou seja, recursos) na web. A definição dessas relações permitem uma melhor e intercâmbio automático de dados. O RDF, um dos blocos fundamentais de construção da Web Semântica, dá a definição formal para esse intercâmbio. Lembrando que o usuário médio não deve se preocupar com as complexidades de, digamos, os detalhes de raciocínio. Tudo isso é feito "sob a capa". O que o desenvolvedor precisa para operar com padrões geralmente são simples lógica do tipo "Dado que (Flipper é um Golfinho) e (Golfinhos também são mamíferos), pode-se concluir que (Flipper é um Mamífero)".

Aplicações: integração de dados, representação do conhecimento e análise, serviços de catalogação, melhorar algoritmos de busca métodos, redes sociais, etc...

Hiperlinks: na web atual, conecta a página atual à outra. Uma diferença importante é que, na Web Semântica, tais relações podem ser estabelecidas entre dois recursos, não há noção de página "atual". Outra grande diferença é que a relação (ou seja, o link) em si é chamado, enquanto o link usado por um ser humano na Web (tradicional) não é, o seu papel é deduzido pelo leitor humano.

17 de Agosto:

Entendendo o objetivo e componentes:

Desenvolver tecnologias e linguagens que tornem a informação legível para as máquinas. A integração das linguagens ou tecnologias eXtensible Markup Language (XML), Resource Description Framework (RDF), arquiteturas de meta-dados, ontologias, agentes computacionais, entre outras, favorecerem o aparecimento de serviços Web que garantam a interoperabilidade e cooperação.

=> XML (Extensible Markup Language) é um formato para a criação de documentos com dados organizados de forma hierárquica, utilizado frequentemente, em documentos de texto formatados, imagens vetoriais ou bancos de dados. Seu propósito principal é a facilidade de compartilhamento de informações através da Internet.

=> Resource Description Framework (RDF) é uma linguagem para representar informação na Internet e tem como principais objetivos criar modelos simples de dados, com uma semântica formal, usando o vocabulário URI-based e uma sintaxe XML-based, suportando o uso de XML.

=> Ontologia é um modelo de dados que representa um conjunto de conceitos dentro de um domínio e os relacionamentos entre estes, utilizada para realizar inferência sobre os objetos do domínio.

Componentes:

=> Banco Semântico (Local Storage) base de dados onde ficara armazenado as descrições dos recursos de comunicação do Expresso e as anotações semânticas.

=> Ontologias Já entendendo o conceito delas, serão indicadas especificamente ontologias para contatos, email, arquivos (anexos), compromissos na agenda. O que ira possibilitar recuperar de forma semântica, ou ainda, dentro de um contexto proposto pelo usuário uma ou mais informações e suas relações.

=> Extrador de metadados (Data Wrapper) Responsável por extrair dados e metadados dos sistemas, modela-los num formato RDF de acordo com a ontologia para cada tipo de dado e armazená-los Banco Semântico.

18 de Agosto:

Leitura: entendendo o Projeto NEPOMUK

O projeto NEPOMUK visa aplicar tecnologias, que foram originalmente desenvolvidos para a Web Semântica, no desktop do usuário, com o objetivo de melhorar a gestão de informações pessoais (PIM). Para descrever os recursos de desktop acordo com o modelo mental do usuário, o modelo tem de ser explicitamente representados no SSD (Social Semantic Desktop). Este modelo é então usado como o vocabulário para representar os metadados sobre os recursos de desktop. No Blueprint podemos distinguir três modelos:

Annotation Model (AM): O Modelo de anotação é um modelo geral para anotar recursos desktop. O vocabulário dele fornece propriedades como criador, data de criação, classificação, última modificação, etc... O vocabulário é genérico e pode ser aplicado à todos os recursos de desktop.

Information Element Model (IEM): O Modelo de Informação elemento fornece um vocabulário para descrever recursos de desktop frequentemente encontrados em desktops de usuários. Esses recursos podem ser divididos em seis categorias:

• Arquivos para anotar as entidades do sistema de arquivos, como arquivos e pastas;

• Mensagens para anotar o tráfego de e-mail ou mensagens instantâneas;

• Contatos para representar as informações de contato de uma pessoa ou organização;

• Calendário de Eventos para representar eventos oportuna, tais como calendário ou lista de "To Do";

• Áudio para anotar as faixas de áudio;

• Imagens para anotar imagens e fotos;

Personal Information Model (PIM): Este modelo permite que usuários individuais representem seu próprio modelo mental de uma forma estruturada. Os conceitos definidos no PIM são específicos do usuário e o ajudam a organizar seus próprios recursos de ambiente de trabalho. Por exemplo, um usuário anota as reservas de hotel, vôo e as fotos da viagem com o conceito de auto-definido "Reunião de Junho, em Galway".

Observação: Em NEPOMUK estes três modelos são realizados como ontologias:

• O Modelo de anotação é representado pela Ontologia Annotation NEPOMUK (NAO).

• O modelo de elemento de informação é implementada pelo conjunto de ontologias Informação NEPOMUK elemento (NIE).

• O Modelo de Informação Pessoal do usuário é modelado pela ontologia Personal Information Model (PIMO).

* 1 hora para estudar um pouco de PHP + Jquery

19 de Agosto:

Arquitetura do Projeto NEPOMUK

A arquitetura deste projeto é fundamentada em um conjunto de serviços divididos em duas categorias, a dos serviços de núcleo, necessários para a construção do desktop semântico, e a dos serviços de ajuda, que fornecem as funcionalidades para o processamento e manipulação de dados.

=> Serviços de Núcleo: Fornecem as funcionalidades de armazenamento e recuperação dos metadados RDF e para a comunicação entre os serviços.

*Classificador: Classifica os itens de informação dos recursos armazenados no banco semântico com base em sua estrutura. Ele usa o algoritmo ObjectRank?, similar ao PageRank? do Google. Este algoritmo classifica palavras-chave em bancos de dados modelados.

*Pesquisa Local: É a interface de pesquisa para o banco semântico, com suporte para consultas com palavras-chave, classificação de resultados e consultas SPARQL;

*Banco Semântico: É utilizado para armazenar e acessar recursos semânticos e suas descrições. Contém todas as informações do sistema de arquivos do extrator de dados, ontologias, e as informações do PIMO (Personal Information Model Ontology);

*Serviço PIM: Interage com o banco semântico para manipular as informações do PIMO (Personal Information Model Ontology), que representa o modelo de informações pessoais do usuário. O PIMO contém as informações, relações e propriedades definidas pelo usuário para representar as ontologias;

*Extrator de Dados: Responsável pela extração dos dados e metadados do desktop do usuário e conversão em RDF para armazenamento no banco semântico. Para cada formato de aplicação ou tipo de arquivo são utilizados determinados plug-ins para a extração.

*Divide-se em 3 partes: linguagem de consulta; parte 2: formato dos resultados; parte 3: protocolo de acesso

*Triplas RDF: Constituem a primeira camada realmente semântica da Web;

=> Serviços de Ajuda: Fornecem as funcionalidades de integração, interpretação e manipulação dos metadados armazenados no banco semântico, a análise de texto para extrair os metadados, e a análise dos metadados que irão definir o contexto atual do usuário.

*Serviço de Análise de Texto: Classifica itens e informações ou extrai os dados dos recursos do usuário;

*Elicitação de Contexto: Monitora as ações do usuário para determinar o seu contexto de trabalho atual no desktop semântico.
*Alinhamento de Dados Local: Analisa informações no banco semântico que serão utilizáveis no contexto atual do usuário e sugere novos links ou anotações com base nos dados existentes;

*Integração de Informação: Responsável por alinhar os novos dados com os dados existentes no banco semântico.

Mapeamento das funções do Expresso que irão gerar dados semânticos

=> E-mails: Enviar nova mensagem / Responder / Encaminhar

=> Contatos: Adicionar novo contato / Editar contato

=> Agenda de Compromissos: Adicionar novo compromisso / Editar compromisso

=> Novos usuários: Criação de um novo usuário no Expresso

Componentes do Projeto NEPOMUK:

=> Banco Semântico (Local Storage)

=> Ontologias

=> Extrador de metadados (Data Wrapper)

=> Serviço de Descrição

=> Serviço de PIM (Personal Information Management)

=> Pesquisa Local (Local Search e Ranker)

* 1 hora para estudar um pouco de PHP + Jquery

23 de Agosto:

=> Apostila para iniciantes em UBUNTU - http://ubunteiro.files.wordpress.com/2008/05/apostila-ubuntu8-leve-ygorabreu.pdf

=> Instalação do Eclipse - http://espelhos.edugraf.ufsc.br/eclipse//technology/epp/downloads/release/helios/R/eclipse-php-helios-linux-gtk.tar.gz

=> Apostila PHP - http://danielmoreira.files.wordpress.com/2010/08/guia_php.pdf

24 de Agosto:

Ferramentas e bibliotecas utilizadas no projeto:

=> ARC2: introduz uma classe estática que é tudo o que precisa ser incluído. Qualquer outro componente pode então ser carregado via ARC2, sem a necessidade de saber o caminho exato para o arquivo de classe. Assim que a classe ARC2 estática é disponibilizado, você pode carregar os componentes com chamadas de método simples e começar a usá-los:

$parser = ARC2::getRDFParser();
$parser->parse('http://example.com/foaf.ttl');
$triples = $parser->getTriples();


Alguns componentes precisam de um banco de dados MySQL (por exemplo, a loja de RDF e SPARQL o motor). O banco de dados tem de ser definido com antecedência, mas ARC irá criar automaticamente as tabelas necessárias. Um único DB pode ser usado para múltiplos ARC, você pode fornecer um nome personalizado para cada repositório que é então utilizado como um prefixo da tabela.

=> StructWSF: é uma plataforma independente de estrutura de serviços Web para acessar e expor dados estruturados RDF. É a perspectiva organizacional central do conjunto de dados. Estes conjuntos de dados contêm registros , com as relações estruturais entre os dados e seus atributos e conceitos definidos através de ontologias (esquema com vocabulários de acompanhamento).

O structWSF framework middleware é geralmente RESTful em design e é baseado em HTTP e, Web protocolos e padrões abertos. O framework structWSF inicial vem embalado com uma base de referência com cerca de uma dúzia de serviços Web em CRUD, navegador, pesquisa, exportação e importação. Todos os serviços da Web são expostos por meio de terminais APIs e SPARQL. Cada pedido a um serviço Web individual retorna um status HTTP e, opcionalmente, um documento de conjuntos de resultados. Cada documento resultado pode ser serializado de muitas maneiras, e pode ser expressado tanto como RDF ou XML puro.

Na versão inicial, o structWSF tem interfaces diretas para o Virtuoso RDF ​​triple store (via ODBC, e mais tarde HTTP) e o Solr facetado, de texto completo mecanismo de pesquisa (via HTTP). No entanto, structWSF foi projetado para ser totalmente independente de plataforma. Suporte para datastores adicionais e mecanismos são planejados. O projeto também permite que outros sistemas especializados possam ser incluídos, como a análise mecanismos de inferência avançado.A estrutura é de código aberto (licença Apache 2) e projetado para ser extensível.

Formas de serviço Web:

Existem dois tipos de serviços Web...

(1) Serviços Web Atômicos

(2) Serviços Web compostos

Um serviço Web composto é composta de vários serviços Web atômicos interagindo juntos. Cada serviço Web atômico executa uma determinada função de alguns parâmetros. O resultado de qualquer serviço Web é um conjunto de resultados que descreve o resultado do cálculo do serviço da Web.

Os objetivos principais da estrutura de dados XML usado pelos serviços Web são:

1) Ter nomes consistentes com os dados RDF modelo e seus vocabulários;

2) Ser flexível o suficiente para ser capaz de descrever as mesmas relações entre as coisas que são descritos em RDF;

3) Para ser fácil de manipular usando ferramentas existentes de análise XML, bibliotecas e consumidores de dados XML.

Cada serviço tem a sua página Web própria documentação da API, que quando combinado com sua DTD relacionados, fornece uma especificação completa dos dados XML retornados pelo serviço Web.

Virtuoso:

Virtuoso é um banco de dados SQL relacionado à objeto de alta performance. Como um banco de dados, fornece transações, um compilador SQL inteligente, linguagem poderosa de stored procedure com Java e. Net opcional do lado do servidor de hospedagem, backup, SQL-99 de apoio e muito mais. Tem todas as principais interfaces de acesso à dados, como ODBC, JDBC, ADO. Net e OLE / DB. O OpenLink? Virtuoso suporta SPARQL embutido em SQL para consultar dados RDF armazenados no banco de dados Virtuoso. SPARQL beneficia o suporte de baixo nível no mecanismo em si, como SPARQL-aware type-casting regras e tipo de dados dedicados IRI.

Solr:

Popular, rápido. Solr é uma plataforma de busca corporativa open source do projeto Apache Lucene. Suas características principais incluem uma poderosa pesquisa de texto completa, destacando busca facetada, clustering dinâmico, integração de banco de dados, documentos ricos de fácil manuseio rica (por exemplo, Word, PDF) e pesquisa geoespacial. Solr é altamente escalável, fornecendo pesquisa distribuída e replicação do índice e os poderes de busca e recursos de navegação de muitos dos sites de maior do mundo internet.
Foi escrito em Java e roda como servidor de busca full-text independente dentro de um servlet como o Tomcat. Solr usa a biblioteca de pesquisa Lucene Java em seu núcleo para indexação de texto completo e pesquisa, e tem REST-like HTTP / XML e JSON APIs que a tornam fácil de usar a partir de praticamente qualquer linguagem de programação. Configuração externa poderosa Solr permite que ele seja adaptado para praticamente qualquer tipo de aplicativo, sem codigo Java e tem uma arquitetura de plugins extensa se for necessária uma personalização mais avançada.

Aperture:

Aperture é um framework Java para extração e consulta de conteúdo e metadados de diversos sistemas de informação (ex. sistemas de arquivos, sites, caixas de correio) e os formatos de arquivo (por exemplo, documentos, imagens) que ocorrem nestes sistemas.

25 de Agosto:

Pirâmide de Ontologias Projeto NEPOMUK

Camada de Representação

1) Resource Description Framework (RDF) é uma linguagem para representar informação na Internet. Arquivos RDF são modelos ou fontes de dados, também conhecidos como metadata, tecnologia endossada e recomendada pela W3C desde fevereiro de 1999, tendo como principais objetivos criar um modelo simples de dados, com uma semântica formal, usar o vocabulário URI-based e uma sintaxe XML-based e suportar o uso de XML. Os arquivos RDF têm três componentes básicos: recurso, propriedade e indicação, o que torna a linguagem altamente escalável.

Recurso: Qualquer coisa que pode conter um URI, incluindo as páginas da web, assim como elementos de um documento XML.

Propriedade: Um recurso que tenha um determinado nome e possa ser utilizado como uma propriedade.

Indicação: consiste na combinação de um recurso, de uma propriedade, e de um valor.

Uma declaração RDF pode ser representada com: um assunto http://www.example.org/index.html; um predicado http://purl.org/dc/elements/1.1/creator; e um objeto http://www.example.org/staffid/85740.[[BR]]

O RDF destina-se a situações em que essa informação precisa ser processada por aplicações, ao invés de ser exibido apenas para as pessoas. A capacidade de troca de informações entre diferentes aplicações significa que a informação pode ser disponibilizada para outros aplicativos do que aqueles para o qual foi originalmente criado.Por isso, ele é baseado na idéia de identificar coisas usando identificadores Web (chamado de Uniform Resource Identificadores, ou URIs), descrevendo recursos em termos de propriedades simples e valores de propriedade.

Exemplo RDF/XML:

<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
             xmlns:contact="http://www.w3.org/2000/10/swap/pim/contact#">

  <contact:Person rdf:about="http://www.w3.org/People/EM/contact#me">
    <contact:fullName>Eric Miller</contact:fullName>
    <contact:mailbox rdf:resource="mailto:em@w3.org"/>
    <contact:personalTitle>Dr.</contact:personalTitle> 
  </contact:Person>
</rdf:RDF>

Exemplo:

http://www.example.org/index.html tem um criador cujo valor é John Smith.

Os termos RDF para as várias partes da declaração são:

=> o assunto é o http://www.example.org/index.html URL.

=> o predicado é a palavra "criador".

=> o objeto é a frase "John Smith".

2) RDFS (RDF Schema)

26 de Agosto:

RDF Schema é basicamente um sistema de definição de tipos RDF que provê mecanismos para descrever grupos de recursos relacionados e relacionamentos entre recursos. Essa extensão RDF permite a definição de vocabulários, os quais são formados por propriedade e classes específicas de um domínio.

Descrição da classe animal e de uma instância:

<?xml version=“1.0” ?>
<rdf:RDF
xmlns:rdf=“http://www.w3.org/1999/02/22-rdf-syntax-ns#”
xmlns:rdfs=“http://www.w3.org/2000/01/rdf-schema#”
xmlns:bio=“http://www.biologia.com”>
<rdf:Description rdf:ID=“Animal”>
<rdf:type rdf:resource=“http://www.w3.org/2000/01/rdf-schema#Class” />
</rdf:Description>
<rdf:Description rdf:ID=“Garfield”>
<rdf:type rdf:resource=“bio:Animal” />
</rdf:Description>
</RDF>


29 de Agosto:

  • Workshop sobre Web Semântica com o pessoal da PUC-RS;

30 de Agosto:

  • Workshop sobre Web Semântica com o pessoal da PUC-RS;

30 de Agosto:

Estudando a ontologia do projeto Nepomuk/Consultas? SQL Banco Semântico - Virtuoso

05 de Setembro:

  • Trabalhando no ticket 1227 [Contatos] Mapeamento dos dados Contatos-Ontologia.

07 de Setembro:

  • Feriado: Dia da Independência do Brasil;

09 de Setembro:

  • Trabalhando no ticket 1228 - [Contatos] Validação dos dados de contatos.
  • Tarde: reunião de acompanhamento via Skype com o pessoal da PUC-RS.

12 de Setembro:

Trabalhando no ticket 1229 - [Contatos] Implementar método Insert.

13 de Setembro:

Trabalhando no ticket 1230 [Contatos] Descrição dos dados

14 de Setembro:

Trabalhando no ticket 1232 [Contatos] Implementar metodo delete Trabalhando no ticket 1232 [Contatos] Implementar método update

15 de Setembro:

Trabalhando no ticket Reunião com o pessoal da PUC-RS, onde foi comentado sobre a PIMO e o layout de pesquisa da API Semântica;

16 de Setembro:

Trabalhando no ticket 1232 [Contatos] Implementar metodo find

19 de Setembro:

-Trabalhando no ticket 1355 colocar phpDoc no codigo

20 de Setembro:

Trabalhando no ticket 1359 - [PAPPE] Chamadas de LOG.

21 de Setembro:

Trabalhando no ticket 1372 [pappe] Relatório de Contatos

22 de Setembro:

Trabalhando no ticket 1359 - [PAPPE] Chamadas de LOG.

Attachments