extraction/classifiers/country_classifier.py (952 lines of code) (raw):

""" Obtain a finer-grained classification of places and entities according to their associated country/region. """ from numpy import ( logical_and, logical_or, logical_not, logical_xor, where ) from wikidata_linker_utils.logic import logical_negate, logical_ors import wikidata_linker_utils.wikidata_properties as wprop def wkp(c, name): """Convert a string wikipedia article name to its Wikidata index.""" return c.article2id["enwiki/" + name][0][0] def wkd(c, name): """Convert a wikidata QID to its wikidata index.""" return c.name2index[name] def classify(c): TRAVERSIBLE_BASIC = [wprop.INSTANCE_OF, wprop.SUBCLASS_OF] TRAVERSIBLE_COUNTRY = [ wprop.INSTANCE_OF, wprop.SUBCLASS_OF, wprop.COUNTRY_OF_CITIZENSHIP, wprop.COUNTRY, wprop.LOCATION, wprop.LOCATED_IN_THE_ADMINISTRATIVE_TERRITORIAL_ENTITY ] TRAVERSIBLE_PART_OF = [ wprop.INSTANCE_OF, wprop.SUBCLASS_OF, wprop.CONTINENT, wprop.PART_OF, wprop.COUNTRY_OF_CITIZENSHIP, wprop.COUNTRY, wprop.LOCATED_IN_THE_ADMINISTRATIVE_TERRITORIAL_ENTITY ] TRAVERSIBLE_TOPIC = [ wprop.INSTANCE_OF, wprop.SUBCLASS_OF, wprop.STUDIES, wprop.FIELD_OF_THIS_OCCUPATION, wprop.OCCUPATION, wprop.FIELD_OF_WORK, wprop.INDUSTRY] ASSOCIATION_FOOTBALL_PLAYER = wkd(c,"Q937857") PAINTER = wkd(c,"Q1028181") POLITICIAN = wkd(c,"Q82955") ARTICLE = wkd(c,"Q191067") VIDEO_GAME = wkd(c,"Q7889") FILM = wkd(c,"Q11424") FICTIONAL_CHARACTER = wkd(c,"Q95074") POEM = wkd(c,"Q482") BOOK = wkd(c,"Q571") DISEASE = wkd(c,"Q12136") PAINTING = wkd(c,"Q3305213") VISUAL_ART_WORK = wkd(c,"Q4502142") MUSIC_WORK = wkd(c,"Q2188189") SCIENTIFIC_ARTICLE = wkd(c,"Q13442814") PROTEIN_FAMILY = wkd(c,"Q417841") PROTEIN_COMPLEX = wkd(c,"Q420927") GENE = wkd(c,"Q7187") CHEMICAL_SUBSTANCE = wkd(c,"Q79529") PROTEIN = wkd(c,"Q8054") TAXON = wkd(c,"Q16521") PHYSICAL_OBJECT = wkd(c,"Q223557") OUTERSPACE = wkp(c, 'Astronomical object') #INTERNATIONAL_ORGANISATION = wkd(c,"") HUMAN = wkp(c,"Human") HUMAN_SETTLMENT = wkd(c,"Q486972") DICTIONARY = wkd(c,"Q23622") ABRREVIATION = wkd(c,"Q102786") POPULATED_PLACE = wkd(c,"Q486972") TERRITORIAL_ENTITY = wkd(c, "Q1496967") DESA = wkd(c,"Q26211545") TOWN_IN_CHINA = wkd(c,"Q735428") ADMIN_DIVISION_CHINA = wkd(c,"Q50231") COUNTRY = wkd(c,"Q6256") MOUNTAIN_RANGE = wkd(c,"Q46831") EARTH = wkp(c, "Earth") GEOGRAPHIC_LOCATION = wkd(c, "Q2221906") is_politician = c.satisfy([wprop.OCCUPATION], [POLITICIAN]) is_painter = c.satisfy([wprop.OCCUPATION], [PAINTER]) is_association_football_player = c.satisfy([wprop.OCCUPATION],[ASSOCIATION_FOOTBALL_PLAYER]) is_populated_place = c.satisfy( [wprop.INSTANCE_OF, wprop.PART_OF, wprop.CONTINENT, wprop.COUNTRY_OF_CITIZENSHIP, wprop.COUNTRY, wprop.SUBCLASS_OF], [GEOGRAPHIC_LOCATION, EARTH, HUMAN_SETTLMENT]) is_taxon = c.satisfy( [wprop.INSTANCE_OF, wprop.PART_OF, wprop.SUBCLASS_OF], [TAXON]) is_other_wkd= c.satisfy( [wprop.INSTANCE_OF, wprop.PART_OF, wprop.SUBCLASS_OF], [GENE, CHEMICAL_SUBSTANCE, SCIENTIFIC_ARTICLE, PROTEIN, DISEASE, PROTEIN_FAMILY,PROTEIN_COMPLEX, BOOK, MUSIC_WORK, PAINTING, VISUAL_ART_WORK, POEM, FILM, FICTIONAL_CHARACTER,VIDEO_GAME,SCIENTIFIC_ARTICLE,ARTICLE]) is_gene_wkp = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Genes")], max_steps=5) is_chromosome_wkp = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Chromosomes")], max_steps=5) is_protein_wkp = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Proteins")], max_steps=5) is_other= logical_ors([is_other_wkd, is_gene_wkp, is_chromosome_wkp, is_protein_wkp ]) print("WIKI Links") WIKIPEDIA_DISAMBIGUATION_PAGE = wkd(c,"Q4167410") SCIENTIFIC_JOURNAL = wkd(c,"Q5633421") SURNAME = wkd(c,"Q101352") WIKI_NEWS_ARTICLE = wkd(c,"Q17633526") WIKIMEDIA_CATEGORY = wkd(c,"Q4167836") WIKIPEDIA_TEMPLATE_NAMESPACE = wkd(c,"Q11266439") WIKIPEDIA_LIST = wkd(c,"Q13406463") ENCYCLOPEDIA_ARTICLE = wkd(c,"Q17329259") WIKIMEDIA_PROJECT_PAGE = wkd(c,"Q14204246") RURAL_COMUNE_VIETNAM = wkd(c,"Q2389082") TERRITORIAL_ENTITY = wkd(c,"Q1496967") is_Wiki_Links = c.satisfy(TRAVERSIBLE_TOPIC, [WIKIPEDIA_DISAMBIGUATION_PAGE, SURNAME, WIKIMEDIA_CATEGORY, WIKIPEDIA_TEMPLATE_NAMESPACE, WIKIPEDIA_LIST, ENCYCLOPEDIA_ARTICLE, WIKIMEDIA_PROJECT_PAGE, WIKI_NEWS_ARTICLE ]) print("is_in_outer_space") is_in_outer_space = c.satisfy(TRAVERSIBLE_PART_OF, [OUTERSPACE]) print("part_of_earth") part_of_earth = c.satisfy( [wprop.INSTANCE_OF, wprop.PART_OF, wprop.CONTINENT, wprop.COUNTRY_OF_CITIZENSHIP, wprop.COUNTRY, wprop.SUBCLASS_OF, wprop.LOCATION], [GEOGRAPHIC_LOCATION, EARTH]) print("is_in_outer_space_not_earth") is_in_outer_space_not_earth = logical_negate( is_in_outer_space, [part_of_earth]) print("African countries") ALGERIA = wkp(c,"Algeria") ANGOLA = wkp(c,"Angola") BENIN = wkp(c,"Benin") BOTSWANA = wkd(c,"Q963") BURKINA_FASO = wkd(c,"Q965") BURUNDI = wkd(c,"Q967") CAMEROON = wkd(c,"Q1009") CAPE_VERDE = wkd(c,"Q1011") CHAD = wkd(c,"Q657") CENTRAL_AFRICAN_REPUBLIC = wkd(c,"Q929") COMOROS = wkd(c,"Q970") DEMOCRATIC_REPUBLIC_OF_CONGO = wkd(c,"Q974") REPUBLIC_OF_CONGO = wkd(c,"Q971") DJIBOUTI = wkd(c,"Q977") EGYPT = wkd(c,"Q79") RASHIDUN_CALIPHATE = wkd(c,"Q12490507") EQUATORIAL_GUINEA = wkd(c,"Q983") ERITREA = wkd(c,"Q986") ETHIOPIA = wkd(c,"Q115") GABON = wkd(c,"Q1000") THE_GAMBIA = wkd(c,"Q1005") GHANA = wkd(c,"Q117") GUINEA = wkd(c,"Q1006") GUINEA_BISSAU = wkd(c,"Q1007") IVORY_COAST = wkd(c,"Q1008") KENYA = wkd(c,"Q114") LESOTHO = wkd(c,"Q1013") LIBERIA = wkd(c,"Q1014") LIBYA = wkd(c,"Q1016") MADAGASCAR = wkd(c,"Q1019") MALAWI = wkd(c,"Q1020") MALI = wkd(c,"Q912") MAURITANIA = wkd(c,"Q1025") MAURITIUS = wkd(c,"Q1027") MOROCCO = wkd(c,"Q1028") MOZAMBIQUE = wkd(c,"Q1029") NAMIBIA = wkd(c,"Q1030") NIGER = wkd(c,"Q1032") NIGERIA = wkd(c,"Q1033") RWANDA = wkd(c,"Q1037") SAHARI_ARAB_DEOMOCRATIC_REPUBLIC = wkd(c,"Q40362") SAO_TOME_AND_PRINCIPE= wkd(c,"Q1039") SENEGAL = wkd(c,"Q1041") SEYCHELLES = wkd(c,"Q1042") SIERRA_LEONE = wkd(c,"Q1044") SOMALIA = wkd(c,"Q1045") SOUTH_AFRICA = wkd(c,"Q258") SOUTHSUDAN = wkd(c,"Q958") SUDAN = wkd(c,"Q1049") SWAZILAND= wkd(c,"Q1050") TANZANIA = wkd(c,"Q924") TOGO = wkd(c,"Q945") TUNISIA= wkd(c,"Q948") UGANDA = wkd(c,"Q1036") WESTERN_SAHARA = wkd(c,"Q6250") ZAMBIA = wkd(c,"Q953") ZIMBABWE = wkd(c,"Q954") SOMALI_LAND = wkd(c,"Q34754") in_algeria_wkd = c.satisfy(TRAVERSIBLE_COUNTRY, [ALGERIA]) in_algeria_stubs = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Algeria stubs")], max_steps=4) in_algeria_politics = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Politics of Algeria")], max_steps=3) in_algeria_roads = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Roads in Algeria")], max_steps=3) in_algeria = logical_ors([in_algeria_wkd, in_algeria_stubs, in_algeria_politics, in_algeria_roads]) in_angola_wkd = c.satisfy(TRAVERSIBLE_COUNTRY, [ANGOLA]) in_angola_stubs = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Angola stubs")], max_steps=4) in_angola_politics = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Politics of Angola")], max_steps=3) in_angola_roads = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Roads in Angola")], max_steps=3) in_angola = logical_ors([in_angola_wkd , in_angola_stubs, in_angola_politics, in_angola_roads]) in_benin_wkd = c.satisfy(TRAVERSIBLE_COUNTRY, [BENIN]) in_benin_stubs = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Benin stubs")], max_steps=4) in_benin_politics = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Politics of Benin")], max_steps=3) in_benin_roads = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Roads in Benin")], max_steps=3) in_benin = logical_ors([in_benin_wkd, in_benin_stubs, in_benin_politics, in_benin_roads]) in_botswana_wkd = c.satisfy(TRAVERSIBLE_COUNTRY, [BOTSWANA]) in_botswana_stubs = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Botswana stubs")], max_steps=4) in_botswana_politics = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Politics of Botswana")], max_steps=3) in_botswana_roads = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Roads in Botswana")], max_steps=3) in_botswana = logical_ors([in_botswana_wkd, in_botswana_stubs, in_botswana_politics,in_botswana_roads]) in_burkina_faso_wkd = c.satisfy(TRAVERSIBLE_COUNTRY, [BURKINA_FASO]) in_bburkina_faso_stubs = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Burkina Faso stubs")], max_steps=4) in_bburkina_faso_politics = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Politics of Botswana")], max_steps=3) in_burkina_faso = logical_ors([in_burkina_faso_wkd , in_botswana_stubs, in_botswana_politics]) in_burundi_politics_wkp = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Politics of Burkina Faso")], max_steps=4) in_burundi_wkd = c.satisfy(TRAVERSIBLE_COUNTRY, [BURUNDI]) in_burundi = logical_ors([in_burundi_wkd,in_burundi_politics_wkp]) in_cameroon = c.satisfy(TRAVERSIBLE_COUNTRY, [CAMEROON]) in_cape_verde= c.satisfy(TRAVERSIBLE_COUNTRY, [CAPE_VERDE]) in_chad = c.satisfy(TRAVERSIBLE_COUNTRY, [CHAD]) in_central_african_republic = c.satisfy(TRAVERSIBLE_COUNTRY, [CENTRAL_AFRICAN_REPUBLIC]) in_comoros = c.satisfy(TRAVERSIBLE_COUNTRY, [COMOROS]) in_democratic_republic_congo = c.satisfy(TRAVERSIBLE_COUNTRY, [DEMOCRATIC_REPUBLIC_OF_CONGO]) in_republic_of_congo = c.satisfy(TRAVERSIBLE_COUNTRY, [REPUBLIC_OF_CONGO]) in_djibouti = c.satisfy(TRAVERSIBLE_COUNTRY, [DJIBOUTI]) in_egypt_wkd = c.satisfy(TRAVERSIBLE_COUNTRY, [EGYPT]) in_ancient_egypt = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Ancient Egypt")], max_steps=6) in_Rashidun_Caliphate = c.satisfy(TRAVERSIBLE_COUNTRY, [RASHIDUN_CALIPHATE]) egyptian_people = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Egyptian people")], max_steps=6) in_egypt = logical_ors([in_egypt_wkd, in_egypt_wkd,in_Rashidun_Caliphate, egyptian_people]) in_equatorial_guinea = c.satisfy(TRAVERSIBLE_COUNTRY, [EQUATORIAL_GUINEA]) in_eritrea = c.satisfy(TRAVERSIBLE_COUNTRY, [ERITREA]) in_ethiopia = c.satisfy(TRAVERSIBLE_COUNTRY, [ETHIOPIA]) in_gabon = c.satisfy(TRAVERSIBLE_COUNTRY, [GABON]) in_the_gambia = c.satisfy(TRAVERSIBLE_COUNTRY, [THE_GAMBIA]) in_ghana = c.satisfy(TRAVERSIBLE_COUNTRY, [GHANA]) in_guinea = c.satisfy(TRAVERSIBLE_COUNTRY, [GUINEA]) in_guinea_bissau = c.satisfy(TRAVERSIBLE_COUNTRY, [GUINEA_BISSAU]) in_ivory_coast = c.satisfy(TRAVERSIBLE_COUNTRY, [IVORY_COAST]) in_lesotho = c.satisfy(TRAVERSIBLE_COUNTRY, [LESOTHO]) in_kenya = c.satisfy(TRAVERSIBLE_COUNTRY, [KENYA]) in_liberia = c.satisfy(TRAVERSIBLE_COUNTRY, [LIBERIA]) in_libya = c.satisfy(TRAVERSIBLE_COUNTRY, [LIBYA]) in_madagascar = c.satisfy(TRAVERSIBLE_COUNTRY, [MADAGASCAR]) in_malawi = c.satisfy(TRAVERSIBLE_COUNTRY, [MALAWI]) in_mali = c.satisfy(TRAVERSIBLE_COUNTRY, [MALI]) in_mauritania = c.satisfy(TRAVERSIBLE_COUNTRY, [MAURITANIA]) in_mauritius = c.satisfy(TRAVERSIBLE_COUNTRY, [MAURITIUS]) in_morrocco = c.satisfy(TRAVERSIBLE_COUNTRY, [MOROCCO]) in_mozambique = c.satisfy(TRAVERSIBLE_COUNTRY, [MOZAMBIQUE]) in_namibia = c.satisfy(TRAVERSIBLE_COUNTRY, [NAMIBIA]) in_niger = c.satisfy(TRAVERSIBLE_COUNTRY, [NIGER]) in_nigeria = c.satisfy(TRAVERSIBLE_COUNTRY, [NIGERIA]) in_rwanda = c.satisfy(TRAVERSIBLE_COUNTRY, [RWANDA]) in_sadr = c.satisfy(TRAVERSIBLE_COUNTRY, [SAHARI_ARAB_DEOMOCRATIC_REPUBLIC]) in_stap = c.satisfy(TRAVERSIBLE_COUNTRY, [SAO_TOME_AND_PRINCIPE]) in_senegal = c.satisfy(TRAVERSIBLE_COUNTRY, [SENEGAL]) in_seychelles = c.satisfy(TRAVERSIBLE_COUNTRY, [SEYCHELLES]) in_sierra_leone = c.satisfy(TRAVERSIBLE_COUNTRY, [SIERRA_LEONE]) in_somalia = c.satisfy(TRAVERSIBLE_COUNTRY, [SOMALIA]) in_somali_land = c.satisfy(TRAVERSIBLE_COUNTRY, [SOMALI_LAND]) in_south_africa = c.satisfy(TRAVERSIBLE_COUNTRY, [SOUTH_AFRICA]) in_ssudan= c.satisfy(TRAVERSIBLE_COUNTRY, [SOUTHSUDAN]) in_sudan= c.satisfy(TRAVERSIBLE_COUNTRY, [SUDAN]) in_swaziland= c.satisfy(TRAVERSIBLE_COUNTRY, [SWAZILAND]) in_tanzania_wkp = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Sports competitions in Tanzania")], max_steps=4) in_tanzania_wkd = c.satisfy(TRAVERSIBLE_COUNTRY, [TANZANIA]) in_tanzania = logical_ors([in_tanzania_wkp,in_tanzania_wkd]) in_togo = c.satisfy(TRAVERSIBLE_COUNTRY, [TOGO]) in_tunisia = c.satisfy(TRAVERSIBLE_COUNTRY, [TUNISIA]) in_uganda = c.satisfy(TRAVERSIBLE_COUNTRY, [UGANDA]) in_western_sahara = c.satisfy(TRAVERSIBLE_COUNTRY, [WESTERN_SAHARA]) in_zambia_wkd = c.satisfy(TRAVERSIBLE_COUNTRY, [ZAMBIA]) zambian_people = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Zambian people")], max_steps=4) in_zambia = logical_ors([in_zambia_wkd, zambian_people]) in_zimbabwe = c.satisfy(TRAVERSIBLE_COUNTRY, [ZIMBABWE]) in_africa = logical_ors([ in_botswana, in_burkina_faso, in_burundi, in_cameroon, in_cape_verde, in_chad, in_central_african_republic, in_comoros, in_democratic_republic_congo, in_republic_of_congo, in_djibouti, in_egypt, in_equatorial_guinea, in_eritrea, in_ethiopia, in_gabon, in_the_gambia, in_ghana, in_guinea, in_guinea_bissau, in_ivory_coast, in_lesotho, in_kenya, in_liberia, in_libya, in_madagascar, in_malawi ]) print("Oceanian countries") AUSTRALIA = wkd(c,"Q408") FIJI = wkd(c,"Q712") INDONESIA = wkd(c,"Q252") KIRIBATI= wkd(c,"Q710") MARSHALL_ISLANDS= wkd(c,"Q709") FEDERATED_STATES_OF_MICRONESIA= wkd(c,"Q702") NAURU= wkd(c,"Q697") PALAU= wkd(c,"Q695") PAPUA_NEW_GUINEA= wkd(c,"Q691") SAMOA = wkd(c,"Q683") SOLOMON_ISLANDS= wkd(c,"Q685") VANUATU = wkd(c,"Q686") NEW_ZEALAND = wkd(c,"Q664") in_australia_athletes = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Australian sportspeople")], max_steps=5) in_australia_wkd = c.satisfy(TRAVERSIBLE_COUNTRY, [AUSTRALIA]) in_australia = logical_ors([in_australia_wkd, in_australia_athletes]) in_fiji = c.satisfy(TRAVERSIBLE_COUNTRY, [FIJI]) in_indonesia = c.satisfy(TRAVERSIBLE_COUNTRY, [INDONESIA]) in_kiribati = c.satisfy(TRAVERSIBLE_COUNTRY, [KIRIBATI]) in_marshall_islands = c.satisfy(TRAVERSIBLE_COUNTRY, [MARSHALL_ISLANDS]) in_federates_states_of_micronesia = c.satisfy(TRAVERSIBLE_COUNTRY, [FEDERATED_STATES_OF_MICRONESIA]) in_nauru = c.satisfy(TRAVERSIBLE_COUNTRY, [NAURU]) in_palau = c.satisfy(TRAVERSIBLE_COUNTRY, [PALAU]) in_papua_new_guinea = c.satisfy(TRAVERSIBLE_COUNTRY, [PAPUA_NEW_GUINEA]) in_samoa_wkp = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Samoa")], max_steps=5) in_samoa_wkd = c.satisfy(TRAVERSIBLE_COUNTRY, [SAMOA]) in_samoa = logical_ors([in_samoa_wkd, in_samoa_wkp]) in_solomon_islands = c.satisfy(TRAVERSIBLE_COUNTRY, [SOLOMON_ISLANDS]) in_vanuatu = c.satisfy(TRAVERSIBLE_COUNTRY, [VANUATU]) in_new_zealand = c.satisfy(TRAVERSIBLE_COUNTRY, [NEW_ZEALAND]) print("South American countries") ARGENTINA = wkd(c,"Q414") BOLIVIA = wkd(c,"Q750") BRAZIL = wkd(c,"Q155") CHILE = wkd(c,"Q298") COLOMBIA = wkd(c,"Q739") ECUADOR = wkd(c,"Q736") GUYANA = wkd(c,"Q734") PARAGUAY = wkd(c,"Q733") PERU = wkd(c,"Q419") SURINAME = wkd(c,"Q730") TRINIDAD_AND_TOBAGO = wkd(c,"Q754") URUGUAY = wkd(c,"Q77") VENEZUELA = wkd(c,"Q717") in_argentina = c.satisfy(TRAVERSIBLE_COUNTRY, [ARGENTINA]) in_bolivia = c.satisfy(TRAVERSIBLE_COUNTRY, [BOLIVIA]) in_brazil = c.satisfy(TRAVERSIBLE_COUNTRY, [BRAZIL]) in_chile = c.satisfy(TRAVERSIBLE_COUNTRY, [CHILE]) in_colombia = c.satisfy(TRAVERSIBLE_COUNTRY, [COLOMBIA]) in_ecuador = c.satisfy(TRAVERSIBLE_COUNTRY, [ECUADOR]) in_guyana = c.satisfy(TRAVERSIBLE_COUNTRY, [GUYANA]) in_paraguay = c.satisfy(TRAVERSIBLE_COUNTRY, [PARAGUAY]) in_peru = c.satisfy(TRAVERSIBLE_COUNTRY, [PERU]) in_suriname = c.satisfy(TRAVERSIBLE_COUNTRY, [SURINAME]) in_trinidad_and_tobago = c.satisfy(TRAVERSIBLE_COUNTRY, [TRINIDAD_AND_TOBAGO]) in_uruguay = c.satisfy(TRAVERSIBLE_COUNTRY, [URUGUAY]) in_venezuela = c.satisfy(TRAVERSIBLE_COUNTRY, [VENEZUELA]) print("Central American countries") BELIZE = wkd(c,"Q242") COSTA_RICA = wkd(c,"Q800") EL_SALVADOR = wkd(c,"Q792") GUATEMALA = wkd(c,"Q774") HONDURAS = wkd(c,"Q783") NICARAGUA = wkd(c,"Q811") PANAMA = wkd(c,"Q804") in_belize = c.satisfy(TRAVERSIBLE_COUNTRY, [BELIZE]) in_costa_rica = c.satisfy(TRAVERSIBLE_COUNTRY, [COSTA_RICA]) in_el_salvador = c.satisfy(TRAVERSIBLE_COUNTRY, [EL_SALVADOR]) in_guatemala = c.satisfy(TRAVERSIBLE_COUNTRY, [GUATEMALA]) in_honduras = c.satisfy(TRAVERSIBLE_COUNTRY, [HONDURAS]) in_nicaragua = c.satisfy(TRAVERSIBLE_COUNTRY, [NICARAGUA]) in_panama = c.satisfy(TRAVERSIBLE_COUNTRY, [PANAMA]) print("North American countries") ANTIGUA_BARBUDA = wkd(c,"Q781") BAHAMAS = wkd(c,"Q778") BARBADOS = wkd(c,"Q244") BELIZE = wkd(c,"Q242") CANADA = wkd(c,"Q16") COSTA_RICA = wkd(c,"Q800") CUBA = wkd(c,"Q241") DOMINICAN_REPUBLIC = wkd(c,"Q786") EL_SALVADOR = wkd(c,"Q792") GRENADA = wkd(c,"Q769") GUATEMALA = wkd(c,"Q774") HAITI = wkd(c,"Q790") HONDURAS = wkd(c,"Q783") JAMAICA = wkd(c,"Q766") MEXICO = wkd(c,"Q96") NICARAGUA = wkd(c,"Q811") PANAMA = wkd(c,"Q804") SAINT_KITTS_AND_NEVIS = wkd(c,"Q763") SAINT_LUCIA = wkd(c,"Q760") SAINT_VINCENT_AND_GRENADINES = wkd(c,"Q757") UNITED_STATES = wkd(c,"Q30") in_antigua_barbuda = c.satisfy(TRAVERSIBLE_COUNTRY, [ANTIGUA_BARBUDA]) in_bahamas = c.satisfy(TRAVERSIBLE_COUNTRY, [BAHAMAS]) in_barbados = c.satisfy(TRAVERSIBLE_COUNTRY, [BARBADOS]) in_belize = c.satisfy(TRAVERSIBLE_COUNTRY, [BELIZE]) canadians = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Canadian people by occupation")], max_steps=5) in_canada_wkd = c.satisfy(TRAVERSIBLE_COUNTRY, [CANADA]) in_canada = logical_ors([canadians, in_canada_wkd]) in_costa_rica = c.satisfy(TRAVERSIBLE_COUNTRY, [COSTA_RICA]) in_cuba = c.satisfy(TRAVERSIBLE_COUNTRY, [CUBA]) in_dominican_republic = c.satisfy(TRAVERSIBLE_COUNTRY, [DOMINICAN_REPUBLIC]) in_el_salvador = c.satisfy(TRAVERSIBLE_COUNTRY, [EL_SALVADOR]) in_grenada = c.satisfy(TRAVERSIBLE_COUNTRY, [GRENADA]) in_guatemala = c.satisfy(TRAVERSIBLE_COUNTRY, [GUATEMALA]) in_haiti = c.satisfy(TRAVERSIBLE_COUNTRY, [HAITI]) in_honduras = c.satisfy(TRAVERSIBLE_COUNTRY, [HONDURAS]) in_jamaica = c.satisfy(TRAVERSIBLE_COUNTRY, [JAMAICA]) in_mexico = c.satisfy(TRAVERSIBLE_COUNTRY, [MEXICO]) in_nicaragua = c.satisfy(TRAVERSIBLE_COUNTRY, [NICARAGUA]) in_panama = c.satisfy(TRAVERSIBLE_COUNTRY, [PANAMA]) in_Saint_Kitts_and_Nevis = c.satisfy(TRAVERSIBLE_COUNTRY, [SAINT_KITTS_AND_NEVIS]) in_saint_lucia = c.satisfy(TRAVERSIBLE_COUNTRY, [SAINT_LUCIA]) in_saint_vincent_and_grenadines = c.satisfy(TRAVERSIBLE_COUNTRY, [SAINT_VINCENT_AND_GRENADINES]) in_usa_sports = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:History of sports in the United States")], max_steps=7) years_in_usa = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Years in the United States")], max_steps=7) in_usa_roads = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Roads in the United States")], max_steps=7) in_united_states_wkd = c.satisfy(TRAVERSIBLE_COUNTRY, [UNITED_STATES]) in_united_states = logical_ors([in_usa_sports,in_united_states_wkd, years_in_usa]) print("Asian countries") FOURTH_ADMIN_DIVISION_INDONESIA = wkd(c,"Q2225692") RURAL_COMUNE_VIETNAM = wkd(c,"Q2389082") AFGHANISTAN = wkd(c,"Q889") KINGDOM_OF_AFGHANISTAN = wkd(c,"Q1138904") REPUBLIC_OF_AFGHANISTAN = wkd(c,"Q1415128") DEMOCRATIC_REPUBLIC_OF_AFGHANISTAN = wkd(c,"Q476757") BANGLADESH = wkd(c,"Q902") BHUTAN = wkd(c,"Q917") BRUNEI = wkd(c,"Q921") CAMBODIA = wkd(c,"Q424") CHINA = wkd(c,"Q148") EAST_TIMOR = wkd(c,"Q574") INDIA = wkd(c,"Q668") INDONESIA = wkd(c,"Q252") IRAN = wkd(c,"Q794") IRAQ = wkd(c,"Q796") KURDISTAN = wkd(c,"Q41470") ISRAEL = wkd(c,"Q801") JAPAN = wkd(c,"Q17") JORDAN = wkd(c,"Q810") KAZAKHSTAN = wkd(c,"Q232") KUWAIT = wkd(c,"Q817") KYRGYZSTAN = wkd(c,"Q813") LAOS = wkd(c,"Q819") LEBANON = wkd(c,"Q822") MALAYSIA = wkd(c,"Q833") MALDIVES = wkd(c,"Q826") MONGOLIA = wkd(c,"Q711") MYANMAR = wkd(c,"Q836") NEPAL = wkd(c,"Q837") NORTH_KOREA = wkd(c,"Q423") OMAN = wkd(c,"Q842") PALESTINE = wkd(c,"Q219060") PAKISTAN = wkd(c,"Q843") PHILIPPINES = wkd(c,"Q928") QATAR = wkd(c,"Q846") SAUDI_ARABIA = wkd(c,"Q851") SINGAPORE = wkd(c,"Q334") SOUTH_KOREA = wkd(c,"Q884") SRI_LANKA = wkd(c,"Q854") SYRIA = wkd(c,"Q858") TAIWAN = wkd(c,"Q865") TAJIKISTAN = wkd(c,"Q863") THAILAND = wkd(c,"Q869") TURKMENISTAN = wkd(c,"Q874") UNITED_ARAB_EMIRATES = wkd(c,"Q878") UZBEKISTAN = wkd(c,"Q265") VIETNAM = wkd(c,"Q881") YEMEN = wkd(c,"Q805") in_afghanistan = c.satisfy(TRAVERSIBLE_COUNTRY, [AFGHANISTAN, REPUBLIC_OF_AFGHANISTAN, DEMOCRATIC_REPUBLIC_OF_AFGHANISTAN]) in_bangladesh = c.satisfy(TRAVERSIBLE_COUNTRY, [BANGLADESH]) in_bhutan = c.satisfy(TRAVERSIBLE_COUNTRY, [BHUTAN]) in_brunei = c.satisfy(TRAVERSIBLE_COUNTRY, [BRUNEI]) in_cambodia = c.satisfy(TRAVERSIBLE_COUNTRY, [CAMBODIA]) years_in_china = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Years in China")], max_steps=6) chinese_people = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Chinese people by occupation")], max_steps=6) is_tibetan_politician = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Tibetan politicians")], max_steps=6) in_china_wkd = c.satisfy(TRAVERSIBLE_COUNTRY, [CHINA]) in_china = logical_ors([in_china_wkd,years_in_china,is_tibetan_politician, chinese_people]) in_east_timor = c.satisfy(TRAVERSIBLE_COUNTRY, [EAST_TIMOR]) in_india = c.satisfy(TRAVERSIBLE_COUNTRY, [INDIA]) in_indonesia = c.satisfy(TRAVERSIBLE_COUNTRY, [INDONESIA,FOURTH_ADMIN_DIVISION_INDONESIA]) in_iran = c.satisfy(TRAVERSIBLE_COUNTRY, [IRAN]) in_iraq = c.satisfy(TRAVERSIBLE_COUNTRY, [IRAQ, KURDISTAN]) in_israel = c.satisfy(TRAVERSIBLE_COUNTRY, [ISRAEL]) in_japan = c.satisfy(TRAVERSIBLE_COUNTRY, [JAPAN]) in_jordan = c.satisfy(TRAVERSIBLE_COUNTRY, [JORDAN]) in_kazakhstan = c.satisfy(TRAVERSIBLE_COUNTRY, [KAZAKHSTAN]) in_kuwait = c.satisfy(TRAVERSIBLE_COUNTRY, [KUWAIT]) in_kyrgyzstan = c.satisfy(TRAVERSIBLE_COUNTRY, [KYRGYZSTAN]) in_laos = c.satisfy(TRAVERSIBLE_COUNTRY, [LAOS]) in_lebanon = c.satisfy(TRAVERSIBLE_COUNTRY, [LEBANON]) in_malaysia = c.satisfy(TRAVERSIBLE_COUNTRY, [MALAYSIA]) in_maldives = c.satisfy(TRAVERSIBLE_COUNTRY, [MALDIVES]) in_mongolia = c.satisfy(TRAVERSIBLE_COUNTRY, [MONGOLIA]) in_myanmar = c.satisfy(TRAVERSIBLE_COUNTRY, [MYANMAR]) in_nepal = c.satisfy(TRAVERSIBLE_COUNTRY, [NEPAL]) in_north_korea = c.satisfy(TRAVERSIBLE_COUNTRY, [NORTH_KOREA]) in_oman = c.satisfy(TRAVERSIBLE_COUNTRY, [OMAN]) in_palestine = c.satisfy(TRAVERSIBLE_COUNTRY, [PALESTINE]) in_pakistan = c.satisfy(TRAVERSIBLE_COUNTRY, [PAKISTAN]) in_philippines = c.satisfy(TRAVERSIBLE_COUNTRY, [PHILIPPINES]) in_qatar = c.satisfy(TRAVERSIBLE_COUNTRY, [QATAR]) in_saudi_arabia = c.satisfy(TRAVERSIBLE_COUNTRY, [SAUDI_ARABIA]) in_singapore = c.satisfy(TRAVERSIBLE_COUNTRY, [SINGAPORE]) in_south_korea_wkd = c.satisfy(TRAVERSIBLE_COUNTRY, [SOUTH_KOREA]) korean_rulers = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Korean rulers")], max_steps=6) south_korea_wkp = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:South Korea")], max_steps=6) south_korean_rulers = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Korean rulers")], max_steps=6) in_south_korea = logical_ors([in_south_korea_wkd, korean_rulers]) in_sri_lanka = c.satisfy(TRAVERSIBLE_COUNTRY, [SRI_LANKA]) in_syria_wkd = c.satisfy(TRAVERSIBLE_COUNTRY, [SYRIA]) ancient_syria = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Ancient Syria")], max_steps=6) in_syria = logical_ors([in_syria_wkd,ancient_syria]) in_taiwan = c.satisfy(TRAVERSIBLE_COUNTRY, [TAIWAN]) in_tajikistan = c.satisfy(TRAVERSIBLE_COUNTRY, [TAJIKISTAN]) in_thailand = c.satisfy(TRAVERSIBLE_COUNTRY, [THAILAND]) in_turkmenistan = c.satisfy(TRAVERSIBLE_COUNTRY, [TURKMENISTAN]) in_united_arab_emirates = c.satisfy(TRAVERSIBLE_COUNTRY, [UNITED_ARAB_EMIRATES]) in_uzbekistan = c.satisfy(TRAVERSIBLE_COUNTRY, [UZBEKISTAN]) in_vietnam = c.satisfy(TRAVERSIBLE_COUNTRY, [VIETNAM, RURAL_COMUNE_VIETNAM]) in_yemen = c.satisfy(TRAVERSIBLE_COUNTRY, [YEMEN]) print("European countries") ALBANIA = wkd(c,"Q222") ANDORRA = wkd(c,"Q228") ARMENIA = wkd(c,"Q399") AUSTRIA = wkd(c,"Q40") AUSTRIA_HUNGARY = wkd(c,"Q28513") AZERBAIJAN = wkd(c,"Q227") BELARUS = wkd(c,"Q184") BELGIUM = wkd(c,"Q31") BOSNIA = wkd(c,"Q225") BULGARIA = wkd(c,"Q219") CROATIA = wkd(c,"Q224") CYPRUS = wkd(c,"Q229") CZECH_REPUBLIC = wkd(c,"Q213") CZECHOSLOVAKIA = wkd(c,"Q33946") DENMARK = wkd(c,"Q35") ESTONIA = wkd(c,"Q191") FINLAND = wkd(c,"Q33") FRANCE = wkd(c,"Q142") GEORGIA = wkd(c,"Q230") GERMANY = wkd(c,"Q183") GERMANY_NAZI = wkd(c,"Q7318") GERMAN_EMPIRE = wkd(c,"Q43287") GERMAN_CONFEDERATION = wkd(c,"Q151624") EAST_GERMANY = wkd(c,"Q16957") GREECE = wkd(c,"Q41") HUNGARY = wkd(c,"Q28") ICELAND = wkd(c,"Q189") IRELAND = wkd(c,"Q27") ITALY = wkd(c,"Q38") ROMAN_EMPIRE = wkd(c,"Q2277") ANCIENT_ROME = wkd(c,"Q1747689") KINGDOM_OF_ITALY = wkd(c,"Q172579") NATIONAL_FASCIST_PARTY = wkd(c,"Q139596") KAZAKHSTAN = wkd(c,"Q232") KOSOVO = wkd(c,"Q1246") LATVIA = wkd(c,"Q211") LIECHTENSTEIN = wkd(c,"Q347") LITHUANIA = wkd(c,"Q37") LUXEMBOURG = wkd(c,"Q32") MACEDONIA = wkd(c,"Q221") MALTA = wkd(c,"Q233") MOLDOVA = wkd(c,"Q217") MONACO = wkd(c,"Q235") MONTENEGRO = wkd(c,"Q236") NETHERLANDS = wkd(c,"Q55") SOUTHERN_NETHERLANDS = wkd(c,"Q6581823") KINGDOM_OF_NETHERLANDS = wkd(c,"Q29999") NORWAY = wkd(c,"Q20") POLAND = wkd(c,"Q36") PORTUGAL = wkd(c,"Q45") ROMANIA = wkd(c,"Q218") RUSSIA = wkd(c,"Q159") SOVIET_UNION =wkd(c,"Q15180") RUSSIAN_EMPIRE = wkd(c,"Q34266") SAN_MARINO = wkd(c,"Q238") SERBIA = wkd(c,"Q403") YOUGOSLAVIA = wkd(c,"Q36704") SLOVAKIA = wkd(c,"Q214") SLOVENIA = wkd(c,"Q215") SPAIN = wkd(c,"Q29") KINGDOM_OF_CASTILLE = wkd(c,"Q179293") SWEDEN = wkd(c,"Q34") SWITZERLAND = wkd(c,"Q39") TURKEY = wkd(c,"Q43") OTTOMAN_EMPIRE = wkd(c,"Q12560") UKRAINE = wkd(c,"Q212") UNITED_KINGDOM = wkd(c,"Q145") UNITED_KINGDOM_OLD = wkd(c,"Q174193") KINGDOM_OF_ENGLAND = wkd(c,"Q179876") KINGDOM_OF_GREAT_BRITAIN = wkd(c,"Q161885") VATICAN_CITY = wkd(c,"Q237") in_albania = c.satisfy(TRAVERSIBLE_COUNTRY, [ALBANIA]) in_andorra = c.satisfy(TRAVERSIBLE_COUNTRY, [ANDORRA]) in_armenia = c.satisfy(TRAVERSIBLE_COUNTRY, [ARMENIA]) in_austria_wkd = c.satisfy(TRAVERSIBLE_COUNTRY, [AUSTRIA, AUSTRIA_HUNGARY]) is_austria_people = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Austrian people by occupation")], max_steps=5) in_austria = logical_ors([in_austria_wkd, is_austria_people]) in_azerbaijan = c.satisfy(TRAVERSIBLE_COUNTRY, [AZERBAIJAN]) in_belarus = c.satisfy(TRAVERSIBLE_COUNTRY, [BELARUS]) in_belgium = c.satisfy(TRAVERSIBLE_COUNTRY, [BELGIUM]) in_bosnia = c.satisfy(TRAVERSIBLE_COUNTRY, [BOSNIA]) in_bulgaria = c.satisfy(TRAVERSIBLE_COUNTRY, [BULGARIA]) in_croatia = c.satisfy(TRAVERSIBLE_COUNTRY, [CROATIA]) in_cyprus = c.satisfy(TRAVERSIBLE_COUNTRY, [CYPRUS]) in_czech_republic_wkd = c.satisfy(TRAVERSIBLE_COUNTRY, [CZECH_REPUBLIC,CZECHOSLOVAKIA]) czhec_people = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Czechoslovak people")], max_steps=5) in_czech_republic = logical_ors([in_czech_republic_wkd, czhec_people]) in_denmark_wkd = c.satisfy(TRAVERSIBLE_COUNTRY, [DENMARK]) is_danish_legendary_figure = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Danish legendary figures")], max_steps=5) in_denmark = logical_ors([in_denmark_wkd,is_danish_legendary_figure]) in_estonia = c.satisfy(TRAVERSIBLE_COUNTRY, [ESTONIA]) in_finland = c.satisfy(TRAVERSIBLE_COUNTRY, [FINLAND]) years_in_france = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Years in France")], max_steps=5) in_france_wkd = c.satisfy(TRAVERSIBLE_COUNTRY, [FRANCE]) in_france = logical_ors([in_france_wkd,years_in_france]) in_georgia = c.satisfy(TRAVERSIBLE_COUNTRY, [GEORGIA]) years_in_germany = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Years in Germany")], max_steps=5) nazis = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Nazis")], max_steps=5) german_nobility = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:German nobility")], max_steps=7) in_germany_wkd = c.satisfy(TRAVERSIBLE_COUNTRY, [GERMANY, GERMANY_NAZI, GERMAN_EMPIRE, GERMAN_CONFEDERATION, EAST_GERMANY]) in_germany = logical_ors([in_germany_wkd, years_in_germany, nazis, german_nobility]) years_in_greece = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Years in Greece")], max_steps=5) ancient_greeks = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Ancient Greeks")], max_steps=7) greek_people = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Greek people by occupation")], max_steps=7) in_greece_wkd = c.satisfy(TRAVERSIBLE_COUNTRY, [GREECE]) in_greece = logical_ors([in_greece_wkd,years_in_greece, ancient_greeks, greek_people]) in_hungary = c.satisfy(TRAVERSIBLE_COUNTRY, [HUNGARY]) in_iceland = c.satisfy(TRAVERSIBLE_COUNTRY, [ICELAND]) in_ireland = c.satisfy(TRAVERSIBLE_COUNTRY, [IRELAND]) in_italy_wkd = c.satisfy(TRAVERSIBLE_COUNTRY, [ITALY,NATIONAL_FASCIST_PARTY, KINGDOM_OF_ITALY, ROMAN_EMPIRE, ANCIENT_ROME]) is_italian_politician = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Italian politicians")], max_steps=6) in_roman_empire = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Roman Empire")], max_steps=6) in_history_of_italy = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:History of Italy by region")], max_steps=6) italian_people = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Italian people by occupation")], max_steps=6) ancient_romans = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Ancient Romans")], max_steps=8) in_italy = logical_ors([in_italy_wkd, in_roman_empire, in_history_of_italy, is_italian_politician, italian_people, ancient_romans]) in_kazakhstan = c.satisfy(TRAVERSIBLE_COUNTRY, [KAZAKHSTAN]) in_kosovo = c.satisfy(TRAVERSIBLE_COUNTRY, [KOSOVO]) in_latvia = c.satisfy(TRAVERSIBLE_COUNTRY, [LATVIA]) in_liectenstein = c.satisfy(TRAVERSIBLE_COUNTRY, [LIECHTENSTEIN]) in_lithuania = c.satisfy(TRAVERSIBLE_COUNTRY, [LITHUANIA]) in_luxembourg = c.satisfy(TRAVERSIBLE_COUNTRY, [LUXEMBOURG]) in_macedonia = c.satisfy(TRAVERSIBLE_COUNTRY, [MACEDONIA]) in_malta = c.satisfy(TRAVERSIBLE_COUNTRY, [MALTA]) in_moldova = c.satisfy(TRAVERSIBLE_COUNTRY, [MOLDOVA]) in_monaco = c.satisfy(TRAVERSIBLE_COUNTRY, [MONACO]) in_montenegro = c.satisfy(TRAVERSIBLE_COUNTRY, [MONTENEGRO]) in_netherlands_wkd = c.satisfy(TRAVERSIBLE_COUNTRY, [NETHERLANDS, KINGDOM_OF_NETHERLANDS, SOUTHERN_NETHERLANDS]) dutch_people = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Dutch people by occupation")], max_steps=5) in_netherlands = logical_ors([in_netherlands_wkd, dutch_people]) in_norway = c.satisfy(TRAVERSIBLE_COUNTRY, [NORWAY]) in_poland = c.satisfy(TRAVERSIBLE_COUNTRY, [POLAND]) in_portugal = c.satisfy(TRAVERSIBLE_COUNTRY, [PORTUGAL]) in_romania = c.satisfy(TRAVERSIBLE_COUNTRY, [ROMANIA]) russian_people = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Russian people by occupation")], max_steps=7) sport_in_the_soviet_union = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Sport in the Soviet Union")], max_steps=7) in_russia_wkd = c.satisfy(TRAVERSIBLE_COUNTRY, [RUSSIA, RUSSIAN_EMPIRE, SOVIET_UNION]) in_russia = logical_ors([in_russia_wkd, russian_people, sport_in_the_soviet_union]) in_san_marino = c.satisfy(TRAVERSIBLE_COUNTRY, [SAN_MARINO]) in_serbia = c.satisfy(TRAVERSIBLE_COUNTRY, [SERBIA, YOUGOSLAVIA]) in_slovakia = c.satisfy(TRAVERSIBLE_COUNTRY, [SLOVAKIA]) in_slovenia = c.satisfy(TRAVERSIBLE_COUNTRY, [SLOVENIA]) years_in_spain = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Years in Spain")], max_steps=5) in_spain_wkd = c.satisfy(TRAVERSIBLE_COUNTRY, [SPAIN, KINGDOM_OF_CASTILLE]) in_spain = logical_ors([in_spain_wkd, years_in_spain]) years_in_sweden = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Years in Sweden")], max_steps=5) in_sweden_wkd = c.satisfy(TRAVERSIBLE_COUNTRY, [SWEDEN]) in_sweden = logical_ors([in_sweden_wkd, years_in_sweden]) years_in_switzerland = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Years in Switzerland")], max_steps=5) in_switzerland_wkd = c.satisfy(TRAVERSIBLE_COUNTRY, [SWITZERLAND]) in_switzerland = logical_ors([in_switzerland_wkd, years_in_switzerland ]) in_turkey = c.satisfy(TRAVERSIBLE_COUNTRY, [TURKEY, OTTOMAN_EMPIRE]) in_ukraine = c.satisfy(TRAVERSIBLE_COUNTRY, [UKRAINE]) in_united_kingdom = c.satisfy(TRAVERSIBLE_COUNTRY, [UNITED_KINGDOM, UNITED_KINGDOM_OLD, KINGDOM_OF_ENGLAND, KINGDOM_OF_GREAT_BRITAIN]) popes = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Popes")], max_steps=5) in_vatican_wkd = c.satisfy(TRAVERSIBLE_COUNTRY, [VATICAN_CITY]) in_vatican = logical_ors([popes, in_vatican_wkd]) print("Artic and others") ARCTIC = wkd(c,"Q25322") INUIT = wkd(c,"Q189975") FAROE_ISLANDS = wkd(c,"Q4628") TONGA = wkd(c,"Q678") in_faroe_islands_wkp = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Faroe Islands")], max_steps=5) in_faroe_islands_wkd = c.satisfy(TRAVERSIBLE_COUNTRY, [FAROE_ISLANDS]) in_faroe_islands = logical_ors([in_faroe_islands_wkp, in_faroe_islands_wkd]) in_arctic = c.satisfy(TRAVERSIBLE_COUNTRY, [ARCTIC,INUIT]) in_tonga_wkd = c.satisfy(TRAVERSIBLE_COUNTRY, [TONGA]) in_tonga_wkp = c.satisfy([wprop.CATEGORY_LINK], [wkp(c, "Category:Tonga")], max_steps=5) in_tonga = logical_ors([in_tonga_wkd,in_tonga_wkp]) is_unlocated = logical_ors([is_Wiki_Links,is_taxon]) is_unlocated_not = logical_negate(is_unlocated,[is_populated_place, is_in_outer_space_not_earth,in_tanzania]) is_unlocated_only = logical_ors([is_unlocated_not,is_other]) COUNTRIES = [ALGERIA, ANGOLA, BENIN, BOTSWANA, BURKINA_FASO, BURUNDI, CAPE_VERDE, CAMEROON, CHAD, CENTRAL_AFRICAN_REPUBLIC, COMOROS, DEMOCRATIC_REPUBLIC_OF_CONGO, REPUBLIC_OF_CONGO, DJIBOUTI, EGYPT, EQUATORIAL_GUINEA, ERITREA, ETHIOPIA, GABON, THE_GAMBIA, GHANA, GUINEA, GUINEA_BISSAU, IVORY_COAST, LESOTHO, KENYA, LIBERIA, LIBYA, MADAGASCAR, MALAWI, MALI, MAURITANIA,MAURITIUS, MOROCCO, MOZAMBIQUE, NAMIBIA, NIGER, NIGERIA, RWANDA,SAHARI_ARAB_DEOMOCRATIC_REPUBLIC, SAO_TOME_AND_PRINCIPE, SENEGAL, SEYCHELLES, SIERRA_LEONE, SOMALIA, SOMALI_LAND, SOUTH_AFRICA, SUDAN, TANZANIA, TOGO, TUNISIA, UGANDA, WESTERN_SAHARA, ZAMBIA, ZIMBABWE, AUSTRALIA, FIJI,INDONESIA,KIRIBATI, MARSHALL_ISLANDS, FEDERATED_STATES_OF_MICRONESIA, NAURU, NEW_ZEALAND, PAPUA_NEW_GUINEA, SAMOA, SOLOMON_ISLANDS, VANUATU, ARGENTINA, BOLIVIA, BRAZIL, CHILE, COLOMBIA, ECUADOR, GUYANA, PARAGUAY, PERU, SURINAME, TRINIDAD_AND_TOBAGO, URUGUAY, VENEZUELA, BELIZE, COSTA_RICA,EL_SALVADOR, GUATEMALA, HONDURAS, NICARAGUA, PANAMA, ANTIGUA_BARBUDA, BAHAMAS, BARBADOS, CANADA, CUBA, DOMINICAN_REPUBLIC, GRENADA, GUATEMALA, HAITI, JAMAICA, MEXICO, SAINT_KITTS_AND_NEVIS, SAINT_LUCIA, SAINT_VINCENT_AND_GRENADINES, UNITED_STATES, ALBANIA, ANDORRA, ARMENIA, AUSTRIA, AUSTRIA_HUNGARY, AZERBAIJAN, BELARUS, BELGIUM, BOSNIA, BULGARIA, CROATIA, CYPRUS, CZECH_REPUBLIC, CZECHOSLOVAKIA, DENMARK, ESTONIA, FINLAND, FRANCE, GEORGIA, GERMANY, GERMANY_NAZI, GREECE, HUNGARY, ICELAND, IRELAND, ITALY, NATIONAL_FASCIST_PARTY, KINGDOM_OF_ITALY, ROMAN_EMPIRE, KAZAKHSTAN, KOSOVO, LATVIA, LIECHTENSTEIN, LITHUANIA, LUXEMBOURG, MACEDONIA, MALTA, MOLDOVA, MONACO, MONTENEGRO, NORWAY, NETHERLANDS, KINGDOM_OF_NETHERLANDS, SOUTHERN_NETHERLANDS, POLAND, PORTUGAL, ROMANIA, RUSSIA, RUSSIAN_EMPIRE, SOVIET_UNION, SAN_MARINO, SERBIA, YOUGOSLAVIA, SLOVAKIA, SLOVENIA, SPAIN, SWEDEN, SWITZERLAND, TURKEY, OTTOMAN_EMPIRE, UKRAINE, UNITED_KINGDOM, UNITED_KINGDOM_OLD, KINGDOM_OF_ENGLAND, KINGDOM_OF_GREAT_BRITAIN, AFGHANISTAN, BANGLADESH, BRUNEI, CAMBODIA, CHINA, CYPRUS, EAST_TIMOR, EGYPT, GEORGIA, INDIA, INDONESIA, IRAN, IRAQ, ISRAEL, JAPAN, KAZAKHSTAN, KUWAIT, KYRGYZSTAN, LAOS, LEBANON, MALAYSIA, MALDIVES, MONGOLIA, MYANMAR, NEPAL, NORTH_KOREA, OMAN, PALESTINE, PAKISTAN, PHILIPPINES, QATAR, SAUDI_ARABIA, SINGAPORE, SOUTH_KOREA, SRI_LANKA, SYRIA, TAJIKISTAN, TAIWAN, THAILAND, TURKMENISTAN, UNITED_ARAB_EMIRATES, UZBEKISTAN, VIETNAM, YEMEN, VATICAN_CITY, ARCTIC, FAROE_ISLANDS, TONGA ] located_somewhere_wkd = c.satisfy([wprop.COUNTRY_OF_CITIZENSHIP, wprop.COUNTRY], COUNTRIES) located_somewhere = logical_ors([ located_somewhere_wkd, in_austria, in_afghanistan, in_china, in_france, in_sweden, in_china, in_switzerland, in_germany, years_in_usa, in_greece, in_south_korea, in_italy, in_denmark, in_spain, in_iraq, in_egypt, in_vatican, in_canada, in_faroe_islands, in_netherlands, in_russia, in_samoa, in_syria, in_tonga, in_zambia ]) is_unlocated_politician = logical_negate(is_politician,[located_somewhere]) is_unlocated_painter = logical_negate(is_painter, [located_somewhere]) is_unlocated_association_football_player = logical_negate(is_association_football_player, [located_somewhere]) return { "Algeria": in_algeria, "Angola": in_angola, "Benin": in_benin, "BOSTWANA": in_botswana, "BURKINA_FASO": in_burkina_faso, "BURUNDI": in_burundi, "CAPE_VERDE": in_cape_verde, "CAMEROON": in_cameroon, "CHAD": in_chad, "CENTRAL AFRICAN REPUBLIC": in_central_african_republic, "COMOROS": in_comoros, "DEMOCRATIC_REPUBLIC_OF_CONGO": in_democratic_republic_congo, "REPUBLIC_OF_CONGO": in_republic_of_congo, "DJIBOUTI": in_djibouti, "EGYPT": in_egypt, "EQUATORIAL_GUINEA": in_equatorial_guinea, "ERITREA": in_eritrea, "ETHIOPIA": in_ethiopia, "GABON": in_gabon, "THE_GAMBIA": in_the_gambia, "GHANA": in_ghana, "GUINEA": in_guinea, "GUINEA_BISSAU": in_guinea_bissau, "IVORY_COAST": in_ivory_coast, "LESOTHO": in_lesotho, "KENYA": in_kenya, "LIBERIA": in_liberia, "LIBYA": in_libya, "Madagascar": in_madagascar, "Malawi": in_malawi, "Mali": in_mali, "Mauritania": in_mauritania, "Mauritius": in_mauritius, "Morocco": in_morrocco, "Mozambique": in_mozambique, "Namibia": in_namibia, "Niger": in_niger, "Nigeria": in_nigeria, "Rwanda": in_rwanda, "Sahrawi_Arab_Democratic_Republic": in_sadr, "Sao_Tome_and_Principe": in_stap, "Senegal": in_senegal, "Seychelles": in_seychelles, "Sierra_Leone": in_sierra_leone, "Somalia": in_somalia, "Somaliland‎": in_somali_land, "South_Africa‎": in_south_africa, "South_Sudan‎": in_ssudan, "Sudan": in_sudan, "SWAZILAND": in_swaziland, "TANZANIA": in_tanzania, "TOGO": in_togo, "TUNISIA": in_tunisia, "Uganda": in_uganda, "Western Sahara": in_western_sahara, "Zambia": in_zambia, "Zimbabwe": in_zimbabwe, "AUSTRALIA": in_australia, "FIJI": in_fiji, "INDONESIA": in_indonesia, "KIRIBATI": in_kiribati, "MARSHALL_ISLANDS": in_marshall_islands, "FEDERATED_STATES_OF_MICRONESIA": in_federates_states_of_micronesia, "NAURU": in_nauru, "NEW_ZEALAND": in_new_zealand, "PAPUA_NEW_GUINEA": in_papua_new_guinea, "SAMOA": in_samoa, "SOLOMON_ISLANDS": in_solomon_islands, "VANUATU": in_vanuatu, "ARGENTINA": in_argentina, "BOLIVIA": in_bolivia, "BRAZIL": in_brazil, "CHILE": in_chile, "COLOMBIA": in_colombia, "ECUADOR": in_ecuador, "GUYANA": in_guyana, "PARAGUAY": in_paraguay, "PERU": in_peru, "SURINAME": in_suriname, "TRINIDAD_AND_TOBAGO": in_trinidad_and_tobago, "URUGUAY": in_uruguay, "VENEZUELA": in_venezuela, "BELIZE": in_belize, "COSTA_RICA": in_costa_rica, "EL_SALVADOR": in_el_salvador, "GUATEMALA": in_guatemala, "HONDURAS": in_honduras, "NICARAGUA": in_nicaragua, "PANAMA": in_panama, "ANTIGUA_BARBUDA": in_antigua_barbuda, "BAHAMAS": in_bahamas, "BARBADOS": in_barbados, "CANADA": in_canada, "CUBA": in_cuba, "DOMINICAN REPUBLIC": in_dominican_republic, "GRENADA": in_grenada, "GUATEMALA": in_guatemala, "HAITI": in_haiti, "JAMAICA": in_jamaica, "MEXICO": in_mexico, "SAINT_KITTS_AND_NEVIS": in_Saint_Kitts_and_Nevis, "SAINT_LUCIA": in_saint_lucia, "SAINT_VINCENT_AND_GRENADINES": in_saint_vincent_and_grenadines, "UNITED_STATES": in_united_states, "ALBANIA": in_albania, "ANDORRA": in_andorra, "ARMENIA": in_armenia, "AUSTRIA": in_austria, "AZERBAIJAN": in_azerbaijan, "BELARUS": in_belarus, "BELGIUM": in_belgium, "BOSNIA": in_bosnia, "BULGARIA": in_bulgaria, "CROATIA": in_croatia, "CYPRUS": in_cyprus, "CZECH REPUBLIC": in_czech_republic, "DENMARK": in_denmark, "ESTONIA": in_estonia, "FINLAND": in_finland, "FRANCE": in_france, "GEORGIA": in_georgia, "GERMANY": in_germany, "GREECE": in_greece, "HUNGARY": in_hungary, "ICELAND": in_iceland, "IRELAND": in_ireland, "ITALY": in_italy, "KAZAKHSTAN": in_kazakhstan, "KOSOVO": in_kosovo, "LATVIA": in_latvia, "LIECHTENSTEIN": in_liectenstein, "LITHUANIA": in_lithuania, "LUXEMBOURG": in_luxembourg, "MACEDONIA": in_macedonia, "MALTA": in_malta, "MOLDOVA": in_moldova, "MONACO": in_monaco, "MONTENEGRO": in_montenegro, "NORWAY": in_norway, "NETHERLANDS": in_netherlands, "POLAND": in_poland, "PORTUGAL": in_portugal, "ROMANIA": in_romania, "RUSSIA": in_russia, "SAN MARINO": in_san_marino, "SERBIA": in_serbia, "SLOVAKIA": in_slovakia, "SLOVENIA": in_slovenia, "SPAIN": in_spain, "SWEDEN": in_sweden, "SWITZERLAND": in_switzerland, "TURKEY": in_turkey, "UKRAINE": in_ukraine, "UNITED KINGDOM": in_united_kingdom, "AFGHANISTAN": in_afghanistan, "BANGLADESH": in_bangladesh, "BHUTAN": in_bhutan, "BRUNEI": in_brunei, "CAMBODIA": in_cambodia, "CHINA": in_china, "CYPRUS": in_cyprus, "EAST TIMOR": in_east_timor, "EGYPT": in_egypt, "GEORGIA": in_georgia, "INDIA": in_india, "INDONESIA": in_indonesia, "IRAN": in_iran, "IRAQ": in_iraq, "ISRAEL": in_israel, "JAPAN": in_japan, "JORDAN": in_jordan, "KAZAKHSTAN": in_kazakhstan, "KUWAIT": in_kuwait, "KYRGYZSTAN": in_kyrgyzstan, "LAOS": in_laos, "LEBANON": in_lebanon, "MALAYSIA": in_malaysia, "MALDIVES": in_maldives, "MONGOLIA": in_mongolia, "MYANMAR": in_myanmar, "NEPAL": in_nepal, "NORTH_KOREA": in_north_korea, "OMAN": in_oman, "PALESTINE": in_palestine, "PAKISTAN": in_pakistan, "PHILIPPINES": in_philippines, "QATAR": in_qatar, "SAUDI_ARABIA": in_saudi_arabia, "SINGAPORE": in_singapore, "SOUTH_KOREA": in_south_korea, "SRI LANKA": in_sri_lanka, "SYRIA": in_syria, "TAJIKISTAN": in_tajikistan, "TAIWAN": in_taiwan, "THAILAND": in_thailand, "TURKMENISTAN": in_turkmenistan, "UNITED_ARAB_EMIRATES": in_united_arab_emirates, "UZBEKISTAN": in_uzbekistan, "VIETNAM": in_vietnam, "YEMEN": in_yemen, "OUTERSPACE": is_in_outer_space_not_earth, "ARCTIC": in_arctic, "FAROE_ISLANDS": in_faroe_islands, "TONGA": in_tonga, "UNLOCATED": is_unlocated_only, "USA_ROADS": in_usa_roads, "POLITICIAN": is_politician, "UNLOCATED_POLITICIAN": is_unlocated_politician, "UNLOCATED_PAINTER": is_unlocated_painter, "UNLOCATED_ASSOCIATION_FOOTBALL_PLAYER": is_unlocated_association_football_player }