quinta-feira, 20 de outubro de 2011
segunda-feira, 19 de setembro de 2011
Acordeon para RDF
Projeto eclipse, para executar será necessário:
- adicionar a biblioteca do MySql
- em AcessoMySql, mudar a url do banco de dados
- em UsuarioETL e UsuarioController, mudar o caminho do arquivo rdf
Funcionalidades:
- Gera arquivo rdf
- Faz buscas semânticas com Jena
- Faz buscas semânticas com Sparql
Acordeon para Android
Projeto eclipse, para executar é necessário ter ambiente configurado para desenvolver em plataforma Android
Link SVN: http://riouxsvn.com/svn/acordeonandroid/
Funcionalidades:
Link SVN: http://riouxsvn.com/svn/acordeonandroid/
Funcionalidades:
- faz o login inicial
- resgata recados recebidos
- pode logar mesmo sem conexão
- atualiza recados quando quiser
sábado, 17 de setembro de 2011
sábado, 10 de setembro de 2011
[Buscas Semânticas] Busca com Jena
Na figura é mostrado como é feito a busca em um modelo RDF através do framework Jena.
Inicialmente o modelo é carregado através do arquivo rdf. Em seguida é feito a pesquisa do nome passado no método, é procurado todos os resources que possuem a propriedade VCARD.FN e retornado apenas aqueles que contém o nome buscado.
Por fim os resultados são adicionados em uma lista, a qual é o retorno do método.
sexta-feira, 9 de setembro de 2011
[ETL] Classe UsuarioETL
Em seguida é explicado o funcionamento do processo de ETL da tabela Usuario do banco de dados Acordeon para a tabela Usuario do banco de dados do DW de Acordeon.
package br.com.etl.usuarios;
import br.com.acessobd.AcessoBdAcordeon;
import br.com.acessobd.AcessoBdDw;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
public class UsuarioETL {
PreparedStatement pstm;
ResultSet rs;
String consultaUsuario = "SELECT * FROM USUARIO";
String cadastraUsuario = "INSERT INTO USUARIO (ID, CPF, DT_NASC, EMAIL, NOME_COMPLETO, SENHA, SEXO, TELEFONE) "
+ "VALUES(?,?,?,?,?,?,?,?)";
public List<UsuarioBean> extract() {
List<UsuarioBean> listUsuario = new ArrayList<UsuarioBean>();
try {
AcessoBdAcordeon mysql = new AcessoBdAcordeon();
pstm = mysql.conectar().prepareStatement(consultaUsuario);
rs = pstm.executeQuery();
UsuarioBean usu;
while (rs.next()) {
usu = new UsuarioBean();
usu.setId(rs.getInt("id"));
usu.setCpf(rs.getString("cpf"));
usu.setDtNasc(rs.getDate("dt_nasc"));
usu.setEmail(rs.getString("email"));
usu.setNomeCompleto(rs.getString("nome_completo"));
usu.setSenha(rs.getString("senha"));
usu.setSexo(rs.getInt("sexo"));
usu.setTelefone(rs.getString("telefone"));
listUsuario.add(usu);
}
mysql.desconectar();
} catch (Exception e) {
e.printStackTrace();
}
return listUsuario;
}
public String transform(int sexo) {
if (sexo == 0) {
return "M";
} else {
return "F";
}
}
public void load(UsuarioBean usuario) {
try {
AcessoBdDw mysql = new AcessoBdDw();
pstm = mysql.conectar().prepareStatement(cadastraUsuario);
pstm.setInt(1, usuario.getId());
pstm.setString(2, usuario.getCpf());
pstm.setDate(3, usuario.getDtNasc());
pstm.setString(4, usuario.getEmail());
pstm.setString(5, usuario.getNomeCompleto());
pstm.setString(6, usuario.getSenha());
pstm.setString(7, transform(usuario.getSexo()));
pstm.setString(8, usuario.getTelefone());
pstm.executeUpdate();
mysql.desconectar();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
UsuarioETL usuario = new UsuarioETL();
List<UsuarioBean> listUsuario = usuario.extract();
Iterator<UsuarioBean> itU = listUsuario.iterator();
while(itU.hasNext()){
UsuarioBean usu = itU.next();
usuario.load(usu);
}
}
}
O método extract é onde é feita a extração dos dados do banco de dados do Acordeon. Primeiro é aberta uma conexão com o banco de dados, em seguida é executado a query "SELECT * FROM USUARIO" e inserido o resultado desta query em objetos da classe UsuárioBean, sendo que cada objeto é adicionado em um List. Por fim é retornado o List.
No método transform é onde é feita a transformação de dados. O método recebe como parâmetro um inteiro, que vai variar em 0 e 1, caso este valor seja 0 é retornada a String "M", e caso seja 1 é retornada a String "F".
Já o método load é onde é feita a carga dos dados no banco de dados do DW. Ele recebe como parâmetro um objeto da classe UsuarioBean. Primeiro é aberta uma conexão com o banco de dados, em seguida é adicionado no lugar das interrogações de "INSERT INTO USUARIO (ID, CPF,DT_NASC, EMAIL, NOME_COMPLETO, SENHA, SEXO, TELEFONE) VALUES(?,?,?,?,?,?,?,?)" os atributos do UsuarioBean passado. Por fim é executado o update.
import br.com.acessobd.AcessoBdAcordeon;
import br.com.acessobd.AcessoBdDw;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
public class UsuarioETL {
PreparedStatement pstm;
ResultSet rs;
String consultaUsuario = "SELECT * FROM USUARIO";
String cadastraUsuario = "INSERT INTO USUARIO (ID, CPF, DT_NASC, EMAIL, NOME_COMPLETO, SENHA, SEXO, TELEFONE) "
+ "VALUES(?,?,?,?,?,?,?,?)";
public List<UsuarioBean> extract() {
List<UsuarioBean> listUsuario = new ArrayList<UsuarioBean>();
try {
AcessoBdAcordeon mysql = new AcessoBdAcordeon();
pstm = mysql.conectar().prepareStatement(consultaUsuario);
rs = pstm.executeQuery();
UsuarioBean usu;
while (rs.next()) {
usu = new UsuarioBean();
usu.setId(rs.getInt("id"));
usu.setCpf(rs.getString("cpf"));
usu.setDtNasc(rs.getDate("dt_nasc"));
usu.setEmail(rs.getString("email"));
usu.setNomeCompleto(rs.getString("nome_completo"));
usu.setSenha(rs.getString("senha"));
usu.setSexo(rs.getInt("sexo"));
usu.setTelefone(rs.getString("telefone"));
listUsuario.add(usu);
}
mysql.desconectar();
} catch (Exception e) {
e.printStackTrace();
}
return listUsuario;
}
public String transform(int sexo) {
if (sexo == 0) {
return "M";
} else {
return "F";
}
}
public void load(UsuarioBean usuario) {
try {
AcessoBdDw mysql = new AcessoBdDw();
pstm = mysql.conectar().prepareStatement(cadastraUsuario);
pstm.setInt(1, usuario.getId());
pstm.setString(2, usuario.getCpf());
pstm.setDate(3, usuario.getDtNasc());
pstm.setString(4, usuario.getEmail());
pstm.setString(5, usuario.getNomeCompleto());
pstm.setString(6, usuario.getSenha());
pstm.setString(7, transform(usuario.getSexo()));
pstm.setString(8, usuario.getTelefone());
pstm.executeUpdate();
mysql.desconectar();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
UsuarioETL usuario = new UsuarioETL();
List<UsuarioBean> listUsuario = usuario.extract();
Iterator<UsuarioBean> itU = listUsuario.iterator();
while(itU.hasNext()){
UsuarioBean usu = itU.next();
usuario.load(usu);
}
}
}
O método extract é onde é feita a extração dos dados do banco de dados do Acordeon. Primeiro é aberta uma conexão com o banco de dados, em seguida é executado a query "SELECT * FROM USUARIO" e inserido o resultado desta query em objetos da classe UsuárioBean, sendo que cada objeto é adicionado em um List. Por fim é retornado o List.
No método transform é onde é feita a transformação de dados. O método recebe como parâmetro um inteiro, que vai variar em 0 e 1, caso este valor seja 0 é retornada a String "M", e caso seja 1 é retornada a String "F".
Já o método load é onde é feita a carga dos dados no banco de dados do DW. Ele recebe como parâmetro um objeto da classe UsuarioBean. Primeiro é aberta uma conexão com o banco de dados, em seguida é adicionado no lugar das interrogações de "INSERT INTO USUARIO (ID, CPF,DT_NASC, EMAIL, NOME_COMPLETO, SENHA, SEXO, TELEFONE) VALUES(?,?,?,?,?,?,?,?)" os atributos do UsuarioBean passado. Por fim é executado o update.
quarta-feira, 7 de setembro de 2011
segunda-feira, 25 de abril de 2011
Ata de Hoje (25/04/2011)
Coordenadora: Jussi
1 - Aplicação com controle de transação funcionando - Leonardo (OK)
2 - Fundamentos Teóricos de Mapeamento Objeto-Relacional - Matheus (OK)
2 - Fundamentos Práticos de Mapeamento Objeto-Relacional - Jussi (OK)
Ata da próxima aula (02/05/2011)
1 - Trazer o Pentaho configurado em um notebook (Rodar uma consulta)
segunda-feira, 18 de abril de 2011
1º POST TELP
Ata de hoje (18/04/2011)
Responsabilidades da aula passada (04/04/2011)
Coordenador: Weslley
Responsabilidades da aula passada (04/04/2011)
Coordenador: Weslley
1 - Resgatar aplicações de TEES - Matheus (OK)2 - Fundamentos Teóricos sobre Controle de Transação - Weslley (OK)
2 - Fundamentos Práticos sobre Controle de Transação - Jussi (OK)
Planejamento para a próxima aula (25/04/2011)
Coordenador: Jussi
1 - Aplicação com controle de transação funcionando - Leonardo
2 - Fundamentos Teóricos de Mapeamento Objeto-Relacional - Matheus
2 - Fundamentos Práticos de Mapeamento Objeto-Relacional - Jussi
quarta-feira, 16 de fevereiro de 2011
Assinar:
Postagens (Atom)