以文本方式查看主题

-  W3CHINA.ORG讨论区 - 语义网·描述逻辑·本体·RDF·OWL  (http://bbs.xml.org.cn/index.asp)
--  『 Semantic Web(语义Web)/描述逻辑/本体 』  (http://bbs.xml.org.cn/list.asp?boardid=2)
----  数据库和本体连接  (http://bbs.xml.org.cn/dispbbs.asp?boardid=2&rootid=&id=89763)


--  作者:ehuangjiazi
--  发布时间:3/18/2011 11:24:00 AM

--  数据库和本体连接

我在论坛上看的一个吧本体保存到数据库的代码,按照里面的内容作了,显示的也成功了,可是我不太明白这些代码是把什么本体和数据库连接呢?我用protege建的动物本体,我的mysql密码是123,可是代码里面的密码是root,所以就不是很明白那些带吧到底是什么作用?请高手解惑。在此附代码
import java.io.*;
import java.sql.SQLException;
import com.hp.hpl.jena.db.*;
import com.hp.hpl.jena.rdf.model.*;
public class Persistent {
public static final String strDriver = "com.mysql.jdbc.Driver";
public static final String strURL = "jdbc:mysql://localhost:3306/jena";
// localhost的后面要直接写冒号,再写3306;
public static final String strUser = "root";
public static final String strPassword = "root";
public static final String strDB = "MySQL";

public static void main(String[] args){
  try {
   DBConnection connection = new DBConnection(strURL, strUser, strPassword, strDB);
   // 创建连接时,第四个参数需要指定所用的数据库类型;也就是说strDB的值应该是“MySQL”
   try {
    Class.forName("com.mysql.jdbc.Driver");
    System.out.println("驱动程序已经安装。");
   } catch (ClassNotFoundException e){
    System.out.println("ClassNotFoundException, Driver is not available");
    }
   System.out.println("数据库连接成功。");
   
   // 从此处开始读入一个OWL文件并且存储到数据库中;
  
   ModelMaker maker = ModelFactory.createModelRDBMaker(connection);
// 使用数据库连接参数创建一个模型制造器
   Model defModel = maker.createModel("Costume");
     // 创建一个默认模型,命名为Costume,因为我要存入的OWL文件名是Costume
   
   FileInputStream read = null;
   try{
    File file = new File("e:/ontologies/BeijingOpera/Costume.owl");
    read = new FileInputStream(file);
   }catch (FileNotFoundException e){
    e.printStackTrace();
    System.out.println("未找到要存储的本体文件,请检查文件地址及名称");
   }
   System.out.println("已将本体文件转换为字节流文件。");
   
   InputStreamReader in = null;
   try {
    in = new InputStreamReader((FileInputStream)read, "UTF-8");
   } catch (UnsupportedEncodingException e) {
    e.printStackTrace();
    System.out.println("不支持上述字符集。");
   }
   System.out.println("已将字节流文件转换为UTF-8编码。");
   
   defModel.read(in,null);
   try {
    in.close();
   } catch (IOException e){
    e.printStackTrace();
    System.out.println("无法关闭字节流文件。");
   }
   System.out.println("已将字节流文件关闭。");
   
   defModel.commit();
   System.out.println("数据转换执行完毕,已将本体文件存入数据库。");
   try{
    connection.close();
   } catch (SQLException e){
    e.printStackTrace();
    System.out.println("文件无法关闭。");
   }
  } catch (RDFRDBException e){
   System.out.println("出现异常");
   }
  System.out.println("已将本体文件持久化到数据库中");
  }
}

W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
3,117.188ms