Bonjour
je désire executer une requete SPARQL en utilisant jena et arc afin de retourner toutes les personnes (extraites et stockés en local avec jena TDB) dont le nom contient le mot passé en paramètre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 public List<String> getPersoneByLikeName(Model model,String name){ List<String> personne =new ArrayList<String>(); String queryString =super.getPREFIXES() + " Select ?Personne ?nom " + " where { " + " ?Personne rdf:type foaf:Person ; " + " foaf:name ?nom. " + " filter regex(?nom, \""+name+"\", \"i\" ) } " ; Query query = QueryFactory.create(queryString); QueryExecution qe = QueryExecutionFactory.create(query,model); ResultSet results = qe.execSelect(); while (results.hasNext()){ QuerySolution sol = results.next(); personne.add(sol.get("?nom").asLiteral().getString()); System.out.println(sol.get("?nom").asLiteral().getString()); } return personne ; }
lors de l'appel de cette fonction avec comme paramètre mando j'ai aucun résultat, et en fixant le nom recherché àpareil aucun résultat n'est retourné.
Code : Sélectionner tout - Visualiser dans une fenêtre à part filter regex(?nom, \"Mandoza\"@en, \"i\" ) }
Le nom "Mandoza"@en est dans base après vérification
Merci de votre aide
Partager