Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Membre du Club
    Homme Profil pro allelb
    Inscrit en
    avril 2008
    Messages
    176
    Détails du profil
    Informations personnelles :
    Nom : Homme allelb

    Informations forums :
    Inscription : avril 2008
    Messages : 176
    Points : 69
    Points
    69

    Par défaut Jena arc Filter regex

    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 :
    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é à
    Code :
    filter regex(?nom, \"Mandoza\"@en, \"i\" )  } 
    pareil aucun résultat n'est retourné.
    Le nom "Mandoza"@en est dans base après vérification
    Merci de votre aide

  2. #2
    Membre du Club
    Homme Profil pro allelb
    Inscrit en
    avril 2008
    Messages
    176
    Détails du profil
    Informations personnelles :
    Nom : Homme allelb

    Informations forums :
    Inscription : avril 2008
    Messages : 176
    Points : 69
    Points
    69

    Par défaut

    c'est bon je viens de me rendre compte de mon erreur, voici la réponse pour ceux qui auront à l'avenir le meme problème.
    Code :
    filter regex(str(?nom), \""+name+"\", \"i\" )  }

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •