以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 Semantic Web(语义Web)/描述逻辑/本体 』  (http://bbs.xml.org.cn/list.asp?boardid=2)
----  使用Jena API出现问题,急请大家帮助!  (http://bbs.xml.org.cn/dispbbs.asp?boardid=2&rootid=&id=32806)


--  作者:Green_blue
--  发布时间:5/21/2006 10:20:00 PM

--  使用Jena API出现问题,急请大家帮助!
在使用Jena API时出现如下的错误,请大家帮忙,对于大文件老出现,不知怎么回事,另外谁有较大的本体文件,帮小弟传一下,不甚感激!
程序片断:
  String className = "oracle.jdbc.driver.OracleDriver";
  try{Class.forName (className); }
  catch(Exception ex){System.out.println(ex.toString());};
  
  //建立Jena数据库模型连接
                     String DB_URL = "jdbc:oracle:thin:@10.2.35.79:1521:myoracle"; // URL of database server
  String DB_USER = "scott"; // database user id
  String DB_PASSWD = "database"; // database password
  String DB = "Oracle"; // database type
               IDBConnection conn = new DBConnection (DB_URL,DB_USER,DB_PASSWD,DB );
                //Create a model in the database
  ModelMaker maker = ModelFactory.createModelRDBMaker(conn);
  ModelRDB model = (ModelRDB) maker.createModel("my",true);
  
  
  
  //建立带推理模型
  Model model1 = ModelFactory.createRDFSModel(model);
           String inputFileName = "wordnet_glossary-20010201.rdf";
  
           // 读文件
  try
  {
   
   InputStream in = rdfstore.class.getClassLoader().getResourceAsStream(inputFileName);
   model.begin();
          model.read(new InputStreamReader(in), "");
                      model.commit();
   }
  catch (Exception ex)
   {
    System.err.println("Exception: "+ex) ;
    ex.printStackTrace(System.err) ;
    }
  
  StmtIterator iter1 = model1.listStatements();
  
  while (iter1.hasNext())
  {        
      
       LinkedList spo = new LinkedList();          //定义一个三元组数组
       Statement stmt      = iter1.nextStatement();  // get next statement
       Resource  subject   = stmt.getSubject();     // get the subject
       Property  predicate = stmt.getPredicate();   // get the predicate
       RDFNode   object    = stmt.getObject();      // get the object
   
                  }
   
出现错误:急求帮助!

WARN [main] (ResultSetIterator.java:185) - Problem in iterator over db result set, op = selectStatement
java.lang.ClassCastException: oracle.jdbc.driver.OracleResultSetImpl
at com.hp.hpl.jena.db.impl.Driver_Oracle.IDtoLongObject(Driver_Oracle.java:321)
at com.hp.hpl.jena.db.impl.DriverRDB.IDtoString(DriverRDB.java:2131)
at com.hp.hpl.jena.db.impl.DriverRDB.IDtoLiteral(DriverRDB.java:2113)
at com.hp.hpl.jena.db.impl.DriverRDB.RDBLiteralStringToLiteralNode(DriverRDB.java:1733)
at com.hp.hpl.jena.db.impl.DriverRDB.RDBStringToNode(DriverRDB.java:1692)
at com.hp.hpl.jena.db.impl.PSet_TripleStore_RDB.extractTripleFromRowData(PSet_TripleStore_RDB.java:237)
at com.hp.hpl.jena.db.impl.ResultSetTripleIterator.extractRow(ResultSetTripleIterator.java:114)
at com.hp.hpl.jena.db.impl.ResultSetIterator.moveForward(ResultSetIterator.java:178)
at com.hp.hpl.jena.db.impl.ResultSetIterator.hasNext(ResultSetIterator.java:142)
at com.hp.hpl.jena.util.iterator.WrappedIterator.hasNext(WrappedIterator.java:64)
at com.hp.hpl.jena.util.iterator.FilterIterator.hasNext(FilterIterator.java:43)
at com.hp.hpl.jena.util.iterator.NiceIterator$1.hasNext(NiceIterator.java:86)
at com.hp.hpl.jena.util.iterator.WrappedIterator.hasNext(WrappedIterator.java:64)
at com.hp.hpl.jena.util.iterator.NiceIterator$1.hasNext(NiceIterator.java:86)
at com.hp.hpl.jena.util.iterator.NiceIterator$1.hasNext(NiceIterator.java:86)
at com.hp.hpl.jena.reasoner.rulesys.impl.TopLevelTripleMatchFrame.nextMatch(TopLevelTripleMatchFrame.java:50)
at com.hp.hpl.jena.reasoner.rulesys.impl.LPInterpreter.run(LPInterpreter.java:325)
at com.hp.hpl.jena.reasoner.rulesys.impl.LPInterpreter.next(LPInterpreter.java:187)
at com.hp.hpl.jena.reasoner.rulesys.impl.LPTopGoalIterator.moveForward(LPTopGoalIterator.java:71)
at com.hp.hpl.jena.reasoner.rulesys.impl.LPTopGoalIterator.next(LPTopGoalIterator.java:186)
at com.hp.hpl.jena.util.iterator.WrappedIterator.next(WrappedIterator.java:68)
at com.hp.hpl.jena.util.iterator.WrappedIterator.next(WrappedIterator.java:68)
at com.hp.hpl.jena.util.iterator.UniqueExtendedIterator.nextIfNew(UniqueExtendedIterator.java:61)
at com.hp.hpl.jena.util.iterator.UniqueExtendedIterator.hasNext(UniqueExtendedIterator.java:69)
at com.hp.hpl.jena.util.iterator.WrappedIterator.hasNext(WrappedIterator.java:64)
at com.hp.hpl.jena.util.iterator.FilterIterator.hasNext(FilterIterator.java:43)
at com.hp.hpl.jena.util.iterator.NiceIterator$1.hasNext(NiceIterator.java:86)
at com.hp.hpl.jena.util.iterator.WrappedIterator.hasNext(WrappedIterator.java:64)
at com.hp.hpl.jena.util.iterator.WrappedIterator.hasNext(WrappedIterator.java:64)
at rdfstore.rdfstore.main(rdfstore.java:122)


--  作者:Green_blue
--  发布时间:5/22/2006 7:20:00 PM

--  
哪位好人帮帮我啊,这个问题已经折腾我好几天了,我快崩溃了.....
--  作者:chris
--  发布时间:5/22/2006 8:59:00 PM

--  
你是不是哪设置的问题呢
你在论坛里搜一下,有一篇论文<Jena 简介〉
里面详细讲了将本体存为数据库如何用jena查询,我记得是要用RDQL吧
自己搜一艘把
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
125.000ms