首页 > 解决方案 > 在 Python 中循环查询 SPARQL

问题描述

我的任务是为每个术语循环查询 SPARQL。但我不知道如何处理代码,尤其是 Python。我使用 Python 的 RDFlib,我的代码如下所示:

for joined in removed:
print (joined)

输出:

sistem
pakar
diagnosis
penyakit
tht
balita
metode
certainty
factor

这些术语已经通过文本预处理。之后,我想以循环方式查询这些术语。查询格式:

qres = g.query(
"""SELECT ?z 
    WHERE {?x rdfs:label ?z .               
          FILTER CONTAINS (LCASE(str(?z)), LCASE ('THE_TERM')) .    
    }
    LIMIT 100""")

我是 Python 新手,有什么方法可以连续处理每个术语的查询吗?还是我应该使用switchcase运行?请给我建议,谢谢。

标签: pythonsparqlrdflib

解决方案


Python中没有开关!

在此处查看有关循环查询结果的 rdflib 文档:https ://rdflib.readthedocs.io/en/stable/intro_to_sparql.html

简而言之:

g = Graph()
# do something to load the graph with data

q = g.query("""SOME SPARQL QUERY""")
for r in g.query():
    print(r)
    # or
    print(r['x'])  # if you returned a variable ?x in your SPARQL query

推荐阅读