Je souhaite intégrer l'entrée de l'utilisateur dans une requête SPARQL. Voici mon code existant mais je n'arrive pas à le faire fonctionner.Comment ajouter une variable de chaîne à la requête SPARQL?
public void setName(String name) {
String formattedName = name.replace(" ", "-");
String query = "SELECT ?p ?o WHERE { <http://person/" + formattedName + "> ?p ?o }" ;
System.out.println(query);
QueryExecution qe = QueryExecutionFactory.sparqlService(
"http://localhost:3030/Date/query",
"PREFIX dc: <http://purl.org/dc/elements/1.1/> " + query);
ResultSet results = qe.execSelect();
System.out.println(results);
qe.close();
}
Puis-je obtenir la sortie suivante dans la console:
SELECT ?p ?o WHERE { <http://person/Mark-John> ?p ?o }
[email protected]8261
La première ligne est la requête et la deuxième ligne est le résultat, ce qui devrait être les données reçues ...
Il fonctionne si j'essaie comme suit:
execSelectAndPrint(
"http://localhost:3030/Date/query",
"PREFIX dc: <http://purl.org/dc/elements/1.1/> " + "SELECT ?p ?o WHERE { <http://person/Mark-John> ?p ?o }"
);
qui imprime:
| <http://purl.org/dc/elements/1.1/name> | "Mark John" |
| <http://purl.org/dc/elements/1.1/nationality> | "American" |
Comment puis-je modifier mon premier code pour afficher les résultats du second?
Si vous avez 'execSelectAndPrint', pourquoi ne pouvez-vous pas l'utiliser? – AKSW