I’m very happy to announce the first release of the Ask library.
The Ask library is a fresh PHP implementation of the Ask query language. This is the query language used by Semantic MediaWiki.
At the Wikidata project we aim to provide similar query functionality in our Wikibase software, and decided we could reuse SMWs Ask language, at least conceptually. As the implementation of the Ask language in SMW falls, like your typical MediaWiki code, into the “legacy code” category, we decided to create a fresh implementation. And so the Ask library was born.
The new library is superior to the Ask language implementation used by SMW in several ways:
- It is fully unit tested
- All responsibilities have been cleanly separated
- Dependencies have been minimized. (As a result of the above point.) The Ask library does not depend on MediaWiki and can be used by any PHP 5.3 project.
- It has comprehensive high level documentation
- The code is cleaner in many other regards
- It can be installed via Composer
As this fresh implementation is conceptually very similar to the one used by SMW, it will be feasible for SMW to switch to the new one, and essentially get a big clean up for free. Another thing we then get for free is additional interoperability between SMW and Wikibase \o/
For more details on the Ask library, see the README file.