Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 8 sur 8
  1. #1
    Invité de passage
    Inscrit en
    avril 2012
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : avril 2012
    Messages : 39
    Points : 2
    Points
    2

    Par défaut Affichage des concepts sans URI

    Bonsoir,
    lors de l'affichage de mes données ils s'affichent avec leurs uri par exemple:
    <http://lacot.org/public/owl/famille#Femme>
    est ce qu'on peut pas seulement afficher le mot Femme sans http://lacot.org/public/owl/famille ?
    Merci d'avance

  2. #2
    Membre confirmé Avatar de April Fool
    Homme Profil pro Information Inexacte
    Fou d'avril
    Inscrit en
    février 2012
    Messages
    99
    Détails du profil
    Informations personnelles :
    Nom : Homme Information Inexacte
    Localisation : France

    Informations professionnelles :
    Activité : Fou d'avril

    Informations forums :
    Inscription : février 2012
    Messages : 99
    Points : 214
    Points
    214

    Par défaut

    En java :
    Code :
    System.out.println("Femme");
    Voilà, ça affichera Femme sans afficher le reste de l'URI.
    7susd bl'ham owsql wuul pô!

  3. #3
    Invité de passage
    Inscrit en
    avril 2012
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : avril 2012
    Messages : 39
    Points : 2
    Points
    2

    Par défaut

    ce n'est plus simple que ça en fait, c'est pas ça ce que je veux, tu n'as pas compris mon problème
    lors de l'affichage de mes données(extraction de mes données) à partir d'une requete select en utilisant "Sparql" ils s'affichent avec leurs uri par exemple:
    <http://lacot.org/public/owl/famille#Femme>
    est ce qu'on peut pas seulement afficher la donnée c'est à dire le mot Femme sans http://lacot.org/public/owl/famille ?

  4. #4
    Membre chevronné
    Avatar de Sapience
    Homme Profil pro Thomas Francart
    Consultant sémantique & data à sparna.fr
    Inscrit en
    avril 2005
    Messages
    231
    Détails du profil
    Informations personnelles :
    Nom : Homme Thomas Francart
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : avril 2005
    Messages : 231
    Points : 772
    Points
    772

    Par défaut

    Pour cela il faut manipuler les namespaces. Je ne sais pas s'il existe des fonctions comme ca dans Jena, mais sinon c'est du java basique :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    java.net.URI anURI = new URI("http://lacot.org/public/owl/famille#Femme");
            // si on connait la racine sous la forme d'une URI
            java.net.URI rootURI = new URI("http://lacot.org/public/owl/famille#");
            System.out.println(rootURI.relativize(anURI));
            // sinon, sans se compliquer la vie
            System.out.println(anURI.toString().substring(rootURI.toString().length()));
     
            // si on ne connait pas la racine, on peut tenter ca
            if(anURI.toString().lastIndexOf("#") > -1) {
                // si c'est une URI avec un #
                System.out.println(anURI.toString().substring(anURI.toString().lastIndexOf("#")));
            } else {
                // sinon on prend tout ce qui est après le dernier /
                System.out.println(anURI.toString().substring(anURI.toString().lastIndexOf("/")));
            }

  5. #5
    Rédacteur/Modérateur
    Avatar de Metafire18
    Homme Profil pro Yoan Chabot
    Doctorant UCD Dublin/Le2i Dijon
    Inscrit en
    décembre 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Nom : Homme Yoan Chabot
    Âge : 26
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Doctorant UCD Dublin/Le2i Dijon
    Secteur : Enseignement

    Informations forums :
    Inscription : décembre 2007
    Messages : 758
    Points : 1 799
    Points
    1 799

    Par défaut

    Bonjour,

    Quel API utilisez-vous pour manipuler votre ontologie?

    Si vous utilisez Jena, la fonction getLocalName() peut être utilisée.
    Pas de grandeur pour qui veut grandir. Pas de modèle pour qui cherche ce qu'il n'a jamais vu.

  6. #6
    Membre confirmé Avatar de April Fool
    Homme Profil pro Information Inexacte
    Fou d'avril
    Inscrit en
    février 2012
    Messages
    99
    Détails du profil
    Informations personnelles :
    Nom : Homme Information Inexacte
    Localisation : France

    Informations professionnelles :
    Activité : Fou d'avril

    Informations forums :
    Inscription : février 2012
    Messages : 99
    Points : 214
    Points
    214

    Par défaut

    La bonne réponse est probablement celle de Metafire18, mais comme on n'a aucun détail dans la question, c'est pas évident. Ma première réponse était volontairement sarcastique parce que ta question ne disait quasiment rien. On ne sait pas dans quel langage tu programmes, ni même si tu programmes car tu pourrais utiliser une interface type Snorq pour envoyer des requêtes SPARQL et tu voudrais peut-être que ces requêtes contiennent directement le nom local. On ne sait pas si tu veux résoudre le problème spécifiquement pour ce namespace ou pour n'importe quel namespace, on ne sait pas si il faut le résoudre pour le cas où le namespace finit par un '/' ou bien seulement pour les URIs avec un '#'. On ne sait pas ce que tu entends par "afficher" : afficher sur la console ou bien dans une interface graphique ? Et d'abord, est-ce que c'est vraiment un problème d'affichage ? Il me semble que tu veux simplement récupérer le nom local, comme indique Metafire18.

    Bref, en tout cas, au cas où, voici une requête SPARQL 1.1 qui renvoie le local name pour des URI de type '#' :
    Code :
    1
    2
    3
    4
    5
    SELECT ?localName WHERE {
        <x> <y> ?uri   # <-- peu importe la requête, pourvu qu'elle cherche un URI
        BIND (STRAFTER(STR(?uri),"#") AS ?localName)
        FILTER (isIRI(?uri))
    }
    Pour les URI de type '/', c'est compliqué car le '/' peut être présent à plusieurs endroits de l'URI. À vrai dire, je ne sais pas comment faire dans ce cas.
    7susd bl'ham owsql wuul pô!

  7. #7
    Invité de passage
    Inscrit en
    avril 2012
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : avril 2012
    Messages : 39
    Points : 2
    Points
    2

    Par défaut

    tout d'abord,
    merci pour vos réactivité,
    j'ai essayé tous vos réponses mais j'ai pas réussi malheureusement à afficher mes données sans leur URI.
    je me demande comment je peux utiliser la méthode getLocalName() dans une requête sparql puisque cette méthode n'est pas définie dans ResultSet
    Merci

  8. #8
    Invité de passage
    Inscrit en
    avril 2012
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : avril 2012
    Messages : 39
    Points : 2
    Points
    2

    Par défaut

    enfin, j'ai résolu mon problème grâce a ce lien
    http://stackoverflow.com/questions/1...02167#12802167
    Bon travail à tous

+ 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
  •