package mediawiki.task; import java.util.List; import mediawiki.WikidataQuery; import mediawiki.MediaWikiConnection; import mediawiki.MediaWikiTask; import mediawiki.info.wikibase.Claim; import static mediawiki.MediaWikiUtil.addClaim; public class AdministrativeDivisionTask extends MediaWikiTask { public AdministrativeDivisionTask(MediaWikiConnection con) { super(con); } @Override public void run() { System.out.println("load country matrix"); WikidataQuery countries = new WikidataQuery("CLAIM[297]"); try { List<Integer> c = countries.request(); for(Integer i : c){ WikidataQuery places = new WikidataQuery("CLAIM[131:(TREE["+i+"][][131])] AND NOCLAIM[17]"); for(Integer p : places.request()){ addClaim(getConnection(), "Q"+p, new Claim(17,i), null, "based on [[Property:P131]]"); } } } catch (Exception e) { e.printStackTrace(); } } }