这里的 url_add 是一个链接,其中包含我想存储在 4store 中的 rdf 三元组。但是如果我将 url_add 作为参数传递,它会生成 Relative URIerror。
那么我可以将 url_add 仅作为参数传递的方式是什么。
response = store.add_from_uri('url_add')
追溯(最近的调用最后):
文件“”,第 1 行,在
文件“/usr/local/lib/python2.7/dist-packages/django_gstudio-0.3.dev-py2.7.egg/gstudio/testing1.py”,第 152 行,在
response = store.add_from_uri('url_add')
文件“/usr/local/lib/python2.7/dist-packages/django_gstudio-0.3.dev-py2.7.egg/gstudio/HTTP4Store/HTTP4Store.py”,第 74 行,在 add_from_uri 中
r_obj = self.rh.GET(uri, headers=headers)
GET 中的文件“/usr/local/lib/python2.7/dist-packages/django_gstudio-0.3.dev-py2.7.egg/gstudio/HTTP4Store/utils.py”,第 53 行
return self._request("%s" % (path), method="GET", headers=headers)
文件“/usr/local/lib/python2.7/dist-packages/django_gstudio-0.3.dev-py2.7.egg/gstudio/HTTP4Store/utils.py”,第 92 行,在 _request 中
resp, content = self.h.request(path, method, headers=headers, body=data)
请求中的文件“/usr/lib/python2.7/dist-packages/httplib2/init.py”,第 1297 行 (方案, 授权, request_uri, defrag_uri) = urlnorm(uri)
文件“/usr/lib/python2.7/dist-packages/httplib2/init.py”,第 204 行,在 urlnorm 中 raise RelativeURIError("Only absolute URIs are allowed. uri = %s"% uri)
RelativeURIError:只允许使用绝对 URI。 uri = url_add
最佳答案
您的网址的值(value)是多少
它抛出异常,因为您传递的是相对 URL 而不是绝对 URL(您可能有类似“../../directory/filename.rdf”的内容
如果您的 url 是一个 HTTP url,例如 (http://host/filename.rdf) 和 dereferenceable 那么您也可以使用 LOAD 指令作为 SPARQL 更新的一部分。因此,这只是意味着使用以下表达式执行 SPARQL 查询(与使用 4store 执行 SPARQL 查询的方式相同):
LOAD <http://host/filename.rdf>
INTO GRAPH <http://optional-name-of-graph>
关于python - 在 4store 中添加三元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9816580/