Python GraphDB 库

Python library for GraphDB

是否有 Python 库可以将 TTL 文件导入 GraphDB? IE。只需将它指向一个文件,而不是遍历数百万条语句并单独插入它们?

不知道用于此的特定 python 库,但您可以使用 repository statements 端点上传数据。

类似这样的方法似乎有效:

import requests

headers = {
  'Content-Type': 'application/x-turtle',
  'Accept': 'application/json'
}

with open('sample.ttl', 'rb') as f:
  requests.post('http://localhost:7200/repositories/test/statements', data=f, headers=headers)

如果数据真的很大,您可能应该考虑使用 loadrdf or the preload 工具。

有一个相当新鲜的可能不稳定 library 你可以使用。

它(大概)包括 GraphDB 的所有可用接口。

海龟导入可以执行为:

from graphdb.rdf4j.api.repositories_api import RepositoriesApi
from graphdb.rdf4j.configuration import Configuration
from graphdb.rdf4j.api_client import ApiClient
from graphdb.mime_types import RDFTypes


conf = Configuration()
conf.host = "http://localhost:7200/"
api_client = ApiClient(configuration=conf)
api_client.set_default_header("Content-Type", RDFTypes.TURTLE)
repository = "tеst"
api = RepositoriesApi(api_client)
api.put_statements(repository, rdf_data="@prefix ex: <http://test/> . \
    ex:1 ex:p ex:2 . ")