【问题标题】:Data apending into sesame repository数据追加到同一存储库
【发布时间】:2014-03-24 02:21:25
【问题描述】:

我将 RDF 格式的数据插入到 Sesame 的存储库中,但是当我尝试将更多数据附加到该存储库时,我以前的数据已经消失,并且新数据被覆盖到该存储库中。我做错了什么?

import urllib2
import urllib 
import httplib2


par = {"text": "he is a good boy"}
headers={"Accept" : "application/rdf+xml"}
request = urllib2.Request("http://wit.istc.cnr.it/stlab-tools/fred/?" + urllib.urlencode(par),headers=headers)
contents = urllib2.urlopen(request).read()
print contents

repository = 'good_boy'
graph      = 'http://wit.istc.cnr.it/sentilo-dev/fred/xdot/graphviz_139546518295.gv'

print "Loading into Sesame"
params = { 'context': '<' + graph + '>' }
endpoint = "http://localhost:3030/openrdf-sesame/repositories/%s/statements?%s" % (repository, urllib.urlencode(params))
(response, content) = httplib2.Http().request(endpoint, 'PUT',
body=contents, headers={ 'content-type': 'application/rdf+xml' })
print "Response %s" % response.status
print content

【问题讨论】:

  • stackoverflow.com/questions/22574236/… 的可能重复项。如果您是同一个人:当您有其他信息时,不要提出新问题。相反,编辑您的问题以添加必要的详细信息。
  • JeenBroekstra,是的,这是我的问题。对不起,我是 stackoverflow 的新手,所以我不知道编辑功能。这是我的代码,所以请给我有关它的信息
  • 没有问题,我们曾经都是新人。只需单击旧问题上的“编辑”链接。如果您需要有关本网站如何运作的更多信息,请查看Help Center,尤其是How to ask a good question 部分。
  • 好的,我不会再犯那个错误了,请告诉我回答我的问题
  • 很好,我们可以将这个问题作为原始问题并将旧问题作为副本关闭。

标签: python rdf semantic-web sesame


【解决方案1】:

问题是您使用 HTTP PUT 请求而不是 POST 请求将数据添加到 Sesame 存储库。

PUT 请求覆盖现有数据,它是替换(而不是追加)操作。有关详细信息,请参阅Sesame REST protocol documentation,尤其是adding statements 部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-06
    • 2012-04-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多