Post 如何将SPARQL发布到Virtuoso?
我正在使用两种不同的Post 如何将SPARQL发布到Virtuoso?,post,sparql,virtuoso,Post,Sparql,Virtuoso,我正在使用两种不同的httppost实用程序(Firefox和PythonAPI之外)将一个简单的SPARQL插入Virtuoso 我的URL是:http://localhost:8890/sparql 我的请求参数是: default-graph-uri: <MY_GRAPH> should-sponge: soft debug: on timeout: format: application/xml save: display fname: 默认图形uri: 海绵:柔软 调
httppost
实用程序(Firefox和Python
API之外)将一个简单的SPARQL
插入Virtuoso
我的URL是:http://localhost:8890/sparql
我的请求参数是:
default-graph-uri: <MY_GRAPH>
should-sponge: soft
debug: on
timeout:
format: application/xml
save: display
fname:
默认图形uri:
海绵:柔软
调试:打开
超时:
格式:application/xml
保存:显示
fname:
我将实际的SPARQL(插入数据{GRAPH…
)放在消息内容中
我尝试了不同的内容类型,但都不起作用。我得到了200个,但响应是HTML格式的,尽管上面的参数集指定了application/xml
,但是没有插入任何数据。当我尝试text/turtle
的内容类型时,我得到了409个无效路径,该路径也在中引用
我可以成功地执行
HTTP GET
,但是,出于性能原因,这有一个负载长度限制。GET的唯一区别是SPARQL进入query
参数下的URL,POST应该通过include在消息内容中启用更大的负载在同一个请求中输入多个三元组,而不仅仅是一个(我有100个或1000个插入)。我一直在尝试遵循。这个“问题”有很多方面这就是我建议使用邮件列表的原因之一,它更适合于会话和/或多方面的帮助
- 您是否像我们的大多数示例一样尝试过使用
curl
- 查看Mozilla加载项页面,我发现您可能需要手动在目标URI的末尾添加一个
,因此?
而不是http://localhost:8890/sparql?
——目前还不清楚您是否在测试中做到了这一点是的http://localhost:8890/sparql
- 我对Python一点也不熟悉,所以我没有深入研究
- 您是否尝试设置
标题?这可能会对服务器返回的内容产生重大影响Accept:
- 如果我正确理解您所描述的工作,您的
查询参数应该是格式:
,其值不应该是输出格式:
,而应该是受支持的格式之一应用程序/xml
- 此问题和此问题都没有足够的详细信息来分析
错误的原因。允许我们重现此结果的明确详细信息将非常有用,最好是在不同的线程中409无效路径
curl
实现同样的效果。由于它是浏览器扩展的一个强大(且方便得多)替代品,以下是最终证明成功的公式:
curl -X POST \
-H "Content-Type:application/sparql-update" \
-H "Accept:text/html" \
--data "select distinct ?Concept where {[] a ?Concept} LIMIT 100" http://localhost:8890/sparql
更多关于标题的详细信息。您可以继续在此处发布,但值得注意的是,专业人士的特定问题通常会在或中得到更快、更准确的回答。我理解,但转到不同的专业留言板并不太实际。他说,如果我有一个“我该怎么做…?”问题,“Post to Stack Overflow或Quora!”你说得对!what goes where将被编辑,以包含正文中的内容,即“The is Als active.”没有太多“Aspect”,问题很简单:如何使Post工作。你所指的Aspect是描述我的尝试“hello world”工作的参数“将数据发布到virtuoso会有所帮助,但这是无处可寻的