资源简介
网上的关于本体的资源太少了,并且理论方面的东西比较多,所以现在上传有一些源代码的本体资料,希望有用。
代码片段和文件信息
///大家可参考:
/////http://hi.baidu.com/wxmsona/blog/item/de8e54cbe2ee544df21fe7d4.html/cmtid/84331159b19d49d29d820444
//////
//////
package yzu.wofy.simpleSearch;
import java.util.List;
import com.hp.hpl.jena.ontology.OntModel;
import com.hp.hpl.jena.ontology.OntModelSpec;
import com.hp.hpl.jena.rdf.model.*;
import com.hp.hpl.jena.reasoner.*;
import com.hp.hpl.jena.reasoner.rulesys.GenericRuleReasoner;
import com.hp.hpl.jena.reasoner.rulesys.Rule;
import com.hp.hpl.jena.util.*;
import com.hp.hpl.jena.vocabulary.ReasonerVocabulary;
public class FamilyReasoner {
public void InferenceRelation(Resource a Resource b) {
Model model = ModelFactory.createDefaultModel();
model.read(“file:E:/Project/ontology/FamilyReasoner/family.owl“);
List rules = Rule.rulesFromURL(“file:E:/Project/ontology/FamilyReasoner/family.rules“);
GenericRuleReasoner reasoner = new GenericRuleReasoner(rules);
reasoner.setOWLTranslation(true);
reasoner.setDerivationLogging(true);
reasoner.setTransitiveClosureCaching(true);
OntModel om = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM_RULE_INF //这里使用OWL_DL_MEM效果也一样
model);
Resource configuration = om.createResource();
configuration.addProperty(ReasonerVocabulary.PROPruleMode “hybrid“);
InfModel inf = ModelFactory.createInfModel(reasoner om);
StmtIterator stmtIter = inf.listStatements(a null b);
if (!stmtIter.hasNext()) { //进入这一步表示两资源之间没关系,与differentFrom还是有差别的。
System.out.println(“there is no relation between “
+ a.getLocalName() + “ and “ + b.getLocalName());
System.out.println(“\n-------------------\n“);
}
while (stmtIter.hasNext()) {
Statement s = stmtIter.nextStatement();
System.out.println(“Relation between “ + a.getLocalName() + “ and “
+ b.getLocalName() + “ is :“);
System.out.println(a.getLocalName() + “ “
+ s.getPredicate().getLocalName() + “ “ + b.getLocalName());
System.out.println(“\n-------------------\n“);
// System.out.println(s);
}
}
public static void main(String[] args) {
FamilyReasoner f = new FamilyReasoner();
Model m = FileManager.get().loadModel(“file:E:/Project/ontology/FamilyReasoner/family.owl“);
String NS = “http://www.semanticweb.org/ontologies/2010/0/family.owl#“;
Resource Jim = m.getResource(NS + “Jim“);
Resource John = m.getResource(NS + “John“);
Resource Lucy = m.getResource(NS + “Lucy“);
Resource Kate = m.getResource(NS + “Kate“);
Resource Sam = m.getResource(NS + “Sam“);
Resource James = m.createResource(NS + “James“);
Resource Anna = m.getResource(NS + “Anna“);
Resource Holly = m.createResource(NS + “Holly“);
f.InferenceRelation(Jim John);
f.InferenceRelation(John Jim);
f.InferenceRelation(John Sam);
f.InferenceRelation(Lucy John);
f.InferenceRelation(Kate Sam);
f.InferenceRelation(Sam Kate);
f.InferenceRelation(James John);
//f.Inf
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 339 2010-05-04 20:56 FamilyReasoner\catalog.xm
文件 17463 2010-05-05 20:51 FamilyReasoner\family.owl
文件 2873 2010-05-05 20:51 FamilyReasoner\family.rules
文件 19739 2010-04-28 20:22 FamilyReasoner\族谱图.jpg
文件 3166 2010-05-10 16:57 FamilyReasoner.java
目录 0 2010-05-10 16:57 FamilyReasoner
----------- --------- ---------- ----- ----
43580 6
- 上一篇:qt做的小程序-鼠标事件
- 下一篇:SGM立体匹配
相关资源
- OWL2 Web本体语言入门
- 2019南京帆软软件公司校园招聘研发类
- 绘制若干OpenGL基本体素三角形、三角
- 使用Protege构建的一个Pizza本体
- 本体ontology(使用Protégé手工构建)
- Jena本体推理
- 数学推理:写作和证明,版本2.1Math
- Protege5.2.0
- 哈工大秋季学期人工智能3学分第三个
- 基于Jena的本体推理
- 面向计算机科学的数理逻辑 系统建模
- Protege新手入门教程(推理篇)
- 论文研究 - 减少大地电磁反演不确定
- Modeling and Reasoning with Bayesian Networks(
- 大连理工大学中文情感词汇本体库.
- 大型外企公司图形推理题
- 小流域推理公式计算设计频率的洪水
- Jena_中文教程_本体API
- 基于Petri网的案例推理研究
- 宝洁图形推理题正确答案及分析.
- 成员推理攻击ppt
- Jena查询推理机
- 瑞文标准推理测验——智力测试软件
评论
共有 条评论