【问题标题】:Import large RDF to Graph Store using dotNetRDF使用 dotNetRDF 将大型 RDF 导入到 Graph Store
【发布时间】:2018-01-08 18:06:18
【问题描述】:

我有一个大型 RDF 文件(以 GB 为单位),我想将其导入远程图形数据库。

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

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


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

【问题讨论】:

    标签: .net rdf dotnetrdf graph-store-protocol


    【解决方案1】:

    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);
        }
    }
    

    【讨论】:

    • 请记住,如果数据包含空白节点,这可能会更改数据,因为无法保证远程存储在不同的 HTTP 请求中将空白节点 ID 视为相同
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多