query-553bc2caf51c5cac69f81b8ead9b5c87
Airports (again #2)Hello dude, thank you again for your help on the queries. Here's another request if you could help? The need would simply to know the ranks of airport for, say, 2020.
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 ps: <http://www.wikidata.org/prop/statement/>
PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX pr: <http://www.wikidata.org/prop/reference/>
PREFIX pqv: <http://www.wikidata.org/prop/qualifier/value/>
PREFIX pq: <http://www.wikidata.org/prop/qualifier/>
PREFIX p: <http://www.wikidata.org/prop/>
PREFIX bd: <http://www.bigdata.com/rdf#>
SELECT ?year ?item ?itemLabel (MAX(?number) AS ?passengers)
(SAMPLE(COALESCE(?reference_URL, ?monthly_reference_URL2)) AS ?sample_reference_URL)
WHERE
{
{
# Get the sum of monthly values within a year
SELECT ?item ?year (SUM(?max_numberperperiod) AS ?number) (SAMPLE(?monthly_reference_URL) AS ?monthly_reference_URL2)
WHERE
{
# Get the maximal value and a sample reference URL for each unique month
{
SELECT ?item ?year (MAX(?numberperperiod) AS ?max_numberperperiod) (SAMPLE(?reference_URL) AS ?monthly_reference_URL)
WHERE
{
{
SELECT ?item ?statement ?date ?year ?timevalue ?numberperperiod ?reference_URL
WHERE
{
?item (wdt:P31/wdt:P279*) wd:Q62447.
?item p:P3872 ?statement.
?statement pqv:P585 ?timevalue;
ps:P3872 ?numberperperiod.
?timevalue wikibase:timeValue ?date.
OPTIONAL { ?statement pq:P518 ?applies. }
OPTIONAL { ?statement prov:wasDerivedFrom / (pr:P854|pr:P4656) ?reference_URL. }
FILTER (BOUND(?applies)=false || ?applies = wd:Q2165236 )
MINUS { ?statement wikibase:rank wikibase:DeprecatedRank }
BIND (YEAR(?date) AS ?year)
FILTER (?year=2020).
}
} ?timevalue wikibase:timePrecision ?prec.
FILTER (?prec > 9)# precision more precise or equal to month
}
GROUP BY ?item ?year ?date
}
}
GROUP BY ?item ?year
}
UNION
{
?timevalue wikibase:timePrecision 9 .
BIND (?numberperperiod AS ?number)
BIND (?reference_URL AS ?sample_reference_URL)
{
SELECT ?item ?statement ?date ?year ?timevalue ?numberperperiod ?reference_URL
WHERE
{
?item (wdt:P31/wdt:P279*) wd:Q62447.
?item p:P3872 ?statement.
?statement pqv:P585 ?timevalue;
ps:P3872 ?numberperperiod.
?timevalue wikibase:timeValue ?date.
OPTIONAL { ?statement pq:P518 ?applies. }
OPTIONAL { ?statement prov:wasDerivedFrom / (pr:P854|pr:P4656) ?reference_URL. }
FILTER (BOUND(?applies)=false || ?applies = wd:Q2165236 )
MINUS { ?statement wikibase:rank wikibase:DeprecatedRank }
BIND (YEAR(?date) AS ?year)
FILTER (?year=2020).
}
} }
SERVICE wikibase:label { bd:serviceParam wikibase:language "fr". }
}
GROUP BY ?item ?itemLabel ?year
ORDER BY desc(?passengers)
LIMIT 50
Query found at
graph TD
classDef projected fill:lightgreen;
classDef literal fill:orange;
classDef iri fill:yellow;
v4("?applies")
v9("?date")
v5("?item"):::projected
v11("?max_numberperperiod")
v12("?monthly_reference_URL")
v14("?monthly_reference_URL2"):::projected
v15("?number"):::projected
v8("?numberperperiod")
v16("?passengers")
v2("?prec")
v10("?reference_URL"):::projected
v16("?sample_reference_URL")
v6("?statement")
v7("?timevalue")
v16("?year"):::projected
a1((" "))
a2((" "))
a3((" "))
a4((" "))
c17(["wikibase:DeprecatedRank"]):::iri
c22(["fr"]):::literal
c7(["wd:Q62447"]):::iri
c20(["bd:serviceParam"]):::iri
c1(["9^^xsd:integer"]):::literal
subgraph union0[" Union "]
subgraph union0l[" "]
style union0l fill:#abf,stroke-dasharray: 3 3;
v7 --"wikibase:timePrecision"--> c1
bind0[/"?numberperperiod"/]
v8 --o bind0
bind0 --as--o v15
bind1[/"?reference_URL"/]
v10 --o bind1
bind1 --as--o v16
f2[["?year = '2020^^xsd:integer'"]]
f2 --> v16
f3[["(bound(?applies) = 'false^^xsd:boolean' || ?applies = 'wd:Q2165236')"]]
f3 --> v4
v5 --"p:direct/P31"--> a3
a3 --"p:direct/P279"--> c7
v5 --"p:P3872"--> v6
v6 --"p:qualifier/value/P585"--> v7
v6 --"p:statement/P3872"--> v8
v7 --"wikibase:timeValue"--> v9
subgraph optional0["(optional)"]
style optional0 fill:#bbf,stroke-dasharray: 5 5;
v6 -."p:qualifier/P518".-> v4
end
subgraph optional1["(optional)"]
style optional1 fill:#bbf,stroke-dasharray: 5 5;
v6 -."prov:wasDerivedFrom".-> a4
subgraph union1[" Union "]
subgraph union1l[" "]
style union1l fill:#abf,stroke-dasharray: 3 3;
a4 --"p:reference/P4656"--> v10
end
subgraph union1r[" "]
style union1r fill:#abf,stroke-dasharray: 3 3;
a4 --"p:reference/P854"--> v10
end
union1r <== or ==> union1l
end
end
subgraph minus4["MINUS"]
style minus4 stroke-width:6px,fill:pink,stroke:red;
v6 --"wikibase:rank"--> c17
end
bind5[/"year-from-dateTime(?date)"/]
v9 --o bind5
bind5 --as--o v16
end
subgraph union0r[" "]
style union0r fill:#abf,stroke-dasharray: 3 3;
f6[["?prec > '9^^xsd:integer'"]]
f6 --> v2
f7[["?year = '2020^^xsd:integer'"]]
f7 --> v16
f8[["(bound(?applies) = 'false^^xsd:boolean' || ?applies = 'wd:Q2165236')"]]
f8 --> v4
v5 --"p:direct/P31"--> a1
a1 --"p:direct/P279"--> c7
v5 --"p:P3872"--> v6
v6 --"p:qualifier/value/P585"--> v7
v6 --"p:statement/P3872"--> v8
v7 --"wikibase:timeValue"--> v9
subgraph optional2["(optional)"]
style optional2 fill:#bbf,stroke-dasharray: 5 5;
v6 -."p:qualifier/P518".-> v4
end
subgraph optional3["(optional)"]
style optional3 fill:#bbf,stroke-dasharray: 5 5;
v6 -."prov:wasDerivedFrom".-> a2
subgraph union2[" Union "]
subgraph union2l[" "]
style union2l fill:#abf,stroke-dasharray: 3 3;
a2 --"p:reference/P4656"--> v10
end
subgraph union2r[" "]
style union2r fill:#abf,stroke-dasharray: 3 3;
a2 --"p:reference/P854"--> v10
end
union2r <== or ==> union2l
end
end
subgraph minus9["MINUS"]
style minus9 stroke-width:6px,fill:pink,stroke:red;
v6 --"wikibase:rank"--> c17
end
bind10[/"year-from-dateTime(?date)"/]
v9 --o bind10
bind10 --as--o v16
v7 --"wikibase:timePrecision"--> v2
bind13[/"max(?numberperperiod)"/]
v8 --o bind13
bind13 --as--o v11
bind14[/"sample(?reference_URL)"/]
v10 --o bind14
bind14 --as--o v12
bind17[/"sum(?max_numberperperiod)"/]
v11 --o bind17
bind17 --as--o v15
bind18[/"sample(?monthly_reference_URL)"/]
v12 --o bind18
bind18 --as--o v14
end
union0r <== or ==> union0l
end
subgraph s1["http://wikiba.se/ontology#label"]
style s1 stroke-width:4px;
c20 --"wikibase:language"--> c22
end
bind21[/"max(?number)"/]
v15 --o bind21
bind21 --as--o v16
bind22[/"sample(?reference_URL?monthly_reference_URL2)"/]
v10 --o bind22
v14 --o bind22
bind22 --as--o v16