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); } }
运用jena将本体持久化到Mysql
最新推荐文章于 2024-09-30 17:19:22 发布