-
Notifications
You must be signed in to change notification settings - Fork 206
Description
Describe the problem
In the attributions specification, the optional attribution_id field is declared as a primary key.
Since the attributions.txt table defines both the objects and the links (it act as a primary table and a link table), and many identical attributions will be duplicated in this table (for example for declaring the same attribution to many routes or trips), it's not clear if having duplicated attribution_id is allowed for the same attribution (that is attribution having all identical value fields: type, name, url, phone, email).
Currently the official GTFS validator does not allow it, for example the following data is raising a "duplicated ID error":
attribution_id,agency_id,route_id,trip_id,organization_name,is_producer,is_operator,is_authority,attribution_url,,attribution_email,attribution_phone
OP1,,CITY,,Operator of the route CITY and AB,,1,,https://operator.com/,[email protected],+1 0967 5656
OP1,,AB ,,Operator of the route CITY and AB,,1,,https://operator.com/,[email protected],+1 0967 5656
Having this restriction (ID unique for each row) is not very handy, as the simple case of having the same attribute defined for hundreds of trips will require hundreds of different (arbitrary) IDs, also multiplying the required number of translations.
Use cases
Added value of this proposal / refinement:
- Clarify the current specification (semantics of attribution_id uniqueness is not really clear)
- Minimize the number of required data (translations)
- Simplify the work of data producer and consumer (do not require to create many arbitrary IDs)
Proposed solution
It could be nice to allow duplicated IDs for identical attributions (that is attribution having all value fields the same).
That is allowing the following data:
attribution_id,agency_id,route_id,trip_id,organization_name,is_producer,is_operator,is_authority,attribution_url,,attribution_email,attribution_phone
OP1,,CITY,,Operator of the route CITY and AB,,1,,https://operator.com/,[email protected],+1 0967 5656
OP1,,AB ,,Operator of the route CITY and AB,,1,,https://operator.com/,[email protected],+1 0967 5656
Additional information
In addition, if this would be allowed, we could also allow declaring only once the attribution values for identical IDs, for example having:
attribution_id,trip_id,is_operator,organization_name,attribution_url,,attribution_email,attribution_phone
OP1,T1,1,Operator first,https://operatorfirst.com/,[email protected],+1 0967 5656
OP1,T2,,,,
OP1,T3,,,,
OP1,T4,,,,
OP1,T5,,,,
OP1,T6,,,,
OP2,T7,1,Operator second,https://operatorsecond.com/,[email protected],+1 0968 5657
OP2,T8,,,,
(...)