Semantic MediaWiki automation

Semantic MediaWiki automation


Job Description

We are an educational non-profit organization. We have one of the largest Semantic MediaWiki (SMW) systems in the world. It uses Semantic Forms for data entry. Some of that data entry could be automated. Pywikipediabot (python) is probably what will be best suited for the actual data entry, but we will consider other options you suggest. In this job, your first goal is to perform automated data entry from text file sources.

Our existing code is thoroughly commented. We expect your code to be thoroughly commented also. We may choose to release the code under an open source license.

When the introductory goals of this job are successfully achieved, and wer'e happy with your fit with us, we may expand your role to doing more diverse automated data entry and verification, from a wide variety of data sources, including images, barcodes, web sites, etc. Capturing data from other sources may require assistance from other experts, if you do not have the skills to do all of that, so your focus will remain with getting the data entered once it has been processed into a digestible form.

Required skills:

* Python
* Pywikipediabot
* Copious commenting of source code

Preferred skills:

To fully realize the power of automated data entry, the wiki's templates may need to be improved in various ways. That will require high level skill in MW + SMW template programming, but we have an overburdened staff member that can help you with some of that, as long as you have enough experience to be prepared to handle advanced-level template programming that involves SMW querying and advanced features of Semantic Forms.

* Advanced MediaWiki template programming experience
* Advanced SMW experience
* Advanced Semantic Forms experience
* Ability to assist in upgrades to MediaWiki, SMW, and other extensions, resolving bugs and incompatibilitiies, etc.

Helpful skills:

* MediaWiki extension development
* Experience with simpler forms of automation, like Jitbit Macro Recorder or Actionaz
* Experience with web scraping
* Lua

When applying for this job, please attempt to answer these questions (they are not required):

1. What is the difference between an ordinary MediaWiki page with templates and a Special:RunQuery result page?
2. What happens when a MediaWiki template is modified, if it is used on a large number of pages?