Это мой код ниже, я хочу отправить значение переменной python вместо dbpedia:Imran_Khan.Пожалуйста, предоставьте мне правильное решение этого запроса Код:
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"])
Вы должны использовать этот код, я уверен, что он решит вашу проблему, и его легко понять.
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)