зацикливание запроса SPARQL в Python - PullRequest
1 голос
/ 23 февраля 2020

У меня есть задача зациклить запрос SPARQL для каждого термина. Но я понятия не имею, обрабатывать в коде, особенно Python. Я использую RDFlib для Python, и мои коды показаны ниже:

for joined in removed:
print (joined)

output:

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, есть ли способ обработать запрос для каждого термина последовательно? или я должен использовать switch и case функцию? пожалуйста, посоветуйте мне, спасибо.

1 Ответ

0 голосов
/ 13 марта 2020

В 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
...