From STLab
public static void main(String[] args) throws MalformedURLException,
SQLException, UnsupportedEncodingException, FileNotFoundException, IOException {
String url, name, pw;
if(args.length == 0){
url = "jdbc:virtuoso://localhost:1111";
name ="dba";
pw="dbaelvio";
}else{
url = args[0];
name = args[1];
pw = args[2];
}
VirtGraph graph = new VirtGraph (url, name, pw);
Connection connection = graph.getConnection();
//Leggo i file da inserire in virtuoso
String infile = args[3];
File dir = new File(infile);
String[] children = dir.list();
//Query per inserire un formato N-TRIPLE
String staNtriple = "DB.DBA.TTLP_MT(file_to_string_output(?),?,?,?,?,?)";
PreparedStatement querySQLNtriple = connection.prepareStatement(staNtriple);
//Query per inserire un formato RDF/XML
String staRDFXML = "DB.DBA.RDF_LOAD_RDFXML_MT(file_to_string_output(?),?,?,?,?)";
PreparedStatement querySQLRDFXML = connection.prepareStatement(staRDFXML);
///////////////////////////////////////////////////////////////////////////////////
/*//Accesso alla directory
String accessini = "cfg_write(virtuoso_ini_path(), 'Parameters','DirsAllowed',?)";
PreparedStatement querySQLaccess = connection.prepareStatement(accessini);
//Parametri per l'accesso alla directory
querySQLaccess.setString(1, infile);
//Esecuzione query
java.sql.ResultSet risdir = querySQLaccess.executeQuery();*/
///////////////////////////////////////////////////////////////////////////////////
//Inizializzo parametri uguali per tutte le query
String baseuri=args[4];
String graphname =args[5];
int errortype = 128;
int errorflag = 2;
int nthread = 6;
String urlfile = "";
for(int f = 0; f<children.length; f++){
if(children[f].contains(".nt")&&((children[f].length()-children[f].lastIndexOf(".nt"))==3)){
try{
urlfile = infile+children[f];
//Creazione della query
querySQLNtriple.setString(1,urlfile);
querySQLNtriple.setString(2,baseuri);
querySQLNtriple.setString(3,graphname);
querySQLNtriple.setInt(4,errortype);
querySQLNtriple.setInt(5,errorflag);
querySQLNtriple.setInt(6,nthread);
date.setTime(System.currentTimeMillis());
logfile.add(date.toLocaleString()+" ");
logfile.add("QUERY: "+staNtriple+"\n");
//Esecuzione della query
long start = System.currentTimeMillis();
java.sql.ResultSet result = querySQLNtriple.executeQuery();
long stop = System.currentTimeMillis();
}catch(Exception e){
e.printStack();
}
}
if((children[f].contains(".owl")||children[f].contains(".rdf"))&&(
((children[f].length()-children[f].lastIndexOf(".owl"))==4)||
((children[f].length()-children[f].lastIndexOf(".rdf"))==4))){
try{
urlfile = infile+children[f];
//Creazione della query
querySQLRDFXML.setString(1,urlfile);
querySQLRDFXML.setString(2,baseuri);
querySQLRDFXML.setString(3,graphname);
//querySQLRDFXML.setInt(4,errortype);
querySQLRDFXML.setInt(4,errorflag);
querySQLRDFXML.setInt(5,nthread);
date.setTime(System.currentTimeMillis());
//Esecuzione della query
long start = System.currentTimeMillis();
java.sql.ResultSet result = querySQLRDFXML.executeQuery();
long stop = System.currentTimeMillis();
}catch(Exception e){
e.printStrack();
}
}
}
}