query-4c40e54fda770f4f89262e8f5982086b

rq turtle/ttl

ORDER e LIMITRitorniamo al nostro normale programma e vediamo altre funzioni SPARQL. in qualche modo, e quindi ci interessano i primi risultati (quelli con la classificazione migliore). classificatiFinora, abbiamo avuto solo domande in cui eravamo interessati a tutti i risultati. Ma è abbastanza comune preoccuparsi solo di alcuni risultati: quelli che sono in qualche modo estremi – popolazione più vecchia o più giovane, i più recenti, le ultime, più alta, col punto di fusione più basso, la maggior parte dei figli, la maggior parte dei materiali utilizzati e così via. Il fattore comune qui è che i risultati sono . LIMIT e ORDER BY (dopo le parentesi, non dentro!): WHERE {}Questo è controllato da due clausole, che vengono aggiunte al blocco .) qualcosa equivale a scrivere solo ASC(qualcosa) sta per discendente). (Se non specificato, l'ordinamento predefinito è ascendente, quindi DESC sta per ascendente, ASC per specificarne l'ordinamento (DESC() o in ASC()), ma ne vedremo altre più tardi. Questa espressione può anche essere racchiusa in ?qualcosa può essere qualsiasi espressione – per ora, l'unico tipo di espressione che conosciamo sono variabili semplici (qualcosa. qualcosa ordina i risultati per ORDER BY qualcosa restituisce solo un singolo risultato. LIMIT 1 limita la query a dieci risultati. LIMIT 10 è un numero naturale. Per esempio, numero risultati, dove numero limita la lista dei risultati a LIMIT numero può velocizzare significativamente la query, dal momento che WDQS può smettere di cercare risultati non appena raggiunge il limite.) LIMIT risultati, ma non importa quali. In entrambi i casi, aggiungere alcuni. In questo caso, i risultati non sono ordinati, quindi non hai alcuna garanzia sui risultati che otterrai. Questo va bene se ti basta sapere che c'è solo un certo numero di risultati, o sei solo interessato ad ORDER BY senza LIMIT(Puoi anche usare . LIMIT e ORDER BY.) Puoi iniziare cercando gli stati con la loro popolazione, e poi aggiungere le clausole P:P1082, e la proprietà per la popolazione è (Q3624078)sovereign state Tempo di esercizio! Prova a scrivere una query che restituisca i dieci stati più popolati. (Uno stato è uno Ecco la mia soluzione:

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 ?stato ?statoLabel ?popolazione
WHERE
{
  ?stato wdt:P31/wdt:P279* wd:Q3624078;
           wdt:P1082 ?popolazione.
  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; v3("?popolazione"):::projected v1("?population") v2("?stato"):::projected a1((" ")) c3(["wd:Q3624078"]):::iri c6(["bd:serviceParam"]):::iri c8(["en"]):::literal v2 --"wdt:P31"--> a1 a1 --"wdt:P279"--> c3 v2 --"wdt:P1082"--> v3 subgraph s1["http://wikiba.se/ontology#label"] style s1 stroke-width:4px; c6 --"wikibase:language"--> c8 end