微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在我的 GraphDB 存储库上从 Python 运行 sparql 查询?

如何解决如何在我的 GraphDB 存储库上从 Python 运行 sparql 查询?

我正在尝试运行一个简单的查询

"""
    PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
    SELECT ?label
    WHERE { ?a rdfs:label ?label }
""")

通过我的 GraphDB 存储库,但来自 Python。经过一番搜索,我发现 SPARQL 包装器可用于此目的,但我不确定如何使 python 连接到我的 GraphDB(端点?)。我没有使用 API 的经验。到目前为止我所拥有的:

from SPARQLWrapper import SPARQLWrapper,JSON

sparql = SPARQLWrapper("http://192.168.0.12:7200/repositories/MyRepository")
sparql.setQuery("""
    PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
    SELECT ?label
    WHERE { ?a rdfs:label ?label }
""")
sparql.setReturnFormat(JSON)
results = sparql.query().convert()

for result in results["results"]["bindings"]:
    print(result["label"]["value"])

print('---------------------------')

for result in results["results"]["bindings"]:
    print('%s: %s' % (result["label"]["xml:lang"],result["label"]["value"]))

我从另一个 stackoverflow 复制了这个示例查询,但只更改了 where 查询主题,因此它适用于我的数据,并且适用于他们指向那里的存储库 (http://dbpedia.org/sparql),但不适用于我从 graphDB 中的存储库获得的链接

有什么想法吗?

解决方法

关键是要确保您用来连接到存储库的链接不是 GraphDB 给您的版本,而是该链接的 localhost 版本。 GraphDB 为您提供了一个 ipadress 链接。你必须用“localhost”替换ip地址,它才能工作。 (至少在本地)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?