以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 Semantic Web(语义Web)/描述逻辑/本体 』  (http://bbs.xml.org.cn/list.asp?boardid=2)
----  求助:关于jena中的推理  (http://bbs.xml.org.cn/dispbbs.asp?boardid=2&rootid=&id=50349)


--  作者:懒惰的小蜜蜂
--  发布时间:7/22/2007 4:24:00 PM

--  求助:关于jena中的推理
刚接触Jena 还不是特别了解 我用的是GenericRuleReasoner
通过Reasoner rsNew = new GenericRuleReasoner(Rule.parseRules(strRule))获取的
我在作为schema的本体中定义了一个可传递的object property,名字叫P
在具体的本体里面a和b之间有关系P,b和c有关系P
根据P是可传递的 应该可以推出a和c也有关系P
但是我现在必须把这个可传递性在规则里面写出来
不然就死活推不出来
如何可以把schema和data两者绑定起来呢
多谢啊~
--  作者:jpz6311whu
--  发布时间:7/22/2007 7:00:00 PM

--  
请楼主把完整的程序代码贴出来,包括owl文件和strRule的内容
--  作者:jiexincao
--  发布时间:7/26/2007 11:10:00 AM

--  
GenericRuleReasoner本来就不包括什么推理规则,所有的规则都需要自己写。
用RDF或者OWL推理机就包括了各自语法中涉及到的规则。
--  作者:xiao193xue
--  发布时间:1/6/2008 1:25:00 PM

--  
import java.io.*;
import java.util.*;

import com.hp.hpl.jena.util.FileManager;
import com.hp.hpl.jena.db.*;
import com.hp.hpl.jena.rdf.model.*;
import com.hp.hpl.jena.reasoner.ReasonerRegistry;
import com.hp.hpl.jena.reasoner.Reasoner;
import com.hp.hpl.jena.reasoner.rulesys.*;
import com.hp.hpl.jena.vocabulary.RDF;
import com.hp.hpl.jena.vocabulary.OWL;
import com.hp.hpl.jena.ontology.OntModel;
import com.hp.hpl.jena.rdql.*;

public class Rule {
   public void printStatements(Model m, Resource s, Property p, Resource o) {
      StmtInterator i = m.listStatements(s,p,o);
         Statement stmt = i.nextStatement();
         System.out.println(" - " + PrintUtil.print(stmt));
     }
   public static void main(String[] args) {
   Model schema = FileManager.get().loadModel("Ontology\\student.owl");
   Model data = FileManager.get().loadModel("Ontology\\student.rdf");
   String rules="[Rule:(?a isIn ?e),(?x has ?c)->(?x could ?b)]";
   Reasoner reasoner = new GenericRuleReasoner(Rule.parseRules(rules));
   reasoner = reasoner.bindSchema(schema);
   InfModel infmodel = ModelFactory.createInfModel(reasoner,data);
   Resource Student=infmodel.getResource("urn:x-hp:eg/students");
   System.out.println("students*:");
   printStatements(infmodel,students,null,null);
   
   }
}
我的程序也是提示有错误,不知道错在哪里。麻烦大家多指点


--  作者:jpz6311whu
--  发布时间:1/6/2008 4:24:00 PM

--  
请楼上把程序报错内容贴出来看看
--  作者:xiao193xue
--  发布时间:1/7/2008 11:20:00 AM

--  
呵呵,谢谢,问题已经解决了。
--  作者:bigfeifei
--  发布时间:1/8/2008 11:06:00 AM

--  
严重同意
--  作者:zb850208
--  发布时间:3/2/2008 2:39:00 PM

--  
看一下
--  作者:Jack3229
--  发布时间:5/12/2010 6:11:00 PM

--  Jena推理
问一下,用Jena推理时必须将本体概念和实例分开来存再进行操作吗?直接对构建本体时声称的owl文件进行推理行不行呢?
对本体理解不深,希望各位能赐教!
--  作者:Jack3229
--  发布时间:5/15/2010 11:01:00 PM

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