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会有所帮助,但这是无处可寻的