Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Api Stardog:如何通过http协议将参数传递给SPARQL存储查询_Api_Http_Sparql_Semantic Web_Stardog - Fatal编程技术网

Api Stardog:如何通过http协议将参数传递给SPARQL存储查询

Api Stardog:如何通过http协议将参数传递给SPARQL存储查询,api,http,sparql,semantic-web,stardog,Api,Http,Sparql,Semantic Web,Stardog,我不熟悉语义网和SPARQL。我试图通过HTTP协议执行get请求,同时在URL中传递参数。如何将参数放入SPARQL查询中,以及如何在URL中为其赋值 以下是我所拥有的: Sparql查询:(我正在尝试将我的值放入s) 如您所见,我试图给出值105A203 我希望我的方法是GET,没有有效负载/主体。在这种特殊情况下,实际上不需要值。Stardog允许您通过额外的查询字符串参数直接为变量(以$开头的变量)传递绑定值,这与您已经尝试的方式非常相似: GET http://stardog-serv

我不熟悉语义网和SPARQL。我试图通过HTTP协议执行get请求,同时在URL中传递参数。如何将参数放入SPARQL查询中,以及如何在URL中为其赋值

以下是我所拥有的:

Sparql查询:(我正在尝试将我的值放入s)

如您所见,我试图给出值
105A203


我希望我的方法是
GET
,没有有效负载/主体。

在这种特殊情况下,实际上不需要值。Stardog允许您通过额外的查询字符串参数直接为变量(以$开头的变量)传递绑定值,这与您已经尝试的方式非常相似:

GET http://stardog-server:5820/myDb/query?query=select * where {?s ?p $myO}&$myO="105A203"
如果已将
select*where{s?p$myO}
保存为存储查询,则使用存储查询的名称也可以:

GET http://stardog-server:5820/myDb/query?query=myQuery&$myO="105A203"

请随意在

中发布任何进一步的问题,
employeeId
应该是URI还是文字?在查询中,您使用了
中的变量,因此它必须是URI,然后执行
query?query=alphonsoTest&$s=''105A203'
将字符串文本
“105A203”
作为参数。那不可能是对的。首先,将查询模板调整为
值值($employeeId){($s)}
,然后如果它是一个URI,则执行
query?query=alphonsoTest&$s=
,否则使用已有的
“105A203”
@AKSW请求,employeeId需要是一个普通的。我的错误在查询中。Stardog不将($s)识别为变量。是的,
值($employeeId){($s)}
-这不起作用。我认为SPARQL不允许在
VALUES
子句中使用变量,因为在这种情况下这没有意义,它只需要RDF术语(URI、文本)或
UNDEF
。你应该在Stardog邮件列表上询问是否有一些解决方法——你会很快得到比我更了解Stardog的人的支持。
GET http://stardog-server:5820/myDb/query?query=select * where {?s ?p $myO}&$myO="105A203"
GET http://stardog-server:5820/myDb/query?query=myQuery&$myO="105A203"