1

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

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

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

2 回答 2

1

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

我建议看看以4store作为后端的ORDF 。

于 2014-06-25T06:22:01.943 回答
1

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

我还遇到了另一个用 Python 讨论非关系型数据库的线程,虽然它没有特别提到 SPARQL:可移植的非关系型数据库

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

于 2014-06-25T07:11:52.987 回答