• 大小: 17KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-23
  • 语言: 其他
  • 标签: 本体  推理  

资源简介

网上的关于本体的资源太少了,并且理论方面的东西比较多,所以现在上传有一些源代码的本体资料,希望有用。

资源截图

代码片段和文件信息

///大家可参考:
/////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.xml

     文件      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


评论

共有 条评论