-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update Coalition modelling example to show change of Government #100
Comments
I'm hoping to implement this for EveryPolitician this week, so it would be good to ensure I'm doing it in the preferred manner, so it could be used as an exemplar. |
Coalitions don't survive elections, for the same reason legislative memberships don't. Note that it's political groups (caucuses, fractions, clubs, etc.) that create coalitions, not parties, but in many jurisdictions there's no useful distinction to make between political groups and parties, in which case there's no reason to create a new organization for the caucus. I'm not sure what your other questions mean:
|
Sure — but it's entirely unclear what that means for modelling them, which is why it would be significantly more valuable to show not just a single example, but a change.
Currently the example shows a single Organization, called "Government", with a founding and dissolution date, which seems simple enough. But it's not obvious how this would work once you are recording historic coalitions too. The natural assumption of someone simply cut'n'pasting from the example might be to simply have multiple such Organizations, varying only the name (Government 72, Government 73, etc) — but that is either insufficient, or simply not the right approach at all. But in the absence of a longer example (or even explanatory text) it's unclear whether the right way is to, yes, have a separate Organization for each Coalition, but ensure there's at least a consistent An example that shows at least two Coalitions{2} would let people see what will be the same each time (other than the Party/Group ids), versus what will differ, and in what way. This is a great example of the sort of thing that should be completely self-evident to people once they see it, but is generally pretty confusing and error-prone to figure out from first principles, almost certainly certainly lead to variations in approach in different countries that would makie it much more difficult to create common tooling, etc.
Sorry, I meant legislative_period here. But the more general answer is that I{3} probably don't know. I just know that there are now [1] including what that should preferably be called [2] And, better still, including a period with a single-party majority government. [3] primarily here "I" refers to a hypothetical reader, but to a certain degree it also refers to me the actual reader who is actively wanting to use this right now and whose brain is hurting trying to puzzle it all out. |
I think a problem is that we haven't expressed any use cases yet. Right now it's just "Here's data. Model it." What sorts of questions do we need to answer?
Responding to your comments: My instinct for a change in government would be a copy of the example, but with different date ranges for the new government, and different members of the new government. Using the same Thinking through what this should look like: Right now, the first question can't be answered even with the current example, unless the name
So, within a legislative period, we have political groups that can combine into bigger political groups and can form either a government, an opposition, or a group without any special status. To model this, we can subclass Organization as PoliticalGroup and add a In general, legislators would be members of the legislature and members of a political group. I'll have to check whether this works with our previous discussion on modeling party memberships using How does this sound? |
For me a key one is also the reverse of the first: "In which periods was Party/Group X in Government?". My working assumption is that that will be much more easily answered if the approach is the same whether they were there as part of a coalition or as a single-party majority.
One example I've seen where that wasn't true, was Ontario, where in 1985–7, the Progressive Conservatives had the most seats, but the Liberals formed the government due to a confidence and supply arrangement (but not coalition) with the NDP.
Yes — very much so. I know who the member groups of every Finnish and Estonian coalition have been for a much longer time period that I know the actual members.
A fairly common case is also to have groups that formally support the government, but aren't actually members, and for that to be distinct from opposition. (e.g. the Infobox on https://en.wikipedia.org/wiki/National_Assembly_(Bulgaria) — specifically the Patriotic Front) I don't think I've come across the concept of "Second Opposition" before — where has that?
I'll ponder the wider suggestion some more, but on this specific point, I'd very strongly push for the person not needing to explicitly be a member of the Group, but that simply being an Using |
as a further datapoint: Brazil appears to have two large and distinct Opposition groups (made up of 9, and 6 parties respectively, with the government being a coalition of 9 parties too!): |
And a further family of questions triggered by the Brazilian case, but important in a few other contexts I can immediately think of: with what other Parties does Party X tend to form a Group? / Has X ever been in a Coalition with Y?, etc |
Brazil's multiple opposition groups shouldn't be a problem. Both can be classified as
These seem to be more API questions, as the data model isn't going to encode these facts directly (i.e. we're not going to have a list of all parties one party has ever been in a coalition with as part of the spec). Of course, the data model can make these questions harder or easier to answer. For Q2: SELECT 1
FROM memberships m
INNER JOIN memberships n
ON m.organization_id = n.organization_id
WHERE m.member_id = 'X'
AND n.member_id = 'Y'; For Q1, taking a simple count as our "tendency" metric: SELECT COUNT(*)
FROM memberships m
INNER JOIN memberships n
ON m.organization_id = n.organization_id AND n.member_id != 'X'
WHERE m.member_id = 'X'
GROUP BY n.member_id; Easy enough! |
@tmtmtmtm I'm a bit lost on where this issue ended up. What are the open questions / tasks? |
The original task is still the important part: showing an extended example of how this should work. The later discussion was to mainly just to give some answers to your "What sorts of questions do we need to answer", rather than being primary to the issue. |
The example at http://www.popoloproject.com/appendices/examples.html#party-coalition would be significantly improved if it also showed a change of government. Are there completely separate Organizations for each? How are they connected? How do/can legislative_session Events connect, etc?
The text was updated successfully, but these errors were encountered: