如何通过API将rdf文件上传到GraphDB

问题描述

我的服务器上存储了一个RDF文件。该文件或至少文件内容应通过API上传到远程GrapbDB。

在文档中,有两种方法可以执行此操作。第一个是将其上传到服务器文件,然后将其加载到GraphDB。这里的问题是,我不是服务器的所有者,所以GraphDB正在运行。因此,我无法将其上传到服务器文件。还是可能有另一个API?

另一种方法是在服务器上提供公共API,然后触发GraphDB从我的服务器下载文件。但是我的API必须使用credantials或JWT保护。但是我不知道如何在API调用中设置凭据。

没有一种方法可以将简单图形上载到存储库?

解决方法

在GraphDB中有一个基于浏览器的用户界面,可让您import from local files。如果您要连接的服务器上允许这样做,而您只需要这样做一次,那么我认为这将是最快的方法。

如果您想使用dotNetRDF将本地文件上传到GraphDB,那么我建议您通过VDS.RDF.Storage.SparqlHttpProtocolConnector作为SPARQL 1.1 graph store protocol API使用described here。您需要使用的基本URL将取决于服务器的配置,还可能取决于它所运行的GraphDB的版本,但是对于最新版本(9.4),该模式为:<RDF4J_URL>/repositories/<repo_id>/rdf-graphs/service

连接器支持HTTP基本身份验证(这是GraphDB提供的选项之一),因此,如果您具有用户名和密码,则可以尝试使用连接器上的SetCredentials方法来指定这些凭据,并在必要时强制使用通过将全局选项属性VDS.RDF.Options.ForceHttpBasicAuth设置为true来使用HTTP基本认证。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...