Example in java

From STLab

Jump to: navigation, search
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();
                       }
                   }
               }
   }
Personal tools