一种基于sqlite支持的机器人应用最小知识库。主要符合KB-API。

minimalKB的Python项目详细描述


啊![使用ORO视图查看的最小知识库知识模型的屏幕截图](doc/oro view.jpg)

minimalkb是一个sqlite支持的极简主义知识库,最初是设计的 用于机器人(特别是人机交互或多机器人交互)。

它存储三元组(类似于rdf/owl三元组),并提供基本一致的 [KB-API](http://homepages.laas.fr/slemaign/wiki/doku.php?id=kb_api_robotics) 可通过简单的套接字协议访问的api。

[pykb](https://github.com/severin-lemaignan/pykb)提供了一个惯用的python 绑定,便于将知识库集成到应用程序中。

它几乎没有任何功能,除了它是快速和简单的。基本rdfs推理 提供(详情见下文)。

用python编写。唯一需要的依赖项是sqlite3。如果 也可用,您可以很容易地导入现有的本体在RDF/OWL/N3/甲鱼中 知识库中的格式。

安装

` $ git clone https://github.com/severin-lemaignan/minimalkb.git $ cd minimalkb $ python setup.py install $ minimalkb `

运行minimalkb–help以获取可用选项。

功能

###服务器客户端或嵌入式

minimalkb可以作为独立(socket)服务器运行,也可以直接嵌入 在python应用程序中。

###多型号

minimalkb用于动态环境,可能有几个 需要单独知识模型的上下文/代理。

可以随时创建新的模型,每次操作(如知识 添加/收回/查询)可以对模型的特定子集进行操作。

每个模型也由推理机独立分类。

###事件系统

minimalkb提供了一种机制来subscribe订阅某些条件(例如: 将给定类型的实例添加到知识库中,某些语句将 是的,等等)然后得到通知。

###推理

minimalkb仅提供基本的rdfs/owl推理功能:

  • 它尊重rdfs:subassof关系的传递闭包。
  • 函数谓词(owl:functionalproperty的子谓词)是正确的 在更新模型时处理(即,如果用pa断言<;s p o>; 函数谓词,使用<;s p o'>;更新模型将首先导致<;s p o>;将被收回)。
  • owl:equivalentClass被正确处理。

推理器在自己的线程中运行,并按照给定的速率对模型进行分类 默认5Hz。因此,需要等待约200毫秒,才能得到 分类在模型中可见。

###瞬态知识

minimalkb允许将“寿命”附加到语句:在给定的持续时间之后, 它们是自动收集的。

###本体行走

minimalkb展示了探索不同本体模型的几种方法 知识库。它与可视化工具兼容 [或视图](https://github.com/severin-lemaignan/oro-view)。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java刷新系统。用自己的记录器输出   使用Jython将参数从Java传递到Python   JavaSocksV4代理   java如何使用通知?   java@DirtiesConext不工作   java将多个jar组合成一个(使用maven)   java使用相等运算符比较两个类   java我怎样才能让两个JOptionPane一起出现在我的第一页上,并让它们在两个页面上都有正确的答案?   html无法访问java中资产文件夹内的文件   通过post命令向SpringWebApp发送对象时,java对象字段为null   单个实例中静态变量的类更改值(Java)   java解决方案是什么   试图检查网站所有受支持的密码套件的安全性,在java中遇到chacha20和poly1035问题