query-757c3bbb5ae27811ca4be25fa130fad8

rq turtle/ttl

ORDER et LIMITNous revenons sur notre visite régulière des caractéristiques supplémentaires de SPARQL. Jusqu'à maintenant, nous avons écrit des requêtes dont l'ensemble des résultats nous intéressait. Cependant il est fréquent de se soucier seulement de certains résultats : ceux qui sont extrêmes d'une manière ou d'une autre - la plus vieille, la plus jeune, la plus ancienne, la plus récente, la plus élevée parmi une population, la température de fusion la plus basse, le plus d'enfants, le matériel le plus souvent utilisé, etc. Le facteur commun ici est que les résultats sont "classés" d'une certaine manière, et qu'ensuite nous nous intéressons seulement aux premiers résultats (ceux avec le meilleur classement). . LIMIT et ORDER BY (après les accolades, et non à l'intérieur!): WHERE {}Ceci est contrôlé par deux clauses ajoutées au bloc .) quelqueChose est équivalent à ASC(quelqueChose)endant). (Si vous ne précisez aucun ordre, l'ordre par défaut est l'ordre ascendant, ainsi descendant ou asc pour préciser l'ordre de classement (DESC() soit ASC()), mais nous en verrons d'autres plus tard. Cette expression peut être caractérisée avec soit ?quelqueChose peut être n'importe quelle expression – pour l'instant, le seul type d'expression que nous connaissons sont les simples variables (quelqueChose. quelqueChosetrie les résultats selon ORDER BY quelqueChose ne revoie qu'un seul résultat. LIMIT 1 limite la requête à dix résultats. LIMIT 10 est un nombre entier naturel. Par exemple, compte résultats, où compte coupe la liste de résultats à LIMIT compte peut accélérer significativement le temps de traitement de la requête, puisque WDQS peut arrêter la recherche de résultats dès qu'il y en a assez pour la limite demandée.) LIMIT. Dans ce cas, les résultats ne sont pas triés, aussi vous n'avez aucune garantie sur les résultats que vous recevez. C'est bien s'il vous arrive de savoir qu'il n'y a qu'un certain nombre de résultats, ou bien que vous n'êtes intéressés que par "quelques" résultats, peu importe lesquels. Dans d'autres cas, ajouter ORDER BY sans LIMIT(Vous pouvez aussi utiliser . LIMIT et ORDER BY.) Vous pouvez commencer par chercher les nations avec leur population, puis ajouter les clauses P:P1082, et la propriété pour la population est (Q3624078)sovereign state C'est le temps des exercices ! Essayez d'écrire une requête qui renvoie les dix nations les plus peuplées. (Une nation est un Voici ma solution :

Use at

PREFIX wikibase: <http://wikiba.se/ontology#>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX bd: <http://www.bigdata.com/rdf#>
SELECT ?nation ?nationLabel ?population
WHERE
{
  ?nation wdt:P31/wdt:P279* wd:Q3624078;
           wdt:P1082 ?population.
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}
ORDER BY DESC(?population)
LIMIT 10

Query found at

graph TD classDef projected fill:lightgreen; classDef literal fill:orange; classDef iri fill:yellow; v2("?nation"):::projected v1("?population"):::projected a1((" ")) c3(["wd:Q3624078"]):::iri c6(["bd:serviceParam"]):::iri c8(["en"]):::literal v2 --"wdt:P31"--> a1 a1 --"wdt:P279"--> c3 v2 --"wdt:P1082"--> v1 subgraph s1["http://wikiba.se/ontology#label"] style s1 stroke-width:4px; c6 --"wikibase:language"--> c8 end