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

Java Discussion :

Etude sur une collection de Folksonomies


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2014
    Messages : 8
    Par défaut Etude sur une collection de Folksonomies
    Bonjour à tous!!

    je me permet de faire appel a vous car voila 3 jours je butte sur un probléme qui m'empeche d'avancer :-(.
    je travail sur une collection de folksonomies (pour ceux d'entre vous qui ne savent pas ce que cela veux dire je laisse le soin à Marziah Karch de vous l'explique : http://google.about.com/bio/Marziah-Karch-20906.htm :-) )

    Je dois traiter une collection de folksonomies sur plus de 8go ,c'est un fichier texte, et donc j'ai préféré la splitter en 47 fichiers de 100 mo ..enfin la n'est pas le probléme.
    aprés avoir parser les fichiers en utilisant l'api regex de java j'obtiens des fichiers qui ressemble plutot à ça:
    Nom : Sans titre.jpg
Affichages : 91
Taille : 24,2 Ko
    chaque colonne représente respectivement: les utilisateur , les ressources , les tags.

    Mon probléme est le suivant:

    il me faut pondérer les tags en ayant la structure suivante:
    user=(tag1:vix1 , tag2 vix2.....)

    En sachant que :
    vix=N(i,x)/Ni

    N(i,x) nombre de fois que l'utilisateur i use du tag x pour annoter des ressources.
    Ni nombre de ressource taggués par i.

    exemple:

    187=(newyears2004:1.01,roma:2.012....)

    Quelqu'un pourrais m'aider je suis au bord du gouffre la !!??

  2. #2
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 209
    Billets dans le blog
    52
    Par défaut
    Personnellement,

    Je travaillerai cela sur une base de donnée.

    Car si on suppose la table :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    create table tag (
    `user` int(30) NOT NULL,
    `ressource` int(30) NOT NULL,
    `tag` varchar(256) NOT NULL,
    )
    Ton Ni correspond pour l'utilisateur i à la requête suivante :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
     select count(*) from tag where user = %i%;
    Et N(i,x) correspond pour l'utilisateur i à la requête suivante :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
     select count(*) from tag where user = %i% and ressource = %x%;

    Et la liste des ressources taguées pour l'utilisateur i correspond à la requête suivante :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    select DISTINCT ressource from tag where user = %i%

    Sinon ton exemple est par définition faux.
    Car N(i,x) est forcément inférieur à Ni car un sous ensemble de Ni. Donc inférieur à 1

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2014
    Messages : 8
    Par défaut
    Merci pour ta suggestion patrick , j'ai deja esseyé avec access , pour un traitement avec un LMD , cela ne marche pas trop vu l'immension collection, et le fait que j'ai plusieurs objects a manipuler.

    1)Au faite quand tu dis de "travaille ça avec une base de données " est ce que tu insinue qu'il faudrais entrés d'abord la collection sur la base puis ecrire un java code qui effectue le traitement ou alors travailler directement dessus??
    2) Je précise par ailleurs, que N(i,x) est le nombre de fois que l'utilisateur i use du tag x pour annoter des ressources (quelque soit la ressource), et que Ni est le nombre de ressources tagués par i .

    Merci aussi pour ta correction cela est vrai , l'exemple a été mal illustré.

    Mais pourrais tu m'en dire un peu plus sur le point 1.??

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2014
    Messages : 8
    Par défaut
    De plus, dans le code sql: SELECT count(*) FROM tag WHERE user = %i%; le i reste à définir , alors que ce qui m'interesse corrspond plus a une généralisation c'est à dire que le programme en sortie retournerais:

    18=(etoile:0.18,play:0.14.....)
    19=(dors:0.189,twain:0.17.....)
    198=(base:0.11,marks:0.98.....)
    779=(ariel:0.19,rock:0.56.....)
    .
    .
    .
    .

  5. #5
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 209
    Billets dans le blog
    52
    Par défaut
    Dans les FAQ du site, tu trouvera une section expliquant comment réaliser une connexion avec une base de donnée.
    A partir de là tu n'aura plus qu'à boucler sur les résultats des requêtes pour obtenir le résultat voulu.
    Par exemple un foreach sur les utilisateurs ?

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  6. #6
    Membre Expert
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Par défaut
    Citation Envoyé par ralfcmoi Voir le message
    Merci pour ta suggestion patrick , j'ai deja esseyé avec access , pour un traitement avec un LMD , cela ne marche pas trop vu l'immension collection, et le fait que j'ai plusieurs objects a manipuler.
    Euh au contraire, s'il y a beaucoup de données, c'est bien plus adapté d'utiliser une base de données qu'un fichier texte ou bien que de tout mettre en mémoire. Ca évite de réinventer la roue et ce sera beaucoup plus rapide.
    Vu le type de travail, je pencherais pour une base type sqlite ou bien h2 (ma préférée). Tu trouveras facilement des tutos pour trouver comment la peupler et comment extraire tes infos.

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2014
    Messages : 8
    Par défaut
    Merci!!!! je m'y met de suite je vous tiens au courant!!!

  8. #8
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2014
    Messages : 8
    Par défaut
    Au faite j'ai réussi la connexion la base de données et tout mais pour la sélection afin d'obtenir les résultats , exemple : le nombre de fois qu'un utilisateur distinct i utilise le tag x pour annoter des ressources, je ne trouve pas de solution pour boucler sur l'ensemble de tout les utilisateurs avec une requete sql, de plus pas trop de doc concernant la manipulation de collection dans une base de données, quelqu'un aurait une idée sur le code adéquat? Merci

Discussions similaires

  1. tri alphabétique sur une collection
    Par samtheh dans le forum VBA Access
    Réponses: 6
    Dernier message: 18/06/2007, 14h50
  2. Probleme de scope sur une collection
    Par ataya dans le forum Struts 1
    Réponses: 10
    Dernier message: 23/02/2007, 19h19
  3. VBNET : Agir sur une collection de contrôles ?
    Par VinZent dans le forum Windows Forms
    Réponses: 3
    Dernier message: 12/11/2006, 09h01
  4. Réponses: 1
    Dernier message: 25/10/2006, 13h41
  5. [Struts] <logic:iterate> sur une collection d objets c
    Par trax020 dans le forum Struts 1
    Réponses: 2
    Dernier message: 12/05/2005, 00h11

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