python - 数据追加到芝麻存储库

标签 python rdf semantic-web sesame

我将 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

最佳答案

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

PUT 请求覆盖现有数据,这是一个替换(而不是追加)操作。查看Sesame REST protocol documentation ,特别是关于 adding statements 的部分, 了解详情。

关于python - 数据追加到芝麻存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22600026/

相关文章:

python - 如何让 FigureCanvasTkAgg 与 Scrollbar 一起工作

Python 的 setup.py : how to install different files for different platforms

python - 绘制 pandas 数据透视表中的前 n 个指标

python - RDF/XML rdflib : Invalid property element URI

RDFS 与 OWL Reasoners — 设计注意事项

python - Django、Facebook Graph API 和 iOS

python - 在python中将Notation3文件序列化为RDFXML格式时出错

graph - 分析 RDF 图 : average number of certain relation

semantic-web - 图数据库 : TinkerPop/Blueprints vs W3C Linked data

semantic-web - OWL Protege-5.0如何将Object Property的范围设置为外部Ontology类