Skip to content
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

Add start_event and end_event to Membership #94

Open
jpmckinney opened this issue Mar 23, 2015 · 21 comments
Open

Add start_event and end_event to Membership #94

jpmckinney opened this issue Mar 23, 2015 · 21 comments
Labels

Comments

@jpmckinney
Copy link
Member

Add start_event and end_event properties to Membership, to satisfy the TheyWorkForYou use case described in #20.

@akuckartz
Copy link

+1

@kaerumy
Copy link

kaerumy commented Apr 23, 2015

We have an interesting use case here in Malaysia, for possible need to also have "status" of membership eg. current, suspended, expired.

Should we consider a status field, or is it better to use this start/end field?

In this case we have an MP who has been suspended for 6 years from his party. News report considers that this person is no longer considered a representative of his party in Parliament.

http://www.therakyatpost.com/news/2015/04/22/one-less-parliament-seat-for-bn-due-to-suspension

@guglielmo
Copy link

+1

@akuckartz
Copy link

Regarding the use case by @kaerumy. I think that it is important that no information is overwritten and lost. Example: If a membership was suspended for some time and the status then changes to current then the information about the former suspended period should still be available.

@jpmckinney
Copy link
Member Author

It depends on the use case. If you want to track all suspensions, then you should instead create an Event (or a subclass of the Event class that adds a property to refer to the specific person) with a start and end date for that suspension, instead of trying to fit an entire Suspension model into the Membership model.

For the simple use case of determining "is this membership active or not?" then a status property is probably enough.

@jpmckinney
Copy link
Member Author

I've created a new issue #98 for the status property. Please continue the discussion of this property there.

@tmtmtmtm
Copy link
Contributor

Can you give an example of what this would look like in the common case of an MP resigning and being replaced several days later by someone else (as a straight party substitution, not a new election)?

@jpmckinney
Copy link
Member Author

@breyten
Copy link

breyten commented Jun 3, 2015

This might be taking things too far ;), but it also seems to open up the possibility to have a list of events associated with a membership, then use the event's classification property to denote what happened (Ie. end or start). That would be less deterministic, however.

@tmtmtmtm
Copy link
Contributor

tmtmtmtm commented Jun 3, 2015

@jpmckinney : how can I tell from that (other than by parsing a plain text field) that the two are connected — i.e. that Jane Doe is actually replacing John Doe?

@jpmckinney
Copy link
Member Author

That's a different use case. You'd probably want to instead query by Post and look at the succession to satisfy that use case.

@jpmckinney
Copy link
Member Author

Also, if that's too complicated, we can add properties for following/preceding membership. Event already has followingEvent and precedingEvent, so we can do something similar for Membership.

@tmtmtmtm
Copy link
Contributor

tmtmtmtm commented Jun 4, 2015

You'd probably want to instead query by Post

That presumes Posts, which as per multiple previous discussions, often don't make much sense in the context of modelling a Parliament: particularly where there aren't single-member constituencies, as will most often be the case in this scenario. (In single-member constituencies, it's more common that a departure triggers an election, rather than a straight replacement).

@tmtmtmtm
Copy link
Contributor

tmtmtmtm commented Jun 4, 2015

use the event's classification property to denote what happened (Ie. end or start).

Even in really simple cases, I strongly believe it's essential that Events have well-structured classifications, and that these should largely be the same everywhere. Otherwise we're just multiplying the number of places where out-of-band information is needed to understand the data model, making it impossible to build common tooling.

We've (hopefully) already learned that lesson from things like not having a structured way to mark an organization as a Political Group/Party/Faction etc, thus making it impossible to unravel parallel memberships in a consistent manner.

@tmtmtmtm
Copy link
Contributor

tmtmtmtm commented Jun 4, 2015

Event already has followingEvent and precedingEvent

It does? I can't see anything on http://www.popoloproject.com/specs/event.html about that…

@jpmckinney
Copy link
Member Author

Oops, it's not in the spec, but it is in bio, from the inventory of terms. Anyway, would a property to denote the following/preceding membership satisfy the use case of marking that Jane Doe succeeds John Doe?

@akuckartz
Copy link

Are John Doe and Jane Doe different persons ? Or is this about changing properties (such as givenName or gender) of a person ?

@jpmckinney
Copy link
Member Author

Different people.

@jpmckinney jpmckinney modified the milestone: 2015 Priority Aug 13, 2015
@jpmckinney
Copy link
Member Author

@rusosnith

@rusosnith
Copy link

I think this could algo be useful to add Source information to Start and End of a membership

This is pretty important if we want journalists to trust in our datasets, we have to provide a way of checking the source of the data provided.

@jpmckinney jpmckinney removed this from the 2015 Priority milestone Dec 7, 2016
@jpmckinney
Copy link
Member Author

jpmckinney commented Dec 7, 2016

ROLL UP

For the use case of learning why a membership started/ended (raised by TWFY) and sourcing that fact (as raised by @rusosnith), and for avoiding denormalization/duplication of information (e.g. a common start date for all members elected on the same day) I think start_event and end_event still makes sense. A codelist for classification should be created to make the date more interoperable. See #111 (comment) about un-dated events.

For the use case of determining which preceded/followed another one without using Post, add follows and precedes – terms used by many specs.

@jpmckinney jpmckinney added the ➡️. Can implement label Dec 7, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

7 participants