通过用于POST请求的Apache Jena:&q;Missing';Query&>或';UPDATE&39;参数将数据加载到AWS海王星中
问题描述
我正在尝试通过Apache Jena(3.14.0)将数据从普通的Spring Boot应用程序加载到AWS海王星存储中。
我使用的代码是编写的,可以与包括Anzo和fuseki在内的几个三元组存储一起工作。
从我本地的开发环境连接到海王星商店的设置是一台Rube-Goldberg机器,我不好意思在这里讨论-然而,到目前为止,连接是有效的。
我的问题特别是将数据加载到存储区(考虑POST操作)。
通过RDFConnection#load(String, Model)习惯用法加载JenaModel时,操作失败。
堆栈跟踪如下:
也许更有帮助的是,响应中的错误消息是:
Http异常响应 {";code";:";MissingParameterException";,&Quot;DetailedMessage&Quot;:缺少‘Query’ 或POST请求的‘UPDATE’参数:[某些UUID]&Quot;}
有关常见错误的AWSdocs在这里似乎毫无用处。
错误消息的文本似乎很清楚-在某种程度上-请求缺少参数。
首先我还没有仔细了解Jena是如何构建请求的(因为我使用该框架可以很好地处理其他三元组存储),我也不知道如何从RDFConnectionjavadoc添加额外的参数。
我也没有尝试过手动向存储发送SPARQL请求,例如通过REST客户端--但我首先想使用Jena,所以在更远的地方逗留可能并不理想。
关于在Jena中使用海王星的AWStutorial非常基本,只从三元组存储中读取-因此再次声明,那里没有cookie。
同样,相同的堆栈、相同的代码、相同的数据、其他存储-->;工作正常。
有没有什么简单的方法来解决这个问题,或者我可能错过了一些文档/示例?
推荐答案
通过RDF4J批量加载到Netpune似乎是可行的两步过程。编写了生成RDF(NT文件)的程序,然后使用RDF4J控制台将其手动加载到海王星。
猜测:如果我们更深入地研究RDF4J以及海王星是如何接受来自它的批量加载的,那么在同一个程序中完成整个加载可能是可行的。
这篇关于通过用于POST请求的Apache Jena:&q;Missing';Query&>或';UPDATE&39;参数将数据加载到AWS海王星中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!