query-4c40e54fda770f4f89262e8f5982086b
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
- https://query.wikidata.org/sparql
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