1

我最近开始使用 SPARQL 和 JMeter。我正在尝试加载测试 Stardog。为此,我使用了 Jmeter 并运行了一个 SPARQL 查询,该查询使用 HTTP 请求更新数据库中的值。我尝试在 Stardog Web 界面中运行查询,它可以很好地更改数据库中的值。当我使用 Jmeter 运行相同的查询时,它运行得很好,但不会更改数据库中的值。如果我知道自己做错了什么,那将非常有帮助。我正在运行的查询是:

PREFIX info: <http://somewhere/peopleInfo#>
PREFIX vcard:<http://www.w3.org/2001/vcard-rdf/3.0#>

DELETE { ?person info:age ?age }
INSERT { ?person info:age ?nage }

WHERE {
 ?person vcard:FN 'Becky Smith' .
 ?person info:age ?age
 BIND (?age+1 AS ?nage)
}

Jmeter的截图可以在这里找到: https ://onedrive.live.com/redir?resid=E29D7716CE8E7022!239767&authkey=!AEzPJtZJi-bbmjw&ithint=folder%2cpng

我在 Stardog 中使用的 rdf 文件可以在这里找到(https://onedrive.live.com/redir?resid=E29D7716CE8E7022!239766&authkey=!ALBbaxM8nHhAXSw&ithint=file%2crdf)。

任何帮助将不胜感激。谢谢你。

[抱歉上传Onedrive链接,我是新用户,没有足够的声望点来上传超过2个链接。]

4

2 回答 2

2

我没有使用过 JMeter,因此对于您的配置到底出了什么问题,我没有任何明确的答案,但我可以看到它存在一些问题。

POST向 Stardog 的查询端点提交 a 的预期格式是Content-Typeisapplication/x-www-form-urlencoded和 body 应该是发送到端点的查询参数。所以,就像GET请求一样,它期望是query=<your query>. 查看第二个屏幕截图,它不喜欢正确配置。

这由 Stardog 的 SPARQL 服务描述的响应类型和响应内容来确认,即当请求缺少参数text/turtle时 Stardog 发送的内容。query

于 2016-05-26T19:08:11.983 回答
0

我意识到我正在犯的错误。我正在使用 HTTP Body 粘贴我的 SPARQL 代码。相反,当我使用参数并在查询下添加 SPARQL 代码时。它应该看起来像图片。 范围

于 2016-05-26T19:29:48.290 回答