Précédent   Forum du club des développeurs et IT Pro > Webmasters - Développement Web > Web sémantique > SPARQL
SPARQL Forum d'entraide sur SPARQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 30/12/2011, 10h16   #1
jamboo
Nouveau Membre du Club
 
Homme
Développeur informatique
Inscription : novembre 2009
Messages : 43
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : novembre 2009
Messages : 43
Points : 37
Points : 37
Par défaut Exécution d'une simple requête

Bonjour,

J'ai créé une ontologie sur un domaine de sport. J'ai un soucis sur Sparql, j'arrive pas comprends comment il fonctionne (tous qui est prefixe, vcard ..)

J'ai créé mon ontologie sous Protégé 3.2 dont l'entête est:

Code xml :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<rdf:RDF
    xmlns="http://www.owl-ontologies.com/OntologySportive.owl#"
    xmlns: rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns: p2="http://www.w3.org/2001/vcard-rdf/3.0#"
    xmlns: assert="http://www.owl-ontologies.com/assert.owl#"
    xmlns: owl="http://www.w3.org/2002/07/owl#"
    xmlns: xsd="http://www.w3.org/2001/XMLSchema#"
    xmlns: rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns: p1="http://www.w3.org/2001/XMLSchema/"
    xml:base="http://www.owl-ontologies.com/OntologySportive.owl">
  <owl:Ontology rdf:about=""/>
 
  <owl:Class rdf:ID="Personne">
    <owl:disjointWith>
      <owl:Class rdf:ID="Sport"/>
    </owl:disjointWith>
    <owl:disjointWith>
      <owl:Class rdf:ID="Association"/>
      <!-- ... -->


Comment je fais pour écrire une simple requête donc par exemple pour extraire toutes les personnes?
jamboo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2011, 11h16   #2
dourouc05
Responsable Qt & Web sémantique

 
Avatar de dourouc05
 
Homme Thibaut Cuvelier
Étudiant
Inscription : août 2008
Messages : 18 577
Détails du profil
Informations personnelles :
Nom : Homme Thibaut Cuvelier
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : août 2008
Messages : 18 577
Points : 74 137
Points : 74 137
Envoyer un message via MSN à dourouc05 Envoyer un message via Yahoo à dourouc05


Citation:
Envoyé par jamboo Voir le message
Comment je fais pour écrire une simple requête donc par exemple pour extraire toutes les personnes?
En apprenant SPARQL ? http://web-semantique.developpez.com...uction-sparql/. Comme ça, à part te donner la solution toute faite, ce qui ne te servira qu'à résoudre ton problème à extrêmement court terme, je ne vois pas ce qu'on peut te dire d'autre. Que ne comprends-tu pas dans SPARQL ?
__________________
Vous souhaitez participer aux rubriques Qt ou PyQt/PySide (tutoriels, FAQ, traductions, sources) ? Contactez-moi par MP.

Pas de question d'ordre technique par MP !
dourouc05 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2011, 11h53   #3
jamboo
Nouveau Membre du Club
 
Homme
Développeur informatique
Inscription : novembre 2009
Messages : 43
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : novembre 2009
Messages : 43
Points : 37
Points : 37
J'ai bien lu plus que ca. L'origine de ce tutorial se trouve ici :
http://jena.sourceforge.net/ARQ/Tutorial/data.html

J'ai des cours de web sémantique et même notre prof a pompé exactement même chose que ce dernier, Étant débutant je comprends pas grandes chose de ce Mr. Smith.

J'en ai trouvé un sur lequel on voit le logiciel Protégé avec démonstration du résultat d'une requête:

http://protege.stanford.edu/doc/sparql/

qui lui même se référence à un livre d' O'Reilly

http://www.xml.com/pub/a/2005/11/16/...al.html?page=1


Avec ca j'ai pu exécuter une requête simple:

→ Toutes les personnes qui ont un nom


PREFIX espace: <http://www.owl-ontologies.com/OntologySportive.owl#>
Code :
1
2
3
4
5
SELECT *
WHERE 
{ 
    ?elem espace : Nom ?tout .
}
Ici le nom est un datatype, ce que j'aimerais faire c'est :

→ Toutes les personnes.

PREFIX espace: <http://www.owl-ontologies.com/OntologySportive.owl#>
Code :
1
2
3
4
5
SELECT *
WHERE 
{ 
    ?elem espace : Personne ?tout .
}
ceci ne marche pas, car Personne est une classe, je sais pas pk, je cherche ::
jamboo est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 30/12/2011, 14h29   #4
jamboo
Nouveau Membre du Club
 
Homme
Développeur informatique
Inscription : novembre 2009
Messages : 43
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : novembre 2009
Messages : 43
Points : 37
Points : 37
Personne
SportifAmateur
SportifProfessionnel
nbHeureEntrainement

Les requêtes que je veux écrire par exemple:

- Toutes les personnes
- Tous les sportifs professionnel
- Tous les sportifs professionnel qui s'entraine >10h par semaine


Je sais pas comment ca marche :/
jamboo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/12/2011, 13h46   #5
Tommy31
Membre Expert
 
Homme Chris Camel
Architecte de système d'information
Inscription : novembre 2006
Messages : 1 242
Détails du profil
Informations personnelles :
Nom : Homme Chris Camel
Âge : 37
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Architecte de système d'information
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : novembre 2006
Messages : 1 242
Points : 1 892
Points : 1 892
Citation:
Envoyé par jamboo Voir le message
→ Toutes les personnes.

PREFIX espace: <http://www.owl-ontologies.com/OntologySportive.owl#>
Code :
1
2
3
4
5
SELECT *
WHERE 
{ 
    ?elem espace : Personne ?tout .
}
ceci ne marche pas, car Personne est une classe, je sais pas pk, je cherche ::
Ce que tu cherches, c'est tous les :
?elem qui ont pour type des espaceersonne

Tu reconnaît là le triplet sparql, sachant que la propriété type se traduit par rdf:type.
Tommy31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2012, 18h43   #6
jamboo
Nouveau Membre du Club
 
Homme
Développeur informatique
Inscription : novembre 2009
Messages : 43
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : novembre 2009
Messages : 43
Points : 37
Points : 37
Citation:
Envoyé par Tommy31 Voir le message
Ce que tu cherches, c'est tous les :
?elem qui ont pour type des espaceersonne

Tu reconnaît là le triplet sparql, sachant que la propriété type se traduit par rdf:type.
Voila c'est ca enfait, il faillait bien définir le type qu'on cherche avec rdf. J'ai une requête pour ceux qui s'intéresserait:

-> Tous les sportif professionnel qui pratique le Judo?

Code sparql :
1
2
3
4
5
6
7
SELECT ?nom ?prenom
WHERE {
   ?sportif a :SportifProfessionnel.
   ?sportif :Nom ?nom .
   ?sportif :pratique ?sport .
   ?sport :Nom "Judo"
  }


donc ici avec "?sportif a :SportifProfessionnel" pour dire que le type qu'on cherche c'est SportifProfessionnel. "a" = rdf:type.

Plus ou moins

PS:
Un grand remerciement pour metafire18
jamboo est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 05/01/2012, 20h42   #7
jamboo
Nouveau Membre du Club
 
Homme
Développeur informatique
Inscription : novembre 2009
Messages : 43
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : novembre 2009
Messages : 43
Points : 37
Points : 37
Un lien qui peut être utile

http://answers.semanticweb.com/quest...ology-instance
jamboo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2012, 15h05   #8
lilyou
Nouveau Membre du Club
 
Femme lylia
Inscription : mars 2012
Messages : 43
Détails du profil
Informations personnelles :
Nom : Femme lylia
Localisation : France

Informations forums :
Inscription : mars 2012
Messages : 43
Points : 25
Points : 25
Par défaut extraire les noms avec sparql

SVP j'ai utilisé cette requête pour extraire les noms des chercheurs sachant que j'ai ajouté les individus sur mon ontologie voila mon code:
Code :
1
2
3
4
5
String queryString =   "PREFIX espace :<http://www.semanticweb.org/ontologies/2012/3/untitled-ontology-59> "+      //myOntologyPrefix +rdfPrefix +
                    "SELECT ?Nom " +
                        "FROM <http://www.semanticweb.org/ontologies/2012/3/untitled-ontology-59#Chercheur>"  +
               "WHERE {" + "?Nom  espace:Chercheur ?Nom. "+
                                 "}";
sachant j’utilise API JENA merci
lilyou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2012, 00h01   #9
Tommy31
Membre Expert
 
Homme Chris Camel
Architecte de système d'information
Inscription : novembre 2006
Messages : 1 242
Détails du profil
Informations personnelles :
Nom : Homme Chris Camel
Âge : 37
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Architecte de système d'information
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : novembre 2006
Messages : 1 242
Points : 1 892
Points : 1 892
Mmm, "?Nom espace:Chercheur ?Nom" me parraît bien suspect.

Que cherches-tu a extraire ?
Tommy31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2012, 18h41   #10
lilyou
Nouveau Membre du Club
 
Femme lylia
Inscription : mars 2012
Messages : 43
Détails du profil
Informations personnelles :
Nom : Femme lylia
Localisation : France

Informations forums :
Inscription : mars 2012
Messages : 43
Points : 25
Points : 25
Merci c'est bon, j'ai pu régler mon problème
lilyou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2012, 14h58   #11
may.sou
Membre du Club
 
Femme
Étudiant
Inscription : janvier 2012
Messages : 61
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : Tunisie

Informations professionnelles :
Activité : Étudiant
Secteur : Transports

Informations forums :
Inscription : janvier 2012
Messages : 61
Points : 47
Points : 47
comment tu as réglé ça est ce que tu peux nous donner la solution?
merci
may.sou est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 22h11.


 
 
 
 
Partenaires

Hébergement Web