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 :

Utilité d'un graphe


Sujet :

Web sémantique

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 30
    Points : 23
    Points
    23
    Par défaut Utilité d'un graphe
    Bonjour

    Voila j'ai maintenant commencé le développement d'un projet en utilisant SPARQL mais j'ai une question qui m'est venu qu'a l'usage. Je me demande à quoi sert dans la requête le "GRAPH <URI>". Est ce que c'est l'équivalant des tables en SQL? Donc par exemple on pourrait avoir un graph pour les infos sur des membres, un autre pour des url d'images...

    Voila,
    Merci d'avance
    Cordialement

  2. #2
    Membre actif
    Avatar de April Fool
    Homme Profil pro
    Fou d'avril
    Inscrit en
    Février 2012
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Fou d'avril

    Informations forums :
    Inscription : Février 2012
    Messages : 99
    Points : 215
    Points
    215
    Par défaut
    Dans une base de données RDF implémentant le standard SPARQL, les triplets RDF sont partitionnés dans des "graphes nommés". Cela signifie qu'on attribut à un ensemble de triplets un URI pour identifier cet ensemble de triplets. Il est alors possible d'effectuer des requêtes ne portant que sur les triplets de certains "graphes nommés", grâce au mot clé `FROM`, mais il est également possible de faire des requêtes utilisant le "nom" des graphes eux-mêmes. Par exemple:
    Code sparql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT * FROM <http://example.com/graph1>
    WHERE { ?s  ?p  ?o }
    ne renvoie que les triplets du graphe nommé http://example.com/graph1. Autre exemple:
    Code sparql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT * WHERE {
       GRAPH ?g  { :x  a  rdfs:Class }
    }
    renvoie le nom des graphes dans lesquels :x est déclaré comme une classe. Puisque les "noms" de graphes sont des URI, on peut les réutiliser dans des triplets de la requête :
    Code sparql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT * WHERE {
       ?g  dc:creator  :me .
       GRAPH ?g  { :x  a  rdfs:Class }
    }
    Grâce à cela, on peut effectivement séparer les infos sur les membres, sur les images ou n'importe quoi d'autres.
    7susd bl'ham owsql wuul pô!

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 30
    Points : 23
    Points
    23
    Par défaut
    Ah génial!! Merci mille fois pour tes réponses toujours parfaitement détaillé et simple a comprendre
    Bon et bien maintenant y a plus qu'a comme on dit ^^

    Par contre j'ai une nouvelle question, comment faire une jointure entre 2 Graphs? Car je sais qu'on peut en faire entre triplet mais je n'ai pas vu comment faire pour les graphs

  4. #4
    Membre actif
    Avatar de April Fool
    Homme Profil pro
    Fou d'avril
    Inscrit en
    Février 2012
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Fou d'avril

    Informations forums :
    Inscription : Février 2012
    Messages : 99
    Points : 215
    Points
    215
    Par défaut
    On fait des jointures entre deux graphes de la même manière qu'entre des triplets du même graphe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT ?x ?c WHERE {
       ?g1  dc:creator  :me .
       ?g2  dc:creator  :you .
       GRAPH ?g1 { ?c  a  rdfs:Class }
       GRAPH ?g2 { ?x  a  ?c }
    }
    On retrouve les instances du graphe :you de classes déclarées dans le graph :me.
    7susd bl'ham owsql wuul pô!

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 30
    Points : 23
    Points
    23
    Par défaut
    Ah oui effectivement ce n'est pas très compliqué

    J'ai une dernière petite question (si ça ne te dérange pas ), enfaite j'ai fait des tests sur ma store et j'aimerais maintenant tout supprimer pour avoir un truc bien propre afin de commencer réellement à m'amuser avec sparql et de remplacer totalement sql

    J'ai essayé plusieurs truc mais rien ne fonctionne, en voici quelqu'un:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DELETE { ?object ?property ?value. }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DELETE DATA{ ?object ?property ?value. }
    Voila

    En tout cas merci une fois de plus pour ta réponse

  6. #6
    Membre actif
    Avatar de April Fool
    Homme Profil pro
    Fou d'avril
    Inscrit en
    Février 2012
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Fou d'avril

    Informations forums :
    Inscription : Février 2012
    Messages : 99
    Points : 215
    Points
    215
    Par défaut
    Essaie:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DELETE { ?s ?p ?o } WHERE { ?s ?p ?o }
    7susd bl'ham owsql wuul pô!

Discussions similaires

  1. Classe pour la création d'un graphe xy
    Par Bob dans le forum MFC
    Réponses: 24
    Dernier message: 03/12/2009, 17h20
  2. [Turbo Pascal] [Windows XP] Problème avec l'unité GRAPH
    Par themofleur dans le forum Turbo Pascal
    Réponses: 22
    Dernier message: 29/03/2003, 22h43
  3. Perl & Graphes
    Par makram9999 dans le forum Modules
    Réponses: 4
    Dernier message: 24/03/2003, 11h24
  4. [] [Excel] Exporter un graphe MSChart vers Excel
    Par Gonzo dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/12/2002, 17h49
  5. Concerne les graphes
    Par mcr dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 12/11/2002, 11h02

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