w3c / opentrack-cg

Open Athletics Community Group
https://w3c.github.io/opentrack-cg/
Other
27 stars 6 forks source link

How do we represent Athletics competition disciplines? #6

Closed espinr closed 7 years ago

espinr commented 7 years ago

My proposal is a representation based on three variables:

In this case we should develop a taxonomy of disciplines (indeed I drafted one). These disciplines are generic and there may be other non-standard that must be represented (so plain text would be also accepted).

Would this be sufficient to register records and bests information? Or we need to describe also additional features such as 'weight' in throws or 'hurdles height'.

Opentrack.run proposes a way to name event codes. Very complete, by the way.

Examples of these codes are:

SP7.26k, SP6K, SP5K, SP4K, SP3K
DT2K, DT1.75K, DT1.5K, DT1K
JT800, JT700, JT600, JT500, JT400
HT7.26K, HT6k, HT5k, HT4k, HT3k
WT15.88K, WT11.34K, WT9.08K, WT7.26K, WT5.45K

Should we create a complete taxonomy of disciplines with specific metadata for each event type? (Independently of the codification rules we will use) This would be hierarchical like:

tripu commented 7 years ago

Sorry for the silly question (I haven't delved through the data model yet): where does disability enter the picture — would that be another variable of athletic events?

In general, I wonder if there may be additional criteria or categorisations (apart from the ones we can think of right now), and if it would be best to devise a generic way to model them. eg: veteran-specific disciplines (as in military veterans), teachers' series vs. parents' series (in the context of school sports). There may be others we are forgetting and are reasonable in some circumstances…

espinr commented 7 years ago

It's not a silly question. Indeed @captainrobbo and I were discussing about this. There are many categories and options that could apply to competitions, they depend on the organizers so, an open text field would be needed in this case.

Although it is not in the initial scope, paralympic Athletics has specific rules —and well defined— so a taxonomy with those categories/disciplines could be defined as well.

espinr commented 7 years ago

Proposal by @captainrobbo :

Taxonomy for events:

espinr commented 7 years ago

Proposal. Example of Boston Marathon. Representation of two different events/categories:

            {
                '@type' :  'Event',
                'name' : 'Bostonians\' Marathon',
                'startDate' : '2017-04-17T10:00:00-05:00',
                'discipline' : 'discipline:RoadRace',
                'category' : 
                    {
                        '@type' :  'Category',
                        'name' : 'Bostonians',
                        'description' : 'Category just for Bostonians',
                        'gender' : 
                            [ 
                                'gender:Female',
                                'gender:Male'
                            ],
                    }
            }
            {
                '@type' :  'Event',
                'name' : 'Elite Female Race (Mass Start 2)',
                'startDate' : '2017-04-17T10:20:00-05:00',
                'discipline' : 'discipline:RoadRace',
                'category' : 
                    {
                        '@type' :  'Category',
                        'name' : 'Elite Female',
                        'description' : 'Category for Elite Women',
                        'gender' : 'gender:Female'
                    }                
            }

Full example at: https://raw.githubusercontent.com/w3c/opentrack-cg/master/spec/model/examples/marathon.json

captainrobbo commented 7 years ago

Hi all,

The event codes are a practical necessity when exchanging information in spreadsheets - everybody uses some variant of these, and we just wanted to standardise.

Disability is a separate subject. I'm quite lucky that my club, Kingston & Poly AC, has the largest disabled section in the country, and the organiser (who has also built an online entry system for disabled athletics) is happy to join this effort a bit later. There are paralympic codes defined here.

https://www.paralympic.org/athletics/classification

To define the event we need to combine disability, athletic event and gender, and in theory one could have age group competitions too.

espinr commented 7 years ago

Apart from the type of the event (timed, distance, height, etc.), I've drafted a taxonomy with disciplines. The idea is representing all the potential values as individual entries with unique codes (URIs) for each one.

https://github.com/w3c/opentrack-cg/blob/master/spec/model/disciplines.md

The most complex disciplines will be those with variable set up (i.e., weight in throws and hurdles height). I suppose we will have to create one entry for each variable combination (e.g., 80mH 36inches, 80mH 39 inches, etc.). The draft does not include weight/height yet.

I used the common taxonomy used for disciplines:

I have a doubt here. How should we classify relays? Usually, relays are referred to sprint relays (4x100, 4x400, etc.), also including medley or long distance relays. But there are relays also in road running, hurdles, and cross country.

Should relays be a special case of each type of discipline?

Or just an independent type at the same level of the rest?

captainrobbo commented 7 years ago

On 2 May 2017 at 16:13, Martin Alvarez-Espinar notifications@github.com wrote:

Apart from the type of the event (timed, distance, height, etc.), I've drafted a taxonomy with disciplines. The idea is representing all the potential values as individual entries with unique codes (URIs) for each one.

https://github.com/w3c/opentrack-cg/blob/master/spec/model/disciplines.md

The most complex disciplines will be those with variable set up (i.e., weight in throws and hurdles height). I suppose we will have to create one entry for each variable combination (e.g., 80mH 36inches, 80mH 39 inches, etc.). The draft does not include weight/height yet.

I am not sure the list will ever end (although the STANDARD lists are pretty short). We discovered recently that Estonia has a different hurdle SPACING to the IAAF U20 Men's standard - one more stride to the first hurdle, less in between or something like that. Mirko has a database table of the distinct events, and had to add a new one. We were thinking of suffixing the hurdle codes with a hyphen and distance.

What is the purpose of forcing it into a hierarchical taxonomy anyway? When we compare results, we need to know if we are dealing with "like for like". But you can approach taxonomies from different directions - e.g. "is it a relay or a straight race" first, then "is it short/medium/long" second; or vice versa. To me it becomes artificial to force a taxonomy on it. In a database you just have events with different properties - length in metres, hurdles-or-not - and you can describe it all clearly. I have a table like this in our model and will get it out tomorrow.

I used the common taxonomy used for disciplines:

  • sprints, relays, middle-distance, long-distance, race-walking, throws, etc.

I have a doubt here. How should we classify relays? Usually, relays are referred to sprint relays (4x100, 4x400, etc.), also including medley or long distance relays. But there are relays also in road running, hurdles, and cross country.

Should relays be a special case of each type of discipline?

  • long distance track events
    • long distance relays
  • cross country
    • cross country relays
  • road-running
    • road-running relays

Or just an independent type at the same level of the rest:

  • track events
  • field events
  • road-running
  • relays

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/w3c/opentrack-cg/issues/6#issuecomment-298665491, or mute the thread https://github.com/notifications/unsubscribe-auth/AKsO5n0ri4eXwrgGPdktdnibEZikhAcvks5r10gagaJpZM4M6S0k .

-- Andy Robinson Managing Director, ReportLab Wimbletech, c/o Wimbledon Library Wimbledon Hill Road, London SW19 7NB, UK Tel +44-20-8191-7277

espinr commented 7 years ago

What I wanted to avoid is creating that "forced artificial taxonomy".

I agree that a complete taxonomy it's too complex. But at least I think we should have a basic taxonomy to model disciplines at a high level, so we could filter events by types (for instance, hurdles or throws).

Anyway, this classification should be natural. Something that we are used to it. For instance, a lot of federations have the record lists using something like:

This high-level classification is what I wanted to achieve. For me, what is not natural in terms of the nature of the sport —beyond the results gathering, which is relevant but is another thing— is including long jump and shot put in the same category (length events).

espinr commented 7 years ago

As we commented in the latest meeting, I took IAAF's disciplines and drafted another approach for our classification of disciplines.

Just to clarify, this taxonomy aims at representing the type of Athletics event and the set-up, without having into account other aspects such as gender, competition issues, results, etc. Through this model, we will be able to represent the main discipline (e.g., Hurdles) and the specific set-up of the event (e.g., 80m Hurdles, 42 inches of hurdle height, and 30 ft spacing between hurdles).

In brief:

We can move/add/delete disciplines. I'm not sure if Timed Disciplines is necessary. (I keep it meanwhile). All IAAF disciplines are represented.

@captainrobbo, checking against the Athlib code schema, I found we are aligned. So we may use these codes to create URIs for disciplines: *http://example.com/discipline:80H33". Under this URI we will be able to describe:

  - id: '80H33'
  - type: 'hurdles'
  - height: '33 in'
  - length: '80m' 

Or

  - type: 'mountain race'
  - length: '12K' 
  - ascent: '1200m'
  - feature: 'time trial competition'

Or

  - id: '12KXC'
  - type: 'cross country'
  - length: '12K' 
  - feature: 'relay race'

There is important information not included in the schema of codes we can see after analysing the conceptual model.

This approach seems to be better than the previous ones.

You can have this draft at https://github.com/w3c/opentrack-cg/blob/master/spec/model/disciplines.md

captainrobbo commented 7 years ago

On 4 May 2017 at 17:10, Martin Alvarez-Espinar notifications@github.com wrote:

@captainrobbo https://github.com/captainrobbo, checking against the Athlib code schema, I found we are aligned. So we may use these codes to create URIs for disciplines: *http://example.com/discipline:80H33". Under this URI we will be able to describe:

Thanks for this. By the way, I should not that there is some dissent over measuring hurdle heights.

Practically, 99% of the time you will just need the short code of 110M, because the default height for each age group is known. But sometimes it's useful.

The historic fact is that heights were originally defined in inches, so we can have nice integer codes and no need for decimal points in our discipline-checking regular expression. But only Americans and some older Brits refer to them as "3 foot 6 hurdles". Which is 42 inches. Everyone else writes "106.7cm" in tteir standards

So, we should probably note in the standards document that these are "under discussion", and we're not sure yet whether to have feet-and-inches (110H36), inches (110H42) or metric (110H106.7).

espinr commented 7 years ago

https://w3c.github.io/opentrack-cg/spec/model/disciplines