Я хочу передать передать переменную Python (заполненный пользовательским вводом) в строку Python - PullRequest
0 голосов
/ 23 февраля 2019

Это мой код ниже, я хочу отправить значение переменной python вместо dbpedia:Imran_Khan.Пожалуйста, предоставьте мне правильное решение этого запроса Код:

 from SPARQLWrapper import SPARQLWrapper, JSON
inputvar=input("enter name:")
sparql = SPARQLWrapper("http://dbpedia.org/sparql")
sparql.setQuery("""
PREFIX dbpedia: <http://dbpedia.org/resource/>
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbp: <http://dbpedia.org/property/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX rdfs:   <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dct:    <http://purl.org/dc/terms/>

SELECT DISTINCT ?name  ?birthDate  ?abs ?c ?des  ?r ?bn  ?pro WHERE { 
  dbpedia:Imran_Khan # **(here I want to pass the variable in which user input is stored)** 
                     dbo:birthDate ?birthDate ;
                     dbo:abstract ?abs 
                    FILTER (lang(?abs) = 'en')

}
""")

sparql.setReturnFormat(JSON)
results = sparql.query().convert()
for result in results["results"]["bindings"]:
    print(result["abs"]["value"])
    print(result["birthDate"]["value"])

1 Ответ

0 голосов
/ 25 февраля 2019

Вы должны использовать этот код, я уверен, что он решит вашу проблему, и его легко понять.

from SPARQLWrapper import SPARQLWrapper, JSON, XML, N3, RDF
print('Enter your name:')
x = input()
sparql = SPARQLWrapper("http://dbpedia.org/sparql")
sparql.setQuery("\n"
                    "    PREFIX dbpedia: <http://dbpedia.org/resource/>"
                    " PREFIX dbo: <http://dbpedia.org/ontology/>"
                    "PREFIX dbp: <http://dbpedia.org/property/>\n"
                    "PREFIX foaf: <http://xmlns.com/foaf/0.1/>\n"
                    "PREFIX rdfs:   <http://www.w3.org/2000/01/rdf-schema#>\n"
                    "PREFIX dct:    <http://purl.org/dc/terms/>\n"
                    "SELECT DISTINCT ?name  ?birthDate   WHERE {\n"
                   "dbpedia:"+x+" foaf:name ?name\n"
                    "}\n"
                    "                   ")
print('\n\n*** JSON Example')
sparql.setReturnFormat(JSON)
results = sparql.query().convert()
for result in results["results"]["bindings"]:
    a = result["name"]["value"]
print(a)
...