Jena如何存储和查询RDF到MySQL中。
Jena对MySQL,Oracle,SQL
Server开放了接口,可以直接用Jena的Model存储RDF到数据库中,但是可惜的是没有对DB2开放这样的接口。很可惜……
下面是写入MySQL的代码(代码都是经过本人测试的):
import
java.io.*;
import java.sql.SQLException;
import com.hp.hpl.jena.db.IDBConnection;
import com.hp.hpl.jena.db.DBConnection;
import com.hp.hpl.jena.rdf.model.*;
public class Jena_mysql
{
public
static final String strDriver = "com.mysql.jdbc.Driver"; // path of
driver class
public
static final String strURL = "jdbc:mysql://localhost:3306/******";
// URL of database
public
static final String strUser = "******"; // database user id
public
static final String strPassWord = "******"; // database
password
public
static final String strDB = "MySQL"; // database type
public
static void main(String[] args){
try{
// 创建一个数据库连接
IDBConnection conn = new DBConnection ( strURL, strUser,
strPassWord, strDB );
// 加载数据库驱动类,需要处理异常
try
{
Class.forName(strDriver);
}catch(ClassNotFoundException e){
System.out.println("ClassNotFoundException, Driver is not
available...");
}
// 使用数据库连接参数创建一个模型制造器
ModelMaker maker = ModelFactory.createModelRDBMaker(conn);
// 创建一个默认模型,命名为 MyOntology
Model defModel = maker.createDefaultModel();
// 准备需要存入数据库的本体文件,建立输入文件流