ontologies

2026 - Week 9

Having slipped on his driving shoes and donned a pair of string-backed gloves [1], Developer Jon is firmly back behind the wheel, gears grinding as he attempts to pull new, old Parliamentary Search out of first. Work to date has been mainly focussed on consolidation, attempting to get things back to where they where when his last contract expired. To that end, Ruby has now been upgraded, Rails has been upgraded, and the many and varied dependencies have been upgraded likewise. It being quite remarkable how quickly software rots when left unattended.

We now have two versions of the application running, one being a production instance and one being a staging environment. Our crack team of librarians continue to pore over the latter, feedback from testing arriving thick and fast. In more exciting news, the production application has finally found a home on the Parliament domain, meaning we now have something to point you at. Which somehow makes it feel more like a more real thing. Rack attack has once more been deployed, ensuring that all access is via Cloudflare and only via Cloudflare. Reassuring given the outright aggression of your modern web crawlers. Please bear in mind, it remains under very active development, a fair number of more advanced features still missing. But please do feel free to click. Just don’t click too hard and do try not to double click. Double clicking could raise all kinds of problems.

At this point - having clicked - our dear reader is probably thinking, my word, it’s changed quite a bit since the last time I saw it. That’s because Jon has also been busy adding the design system Gem that Shedcode James hand-rolled for us some time back. Which means it now comes complete with corporate colours and requisite portcullis. Lovely stuff. If you’re wondering where our list of examples got to, that’s now moved to a new home nestled under meta. Our full suite of meta pages still waiting to be filled out.

Consolidation efforts mostly ticked off, Jon’s now firmly back in the world of feature development, picking up earlier efforts to incorporate taxonomic expansion of search terms. This being a feature that takes what the user types, splits it into a set of tokens, sends the tokens off to our taxonomy service, gets back both identifiers and alternate labels, and sends all of that to our search service. Or at least we think that’s what we think might happen. Possibly. The trouble is, he’s been so long absent that Jon’s quite forgotten what he implemented, no one is too sure what the old implementation was and we’re still not completely sure how we think it should be implemented. But somewhere within that triangle lies enlightenment. We will get there.

Over on our result pages, the session facet now comes with all the correct labels, and - should you click to expand a year - the list of months now only displays those returning results. Which would make sense.

Back behind the scenes, we’re still waiting on the outcome of a report from Security Analyst Sajid to confirm that Jianhan’s Single Triplestore Solution™ [weeknotes passim] does not diverge too greatly from agreed design patterns. A position we hope to get confirmation on next week. At which point, the tunnel Jon’s been building and the tunnel Jianhan’s been building should hopefully meet in the middle. Stranger things have happened.

Psephologising wildly

The biggest news, psephologically speaking is the late breaking addition of the Gorton and Denton by-election to both our election results website and accompanying Datasette. Late breaking because someone at Manchester Council had accidentally entered the turnout in the box marked electorate. A problem that got solved when Librarian Phil typed the magical numbers 0161 into his telephony device and was finally put through to a slightly sleepy operator.

By this point, we had promised to also have all by-elections for Parliament 55 online, but, despite the best efforts of Librarian Anna and Researcher Elliot, that’s proving more difficult than first expected. Local authorities have been contacted and kindly rummaged through their filing cabinets, but, for a handful of elections, an invalid vote count has not been forthcoming. This is something of a problem, because the current implementation of our database offers no way to record when a thing is both unknown and unknowable. So that’s something we need to fix before more progress can be made.

That said, before we can fix that, we have yet another database problem standing in the way. The work we did last year to enable staged publishing of the next general election having been built to a specification that was mostly right, but lacking what one might call nuance. And supporting the next general election probably takes priority over our back catalogue of by-elections. Which probably means our goal of general election / by-election parity will need to take a back seat for a wee while. Not something that does our innate OCD any good at all. A “workshop” has been organised, after which we hope to be back on the right track. Stay tuned.

Sticking with the next general election, efforts to understand the workflow we need to support continue, a straw-man data model providing proof of that. At some point soon, we’re hoping to implement that model - or something a little like it - in Data Graphs, at which point tyre kicking will commence. Before we can get to that bit, we first need to load all the actual election data into Data Graphs, which is now considered close to complete. Data Language Silver continues to work closely with our top-tier development team - or Arthur to his friends - to apply the finishing touches, those touches mainly pertaining to matters of label generation. Naming things never an easy matter.

I am a procedural cartographer - to the tune of the Palace Brothers

Still in the world of Data Graphs, the first round of testing of our putative Procedure Editor replacement has now taken place, and we’re back to finessing the model and reloading the data. Taking the opportunity to rewrite the SQL to better target new property names on route.

It must be admitted that the whole business of replacing Procedure Editor is taking slightly longer than we first anticipated. Still, if a job is worth doing, etc. In the meantime, our existing tool - an ‘interim solution’ that is now nine years old - is not getting any younger. Meaning our Jianhan has had to step in to issue a fix or two. There’s nothing actually wrong with the code as such, just that the volume of data has grown to such an extent that attempting to list it all more frequently results in a timeout than a list. Jianhan’s latest fix suppresses any instrument whose passage through Parliament ended before 2025. Which means the lists no longer time out, but doesn’t bode well should we wish to issue tidies or improvements to data gathered before then. Still, we make the best of the limited tools we’re given.

Having managed to grab some of Jianhan’s all too valuable time, we made the most of it and also asked him to fix our route checking service. This being a bit of code that runs through all the routes to and from all the steps and checks each step has the appropriate number of inbound routes and the appropriate number of outbound routes. A not unimportant service given the complexity of many of our maps. Anyway, that service is now back working, bringing a smile of relief to the face of many a librarian. Thanks Jianhan.

Making the most of our newly refurbished route checking service, Librarians Ayesha and Jayne got stuck back into map making. Meaning our treaty procedure map has gained a new step describing the taking of oral evidence by the Joint Committee on Human Rights. And our proposed negative statutory instrument map has gained a handful of new steps describing the Science, Innovation and Technology Committee taking an interest in such matters and the outcomes resulting from such interest. Splendid.

Should our dear reader have clicked any of the immediately preceding links, we feel sure they’ll now be thinking, wow, that Procedure Browsable Space™ has to be among the finest Procedure Browsable Space’s I’ve ever seen. Dear reader, who are we to correct you? It is a very fine thing, and only getting better. This week sees a couple of new features gain an approval stamp from Librarian Jayne. The first is the flagging of work packages currently before Parliament which have either been brought to the attention of the House by a committee and / or had motions tabled against them. The second is a list of steps in a House with their actualisation count.

If you’re wondering why we haven’t yet done the same for all work packages and all steps in a procedure, that’s because the queries are written but the poor old triplestore runs out of memory before executing them. This, we suspect, because, despite being a youngster in the overall scheme of things, the Data Developers triplestore remains two major version behind what is considered current. Yet another thing that could use the kindly attentions of Jianhan, should he ever get the time.

Sessions return

The long-term reader of these notes - weekly though they may not be - will be well aware of our stuggles with the citation of sessions. This because the citation format is based on one unknowable thing, namely the year in which the current session might end. What had been assumed to be the ‘2024/25’ session suddenly, and without warning, becoming the 2024/26 session. All of which would be fine if that were merely a label somewhere. Unfortunately, it is not just a label somewhere, but forms the bedrock of our URI strategy. And what do cool URIs not do, kids? They don’t change, Sir! Well, quite. Did Tim Berners-Lee die for this? one is forced to ask. Anyway, a whole bunch of remedial work has since happened to paste over this rank stupidity and a card describing that remedial work has made it to the weeknotes pile. Do we have a proper plan to fix in the future? No, we do not. Will we find ourselves typing the same “content” into weeknotes the next time the end year of a session changes? Almost undoubtedly.

On orders being standing

Librarian Emily continues to chip away at tidying House of Commons public standing orders, but has now hit something of a block in the form of a handful of explanatory footnotes that have been scattered around in a fashion that could be described as both willy and nilly. For the moment, we don’t have any mechanism to add these and we won’t have a mechanism until we get more Shedcode James time, and, as of now, we don’t know if we have the money for more James time. So that work is placed on pause.

In the meantime, James has turned his hand to screen scraping, which means our database - if not quite yet our website - now has the lastest set of public standing orders from the House of Lords. Which will also need a tidy at some point. Though that work should be easier, given the House of Lords are less profilgate with both their standing orders and their standing order footnotes. That said, their numbering has been called into question, so that might present a problem at some point. Possibly.

Facts and indeed figures

This week marked yet another librarian powered re-launch of one of the datasets from our Parliamentary Facts and Figures series, this one covering Commons bill committee stages taken by a committee of the whole House. As one might expect from any spreadsheet touched by the tender hands of our crack team of librarians, it now comes with proper column definitions, a plethora of reference data and all the right things in all the right places. Another triumph of care being taken. Applause Librarian Jayne.

Spring cleaning

Perhaps unsurprisingly, a good deal of data tidying has also taken place. The first instance being occasioned by a record deep within the Search and Indexing triplestore suggesting that Baroness Lloyd of Effra was the lead sponsor of the Employment Rights Act 2025 on the 16th September 2025. It was drawn to the attention of the House of Librarians that, whilst the Baroness was indeed appointed to the government on the 11th September of that year, she did not actually take her seat in the Lords until the 13th of October. So could not, in fact, have been a sponsor of any bill 27 days before she arrived. That matter was corrected a while back, the edge case having now made its way into our manual.

Tidying has also taken place in the lead Member field of second reading debate records. Which had, on occasion, featured both the Member opening the debate and the Member responding to the debate. This has also now been fixed, only the opening Member now being recorded and the manual, once more, updated to embrace this new policy. We hope that clears that up.

[1] Well, he is in Sheffield. They do things differently there.