前面有讲到通过JenaAPI读取RDF文件(或者OWL文件)存储到mysql数据库中,这是会默认生成7张表来存储。具体流程如下:①加载数据库JDBC驱动。②创建数据库连接。③从Mysql数据库读取OntModel。④操作返回的OntModel,打印三元组查看具体内容。代码如下:
package d2rq;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import com.hp.hpl.jena.db.DBConnection;
import com.hp.hpl.jena.db.IDBConnection;
import com.hp.hpl.jena.ontology.OntModel;
import com.hp.hpl.jena.ontology.OntModelSpec;
import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.ModelFactory;
import com.hp.hpl.jena.rdf.model.ModelMaker;
import com.hp.hpl.jena.rdf.model.RDFNode;
import com.hp.hpl.jena.rdf.model.Resource;
import com.hp.hpl.jena.rdf.model.Statement;
import com.hp.hpl.jena.rdf.model.StmtIterator;
public class Mysql2Console {
private static Logger log = LogManager.getLogger(Mysql2Console.class.getName());
public static final String strDriver = "com.mysql.jdbc.Driver"; // path of
public static final String strURL = "jdbc:mysql://localhost:3306/academic?useUnicode=true&characterEncoding=utf8"; // URL
public static final String strUser = "root"; // database user id
public static final String strPassWord = "123456"; // database password
public static final String strDB = "MySQL"; // database type
public static final String PATH = "doc/rdf/academic.rdf"; // file path
public static final String OWL = "doc/owl/unit.owl"; // file path
public static final String MODLE_NAME="MyOntology";
/**
* @param args
* @throws ClassNotFoundException
*/
public static void main(String[] args) throws ClassNotFoundException {
// 加载数据库驱动类,需要处理异常
Class.forName(strDriver);
// 创建一个数据库连接
IDBConnection conn = getConnection(strURL, strUser, strPassWord,strDB);
if(conn!=null){
log.debug("-------mysql数据库连接成功~"