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();
}
}
}