一种基于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)。