⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 connect.java

📁 对jena推理机的文件进行读取
💻 JAVA
字号:
package com;
import java.io.FileInputStream;
import java.io.File;
import java.io.IOException;
import java.util.Iterator;

import com.hp.hpl.jena.ontology.OntClass;
import com.hp.hpl.jena.ontology.OntModel;
import com.hp.hpl.jena.ontology.OntModelSpec;
import com.hp.hpl.jena.ontology.OntProperty;
import com.hp.hpl.jena.rdf.model.ModelFactory;
import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.Statement; 
import java.util.Properties;
import java.sql.*;

public class connect {
	 
	
	 
	 public static void main(String[]args){ 
		 
		String Driver = "com.mysql.jdbc.Driver";//驱动程序
		String URL = "jdbc:mysql://localhost:3306/db_owl";//连接的URL
		String Username = "root";
		String Password = "yhj";
	try{
			Class.forName(Driver).newInstance();
			Connection con = DriverManager.getConnection(URL,Username,Password);
			Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
                    ResultSet.CONCUR_UPDATABLE);
		//}
      // catch(Exception ex){
    	//   System.out.println(ex.getMessage());
       //}
      
       
           OntModel model = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM, null ); 

      try 
           { 
    	     File myFile = new File("D:\\杨惠洁\\o4oil.owl");
			 model.read(new FileInputStream(myFile), ""); 
			 String file_name = myFile.getName();
			 System.out.println(file_name);
        	//model.read(new FileInputStream("D:\\杨惠洁\\sael_v1_0_fma_v1_0.owl"),"");
        	//model.read(new FileInputStream("D:\\杨惠洁\\privacy.owl"),"");
        	// model.read(new FileInputStream("D:\\杨惠洁\\PilotPollution1.owl"),"");
        //model.read(new FileInputStream("D:\\杨惠洁\\o4oil.owl"),"");
        //model.read(new FileInputStream("D:\\杨惠洁\\Jena\\Jena-2.5.4\\src-examples\\data\\test2.owl"),""); 
          
           //the class number 
           int j=0; 
           String sql="insert into tb_fileindex(file_name)  values('"+file_name+"');";
		   stmt.execute(sql);
		   sql= "select file_id from tb_fileindex where tb_fileindex.file_name ='"+file_name+"';";
   
			ResultSet result=stmt.executeQuery(sql);
			while(result.next()){
			int fid = result.getInt("file_id");
			System.out.println(fid); 
		
          //list classes 
       for(Iterator i=model.listClasses();i.hasNext();) 
           { 
              
                  OntClass c = (OntClass) i.next(); 
               
                  //getModel().usePrefix(c.getURI()); 
                  if (!c.isAnon()) {
                	  // 如果不是匿名类,则打印类的名字
                	  j++;
                	  String Class = c.getLocalName();
                	 sql= "insert into tb_class(class_id,class_name,file_id)  values('"+j+"','"+Class+"','"+fid+"');";
                	 //sql = "update tb_class set class_id = 'j',class_name = Class,file_id = fid where id='j'";
                	  stmt.execute(sql);
                   //  sql= "select id from tb_class where tb_class.class_name ='"+Class+"'and file_id='"+fid+"';";
                	   
                	//  result=stmt.executeQuery(sql);
                	//result = stmt.getResultSet();
          		//int cid=0;
                	//  while(result.next()){
          			// cid = result.getInt("id");
          			//System.out.println(cid); }
            //to list sub-classes for each class 
                 // result.close();
                for (Iterator k = c.listSuperClasses(true); k.hasNext();)

                  {
                         OntClass sp = (OntClass) k.next();
                         //String str = c.getModel().getGraph().getPrefixMapping().shortForm(c.getURI()) // 获取URI
                         //+ "'s superClass is " ;
                         
                       if (!sp.isAnon()){
                        	 String strSP = sp.getLocalName();
                        	 sql="insert into tb_superclass(spclass_name,class_id) values('"+strSP+"','"+j+"');";
                        	 stmt.execute(sql);
                            sql="UPDATE tb_superclass,tb_class set tb_superclass.class_id=tb_class.id WHERE spclass_name='"+strSP+"' AND tb_class.class_name ='"+Class+"';";
                       	  stmt.execute(sql);}
                         //System.out.println("super class:"+strSP);}
                         else{
                        	 {}
                         }

                     
                   // super class ends

                  }
                  //Iterator k=c.listSubClasses(true);
                 for( Iterator k=c.listSubClasses(true);k.hasNext();) 
                  //while(k.hasNext())
                  { 

                    //System.out.println("  "+"hasSubClass"); 
                   OntClass subclass=(OntClass)k.next(); 
                   String strSubClass=subclass.getLocalName();
                   sql= "insert into tb_subclass(subclass_name,class_id) values('"+strSubClass+"','"+j+"');";
                   stmt.execute(sql); //"select tb_class.id from tb_class where tb_class.class_name ='"+Class+"';" +
	 				sql="UPDATE tb_subclass,tb_class set tb_subclass.class_id=tb_class.id where subclass_name='"+strSubClass+"' AND tb_class.class_name ='"+Class+"';";
             	  stmt.execute(sql);
                   
                   //getModel().usePrefix(subclass.getURI()); 
                 //  System.out.println("  "+"hasSubClass:"+strSubClass); 

                    } 
                // for(Iterator y=c.listDeclaredProperties(true);y.hasNext();) 
                     
                 Iterator y=c.listDeclaredProperties(true);
                while(y.hasNext())
                  {
                	  OntProperty property=(OntProperty)y.next(); 
                	  String strPropertyName=property.getLocalName();
                	  sql= "insert into tb_property(property,class_id) values('"+strPropertyName+"','"+j+"');";
                	  stmt.execute(sql);
                	  		//"select tb_class.id from tb_class where tb_class.class_name ='"+Class+"';" +
                	  				sql="UPDATE tb_property,tb_class set tb_property.class_id=tb_class.id where tb_property.property = '"+strPropertyName+"' AND  tb_class.class_name = '"+Class+"';";

                	  stmt.execute(sql);
                	//System.out.println("associated property:"+strPropertyName.substring(0));
                  }

          			//}
               // cid++;
          			  }
                  else{
               //   	 是匿名类;
                	       {}
                       }
                 
              }
      
			}
      			/*sql= "select * from tb_fileindex;";
      			ResultSet result1  = stmt.executeQuery(sql);
      			while(result1.next()){
      			System.out.print("name:"+result1.getString("file_name")+" ");	
      			System.out.print("file_id:"+result1.getString("file_id")+" \n");
      			}*/
			result.close();
	 } 
    
    catch(IOException ioe) 
    { 
           System.err.println(ioe.toString()); 

     }
    model.close();
  stmt.close();
  con.close();
    
	}
            catch(Exception ex){
       	  System.out.println(ex.getMessage());
         }
            
          
     }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -