在linux下执行从python到virtuoso服务器的sparql查询?

2024-06-01 11:52:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我在运行以下程序时遇到问题(sparql_test.py)。我在Linux机器上运行它。我在同一台Linux机器上安装Virtuoso服务器。在Linux服务器中,我既没有sudo权限,也没有浏览器访问权限。但是,我可以从isql提示符(SQL>)成功地执行SPARQL查询。在

程序:sparql_test.py

from SPARQLWrapper import SPARQLWrapper, JSON
sparql = SPARQLWrapper("http://localhost:8890/sparql")
sparql.setQuery("select ?s where { ?s a <http://ehrofip.com/data/Admissions>.} limit  10")
sparql.setReturnFormat(JSON)
result = sparql.query().convert()
for res in result["results"]["bindings"]:
    print(res)

我得到了以下错误:

^{pr2}$

然而,上述程序在我自己的笔记本电脑上运行得很顺利。有什么问题吗?这是连接问题吗?在

谢谢你

最好的

苏雷什


Tags: pytest程序服务器机器jsonhttp权限
1条回答
网友
1楼 · 发布于 2024-06-01 11:52:59

我不相信这个错误是由大师提出的。我相信它是由SPARQLWrapper提出的。在

外部世界(包括Linux机器本身)和端口8890上的Virtuoso侦听器之间似乎存在某种联系。“坏网关”表明可能有两种东西:反向代理和防火墙。在

端口8890(在INI文件中设置为[HttpServer]:Listen)必须对通信开放,直接或代理,SPARQL访问才能工作。在

iSQL与端口1111通信(在INI文件中设置为[Parameters]:Listen),该端口显然没有类似的块/代理。在

相关问题 更多 >