今回のパンデミックによる感染者数は以下のクエリで得られます。
SPARQL sparql/earthAllCasesToday.rq (実行, 編集)
SELECT ?numberOfCases WHERE {
wd:Q81068910 wdt:P1603 ?numberOfCases .
SERVICE wikibase:label { bd:serviceParam wikibase:language "ja,en". }
} ORDER BY DESC(?numberOfCases)
結果は以下の通りです。
numberOfCases |
312173462 |
ヒトからヒトへの感染が非常に簡単に生じるので、このウイルスの大流行が起きます。個々人が他の人との間隔を開けることについて意識する必要があります。なぜなら、咳をするなどして生じる小さな飛沫にはウイルスが含まれているかもしれないからです[要引用]。
しかし、SARS-CoV-2はヒトから放出されたのちに、様々なものの表面などでしばらくの間生き続けることが判明しています[要引用]。次のクエリを発行して、平らな表面でヒトコロナウイルスが生存することについて調査している論文を取得します。
SPARQL sparql/surfacesCounts.rq (実行, 編集)
SELECT ?virus ?virusLabel ?count WITH {
SELECT ?virus (COUNT(DISTINCT ?work) AS ?count) WHERE {
VALUES ?virus {
wd:Q82069695 # SARS-CoV-2
wd:Q16983360 # HKU1
wd:Q16991954 # OC43
wd:Q8351095 # NL63
wd:Q16983356 # 229E
wd:Q4902157 # MERS-CoV
wd:Q278567 # SARS-CoV
}
?work wdt:P921 ?virus ;
wdt:P921 wd:Q484298 .
} GROUP BY ?virus
} AS %ARTICLES WHERE {
INCLUDE %ARTICLES
SERVICE wikibase:label { bd:serviceParam wikibase:language "ja,en". }
}
ORDER BY DESC(?count)
結果は以下の通りになります。
virus | count |
ヒトコロナウイルス229E (edit) | 4 |
SARSコロナウイルス2 (edit) | 3 |
ベータコロナウイルス1 (edit) | 2 |
MERSコロナウイルス (edit) | 1 |
物質表面上でのウイルス生存に関する論文を実際に取得するには以下のクエリを発行します。
SPARQL sparql/surfaces.rq (実行, 編集)
SELECT ?virus ?virusLabel ?work ?workLabel WITH {
SELECT ?virus ?work WHERE {
VALUES ?virus {
wd:Q82069695 # SARS-CoV-2
wd:Q16983360 # HKU1
wd:Q16991954 # OC43
wd:Q8351095 # NL63
wd:Q16983356 # 229E
wd:Q4902157 # MERS-CoV
wd:Q278567 # SARS-CoV
}
?work wdt:P921 ?virus ;
wdt:P921 wd:Q484298 .
}
} AS %ARTICLES WHERE {
INCLUDE %ARTICLES
SERVICE wikibase:label { bd:serviceParam wikibase:language "ja,en". }
}
ORDER BY ?virusLabel ?workLabel
これによりヒトコロナウイルスに関するこれらの論文が得られます。
一方で、時間の経過とともにどのように感染者数が変化するかについて興味があるかもしれません。その場合は、より複雑なクエリを用いて条件を絞る必要があります。
SPARQL sparql/earthAllCases.rq (実行, 編集)
SELECT ?date ?numberOfCases WHERE {
wd:Q81068910 p:P1603 ?numberOfCasesStat .
?numberOfCasesStat ps:P1603 ?numberOfCases ;
pq:P585 ?date .
SERVICE wikibase:label { bd:serviceParam wikibase:language "ja,en". }
} ORDER BY ASC(?date)
時間の経過とともに変化する感染者数の折れ線グラフを表示させたい場合は以下の通り少しクエリを変える必要があります。
SPARQL sparql/earthAllCasesLinePlot.rq (実行, 編集)
#defaultView:LineChart
SELECT ?date ?numberOfCases WHERE {
wd:Q81068910 p:P1603 ?numberOfCasesStat .
?numberOfCasesStat ps:P1603 ?numberOfCases ;
pq:P585 ?date .
SERVICE wikibase:label { bd:serviceParam wikibase:language "ja,en". }
} ORDER BY ASC(?date)
結果は以下の通りです。
Wikipediaと同様に、Wikidataにも特定地域におけるパンデミックに関する項目があります。以下のクエリでそれをリストアップできます。
SPARQL sparql/facets.rq (実行, 編集)
SELECT ?facet ?facetLabel WHERE {
?facet wdt:P1269 wd:Q81068910 .
SERVICE wikibase:label { bd:serviceParam wikibase:language "ja,en". }
}
このリストは非常に長いので、それを見るには上記のSPARQLのページを開きます。
これらのファセットは、オランダなど、一つの地域での推移を見るものです。
SPARQL sparql/progressionNL.rq (実行, 編集)
SELECT ?date ?numberOfCases WHERE {
wd:Q86756826 p:P1603 ?numberOfCasesStat .
?numberOfCasesStat ps:P1603 ?numberOfCases ;
pq:P585 ?date .
SERVICE wikibase:label { bd:serviceParam wikibase:language "ja,en". }
} ORDER BY DESC(?date)
パンデミックが続いており、表は長くなるので、折れ線グラフが有益でしょう。
SPARQL sparql/progressionNLlineplot.rq (実行, 編集)
#defaultView:LineChart
SELECT ?date ?numberOfCases WHERE {
wd:Q86756826 p:P1603 ?numberOfCasesStat .
?numberOfCasesStat ps:P1603 ?numberOfCases ;
pq:P585 ?date .
SERVICE wikibase:label { bd:serviceParam wikibase:language "ja,en". }
}
以下の結果が得られます。
もちろん、イタリアにおける状況は欧州人の脳裏に強烈に焼きつきます。WikidataのQ識別子をオランダからイタリアに変えてみます。
SPARQL sparql/progressionIT.rq (実行, 編集)
SELECT ?date ?numberOfCases WHERE {
wd:Q84104992 p:P1603 ?numberOfCasesStat .
?numberOfCasesStat ps:P1603 ?numberOfCases ;
pq:P585 ?date .
SERVICE wikibase:label { bd:serviceParam wikibase:language "ja,en". }
} ORDER BY DESC(?date)
現在、感染者数が最大のアメリカ合衆国です。
SPARQL sparql/progressionUS.rq (実行, 編集)
#defaultView:LineChart
SELECT ?date ?numberOfCases WHERE {
wd:Q83873577 p:P1603 ?numberOfCasesStat .
?numberOfCasesStat ps:P1603 ?numberOfCases ;
pq:P585 ?date .
SERVICE wikibase:label { bd:serviceParam wikibase:language "ja,en". }
} ORDER BY DESC(?date)
以下の結果が得られます。
SPARQL sparql/graphCases.rq (実行, 編集)
#defaultView:LineChart
SELECT
?date ?cases
?country ?countryLabel
WHERE {
?item wdt:P31 wd:Q3241045.
?item wdt:P17 ?country.
?item p:P1603 ?casesStatement.
?casesStatement ps:P1603 ?cases.
FILTER(?cases > 0)
?casesStatement pq:P585 ?date .
{ ?item wdt:P1269 wd:Q81068910. } UNION
{ ?item wdt:P361 wd:Q83741704. }
SERVICE wikibase:label { bd:serviceParam wikibase:language "ja,en". }
} ORDER BY ASC(?countryLabel) DESC(?date) DESC(?cases)
結果は以下の通りになります。
SPARQL sparql/graphDeaths.rq (実行, 編集)
#defaultView:LineChart
SELECT
?date ?deaths
?country ?countryLabel
WHERE {
?item wdt:P31 wd:Q3241045.
?item wdt:P17 ?country.
?item p:P1120 ?deathsStatement.
?deathsStatement ps:P1120 ?deaths.
FILTER(?deaths > 0)
?deathsStatement pq:P585 ?date .
{ ?item wdt:P1269 wd:Q81068910. } UNION
{ ?item wdt:P361 wd:Q83741704. }
SERVICE wikibase:label { bd:serviceParam wikibase:language "ja,en". }
} ORDER BY ASC(?countryLabel) DESC(?date) DESC(?deaths)