Ask 1.0 released!

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.

Posted in Uncategorized
0 comments on “Ask 1.0 released!
1 Pings/Trackbacks for "Ask 1.0 released!"
  1. […] A lot of them are currently used by the ParamProcessor library, which in turn is used by Maps and Semantic MediaWiki. This means you will be making use of these new libraries when installing Maps 3.0 or SMW 1.9, once these are released that is. Another user of the library is the new implementation of the Ask query language. […]

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">