构建知识图谱之前的快速复习 - bettermorn/KGCourse GitHub Wiki

知识建模

  1. 本体是指什么?
  2. 如何构建本体?可以使用什么工具完成构建工作?
  3. 知识图谱包括哪些元素?

知识存储

  1. 知识存储有哪些类型和文件格式?
  2. 可以用什么
  3. SPARQL语言可以用来做什么?可以使用哪些开源工具?

知识获取

知识融合

知识推理

  1. 知识推理有哪些类型?
  2. SHACL在知识推理中起什么作用?参考 SHACLByExampleSHACLByExampleSHACL与知识推理
  3. 哪些开源工具或者框架可以实现知识推理?特别地,使用Jena推理机时,数据文件、规则文件和shape文件的作用是什么?如何构造这些文件以便完成推理任务?

应用实现

  1. 使用哪些程序语言以及相应的库可以实现知识图谱?

参考资源

问题

工具和代码

知识推理

参考 5.3.1 基于本体的推理 陈华钧. 知识图谱导论 (Chinese Edition) (p. 156). Kindle Edition.

链接预测

基于本体的推理

refer to A Survey on Ontology Reasoners and Comparison

  1. Protégé:这是一款非常强大的本体编辑和知识管理工具,由斯坦福大学的计算机科学系开发。Protégé支持多种本体语言和格式,包括OWL、RDF等,并且提供了丰富的插件,可以进行本体推理、本体映射等操作。https://protege.stanford.edu/
  2. Jena:这是一款Java编写的开源框架,用于构建语义网和链接数据应用。Jena提供了RDF、RDFS、OWL和SPARQL等语言的API,并且包含了本体推理引擎。https://jena.apache.org/documentation/ontology/ Combining RDFS/OWL with custom rules
  3. HermiT:这是一款基于OWL本体语言的推理引擎,它可以处理复杂的本体推理问题,如等价类推理、实例分类等。http://www.hermit-reasoner.com ](http://www.hermit-reasoner.com/)
  4. Pellet:这是一款开源的OWL-DL推理引擎,它支持OWL 2.0和SWRL规则语言,并且提供了丰富的API,可以进行本体推理、本体验证等操作。https://github.com/stardog-union/pellet How can I use Pellet with Jena? code: https://github.com/stardog-union/pellet/blob/master/examples/src/main/java/org/mindswap/pellet/examples/JenaReasoner.java
  5. Fact++:这是一款高效的OWL推理引擎,它支持OWL 2.0和DL语言,并且提供了丰富的API,可以进行本体推理、本体验证等操作。https://www.clipsrules.net/

基于规则的推理

  1. Drools:这是一款基于Java的开源业务规则管理系统(BRMS)。Drools支持编写业务规则,然后根据这些规则进行推理。它的规则语言是基于Rete算法的,可以处理复杂的规则推理问题。https://www.drools.org/
  2. Jess:这是一款基于Java的规则引擎,由Sandia国家实验室开发。Jess支持编写规则,然后根据这些规则进行推理。它的规则语言是基于Rete算法的,可以处理复杂的规则推理问题。https://dpsframework.org/dpsAgents-api/doc/engines/jess/docs/intro.html
  3. CLIPS:这是一款C语言编写的规则引擎,由NASA开发。CLIPS支持编写规则,然后根据这些规则进行推理。它的规则语言是基于Rete算法的,可以处理复杂的规则推理问题。https://www.clipsrules.net/
  4. Prolog:这是一种逻辑编程语言,常用于人工智能和计算语言学中。Prolog的规则语言是基于Horn子句的,可以处理复杂的规则推理问题。

规则学习与嵌入学习的融合

  1. Iteratively Learning Embeddings and Rules for Knowledge Graph Reasoning. (WWW'19) 网站:https://github.com/wencolani/IterE 符号化的知识图谱,通过嵌入学习到图谱的向量表示,进而再次学习到右上角的符号化的公理,即本体规则。这些本体规则再叠加应用到知识图谱中,通过演绎推理的过程产生更多的三元组。这些新增加的三元组可以进一步增强知识图谱嵌入学习的效果,特别是那些稀疏实体的表示会因为三元组的增加而学习得到更好的向量表示。 陈华钧. 知识图谱导论 (Chinese Edition) (p. 189). Kindle Edition.