EtlParkUneb.java

Propaganda
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package jena;
import
import
import
import
import
import
import
import
import
com.hp.hpl.jena.rdf.model.Model;
com.hp.hpl.jena.rdf.model.ModelFactory;
com.hp.hpl.jena.rdf.model.Property;
com.hp.hpl.jena.rdf.model.Resource;
java.io.File;
java.io.FileWriter;
java.io.IOException;
java.io.StringWriter;
java.sql.*;
/**
*
* @author cbfranca
*/
public class EtlParkUneb {
private static final String uriParkUneb = "http://parkuneb.com.br/";
private static final String uriEstacionamento = uriParkUneb +
"Estacionamento/#";
private static final String uriVaga = uriParkUneb + "Vaga/#";
private static final String SqlServerConnectionString =
"jdbc:sqlserver://localhost;DatabaseName=ParkUneb;user=sa;password=Db@SQL
S3rver;";
public static void main(String[] args)
{
try
{
EtlParkUneb etl = new EtlParkUneb();
etl.doEtl();
}
catch(Exception ex) {
ex.printStackTrace();
}
}
private void doEtl() throws SQLException, IOException,
ClassNotFoundException
{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn =
DriverManager.getConnection(SqlServerConnectionString);
Statement stA = conn.createStatement();
Statement stB = conn.createStatement();
Model model = ModelFactory.createDefaultModel();
model.setNsPrefix("estacionamento", uriEstacionamento);
model.setNsPrefix("vaga", uriVaga);
//propriedades de estacioamento
Property logradouro = model.createProperty(uriEstacionamento +
"LOGRADOURO");
Property bairro = model.createProperty(uriEstacionamento +
"BAIRRO");
Property cidade = model.createProperty(uriEstacionamento +
"CIDADE");
Property estado = model.createProperty(uriEstacionamento +
"ESTADO");
Property latitude = model.createProperty(uriEstacionamento +
"LATITUDE");
Property longitude = model.createProperty(uriEstacionamento +
"LONGITUDE");
//propriedades de vaga
Property status = model.createProperty(uriVaga + "STATUS");
Property estacionamento = model.createProperty(uriVaga +
"ESTACIONAMENTO");
String queryEstacionamento = "SELECT TOP 5 "
+ "codigo"+
",logradouro"+
",bairro"+
",cidade"+
",estado"+
",latitude"+
",longitude "+
" FROM estacionamento ";
System.out.println(queryEstacionamento);
ResultSet resultEstacionamento =
stA.executeQuery(queryEstacionamento);
while(resultEstacionamento.next()){
Resource estacionamentoResource =
model.createResource(uriEstacionamento+
resultEstacionamento.getString("codigo"));
model.add(estacionamentoResource,logradouro,
resultEstacionamento.getString("logradouro"));
model.add(estacionamentoResource,bairro,
resultEstacionamento.getString("bairro"));
model.add(estacionamentoResource,cidade,
resultEstacionamento.getString("cidade"));
model.add(estacionamentoResource,estado,
resultEstacionamento.getString("estado"));
model.add(estacionamentoResource,latitude,
resultEstacionamento.getString("latitude"));
model.add(estacionamentoResource,longitude,
resultEstacionamento.getString("longitude"));
String queryaga = "SELECT "
+ "codigo"+
",cod_status"+
",cod_estacionamento"+
" FROM vaga "+
" WHERE cod_estacionamento =" +
resultEstacionamento.getString("codigo");
ResultSet resultVaga = stB.executeQuery(queryaga);
while(resultVaga.next()){
Resource vaga = model.createResource(uriVaga +
resultVaga.getString("codigo"));
if("1".equals(resultVaga.getString("cod_status")))
vaga.addProperty(status, "LIVRE");
else
if("2".equals(resultVaga.getString("cod_status")))
vaga.addProperty(status, "OCUPADO");
//Adiciona a vaga ao estacionamento
model.add(estacionamentoResource,estacionamento,vaga);
}
}
StringWriter sw = new StringWriter();
model.write(sw, "RDF/XML-ABBREV");
String owlCode = sw.toString();
File file = new File("d:/RdfParkUneb.xml");
FileWriter fw = new FileWriter(file);
fw.write(owlCode);
fw.close();
}
}
Download