知识推理————相关工具介绍(你值得了解)

知识推理————相关工具介绍(你值得了解)相关工具简介 FaCT 曼彻斯特大学开发的描述逻辑推理机 使用 C 实现 且能与 Protege 集成 Java 版本名为 Jfact 基于 OWL API 使用举例 OWLReasonerF reasonerFact new JFactFactory 构建推理机 OWLReasoner

大家好,我是讯享网,很高兴认识大家。

相关工具简介

FaCT++

  • 曼彻斯特大学开发的描述逻辑推理机
  • 使用 C++ 实现, 且能与 Protege 集成
  • Java 版本名为 Jfact, 基于 OWL API
  • 使用举例
OWLReasonerFactory reasonerFactory = new JFactFactory(); // 构建推理机 OWLReasoner reasoner = this.reasonerFactory.createReasoner(ontology); reasoner.precomputeInferences(InferenceType.CLASS_HIERARCHY); // 进行推理(分类) 

讯享网

FaCT++官网

Racer

  • 美国Franz Inc. 公司开发的以描述逻辑为基础的本体推理,也可以用作语义知识库
  • 支持 OWL DL, 支持部分 OWL 2 DL
  • 支持单机和客户端/服务器两种模式
  • 用 Allegro Common Lisp 实现
  • 使用举例
讯享网(classify-tbox & optional (tbox (current-tbox))) // 进行TBox推理 (realize-abox & optional (abox (current-abox))) // 进行ABox推理 

Racer官网

Pellet

  • 马里兰大学开发的本体推理机
  • 支持 OWL DL 的所有特征, 包括枚举类和XML数据类型的推理
  • 支持 OWL API 以及 Jena 的接口
  • 使用举例
PelletReasoner reasoner = PelletReasonerFactory.getInstance().createReasoner(ontology); // 构建一个推理机 NodeSet<OWLNamedIndividual> individuals = reasoner.getInstances(Person, true); // 通过查询接口进行推理 

Pellet 在 GitHub项目

HermiT

  • 牛津大学开发的本体推理机
  • 基于 hypertableau 运算,更加高效
  • 支持 OWL 2 规则
  • 使用举例
讯享网Reasoner hermit = new Reasoner(ontology); // 构建一个推理机 System.out.println(hermit.isConsistent()); // 一致性检验 

HermiT 官网
相关工具总结
讯享网

KAON2

  • OWL 推理机、本体管理API
  • 基于一阶消解原理
  • 针对大规模ABox进行优化
    在这里插入图片描述
  • 使用举例
OntologyManager ontologyManager = KAON2Manager.newOntologyManager(); // 创建本体 Ontology ontology = ontologyManager.createOntology("http://kaon2.semanticweb.org/example04", new HashMap<String, Object>()); Reasoner reasoner = ontology.createReasoner(); // 创建推理机并用于查询 Query whatDoPeopleKnowAbout = reasoner.createQuery(new Literal[] { KAON2Manager.factory().literal(true, person, new Term[] {X}), KAON2Manager.factory().literal(true, personKnowsAboutTopic, new Term[] {X, Y}), }, new Variable[] {X, Y}); 

KAON2 官网

RDFox

  • 由牛津大学开发的可扩展、跨平台、基于内存的RDF三元组存储系统
  • 支持并行Datalog推理、SPARQL查询
  • 使用举例
讯享网OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); // 创建本体与存储 OWLOntology ontology = manager.loadOntologyFromOntologyDocument(IRI.create("test.owl")); DataStore store = new DataStore(DataStore.StoreType.ParallelSimpleNN, true); store.importOntology(ontology); // 导入本体进行推理 store.applyReasoning(); 

RDFox 官网
相关工具总结

Ontop

  • 最先进的 OBDA 系统
  • 兼容 RDFS、OWL 2 QL、R2RML、SPARQL标准
  • 支持主流关系数据库: Oracle、MySQL、SQL Server、 Postgres
  • 开源(Apache License 2.0)
    Ontop 官网

Drools在这里插入图片描述

  • 商用规则管理系统,其中提供了一个规则推理引擎
  • 核心算法基于 RETE 算法改进
  • 提供规则定义语言, 支持嵌入 Java 代码
  • 使用举例
KieServices ks = KieServices .Factory.get(); // 创建容器与会话 KieContainer kContainer = ks.getKieClasspathContainer(); KieSession kSession = KContainer.newKieSession("ksession-rules"); kSession.fireAllRules(); // 触发规则 

Drools 官网

Jena在这里插入图片描述

  • 用于构建语义网应用的 Java 框架
  • 提供了处理 RDF、RDFS、OWL数据的接口,还提供了一个规则引擎
  • 提供三元组的内存存储于查询
  • 使用举例
讯享网Model m = ModelFactory.createDefaultModel(); // 创建模型 Reasoner reasoner = new GenericRuleReasoner(Rule.rulesFromURL("file:rule.txt")); // 创建规则推理机 InfModel inf = ModelFactory.createInfModel(reasoner, m); 

jena 官网

RDF4J (原 Sesame)在这里插入图片描述

  • 一个处理 RDF 数据的开源框架
  • 支持语义数据的解析、存储、推理和查询
  • 能够关联几乎所有 RDF 存储系统
  • 能够用于访问远程 RDF 存储
  • 使用举例
String pre = "PREFIX:<http://foo.org/bar#>\n"; // 创建规则 String rule = pre + "CONSTRUCT { ?p :relatesTo :Cryptography } WHERE " + "{ { :Bob ?p :Alice } UNION { :Alice ?p :Bob } }"; Repository repo = new SailRepository(new CustomGraphQueryInference(new MemoryStore(), QueryLanguage.SPARQL, rule, "")); // 创建推理知识库 

RDF4J 官网

GraphDB (原 OWLIM)在这里插入图片描述

  • 一个可扩展的语义数据存储系统(基于RDF4J)
  • 包含三元组存储、推理引擎、查询引擎
  • 支持 RDFS、OWL DLP、OWL Horst, OWL 2 RL 推理
    在这里插入图片描述
    GraphDB 官网
    相关工具总结
小讯
上一篇 2025-01-10 07:00
下一篇 2025-01-11 15:01

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/35917.html