使用 dotNetRDF 将大型 RDF 导入图形存储

Import large RDF to Graph Store using dotNetRDF

我有一个很大的 RDF 文件(以千兆字节为单位),我想将其导入到远程图形数据库中。

数据库公开了一个Graph Store Protocol endpoint over the RDF4J API。在数据库支持的许多摄取路由中,在我的场景中唯一可接受的是使用此端点(posting 到 /statements)。

数据库托管在云提供商上,各种基础设施层(Web 服务器、应用程序容器)施加了上传限制,所以我不能只 post 文件。


如何使用 dotNetRDF,通过 Graph Store 将大量 RDF 分块加载到远程数据库中?

WriteToStoreHandler 将 RDF 直接写入具有可配置批量大小的存储提供程序。

SesameHttpProtocolConnector 是支持 RDF4J API 的存储提供程序,其中包括图形存储协议。

var path = "large-rdf-file-path.nt";
var server = "http://example.com/sparql-protocol-base-url";
var repository = "repository-name";
var batchSize = 10;

using (var connector = new SesameHttpProtocolConnector(server, repository))
{
    var handler = new WriteToStoreHandler(connector, batchSize);

    using (var reader = File.OpenText(path))
    {
        var parser = new NTriplesParser();

        parser.Load(handler, reader);
    }
}