跳转到主要内容

rdflib 存储使用 SQLite 全文索引

项目描述

SPOLStore

一个Python RDFLib存储,它基于简单的主题-谓词-对象-字面值来存储RDF数据,所有字面值都使用SQLite FTS5全文索引。

用法

首先安装该软件包,可以使用以下方法完成

pip install spolstore

在使用之前,需要指定包含图的sqlite数据库在文件系统中的位置以打开它。要将此用作RDFlib中的存储,初始化并打开一个图

import rdflib
g = rdflib.Graph("spol")
g.open("/tmp/example.spol")

如果在尝试调用其任何方法之前没有打开图,则会抛出异常。

一旦解析了图,就可以使用SPARQL查询执行全文搜索

import rdflib
g = rdflib.Graph("spol")
g.open("/tmp/example.spol")
g.parse("http://www.w3.org/People/Berners-Lee/card")
q = """
    PREFIX foaf: <http://xmlns.com/foaf/0.1/>

    SELECT ?s ?p
    WHERE {
            ?s ?p "web workshop" .
    }
"""
for r in g.query(q):
    print(r)

从磁盘导入ntriples文件

您还可以使用SPOLStore从磁盘加载一个.nt文件,如下所示

python -m spolstore example.nt example.spol

文件可以是压缩的。脚本会检查是否有.gz扩展名,如果是,则在读取时会解压文件。如果您知道文件中有多少个三元组,您还可以在命令行上指定它以查看进度。

python -m spolstore --total=6122281 abiggerfile.nt.gz someotherfile.spol

有关更多信息和使用方法以及如何直接作为SQL数据库查询的查询,请参阅此处

待办事项

这是一个非常初版的可工作版本。请将其视为一个实用原型。可能存在许多错误...

  • 正确处理字面值的语言和数据类型,而不是当前的无脑转储

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

spolstore-0.9.tar.gz (6.6 kB 查看哈希值)

上传时间 源代码