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 :

Les cat�gories dans Dbpedia


Sujet :

Web s�mantique

  1. #1
    Membre confirm�
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    175
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 175
    Par d�faut Les cat�gories dans Dbpedia
    Bonjour � Tous,

    Je travaille dans un projet ou j'ai besoin de d�terminer les cat�gories (ou Topics) d'int�r�ts des utilisateurs.

    Pour cela, je suis entrain de chercher une base de connaissance g�n�rique (de pr�f�rence une taxonomie) qui peut me d�terminer les centres d'int�r�ts des utilisateurs en reposant sur leurs activit�s.

    Je connais une taxonomie g�n�rique (DMOZ) qui permet de d�terminer la cat�gorie (ou Topics) des activit�s des utilisateur en reposant sur une fonction de similarit� entre des vecteurs d�finissant les contenus vus par l'utilisateur et des vecteurs des cat�gories de la taxonomie (sachant que chaque cat�gorie dans la taxonomie est d�finie par un ensemble des mots cl�s). En d'autres termes, si je le donne comme entr�e un document ou un ensemble des mots cl�s, elle me renvoie la cat�gorie la plus proche de ce contenu. Le souci que cette taxonomie est en anglais et la version fran�aise est tr�s limit�e. Pour cela, je suis entrain d'investiguer et v�rifier si avec DBpedia je peux faire ce que j'ai d�j� expliqu�.

    Dans DBpedia, j'ai vu le mot cat�gories mais savez vous s'ils ont tous le m�me niveau ou bien des niveaux diff�rent selon une hi�rarchie d�j� clair. �galement, les cat�gories dans DBpedia sont ils d�finie en reposant sur un vocabulaire des mots qu'ont peut les utiliser apr�s pour identifier la distance entre les cat�gories de Dbpedia et les mots cl�s d�finissant chacun des contenus ?

    Merci d'avance !

  2. #2
    Membre �m�rite
    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
    Par d�faut
    Bonjour

    Citation Envoy� par daniel1985 Voir le message
    Dans DBpedia, j'ai vu le mot cat�gories mais savez vous s'ils ont tous le m�me niveau ou bien des niveaux diff�rent selon une hi�rarchie d�j� clair
    Les cat�gories DBPEdia correspondent aux cat�gories Wikipedia, et � ce titre elles sont plus ou moins d�velopp�es suivant la th�matique, l'int�r�t et l'humeur de la communaut� des wikipediens qui administrent ces cat�gories. On trouve des cat�gories un peu farfelues du style (je cite de m�moire) "Jeux vid�os publi�s en 1994".


    Citation Envoy� par daniel1985 Voir le message
    �galement, les cat�gories dans DBpedia sont ils d�finie en reposant sur un vocabulaire des mots qu'ont peut les utiliser apr�s pour identifier la distance entre les cat�gories de Dbpedia et les mots cl�s d�finissant chacun des contenus ?
    Non, pas directement. Mais par contre les cat�gories DBPedia r�f�rencent tous les articles de Wikipedia dans ces cat�gories. Et ces articles contiennent tout un tas de mots qu'il est possible de prendre et d'analyser comme base pour des algorithmes de rapprochement de contenus. C'est m�me une mati�re beaucoup plus riche que quelques mots-cl�s associ�s � chaque cat�gorie, je pense.

    Peut-�tre des services comme Faviki peuvent t'aider. C'est un syst�me de social bookmarking qui utilise les pages wikipedia (donc par extension les entr�es DBPedia) pour tagger des contenus.

  3. #3
    Membre confirm�
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    175
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 175
    Par d�faut
    Merci beaucoup pour votre r�ponse rapide.

    Je cherche � d�finir un ensemble des cat�gories par des sacs des mots en reposant sur les articles de chacune de ces cat�gories. En d'autre termes, d�finir chacune des cat�gories Wikipedia par un sac de mots.

    Pourriez-vous me recommandez des apis, codes sources me permettant tout d'abord d'identifier tous les cat�gories Wikipedia ou m�me les sous cat�gories d'une cat�gories particuli�re. Avez-vous �galement une id�e comment je peux extraire les articles wikip�dia de chacune de ces cat�gories s'il vous pla�t.

    Merci d'avance et tr�s bonne journ�e !

  4. #4
    Membre �m�rite
    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
    Par d�faut
    1. Tu devrais trouver de la litt�rature scientifique l�-dessus, car ce sont des approches qui ont d�j� �t� explor�es;
    2. Tu pourrais utiliser le service sparql de DBPedia (http://dbpedia.org/sparql ou http://fr.dbpedia.org/sparql pour DBPedia francophone) avec des requ�tes SPARQL pour extraire � la fois la hi�rarchie des cat�gories et les liens vers les pages wiki correspondantes. Si tu regardes une cat�gorie au hasard dans DBPedia, http://dbpedia.org/resource/Category...ries_in_Europe, tu verras que
      1. les sous-cat�gories sont indiqu�es avec la propri�t� "skos:broader" (de la cat�gorie fille vers la cat�gorie parente);
      2. les resources dans la cat�gorie sont indiqu�es avec la propri�t� "dcterms:subject" (de la resource vers sa cat�gorie);
      3. et sur une resource DBPedia le lien vers la page wiki est indiqu�e avec la propri�t� foaf:isPrimaryTopicOf

  5. #5
    Membre confirm�
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    175
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 175
    Par d�faut
    Je vous remercie encore une fois pour vos r�ponses pertinentes.

    En cherchant sur internet comment faire pratiquement pour extraire les cat�gories de Wikip�dia, j'ai tomb� sur ce tutoriel 'http://jplu.developpez.com/tutoriels/web-semantique/dbpedia-extraction-framework/'

    Comme vous avez d�j� une exp�rience sur le sujet, pourrirez-vous me dire s'il s'agit de la bonne piste � suivre pour extraire pratiquement les cat�gories ainsi que les articles relative � chacune des cat�gories Wikip�dia.


    Si j'ai bien compris, il faut tout d'abord installer Dbpedia et apr�s utiliser des requ�tes SparQL comme vous m'avez expliqu� pour extraire les cat�gories Wikipedia.

    Avez-vous �galement une id�e s'il y-a un autre tutoriel pr�cisant comment le faire sur Windows car dans le Tutoriel ils assument qu'on utilise Ubuntu.

    Merci encore une fois pour votre aide et je vais vous tenez au courant � propos mon avancement dans ce sujet !

  6. #6
    Membre �m�rite
    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
    Par d�faut
    Citation Envoy� par daniel1985 Voir le message
    Je vous remercie encore une fois pour vos r�ponses pertinentes.

    En cherchant sur internet comment faire pratiquement pour extraire les cat�gories de Wikip�dia, j'ai tomb� sur ce tutoriel 'http://jplu.developpez.com/tutoriels/web-semantique/dbpedia-extraction-framework/'

    Comme vous avez d�j� une exp�rience sur le sujet, pourrirez-vous me dire s'il s'agit de la bonne piste � suivre pour extraire pratiquement les cat�gories ainsi que les articles relative � chacune des cat�gories Wikip�dia.
    Non. L'article explique comment traiter les articles de wikipedia pour g�n�rer la base DBPedia. La base DBPedia est d�j� en ligne et accessible en SPARQL � http://dbpedia.org/sparql (version anglaise) ou http://fr.dbpedia.org/sparql (version fran�aise). Inutile de refaire tourner les moulinettes d'extraction. Tu peux d�j� interroger DBPedia en SPARQL.
    Si tu veux, tu peux t�l�charger les donn�es RDF de DBPedia (http://wiki.dbpedia.org/Downloads) et les charger dans ton triplestore local, ce qui peux te donner de meilleures perfs, mais ce seront les m�mes donn�es.

    Voil� une requ�te SPARQL qui te permet d'extraire les cat�gories sous une cat�gorie donn�e (dans l'exemple la cat�gorie "Countries in Europe"), jusqu'au niveau 5 :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    select ?cat ?catLabel ?immediateParent ?level
    where {
      ?cat a skos:Concept .
      ?cat rdfs:label ?catLabel .
      {
              { ?cat skos:broader <http://dbpedia.org/resource/Category:Countries_in_Europe> . ?cat skos:broader ?immediateParent . BIND(1 AS ?level) }
        UNION { ?cat skos:broader/skos:broader <http://dbpedia.org/resource/Category:Countries_in_Europe> . ?cat skos:broader ?immediateParent . BIND(2 AS ?level) }
        UNION { ?cat skos:broader/skos:broader/skos:broader <http://dbpedia.org/resource/Category:Countries_in_Europe> . ?cat skos:broader ?immediateParent . BIND(3 AS ?level) }
        UNION { ?cat skos:broader/skos:broader/skos:broader/skos:broader <http://dbpedia.org/resource/Category:Countries_in_Europe> . ?cat skos:broader ?immediateParent . BIND(4 AS ?level) }
        UNION { ?cat skos:broader/skos:broader/skos:broader/skos:broader/skos:broader <http://dbpedia.org/resource/Category:Countries_in_Europe> . ?cat skos:broader ?immediateParent . BIND(5 AS ?level) }
      }
    }
    order by ?level ?immediateParent ?cat
    A essayer donc � http://dbpedia.org/sparql

    On trouve des cat�gories un peu "exotiques" comme "Badminton in Liechtenstein" (http://dbpedia.org/resource/Category..._Liechtenstein), ou encore "Ukrainian expatriate basketball people in China" (http://dbpedia.org/resource/Category...eople_in_China) qui ne contiennent qu'une seule page.

    Citation Envoy� par daniel1985 Voir le message
    Merci encore une fois pour votre aide et je vais vous tenez au courant � propos mon avancement dans ce sujet !
    Oui, si tu as un article ou des r�sultats, n'h�site pas � en parler ici.

  7. #7
    Membre confirm�
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    175
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 175
    Par d�faut
    Merci beaucoup pour votre r�ponse.

    J'ai test� la requ�te SPARQL sur la version fran�ais de DBpedia et voila ce que j'ai eu :
    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
     
    Virtuoso 37000 Error SP030: SPARQL compiler, line 8: syntax error at 'BIND' before '('
     
    SPARQL query:
    define sql:big-data-const 0 
    #output-format:application/sparql-results+json
    define sql:signal-void-variables 1 select ?cat ?catLabel ?immediateParent ?level
    where {
      ?cat a skos:Concept .
      ?cat rdfs:label ?catLabel .
      {
              { ?cat skos:broader <http://dbpedia.org/resource/Category:Countries_in_Europe> . ?cat skos:broader ?immediateParent . BIND(1 AS ?level) }
        UNION { ?cat skos:broader/skos:broader <http://dbpedia.org/resource/Category:Countries_in_Europe> . ?cat skos:broader ?immediateParent . BIND(2 AS ?level) }
        UNION { ?cat skos:broader/skos:broader/skos:broader <http://dbpedia.org/resource/Category:Countries_in_Europe> . ?cat skos:broader ?immediateParent . BIND(3 AS ?level) }
        UNION { ?cat skos:broader/skos:broader/skos:broader/skos:broader <http://dbpedia.org/resource/Category:Countries_in_Europe> . ?cat skos:broader ?immediateParent . BIND(4 AS ?level) }
        UNION { ?cat skos:broader/skos:broader/skos:broader/skos:broader/skos:broader <http://dbpedia.org/resource/Category:Countries_in_Europe> . ?cat skos:broader ?immediateParent . BIND(5 AS ?level) }
      }
    }
    order by ?level ?immediateParent ?cat
    Avez-vous �galement le code de la requ�te SPARQL permettant d'identifier les articles Wikip�dia d'une cat�gorie sp�cifique s'il vous pla�t ? ou bien vous me conseillez une autre requ�te SparQL qui permettent d'extraire le deux informations � la fois, �-a-d les cat�gories ainsi que les articles Wikip�dia qui appartiennent � chacune de ces cat�gories.

    Merci d'avance !

    .

  8. #8
    Membre �m�rite
    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
    Par d�faut
    Une requếte pour r�cup�rer les pages d'une cat�gorie :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    select ?uri ?wikiPage
    where {
      ?uri dcterms:subject <http://fr.dbpedia.org/resource/Catégorie:France> .
      ?uri foaf:isPrimaryTopicOf ?wikiPage .
    }
    Je te laisse adapter ensuite � ton besoin.

  9. #9
    Membre confirm�
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    175
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 175
    Par d�faut
    Merci Beaucoup Sapience !

    Pour la premi�re requ�te SparQL, c'�tait quoi l'erreur s'il vous pla�t ? j'arrive pas � l'ex�cuter et j'ai eu l'erreur metion�ee dans le message pr�c�dent

    Merci d'avance !

  10. #10
    Membre �m�rite
    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
    Par d�faut
    Aucune id�e. Tu peux enlever tous les "BIND(...)" et toutes les r�f�rences � la variable "?level" dans le select et le order by, et voir ce que ca donne. Tu n'auras plus le niveau de profondeur de la cat�gorie, mais je ne sais pas si tu en as besoin.

  11. #11
    Membre confirm�
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    175
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 175
    Par d�faut
    Avez-vous une id�e s'il existe d�j� des Apis permettant d'interroger DBpedia via des programmes Java s'il vous pla�t ?

    En effet, il me faut faire des it�rations des requ�tes SparQl pour avoir les donn�es que j'aurai besoin. Donc, un api me permettant d'interroger Dbpedia sera la meilleur solution.

    Merci d'avance

  12. #12
    Membre �m�rite
    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

  13. #13
    Membre confirm�
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    175
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 175
    Par d�faut
    Merci beaucoup Sapience !

    j'ai essay� l'api Sesame.

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
    package mongo;
     
    import com.mongodb.BasicDBObject;
    import com.mongodb.DBCollection;
    import com.mongodb.DBCursor;
    import com.mongodb.DBObject;
    import com.mongodb.Mongo;
    import com.mongodb.DB;
    import com.mongodb.ParallelScanOptions;
     
    import java.util.List;
    import java.util.Set;
     
    import org.openrdf.Sesame;
    import org.openrdf.query.BindingSet;
    import org.openrdf.query.MalformedQueryException;
    import org.openrdf.query.QueryEvaluationException;
    import org.openrdf.query.QueryLanguage;
    import org.openrdf.query.TupleQuery;
    import org.openrdf.query.TupleQueryResult;
    import org.openrdf.repository.Repository;
    import org.openrdf.repository.RepositoryConnection;
    import org.openrdf.repository.RepositoryException;
    import org.openrdf.repository.http.HTTPRepository;
    import org.openrdf.repository.sail.SailRepository;
    import org.openrdf.sail.memory.MemoryStore;
     
    public class Connection {
     
    	public static void main(String [] args) throws RepositoryException, MalformedQueryException, QueryEvaluationException, IllegalArgumentException
    	{
     
       		 Repository repository = new HTTPRepository("http://fr.dbpedia.org/sparql");
                     repository.initialize();
     
                     RepositoryConnection connection=repository.getConnection();
     
             // On initialise la query
             String Sparql_qyery="select ?cat ?catLabel ?immediateParent ?level where {  ?cat a skos:Concept . ?cat rdfs:label ?catLabel .{ { ?cat skos:broader <http://fr.dbpedia.org/resource/Catégorie:Art> . ?cat skos:broader ?immediateParent . BIND(1 AS ?level) }} } order by ?level ?immediateParent ?cat";
             TupleQuery selectQuery = connection.prepareTupleQuery(QueryLanguage.SPARQL, Sparql_qyery);
    	    // on l'exécute
             TupleQueryResult selectQueryResult = selectQuery.evaluate();
     
             // on itère sur les résultats
             while(selectQueryResult.hasNext()) 
              {
     
                   // chaque ligne du résultat est un BindingSet
                   BindingSet aBinding = selectQueryResult.next();
     
                  // on print les valeurs de cette ligne
                   System.out.println("Personne "+aBinding.getValue("x")+" a pour nom "+aBinding.getValue("foafName"));
     
             }
       }
    }
    Mais j'ai eu cette erreur:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    Exception in thread "main" java.lang.IllegalArgumentException: URL must be to a Sesame Repository (not just the server)
    	at org.openrdf.repository.http.HTTPRepository.<init>(HTTPRepository.java:118)
    	at mongo.Connection.main(Connection.java:45)
    La ligne 45 concerne la ligne
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    Repository repository = new HTTPRepository("http://fr.dbpedia.org/sparql");
    J'ai cherch� partout pour comprendre cet erreur et le corriger mais toujours sans r�sultat. Avez-vous une id�e comment surmonter ce soucis s'il vous plait ?

  14. #14
    Membre �m�rite
    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
    Par d�faut
    Tu utilises HTTPRepository, ce n'est pas bon, il ne sert pas � �a. Voir sa Javadoc � http://rdf4j.org/sesame/2.8/apidocs/...epository.html, qui dit : "For communicating with a non-Sesame-based SPARQL endpoint, it is recommend to use SPARQLRepository instead".
    Tu dois utiliser SPARQLRepository � la place.

  15. #15
    Membre confirm�
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    175
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 175
    Par d�faut
    J'ai essay� m�me avec SPARQLRepository mais sans r�sultat. voila mon code:
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
     
    package mongo;
     
    import com.mongodb.BasicDBObject;
    import com.mongodb.DBCollection;
    import com.mongodb.DBCursor;
    import com.mongodb.DBObject;
    import com.mongodb.Mongo;
    import com.mongodb.DB;
    import com.mongodb.ParallelScanOptions;
     
    import java.util.List;
    import java.util.Set;
     
    import org.openrdf.Sesame;
    import org.openrdf.query.BindingSet;
    import org.openrdf.query.MalformedQueryException;
    import org.openrdf.query.QueryEvaluationException;
    import org.openrdf.query.QueryLanguage;
    import org.openrdf.query.TupleQuery;
    import org.openrdf.query.TupleQueryResult;
    import org.openrdf.repository.Repository;
    import org.openrdf.repository.RepositoryConnection;
    import org.openrdf.repository.RepositoryException;
    import org.openrdf.repository.http.HTTPRepository;
    import org.openrdf.repository.sail.SailRepository;
    import org.openrdf.repository.sparql.SPARQLConnection;
    import org.openrdf.repository.sparql.SPARQLRepository;
    import org.openrdf.sail.memory.MemoryStore;
     
    public class Connection {
     
    	public static void main(String [] args) throws RepositoryException, MalformedQueryException, QueryEvaluationException, IllegalArgumentException
    	{
     
    //		Mongo mongoClient = new Mongo(); 
     
    //		DB db = mongoClient.getDB("test");
            /** 
             DBCollection coll= db.getCollection("test");
             DBObject myDoc= coll.findOne();
             System.out.println(myDoc);
            **/
    		//Repository repository= new SailRepository(new MemoryStore());
            //repository.initialize();
     
     
    		 SPARQLRepository repository = new SPARQLRepository("http://fr.dbpedia.org/sparql");
             repository.initialize();
     
             RepositoryConnection connection=repository.getConnection();
     
             // On initialise la query
             String Sparql_qyery="select ?cat ?catLabel ?immediateParent ?level where {  ?cat a skos:Concept . ?cat rdfs:label ?catLabel .{ { ?cat skos:broader <http://fr.dbpedia.org/resource/Catégorie:Art> . ?cat skos:broader ?immediateParent . BIND(1 AS ?level) }} } order by ?level ?immediateParent ?cat";
             TupleQuery selectQuery = connection.prepareTupleQuery(QueryLanguage.SPARQL, Sparql_qyery);
    	    // on l'exécute
             TupleQueryResult selectQueryResult = selectQuery.evaluate();
     
             // on itère sur les résultats
             while(selectQueryResult.hasNext()) 
              {
     
                   // chaque ligne du résultat est un BindingSet
                   BindingSet aBinding = selectQueryResult.next();
     
                  // on print les valeurs de cette ligne
                   System.out.println("Personne "+aBinding.getValue("x")+" a pour nom "+aBinding.getValue("foafName"));
     
                 // si on ne connait pas les noms de variables de la query, on peut les récupérer dynamiquement
     
                   for (String aBindingName : selectQueryResult.getBindingNames()) 
                       {
                         System.out.println("La valeur de "+aBindingName+" est "+aBinding.getValue(aBindingName));
                       }
             }
       }
    }
    Ainsi ce que j'ai eu comme 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
     
    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/impl/client/HttpClients
    	at org.openrdf.http.client.SesameClientImpl.createHttpClient(SesameClientImpl.java:96)
    	at org.openrdf.http.client.SesameClientImpl.getHttpClient(SesameClientImpl.java:68)
    	at org.openrdf.http.client.SesameClientImpl.createSparqlSession(SesameClientImpl.java:101)
    	at org.openrdf.repository.sparql.SPARQLRepository.createHTTPClient(SPARQLRepository.java:130)
    	at org.openrdf.repository.sparql.SPARQLRepository.getConnection(SPARQLRepository.java:146)
    	at mongo.Connection.main(Connection.java:50)
    Caused by: java.lang.ClassNotFoundException: org.apache.http.impl.client.HttpClients
    	at java.net.URLClassLoader$1.run(Unknown Source)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(Unknown Source)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    	... 6 more
    Normalement c'est l'instruction
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    RepositoryConnection connection=repository.getConnection();
    qui a g�n�r� cette erreur !

  16. #16
    Membre �m�rite
    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
    Par d�faut
    Tu n'as pas bien suivi le tutorial. Tu n'as pas fait cette partie :

    Optionnellement, seulement si vous voulez vous connecter � un serveur Sesame distant, ou un endpoint SPARQL (en utilisant la classe HTTPRepository), ajoutez les �tapes suivantes :

    • T�l�chargez httpclient, en prenant le fichier commons-httpclient-3.0.zip. (Attention de ne pas confondre avec httpcomponents-client), et d�zippez commons-httpclient-3.0.jar ;
    • T�l�chargez commons-logging et d�zippez commons-logging-1.1.1.jar
    • T�l�chargez commons-codec et d�zippez commons-codec-1.6.jar ;
    • ajoutez � votre classpath commons-httpclient-3.0.jar, commons-logging-1.1.1.jar et commons-codec-1.6.jar ;

  17. #17
    Membre confirm�
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    175
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 175
    Par d�faut
    Merci beaucoup Sapience !

    Pour extraire les contenus des articles Wikip�dia li� � une cat�gorie sp�cifique. Faut-il extraire tout le contenu Dbpedia (avec la commande describe par exemple ) ou bien c'est diff�rent et dans ce cas me faut pour chaque page Wikip�dia extraire tout d'abord son contenu dans Wikipedia et apr�s extraire son contenu infobox de Wikidata et enfin son contenu dans Dbpedia. Avez-vous une id�e s'il vous pla�t ? et comment faire si j'ai besoin juste des contenu fran�ais, car j'ai test� la commande describe (Dans DBpedia) pour un article et il m'a retourn� ds contenus multilingues...

    Merci d'avance et d�sol� pour le d�rangement !

  18. #18
    Membre �m�rite
    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
    Par d�faut
    Ce qu'il y a dans DBPedia c'est seulement le r�sum� de la page, effectivement dans plusieurs langues.
    Mais si c'est le texte complet de la page Wikipedia qui t'int�resse, cf. ma r�ponse du 14/07 : "sur une resource DBPedia le lien vers la page wiki est indiqu�e avec la propri�t� foaf:isPrimaryTopicOf". Si tu lis l'URL de la page wiki tu peux ensuite appeler cette URL pour r�cup�rer le HTML; wikipedia a aussi une API JSON qui doit te permettre, je pense, de r�cup�rer le contenu : https://www.mediawiki.org/wiki/API:Main_page/fr

    Bon courage

Discussions similaires

  1. [PrestaShop] Pas d'affichage des images dans les cat�gories, pas de page CMS
    Par IED factory dans le forum EDI, CMS, Outils, Scripts et API
    R�ponses: 0
    Dernier message: 02/05/2015, 10h52
  2. R�ponses: 2
    Dernier message: 02/09/2013, 12h25
  3. [2.x] Afficher les cat�gories dans la liste des films
    Par Elwood J. Blues dans le forum Symfony
    R�ponses: 2
    Dernier message: 06/09/2011, 08h18
  4. Ordonner les cat�gories dans une PropertyGrid
    Par Papy214 dans le forum Windows Forms
    R�ponses: 2
    Dernier message: 27/02/2009, 10h27

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