Fast run mode optimizes operations by filtering the Wikidata corpus based on specific property/value combinations.
Requirements:
- The data provided to the
WDItemEngine constructor must contain at least one unique value/ID (e.g., an NCBI entrez gene ID) that exists on only one Wikidata item. - Set
fast_run=True in the WDItemEngine constructor. - Provide a
fast_run_base_filter dictionary. This dictionary uses properties as keys and item QIDs (or empty strings for literals) as values.
Behavior:
- Fast run mode checks for equality of property/value pairs, qualifiers (excluding qualifier attributes), labels, aliases, and descriptions.
- Note: It ignores references by default. To include references, set
fast_run_use_refs=True.
from wikidataintegrator import wdi_core, wdi_login
login_instance = wdi_login.WDLogin(user='<bot user name>', pwd='<bot password>')
# Filter for human genes (P703 = Q15978631) using NCBI ID (P351)
fast_run_base_filter = {'P351': '', 'P703': 'Q15978631'}
fast_run = True
raw_data = {
'50943': 'ENST00000376197',
'1029': 'ENST00000498124'
}
for entrez_id, ensembl in raw_data.items():
entrez_gene_id = wdi_core.WDString(value=entrez_id, prop_nr='P351')
ensembl_transcript_id = wdi_core.WDString(value=ensembl, prop_nr='P704')
data = [entrez_gene_id, ensembl_transcript_id]
wd_item = wdi_core.WDItemEngine(data=data, fast_run=fast_run, fast_run_base_filter=fast_run_base_filter)
wd_item.write(login_instance)