运用jena将本体持久化到Mysql

来源:互联网 发布:淘宝刷票1000张多少钱 编辑:程序博客网 时间:2024/05/29 12:39
import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import java.sql.SQLException;import com.hp.hpl.jena.rdf.model.*;  import com.hp.hpl.jena.db.DBConnection;import com.hp.hpl.jena.db.IDBConnection;import com.hp.hpl.jena.ontology.*;  public class OntoMySql  {//private final static String URI="http://www.iqas.com/DSOM#";private final static String filePath="C:\\Users\\dell\\Documents\\MyEclipise 8.6\\IQAS\\file\\DSOM.owl";private final static String driver = "com.mysql.jdbc.Driver";private final static String url = "jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=utf8";private final static String db = "MySQL";private final static String user = "root";private final static String pwd = "123456";/** * @param args */public static void main(String[] args) {try {IDBConnection con = getConnection(url, user, pwd, db);Class.forName(driver);createModel(con, "iqas", filePath);con.close();} catch (SQLException e) {e.printStackTrace();} catch (ClassNotFoundException e) {e.printStackTrace();}}/** * get db connection *  * @param dbUrl * @param dbUser * @param dbPwd * @param dbName * @return */public static DBConnection getConnection(String dbUrl, String dbUser,String dbPwd, String dbName) {return new DBConnection(dbUrl, dbUser, dbPwd, dbName);}/** * read owl file, create the ontModel, and store in db *  * @param conn * @param name * @param filePath * @return */public static OntModel createModel(IDBConnection conn, String name,String filePath) {ModelMaker maker = ModelFactory.createModelRDBMaker(conn);Model model = maker.createModel(name);try {File file = new File(filePath);FileInputStream fis = new FileInputStream(file);InputStreamReader isr = new InputStreamReader(fis, "UTF-8");model.read(isr, null);isr.close();fis.close();model.commit();} catch (FileNotFoundException e) {e.printStackTrace();} catch (UnsupportedEncodingException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}OntModelSpec spec = new OntModelSpec(OntModelSpec.OWL_MEM);return ModelFactory.createOntologyModel(spec, model);}}


	
				
		
原创粉丝点击