使用 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);
}
}
我有一个很大的 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);
}
}