是否有python的非关系数据库?

时间:2014-06-25 05:18:08

标签: python database sparql triplestore non-relational-database

我正在搜索像sqlite但不是关系的东西。换句话说,我想使用三重存储(一组对象谓词 - 主题三元组)而不是表。这意味着我想使用SPARQL查询而不是SQL。

首先想到的是RDFLib。但是,我发现此选项存在两个问题:

  1. RDFLib不是数据库,因此,它不适用于并行进程(例如,由许多Web用户引起的并行请求)。如果两个用户同时尝试添加或删除三重商店,则可能会导致不一致。
  2. RDFLib旨在与RDF一起使用,RDF是三重存储的特定实现(语法)。例如,每个对象,谓词和主题都必须有URI,而我没有它们。在我的三重商店中,我希望有这样的三元组:("Washington","is capital of", "USA")(所以,没有URI)。

2 个答案:

答案 0 :(得分:1)

SPARQL明确用于RDF;如果你想使用它,你需要创建自己的本体或利用现有的本体。

我建议您查看ORDF4store作为后端。

答案 1 :(得分:1)

正如评论者已经说过的,SPARQL有一个包装器接口 - Python的SPARQL Endpoint接口(目前版本为1.6.0): http://rdflib.github.io/sparqlwrapper/

我还遇到了另一个用Python讨论非关系数据库的线程,虽然它没有特别提到SPARQL:portable non-relational database

虽然它没有太多内容,但Python SPARQL开发人员指南有一些指示:http://www.openlinksw.com/blog/~kidehen/?id=1651