IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Web sémantique Discussion :

Erreur de Sparql sous jena


Sujet :

Web sémantique

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    webmaster
    Inscrit en
    Mars 2015
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2015
    Messages : 39
    Points : 33
    Points
    33
    Par défaut Erreur de Sparql sous jena
    salut
    svp j'ai écrit cette requete SPARQL sous jena mais elle m'affiche une erreur !!!
    voici la requête et aussi l'erreur:
    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
      String queryString= "PREFIX dbpprop: <http://dbpedia.org/property/> "+
                    " PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>"+
    "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> "+
    "PREFIX dbpedia-owl: <http://dbpedia.org/ontology/> " +
     
    "SELECT ?player ?nam (count(?goals) AS ?Goals) ?labelPosition" +
    " where{"+ 
    "?player a <http://dbpedia.org/ontology/SoccerPlayer> . "+
    " ?player rdfs:label ?nam . "+
    "?player dbpedia-owl:birthPlace ?pays . "+
    "?pays dbpprop:commonName ?country . "+
    "?player dbpedia-owl:position ?position ."+
    "?position rdfs:label ?labelPosition. "+
    "?player dbpprop:goals ?goals . "+
    "FILTER langMatches(lang(?nam),'fr'). "+
    "FILTER langMatches(lang(?labelPosition),'en'). "+
    "FILTER regex(?country, \"^Morocco\")"+
                     " } GROUP BY ?player "+
    " LIMIT 40";

    le résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Exception in thread "main" com.hp.hpl.jena.query.QueryParseException: Non-group key variable in SELECT: ?nam
    	at com.hp.hpl.jena.sparql.lang.SyntaxVarScope.checkExprVarUse(SyntaxVarScope.java:164)
    	at com.hp.hpl.jena.sparql.lang.SyntaxVarScope.check(SyntaxVarScope.java:119)
    	at com.hp.hpl.jena.sparql.lang.SyntaxVarScope.check(SyntaxVarScope.java:70)
    	at com.hp.hpl.jena.sparql.lang.SPARQLParser.validateParsedQuery(SPARQLParser.java:56)
    	at com.hp.hpl.jena.sparql.lang.ParserSPARQL11.parse$(ParserSPARQL11.java:54)
    	at com.hp.hpl.jena.sparql.lang.SPARQLParser.parse(SPARQLParser.java:37)
    	at com.hp.hpl.jena.query.QueryFactory.parse(QueryFactory.java:148)
    	at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:80)
    	at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:53)
    	at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:41)
    	at itsudparis.application.Testquery.main(Testquery.java:91)
    Java Result: 1
    le problème c'est quand j’exécute la même requête sous Virtuoso SPARQL Query Editor , elle marche bien !!!
    svp qu'est ce je dois faire ? et merci

  2. #2
    Membre éprouvé
    Avatar de Sapience
    Homme Profil pro
    Consultant sémantique & data à sparna.fr
    Inscrit en
    Avril 2005
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant sémantique & data à sparna.fr
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 305
    Points : 915
    Points
    915
    Par défaut
    Quand tu fais un GROUP BY et que tu utilises des fonctions d'aggrégation comme COUNT(...), toutes les _autres_ variables de ton SELECT (= celles qui ne sont pas utilisées dans une fonction d'aggrégation) doivent être indiquées dans le GROUP BY.
    Donc tu devrais avoir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT?player ?nam (count(?goals) AS ?Goals) ?labelPosition
    WHERE {
    ...
    } GROUP BY ?player ?nam ?labelPosition

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    webmaster
    Inscrit en
    Mars 2015
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2015
    Messages : 39
    Points : 33
    Points
    33
    Par défaut
    vraiment, tu as raison Sapience !!! merci beaucoup beaucoup

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    webmaster
    Inscrit en
    Mars 2015
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2015
    Messages : 39
    Points : 33
    Points
    33
    Par défaut
    mais si c'est possible ? juste une petite question concernant les requêtes SPARQL avec l'API ARQ qui interrogent dbpedia !!!
    je trouve que leurs réponses sont très limitées !!! elles ne dépassent pas 22 lignes avec 7 attributs !!!
    moi je veux 50 lignes !!! y a t il une solution à ce problème ?

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

Discussions similaires

  1. "Erreur SQL générale" sous NT2000 avec une base ac
    Par aleister dans le forum Bases de données
    Réponses: 5
    Dernier message: 14/04/2005, 20h10
  2. Erreurs d'exécution sous delphi 5
    Par nkd dans le forum Langage
    Réponses: 3
    Dernier message: 06/11/2004, 17h25
  3. Erreur démarrage "filesystem" sous RedHat 8
    Par stewen dans le forum Administration système
    Réponses: 14
    Dernier message: 02/12/2003, 11h37
  4. Réponses: 1
    Dernier message: 23/10/2002, 13h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo