Property talk:P238
Documentation
three-letter identifier for designating airports, railway stations or cities (for airlines, see P229)
List of violations of this constraint: Database reports/Constraint violations/P238#Type Q1248784, Q55488, Q62447, Q184590, SPARQL
List of violations of this constraint: Database reports/Constraint violations/P238#Single value, SPARQL
List of violations of this constraint: Database reports/Constraint violations/P238#Unique value, SPARQL (every item), SPARQL (by value)
List of violations of this constraint: Database reports/Constraint violations/P238#Format, SPARQL
List of violations of this constraint: Database reports/Constraint violations/P238#Item P625, SPARQL
List of violations of this constraint: Database reports/Constraint violations/P238#Item P17, search, SPARQL
List of violations of this constraint: Database reports/Constraint violations/P238#single best value, SPARQL
List of violations of this constraint: Database reports/Constraint violations/P238#Item P1813, SPARQL
![]() |
This property is being used by:
Please notify projects that use this property before big changes (renaming, deletion, merge with another property, etc.) |
Request to change en title to IATA airport code
[edit]I want to have the title changed to IATA airport code, in order to avoid conflict with the IATA airline code property. Harryboyles (talk) 10:35, 7 March 2013 (UTC)
- Have done so. Harryboyles (talk) 10:41, 7 March 2013 (UTC)
Please change the title to "IATA location code" or "IATA location identifier" to avoid reverts by misleaded users (see history at Q698145). This three letter code is valid for airports, train stations, cities and sometimes more. It's not an airport code purely. IATA itself is calling it a location code too (compare https://www.iata.org/en/services/codes/). --4omni (talk) 06:15, 6 June 2020 (UTC)
- I know there is IATA codes for trains stations, heliports, very large cities and so on. But they aren't verifiable as IATA does not provide search for heliport/train stations, as they are not airports. Therefore I think IATA airport code (P238) should be mostly airports/heliports, if there is verifiability from IATA search tool. Another property would be a good idea for (the not-for-airports IATA codes, as they also are less consistent in uniqueness). Bouzinac (talk) 12:39, 6 June 2020 (UTC)
IATA codes for train stations
[edit]Berlin Hauptbahnhof (Q1097) has an IATA code even though it is a train station rather than an airport. This is actually a legitimate IATA code, presumably because travel agents might use IATA codes to book journeys that comprise both airline and international train segments. I'm not sure whether this weird exception should change how the consistency reports and rules are set up. —Tom Morris (talk) 20:36, 31 December 2015 (UTC)
- Hi Tom Morris,
- I came here for the exact same reason (but about Rennes railway station (Q1866058)). I hesitate to add it as an exception but there a lot of them apparently so I changed the constraint instead.
- Cdlt, VIGNERON (talk) 15:22, 7 December 2016 (UTC)
- Even some metropolitan areas with multiple airport have IATA codes (examples: NYC - New York City, BER - Berlin, YTO - Toronto, PAR - Paris). --MB-one (talk) 09:19, 29 June 2017 (UTC)
- Is there a way to modify the constraint that items with IATA codes must have ICAO codes? Most of these railway stations do not have ICAO codes. Pi.1415926535 (talk) 09:25, 2 December 2018 (UTC)
- I would rather advocate for a "iata airport code property + "iata train station code" property instead...Bouzinac (talk) 09:54, 2 December 2018 (UTC)
- Is there a way to modify the constraint that items with IATA codes must have ICAO codes? Most of these railway stations do not have ICAO codes. Pi.1415926535 (talk) 09:25, 2 December 2018 (UTC)
- Even some metropolitan areas with multiple airport have IATA codes (examples: NYC - New York City, BER - Berlin, YTO - Toronto, PAR - Paris). --MB-one (talk) 09:19, 29 June 2017 (UTC)
IATA codes aren't truly unique
[edit]The property constraint distinct-values constraint (Q21502410) is not really helpful for IATA codes, since IATA codes can be transferred from one airport to another and this is not even an especially rare occurrence. --MB-one (talk) 09:16, 29 June 2017 (UTC)
- Furthermore, there can be an old airport using the code XXX until date X and afterwards gets YYY. Exemple NGO Nagoya. Can it be precised that one code may apply to ONLY one airport at the same time ? --Bouzinac (talk) 21:47, 23 July 2018 (UTC)
Why is this not an "identifier" data type?
[edit]IATA code is clearly an identifier for an airport, so why is the data type "string"? I was expecting to see this property listed among the "identifiers" of an item, not in its "statements". Apparently, that would require the data type to be changed to "external identifier". For a similar example, see COSPAR ID (P247), which is correctly listed as an identifier. I don't see how the IATA code is different. — JFG talk 21:43, 23 August 2018 (UTC)
- @JFG: the datatype "external identifier" is a string that needs an external website for the links ; as far as I know, there is no such site for the IATA. Cdlt, VIGNERON (talk) 15:54, 10 October 2018 (UTC)
- Apparently, IATA sells access to its database airport codes, but there are plenty of freely available online directories of IATA codes. Could we simply use one of those? (picking a well-maintained one, of course) — JFG talk 16:16, 10 October 2018 (UTC)
- @JFG: I'm not sure... The best would be to ask for a new property (on Wikidata:Property proposal, datatype can't be changed, we have to create a new property and delete the old one) and to see where the discussion goes (it seems a good idea but more point of view - and more expert one - would be useful). Plus, I must correct myself, I was wrong: a formatter URL is almost always defined but technically it's not "needed". Cdlt, VIGNERON (talk) 16:45, 10 October 2018 (UTC)
- OK, thanks for the correction. We should perhaps bring this to the attention of more people. The same logic would apply to ICAO airport code (P239), which is also a string instead of an identifier. Both of those properties must have been created at the same time with the same reasoning. Pinging a few users who recently opined in my suggestions for other airport-related properties DBUnico MIBACT ID (P5782) and VOR/DME airport beacon ID (P5803). @ ديفيد عادل وهبة خليل 2 , ArthurPSmith , Pintoch , YULdigitalpreservation: — JFG talk 16:53, 10 October 2018 (UTC)
- See the discussion just above this one - IATA codes are re-used, so they are NOT unique identifiers for airports and don't meet the criteria we set up when we transitioned other string properties to "external identifier" that did qualify. However, there may be a way to make this work using deprecation, time-based qualifiers etc. if somebody is willing to look into it a bit more on what the actual criteria are for re-use etc. Being a proprietary code may make that harder though. ArthurPSmith (talk) 19:18, 10 October 2018 (UTC)
- OK, thanks for the correction. We should perhaps bring this to the attention of more people. The same logic would apply to ICAO airport code (P239), which is also a string instead of an identifier. Both of those properties must have been created at the same time with the same reasoning. Pinging a few users who recently opined in my suggestions for other airport-related properties DBUnico MIBACT ID (P5782) and VOR/DME airport beacon ID (P5803). @ ديفيد عادل وهبة خليل 2 , ArthurPSmith , Pintoch , YULdigitalpreservation: — JFG talk 16:53, 10 October 2018 (UTC)
- @JFG: I'm not sure... The best would be to ask for a new property (on Wikidata:Property proposal, datatype can't be changed, we have to create a new property and delete the old one) and to see where the discussion goes (it seems a good idea but more point of view - and more expert one - would be useful). Plus, I must correct myself, I was wrong: a formatter URL is almost always defined but technically it's not "needed". Cdlt, VIGNERON (talk) 16:45, 10 October 2018 (UTC)
- Apparently, IATA sells access to its database airport codes, but there are plenty of freely available online directories of IATA codes. Could we simply use one of those? (picking a well-maintained one, of course) — JFG talk 16:16, 10 October 2018 (UTC)
IATA Location Identifier
[edit]Reference for the IATA Location Identifiers (LI): https://www.iata.org/publications/store/Pages/airline-coding-directory.aspx
- Specifications: https://www.iata.org/services/Documents/location-identifiers-specifications-2011.pdf
- Sample: https://www.iata.org/publications/Documents/acd-location-identifiers-sample-20120515.pdf
We should hence talk about IATA Location Identifiers (LI), in IATA parlance, as those codes can be assigned to any travel-/transport-related point of reference (POR), including, but not limited to, cities (location type: C), airports (location type: A), heliports (location type: H), ferry/maritime ports (location type: P), bus stations (location type: B) and railway stations (location type: R), "offline" points (most of the time, just a populated location; location type: O).
By the way, on the famous IATA code search page (https://www.iata.org/publications/Pages/code-search.aspx), in the selector, it is specified "Location Code" (rather than airport code), and when you select it, the help text for that field is "Enter city / airport code", hinting that cities are assigned IATA location identifiers (IATA codes) too.
- A tricky example is EAP, assigned to both Basel (Q78) and Mulhouse (Q79815).
- Another example is RDU, assigned to both Raleigh (Q41087) and Durham (Q49229).
- Non exhaustive examples of large cities (metropolitan areas) being assigned distinct IATA codes from the POR serving them: London (Q84) (IATA code: LON), Chicago (Q1297) (IATA code: CHI), New York City (Q60) (IATA code: NYC), Paris (Q90) (IATA code: PAR), Berlin (Q64) (IATA code: BER), Moscow (Q649) (IATA code: MOW)
Now, the issue is that on the above-mentioned public page, only the cities and airports are shown for a given code, not the records for the other location types. Only in the Location Identifier (LI) data files, which they sell, appear the codes for the other location types (eg, heliports, bus and railway stations). However, as it has been mentioned in other sections above, it is possible to book trips encompassing other location types, and those codes are therefore public. For instance:
- Air Greenland (Q407292) gets quite a lot of heliports in the list of its destinations (as Greenland has slightly more heliports than airports), and all of those heliports have been assigned a IATA code/location identifier. An example is Tasiilaq Heliport (Q62423) (IATA code: AGM).
- The same way, other heliports having a IATA code are Hanchey Army Heliport (Q3886916) (IATA code: HEY), Andorra la Vella Heliport (Q9287543) (IATA code: ALV), etc.
- On another hand, big airlines such as Lufthansa (Q9325) operate bus and train trips to/from its main hubs, and the corresponding stops/stations are also assigned IATA codes/location identifiers. Examples are Dortmund Central Station (Q704394) (IATA code: DTZ), Hamburg Hauptbahnhof (Q6456) (IATA code: ZMB) and Mannheim Central Station (Q706994) (IATA code: MHJ).
- Also, as it has been mentioned, the main high-speed lines throughout the world have railway stations with IATA codes, such that the corresponding train trips may be booked through the classical travel-related reservation systems (eg, GDS, travel agencies, online sites). Such railway stations are Chongqing North railway station (Q5104670) (IATA code: CQD) in China (CN), Lille-Europe railway station (Q801099) (IATA code: XDB) in France (FR) and Toledo railway station (Q801520) (IATA code: XTJ) in Spain (ES).
Another kind of issue is that, in IATA parlance, a city, or metropolitan area as it is also sometimes referred to, actually refers to a populated area, which may be, among other entities, a city, an island, a homestead, a local area, a (national/regional) park, even a lake. For instance:
- The SMA IATA code explicitly refers to Santa Maria Island (Q217262) (because there is an airport nearby, Santa Maria Airport (Q1432755)), which is an island, on which there is no eponym city, and there can be no ambiguity here.
- The BCE IATA code refers to Bryce Canyon National Park (Q219562) (because there is an aerodrome nearby, Bryce Canyon Airport (Q3886900)), which is a national park.
- The CJH IATA code refers to Tŝilhqox Biny (Q316421) (because there is an aerodrome nearby, Chilko Lake (Tsylos Park Lodge) Aerodrome (Q3274103)), which is a lake.
- You get the idea
Proposal - Change Data type of IATA airport code (P238) from String to External identifier
[edit]I think String is the wrong type for IATA airport code (P238). Can we please change it to be External identifier.
As per Help:Data_type#Changing_datatype please indicate support/opposition below. Iwan.Aucamp (talk) 16:52, 15 October 2019 (UTC)
Discussion
[edit]Comment for your attention @JFG: Iwan.Aucamp (talk) 17:08, 15 October 2019 (UTC)
Oppose See the above discussion where this has come up over and over. This is not a unique identifier for an airport. ArthurPSmith (talk) 17:19, 15 October 2019 (UTC)
![]() |
The property value will be transformed to uppercase automatically. Testing: TODO list |
- All Properties
- Properties with string-datatype
- Properties used on 1000+ items
- Properties with constraints on type
- Properties with single value constraints
- Properties with unique value constraints
- Properties with format constraints
- Properties with constraints on items using them
- Properties with single best value constraints