Oui d’ailleurs pour présenter SPARQL à des matheux, un problème de maths : résoudre le système d’équation { x-y+z=4 , x + y - z = 0 } avec x, y, z dans l’intervalle entier [1,5]. C’est enfantin :
select?x?y?z{values?x{12345}# les variables x y et Z ont pour domaine l’intervalle d’entier 1 à 5values?y{12345}values?z{12345}filter(?x-?y+?z=4).# contraintes sur les combinaisons possiblesfilter(?x+?y-?z=0).}
Sur le service de requête de Wikidata ça donne ça et ça résoud le problème.
Le « values » permet ici de donner les valeurs possibles pour les variables, les « filter » permettent d’exprimer les contraintes. Présenter ensuite les contraintes sur les triplets, (les « graph pattern » dans le jargon) comme des possibilité de donner des valeurs aux variables à partir des triplets du graphe comme tu le fait et on peut démarrer ...
Le reste c’est juste des agrégations comme en SQL, des unions / différences ou ce genre de chose, et des trucs spécifiques au graphe genre des chemins qui ne sont que des motifs de graphe un peu plus complexe, genre trouver les parents quand on a une propriété papa et une propriété maman avec un genre de regex qui représente un motif de chemin sur les arêtes du graphe
(en utilisant le préfixe « ex: » pour la coloration syntaxique)
?enfantex:papa|ex:maman?parents.# trouver les personnes du graphe avec leurs parentssparqloulesgrandsparents```sparql?enfant(ex:papa|ex:maman)/(ex:papa|ex:maman)?grandsparent.# les personnes du graphe avec leurs grands-parents
ou pour lister tous les ancêtres
?enfant(ex:papa|ex:maman)+?ancètre.
et des raccourcis d’écriture, genre au lieux d’écrire
ou pour trouver les personnes d’un pays européen en démocratie sparql
?personne ex:paysnationalité [ ex:continent ex:europe ; ex:régime ex:démocratie ] .
[^] # Re: Utilité ?
Posté par thoasm . En réponse au journal Le dictionnaire des francophones : un dictionnaire francophone structuré libre. Évalué à 6.
Oui d’ailleurs pour présenter SPARQL à des matheux, un problème de maths : résoudre le système d’équation { x-y+z=4 , x + y - z = 0 } avec x, y, z dans l’intervalle entier [1,5]. C’est enfantin :
Sur le service de requête de Wikidata ça donne ça et ça résoud le problème.
Le « values » permet ici de donner les valeurs possibles pour les variables, les « filter » permettent d’exprimer les contraintes. Présenter ensuite les contraintes sur les triplets, (les « graph pattern » dans le jargon) comme des possibilité de donner des valeurs aux variables à partir des triplets du graphe comme tu le fait et on peut démarrer ...
Le reste c’est juste des agrégations comme en SQL, des unions / différences ou ce genre de chose, et des trucs spécifiques au graphe genre des chemins qui ne sont que des motifs de graphe un peu plus complexe, genre trouver les parents quand on a une propriété papa et une propriété maman avec un genre de regex qui représente un motif de chemin sur les arêtes du graphe
(en utilisant le préfixe « ex: » pour la coloration syntaxique)
ou pour lister tous les ancêtres
et des raccourcis d’écriture, genre au lieux d’écrire
pour trouver les hommes de France on met
ou pour trouver les personnes d’un pays européen en démocratie
sparql
?personne ex:paysnationalité [ ex:continent ex:europe ; ex:régime ex:démocratie ] .
qui raccourcit quelque chose comme