{"id":1147,"date":"2013-11-17T22:04:43","date_gmt":"2013-11-17T21:04:43","guid":{"rendered":"https:\/\/www.entropywins.wtf\/blog\/?p=1147"},"modified":"2014-03-17T23:27:06","modified_gmt":"2014-03-17T22:27:06","slug":"ask-1-0-released","status":"publish","type":"post","link":"https:\/\/www.entropywins.wtf\/blog\/2013\/11\/17\/ask-1-0-released\/","title":{"rendered":"Ask 1.0 released!"},"content":{"rendered":"<div id=\"pN7RmhDXItdrT10z52+dK7YPKS3O1B0IIL9sfNM3k3w=_142686b101c:19f829d:a6030015_entryContent\" itemprop=\"description\">\n<p>I\u2019m very happy to announce the first release of the Ask library.<\/p>\n<p>The Ask library is a fresh PHP implementation of the Ask query language. This is the <a href=\"https:\/\/semantic-mediawiki.org\/wiki\/Ask\" target=\"_blank\">query language used by Semantic MediaWiki<\/a>.<\/p>\n<p>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 \u201clegacy code\u201d category, we decided to create a fresh implementation. And so the Ask library was born.<\/p>\n<p>The new library is superior to the Ask language implementation used by SMW in several ways:<\/p>\n<ul>\n<li>It is fully unit tested<\/li>\n<li>All responsibilities have been cleanly separated<\/li>\n<li>Dependencies have been minimized.\u00a0(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.<\/li>\n<li>It has <a href=\"https:\/\/github.com\/wmde\/Ask\/blob\/master\/README.md#structure\" target=\"_blank\">comprehensive high level documentation<\/a><\/li>\n<li>The code is cleaner in many other regards<\/li>\n<li>It can be <a href=\"https:\/\/github.com\/wmde\/Ask\/blob\/master\/README.md#installation\" target=\"_blank\">installed via Composer<\/a><\/li>\n<\/ul>\n<p>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\/<\/p>\n<p>For more details on the Ask library, see <a href=\"https:\/\/github.com\/wmde\/Ask\/blob\/master\/README.md\" target=\"_blank\">the README file<\/a>.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>I\u2019m very happy to announce the first release of the Ask library. The Ask library is a fresh PHP implementation&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[1],"tags":[],"class_list":["post-1147","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Ask 1.0 released! - Blog of Jeroen De Dauw<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.entropywins.wtf\/blog\/2013\/11\/17\/ask-1-0-released\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ask 1.0 released! - Blog of Jeroen De Dauw\" \/>\n<meta property=\"og:description\" content=\"I\u2019m very happy to announce the first release of the Ask library. The Ask library is a fresh PHP implementation&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.entropywins.wtf\/blog\/2013\/11\/17\/ask-1-0-released\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog of Jeroen De Dauw\" \/>\n<meta property=\"article:published_time\" content=\"2013-11-17T21:04:43+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2014-03-17T22:27:06+00:00\" \/>\n<meta name=\"author\" content=\"Jeroen\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/JeroenDeDauw\" \/>\n<meta name=\"twitter:site\" content=\"@JeroenDeDauw\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeroen\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2013\\\/11\\\/17\\\/ask-1-0-released\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2013\\\/11\\\/17\\\/ask-1-0-released\\\/\"},\"author\":{\"name\":\"Jeroen\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#\\\/schema\\\/person\\\/4e2ef14f2ca7dc3a0ac137d1692b66b7\"},\"headline\":\"Ask 1.0 released!\",\"datePublished\":\"2013-11-17T21:04:43+00:00\",\"dateModified\":\"2014-03-17T22:27:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2013\\\/11\\\/17\\\/ask-1-0-released\\\/\"},\"wordCount\":232,\"commentCount\":3,\"publisher\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#\\\/schema\\\/person\\\/4e2ef14f2ca7dc3a0ac137d1692b66b7\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2013\\\/11\\\/17\\\/ask-1-0-released\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2013\\\/11\\\/17\\\/ask-1-0-released\\\/\",\"url\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2013\\\/11\\\/17\\\/ask-1-0-released\\\/\",\"name\":\"Ask 1.0 released! - Blog of Jeroen De Dauw\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#website\"},\"datePublished\":\"2013-11-17T21:04:43+00:00\",\"dateModified\":\"2014-03-17T22:27:06+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2013\\\/11\\\/17\\\/ask-1-0-released\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2013\\\/11\\\/17\\\/ask-1-0-released\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2013\\\/11\\\/17\\\/ask-1-0-released\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ask 1.0 released!\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/\",\"name\":\"Entropy Wins\",\"description\":\"A blog on Software Architecture, Design and Craftsmanship\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#\\\/schema\\\/person\\\/4e2ef14f2ca7dc3a0ac137d1692b66b7\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#\\\/schema\\\/person\\\/4e2ef14f2ca7dc3a0ac137d1692b66b7\",\"name\":\"Jeroen\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g\",\"caption\":\"Jeroen\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/jeroendedauw\\\/\",\"https:\\\/\\\/x.com\\\/https:\\\/\\\/twitter.com\\\/JeroenDeDauw\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Ask 1.0 released! - Blog of Jeroen De Dauw","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.entropywins.wtf\/blog\/2013\/11\/17\/ask-1-0-released\/","og_locale":"en_US","og_type":"article","og_title":"Ask 1.0 released! - Blog of Jeroen De Dauw","og_description":"I\u2019m very happy to announce the first release of the Ask library. The Ask library is a fresh PHP implementation&hellip;","og_url":"https:\/\/www.entropywins.wtf\/blog\/2013\/11\/17\/ask-1-0-released\/","og_site_name":"Blog of Jeroen De Dauw","article_published_time":"2013-11-17T21:04:43+00:00","article_modified_time":"2014-03-17T22:27:06+00:00","author":"Jeroen","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/JeroenDeDauw","twitter_site":"@JeroenDeDauw","twitter_misc":{"Written by":"Jeroen","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.entropywins.wtf\/blog\/2013\/11\/17\/ask-1-0-released\/#article","isPartOf":{"@id":"https:\/\/www.entropywins.wtf\/blog\/2013\/11\/17\/ask-1-0-released\/"},"author":{"name":"Jeroen","@id":"https:\/\/www.entropywins.wtf\/blog\/#\/schema\/person\/4e2ef14f2ca7dc3a0ac137d1692b66b7"},"headline":"Ask 1.0 released!","datePublished":"2013-11-17T21:04:43+00:00","dateModified":"2014-03-17T22:27:06+00:00","mainEntityOfPage":{"@id":"https:\/\/www.entropywins.wtf\/blog\/2013\/11\/17\/ask-1-0-released\/"},"wordCount":232,"commentCount":3,"publisher":{"@id":"https:\/\/www.entropywins.wtf\/blog\/#\/schema\/person\/4e2ef14f2ca7dc3a0ac137d1692b66b7"},"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.entropywins.wtf\/blog\/2013\/11\/17\/ask-1-0-released\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.entropywins.wtf\/blog\/2013\/11\/17\/ask-1-0-released\/","url":"https:\/\/www.entropywins.wtf\/blog\/2013\/11\/17\/ask-1-0-released\/","name":"Ask 1.0 released! - Blog of Jeroen De Dauw","isPartOf":{"@id":"https:\/\/www.entropywins.wtf\/blog\/#website"},"datePublished":"2013-11-17T21:04:43+00:00","dateModified":"2014-03-17T22:27:06+00:00","breadcrumb":{"@id":"https:\/\/www.entropywins.wtf\/blog\/2013\/11\/17\/ask-1-0-released\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.entropywins.wtf\/blog\/2013\/11\/17\/ask-1-0-released\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.entropywins.wtf\/blog\/2013\/11\/17\/ask-1-0-released\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.entropywins.wtf\/blog\/"},{"@type":"ListItem","position":2,"name":"Ask 1.0 released!"}]},{"@type":"WebSite","@id":"https:\/\/www.entropywins.wtf\/blog\/#website","url":"https:\/\/www.entropywins.wtf\/blog\/","name":"Entropy Wins","description":"A blog on Software Architecture, Design and Craftsmanship","publisher":{"@id":"https:\/\/www.entropywins.wtf\/blog\/#\/schema\/person\/4e2ef14f2ca7dc3a0ac137d1692b66b7"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.entropywins.wtf\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.entropywins.wtf\/blog\/#\/schema\/person\/4e2ef14f2ca7dc3a0ac137d1692b66b7","name":"Jeroen","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g","caption":"Jeroen"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g"},"sameAs":["https:\/\/www.linkedin.com\/in\/jeroendedauw\/","https:\/\/x.com\/https:\/\/twitter.com\/JeroenDeDauw"]}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p74TBF-iv","jetpack-related-posts":[{"id":1337,"url":"https:\/\/www.entropywins.wtf\/blog\/2014\/05\/06\/the-wikidata-phase3-software-components\/","url_meta":{"origin":1147,"position":0},"title":"The Wikidata phase3 software components","author":"Jeroen","date":"2014-05-06","format":false,"excerpt":"Work on the long awaited query functionality for the Wikidata project has already happened during a period of several months. Since queries are a completely disjoint feature set from the existing functionality, we decided to put it into a new component part of the Wikibase software. This component is called\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/www.entropywins.wtf\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1109,"url":"https:\/\/www.entropywins.wtf\/blog\/2011\/05\/30\/new-mediawiki-extension-spark\/","url_meta":{"origin":1147,"position":1},"title":"New MediaWiki extension: Spark","author":"Jeroen","date":"2011-05-30","format":false,"excerpt":"Yesterday I quickly wrote up a simple (but awesome) MediaWiki extension that allows you to make use of the Spark library in your wiki. Spark as described on the Spark website: The web is not only growing in sheer size, but it also grows in how much it is interconnected.\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/www.entropywins.wtf\/blog\/category\/programming\/"},"img":{"alt_text":"Spark logo","src":"https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2011\/05\/spark-logo.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":1151,"url":"https:\/\/www.entropywins.wtf\/blog\/2013\/11\/24\/datavalues-library\/","url_meta":{"origin":1147,"position":2},"title":"DataValues library","author":"Jeroen","date":"2013-11-24","format":false,"excerpt":"Last week I released the first version of the DataValues library. This blog post serves as an introduction to that library, explaining the motivations behind it, and providing a historical context. (Originally posted on November 24, 2013) A bit over a year ago, I wrote down a basic strategic outline\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/www.entropywins.wtf\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1230,"url":"https:\/\/www.entropywins.wtf\/blog\/2011\/07\/30\/semantic-mediawiki-1-6-released\/","url_meta":{"origin":1147,"position":3},"title":"Semantic MediaWiki 1.6 released!","author":"Jeroen","date":"2011-07-30","format":false,"excerpt":"That\u2019s right, the next big release of Semantic MediaWiki is finally here! A little over a year and six minor releases after SMW 1.5. And a big release it is, packing my improvements and several new features. It has been in the making over the past four months and contains\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1224,"url":"https:\/\/www.entropywins.wtf\/blog\/2011\/06\/12\/semantic-mediawiki-update-2\/","url_meta":{"origin":1147,"position":4},"title":"Semantic MediaWiki update","author":"Jeroen","date":"2011-06-12","format":false,"excerpt":"It\u2019s been a while since I posted an update on Semantic MediaWiki and extensions in general, and my work specifically. This is due to a pile of work that has been done on different components, each of which I\u2019ll address at the point it\u2019s released.\u00a0 In this blog post I\u2019ll\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"Semantic MediaWiki logo","src":"https:\/\/i0.wp.com\/web.archive.org\/web\/20121017230724im_\/https%3A\/\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/12\/SMW_logo_260.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":486,"url":"https:\/\/www.entropywins.wtf\/blog\/2009\/10\/16\/result-format-aliases-for-smw\/","url_meta":{"origin":1147,"position":5},"title":"Result format aliases for SMW","author":"Jeroen","date":"2009-10-16","format":false,"excerpt":"Today I've wrote a small change to Semantic MediaWiki that adds aliasing supports to it's result formats. I've been working (mainly theorizing) on this for quite a while, and came up with some rather complex solutions, that where not feasible since they required PHP 5.3. The implementation I ended up\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/www.entropywins.wtf\/blog\/category\/programming\/"},"img":{"alt_text":"Semantic result formats displayed on a special:ask page","src":"https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2009\/10\/askFormats.gif?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/posts\/1147","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/comments?post=1147"}],"version-history":[{"count":3,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/posts\/1147\/revisions"}],"predecessor-version":[{"id":1264,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/posts\/1147\/revisions\/1264"}],"wp:attachment":[{"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/media?parent=1147"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/categories?post=1147"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/tags?post=1147"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}