Wikidata:WikiProject Source MetaData/Literature surveys

From Wikidata
Jump to navigation Jump to search

About[edit]

This page collates information related to literature review (Q2412849) View with Reasonator View with SQID, known in English as literature surveys or literature reviews. There is also systematic review (Q1504425) View with Reasonator View with SQID.

Basic issues[edit]

It is not clear how best to model literature surveys in Wikidata terms. The available options include:

Queries[edit]

Works with variations of "literature survey" in the title[edit]

SELECT DISTINCT ?item #?title
WHERE {
  hint:Query hint:optimizer "None".
{  SERVICE wikibase:mwapi {
    bd:serviceParam wikibase:api "Search";
                    wikibase:endpoint "www.wikidata.org";
                    mwapi:srsearch "\"literature survey\" haswbstatement:P31=Q13442814".
    ?page_title wikibase:apiOutput mwapi:title.
  }
  }
  UNION
{  SERVICE wikibase:mwapi {
    bd:serviceParam wikibase:api "Search";
                    wikibase:endpoint "www.wikidata.org";
                    mwapi:srsearch "\"literature surveys\" haswbstatement:P31=Q13442814".
    ?page_title wikibase:apiOutput mwapi:title.
  }
  }
UNION  
{  SERVICE wikibase:mwapi {
    bd:serviceParam wikibase:api "Search";
                    wikibase:endpoint "www.wikidata.org";
                    mwapi:srsearch "\"survey of the literature\" haswbstatement:P31=Q13442814".
    ?page_title wikibase:apiOutput mwapi:title.
  }
  }
UNION  
{  SERVICE wikibase:mwapi {
    bd:serviceParam wikibase:api "Search";
                    wikibase:endpoint "www.wikidata.org";
                    mwapi:srsearch "\"surveying the literature\" haswbstatement:P31=Q13442814".
    ?page_title wikibase:apiOutput mwapi:title.
  }
  }
UNION  
{  SERVICE wikibase:mwapi {
    bd:serviceParam wikibase:api "Search";
                    wikibase:endpoint "www.wikidata.org";
                    mwapi:srsearch "\"surveyed the literature\" haswbstatement:P31=Q13442814".
    ?page_title wikibase:apiOutput mwapi:title.
  }
  }
  UNION
{  SERVICE wikibase:mwapi {
    bd:serviceParam wikibase:api "Search";
                    wikibase:endpoint "www.wikidata.org";
                    mwapi:srsearch "\"surveys of the literature\" haswbstatement:P31=Q13442814".
    ?page_title wikibase:apiOutput mwapi:title.
  }
  }
  BIND(IRI(CONCAT(STR(wd:), ?page_title)) AS ?item)
  #FILTER NOT EXISTS { ?item wdt:P921 wd:Q2412849. }
  
  ?item wdt:P31 wd:Q13442814;
        wdt:P1476 ?title.
  FILTER CONTAINS(LCASE(?title), "literature").
  FILTER CONTAINS(LCASE(?title), "survey").
}
# LIMIT 10000

Try it!

Works with variations of "literature review" in the title[edit]

SELECT DISTINCT ?item #?title
WHERE {
  hint:Query hint:optimizer "None".
{  SERVICE wikibase:mwapi {
    bd:serviceParam wikibase:api "Search";
                    wikibase:endpoint "www.wikidata.org";
                    mwapi:srsearch "\"literature review\" haswbstatement:P31=Q13442814".
    ?page_title wikibase:apiOutput mwapi:title.
  }
  }
  UNION
{  SERVICE wikibase:mwapi {
    bd:serviceParam wikibase:api "Search";
                    wikibase:endpoint "www.wikidata.org";
                    mwapi:srsearch "\"literature reviews\" haswbstatement:P31=Q13442814".
    ?page_title wikibase:apiOutput mwapi:title.
  }
  }
  UNION  
{  SERVICE wikibase:mwapi {
    bd:serviceParam wikibase:api "Search";
                    wikibase:endpoint "www.wikidata.org";
                    mwapi:srsearch "\"reviewing the literature\" haswbstatement:P31=Q13442814".
    ?page_title wikibase:apiOutput mwapi:title.
  }
  }
UNION  
{  SERVICE wikibase:mwapi {
    bd:serviceParam wikibase:api "Search";
                    wikibase:endpoint "www.wikidata.org";
                    mwapi:srsearch "\"reviewed the literature\" haswbstatement:P31=Q13442814".
    ?page_title wikibase:apiOutput mwapi:title.
  }
  }

UNION  
{  SERVICE wikibase:mwapi {
    bd:serviceParam wikibase:api "Search";
                    wikibase:endpoint "www.wikidata.org";
                    mwapi:srsearch "\"review of the literature\" haswbstatement:P31=Q13442814".
    ?page_title wikibase:apiOutput mwapi:title.
  }
  }
  UNION
{  SERVICE wikibase:mwapi {
    bd:serviceParam wikibase:api "Search";
                    wikibase:endpoint "www.wikidata.org";
                    mwapi:srsearch "\"reviews of the literature\" haswbstatement:P31=Q13442814".
    ?page_title wikibase:apiOutput mwapi:title.
  }
  }
  BIND(IRI(CONCAT(STR(wd:), ?page_title)) AS ?item)
  #FILTER NOT EXISTS { ?item wdt:P921 wd:Q2412849. }
  
  ?item wdt:P31 wd:Q13442814;
        wdt:P1476 ?title.
  FILTER CONTAINS(LCASE(?title), "literature").
  FILTER CONTAINS(LCASE(?title), "review").
}
# LIMIT 10000

Try it!

Since the mwapi calls return a maximum of 10000 results, only part of the works with "literature review" in the title are being returned. To get more of these, the query would have to be re-run after some tagging, or split into a set of subqueries, e.g. as per

SELECT DISTINCT ?item #?title
WHERE {
  hint:Query hint:optimizer "None".
{  SERVICE wikibase:mwapi {
    bd:serviceParam wikibase:api "Search";
                    wikibase:endpoint "www.wikidata.org";
                    mwapi:srsearch "\"literature review\" and the haswbstatement:P31=Q13442814".
    ?page_title wikibase:apiOutput mwapi:title.
  }
  }
UNION
{  SERVICE wikibase:mwapi {
    bd:serviceParam wikibase:api "Search";
                    wikibase:endpoint "www.wikidata.org";
                    mwapi:srsearch "\"literature review\" -and the haswbstatement:P31=Q13442814".
    ?page_title wikibase:apiOutput mwapi:title.
  }
  }
UNION
{  SERVICE wikibase:mwapi {
    bd:serviceParam wikibase:api "Search";
                    wikibase:endpoint "www.wikidata.org";
                    mwapi:srsearch "\"literature review\" and -the haswbstatement:P31=Q13442814".
    ?page_title wikibase:apiOutput mwapi:title.
  }
  }
UNION
{  SERVICE wikibase:mwapi {
    bd:serviceParam wikibase:api "Search";
                    wikibase:endpoint "www.wikidata.org";
                    mwapi:srsearch "\"literature review\" -and -the haswbstatement:P31=Q13442814".
    ?page_title wikibase:apiOutput mwapi:title.
  }
  }
  BIND(IRI(CONCAT(STR(wd:), ?page_title)) AS ?item)
  #FILTER NOT EXISTS { ?item wdt:P921 wd:Q2412849. }
  
  ?item wdt:P31 wd:Q13442814;
        wdt:P1476 ?title.
  FILTER CONTAINS(LCASE(?title), "literature").
  FILTER CONTAINS(LCASE(?title), "review").
}
# LIMIT 10000

Try it!