Git Product home page Git Product logo

opentrack-cg's Introduction

Build Status

OpenTrack – Open Tools for Athletics

Quick links:

About OpenTrack

This is the repository for the W3C OpenTrack Community Group to develop and document specifications and code related to what we call Open Athletics —formerly OpenTrack, but changed to make the scope broader—, a set of tools to increase interoperability among systems managing information on athletics and sports in general. Open Athletics includes schemes and vocabularies to describe sports, as well as open source software that helps managing that kind of information.

Through OpenTrack and Open Athletics, entities around the world (sport clubs, federations, private event organizers, etc.) will be able to open the data contributing towards open data in sports. This will bring new business opportunities to third parties (developers, public bodies, private companies, citizens, academia).

In order to maximize the impact and adoption of the final proposal, this initiative is supported by European Athletics and other relevant institutions of the world of Data Management and Athletics.

Read the Charter for more information about this group.

What tools?

The main component of OpenTrack is a set of vocabularies and taxonomies that will help publishers to model and expose information regarding athletics (events, athletes, facilities, results, rankings, and others).

Participants in this group will contribute with code recipes, libraries, and examples about the use of athletics information.

Currently, we are working on what we call it, Open Athletics models, vocabularies, and tools:

  • A Conceptual Data Model for Athletics to define Athletics competitions, events, management and participation in an abstract way; and
  • a Sports Competition Data Model and Vocabulary based on Schema.org. It contains examples of implementation for competitions, participation, athletes, organizations, etc.
  • some code examples to illustrate how to use the former vocabulary to describe entities (i.e., athletes, clubs, and federations), and competitions (i.e., disciplines, categories, events) and some useful codes and taxonomies for countries, in-competition features, etc.

Formats and standards

All documents will be written in English and encoded in UTF-8.

Schemas and vocabularies will be aligned with the existing W3C standards, in concrete with the Data on the Web specifications. Although they will be described as abstract vocabularies, they will be also modeled in RDF.

Can I use it?

Of course you can! Unless the piece of software or document listed in this repository has specified an explicit license, everything is under the W3C Software and Document License. This means that, by default, you have permission to copy, modify, and distribute OpenTrack works, with or without modification, for any purpose and without fee or royalty.

How can I participate?

Everyone —either W3C Member or not— is invited to join the W3C OpenTrack CG. Just click on the 'join' button, and register with your W3C account (in case you don't have, please request one. Once you are a group member, you will be subscribed to the main mailing list.

If you have never used Github, please have a look at this guide on how to use Github at W3C.

References

This work is based on previous works on sports data modeling, such as:

  • IOC ODF
  • IPTC SportsML. Vocabularies for sharing content (e.g., news) about sports in general. There are some specific vocabularies for concrete sports. Athletics is missing.
  • BBC Sport Ontology. Lightweight ontology for publishing data about competitive sports events.

opentrack-cg's People

Contributors

captainrobbo avatar caribouw3 avatar espinr avatar pelagicgames avatar tripu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

opentrack-cg's Issues

Should we model 'federations'?

Competitors (both athletes and teams) may be attached to federations. There is already a property for that.

Should we create a new class named Federation?
A Federation could be considered as a specialized type of Organization with concrete properties about it (apart from name and contact info). For instance, federations can be federated into other federations. Federations rule Athletics in specific territories or countries.

We already have identified these optional properties to describe organizations:

  • identifier: Unique character string to identify the organization.
  • name:
  • alternate name: An alias to name the organization (acronym, etc.)
  • postal address
  • logo
  • email
  • url: webpage
  • telephone

If so, what specific properties should we include?

  • territorial scope? - Country or territory
  • is federated into? - another Federation
  • member(s)? Clubs, athletes, federations that are federated in this organization

Definition of Competition Officials Roles

There is the possibility to define all roles related to competition management (apart from athletes and coaches).

IAAF defines a list of roles for officials in international competitions. Also, Peter Crawshaw developed a list of real roles they manage in local competitions. Both approaches in this document as a starting point.

Type of competitions with predefined taxonomy

Proposal by Nicolas Launois:

  • Does the data model allow to categorize the category of "competition" or "competition series" like it is done on the EA calendar ?(ex. World Championships, Area Championships, National Championships, IAAF meet, EAA meet, national label meet....). It doesn't bring value for that meet in itself, but that would be useful later, looking at the statistics angle, as it will allow to extract and group results of the same type. If all National championships from Europe are tagged as National Championships, you can filter those results easily from the mass of result files.That could also be useful to reflect a certain hierarchy of events at the time when the IAAF and EA are setting different meet categories for the purpose of the new athletes rankings. However, that would require to create a new list of values, so I'm not sure if that would fit in the high level definition of the data model.

Rename this repository?

“'OpenTrack' naming is confusing. Proposal: change name of vocabulary to
'Open Athletics'. The community group will continue as is it but I would
announce it and clarify the change.”

https://lists.w3.org/Archives/Public/public-opentrack/2018Oct/0005.html

GH handles renaming of repos quite well, redirecting from the old to the new URLs. But if we want to be conservative and don't mind the repo keeping the old name, at least we should change titles and references in README and other documents to reflect the new name of the CG…

Status of Competition

I've listed possible statuses of competitions (https://github.com/w3c/opentrack-cg/blob/master/spec/model/overview.md#event-status).

Code Status
Unscheduled Competition is not confirmed.
Scheduled Competition is scheduled.
Postponed Competition will be postponed without being rescheduled yet.
Rescheduled Competition is rescheduled.
Scheduled Break Competition has a scheduled break.
Running Competition in progress.
Interrupted Competition interrupted once in progress.
Getting Ready The start of the competition is imminent
Finished Competition is over and no more action will happen on the field of play (last competitor finished).
Cancelled Competition will not take place
Completed ???

@captainrobbo , I included all from OpenAth. I found that 'Completed' overlaps with 'Finished' (specified by IOC). Can we remove completed and use finished instead?

Define/use a taxonomy for countries and territories

There are several Places in the model, as well as PostalAddresses. To guarantee interoperability we need to recommend the way to describe countries.

At first sight, I would recommend ISO 3166 codes, but I found that IAAF uses IOC codes that are different. For instance: SLO (IOC) - SVN (ISO3166) for Slovenia.

A colleague of mine suggested using a third schema wich includes both code schemes, also aligned with others such as ITU, NATO, IATA, etc. This could solve some of the problems we have:

  • More than countries. Hierarchically we can have countries>regions>counties>cities.
  • Multilingualism. Place names translated into dozens of languages. (e.g. فنلینڈ <- Finland in Urdu).

I have to check if we can customize the list for us. This is, having a easy way to get the code (URI).

Intended audience (competitors) in a competition beyond age/sex

As introduced in the meeting in March, we would need a mechanism to indicate who are the intended participants in a competition. This intended audience was defined as official categories based on age and sex, but a more descriptive and non-technical term (like a tag) would be more suitable for a general audience.

In terms of the vocabulary could be described with the property audience.

Athletes are used to the SEN, M35, W40 terminology, but beginners may not. So, why we don't define a qualitative taxonomy like:

  • for all ages
  • suitable for kids
  • women-friendly race
  • serious athletes
  • ...

Comments?

Result Statuses for less formal events

Reviewing the Statuses....these describe well what happens at international competition, but perhaps need more at an informal level.

https://github.com/w3c/opentrack-cg/blob/master/spec/model/overview.md#result-statuses

There is a period long before START_LIST, maybe "PLANNING", or "TAKING_ENTRIES", when you know that an event is happening, but you don't know which people are in that unit.

There are also cases where you think that results are official, but an error is reported after they are published - maybe a missing or mis-identified person - and corrected. I therefore strongly suggest a revision number which could be incremented if there is a correction, or a last_updated field, and maybe some status note to explain any corrections underway.

e.g. (real example)
Q. "Athlete 833 in position 37 was NOT me"
A. "Ok, we'll need to check the video, and also email team 5xx and see if it could have been a 533. Give me 24 hours..."

"Under protest" is not exactly the right description for this.

Location tracking API spec

In long distance events (marathons, orienteering, mountain running, sailing...) it is common to provide real-time GPS tracking of individual athletes/teams. Current specification does not support this and would make sense to agree on a standard.

The only mention of latitude and longitude is currently in the general event location (eg a stadium).

Update Start List/Results Codes

Information submitted by Nicolas:

You can find the EA code, in the legend of any result/list page of our website, at the bottom of these pages (http://www.european-athletics.org/records/season=2017/type=0/category=S/index.html). Compared to the IAAF ones, we have added NH, Fn (False start), h (hand timing), a (automatic timing with no hundredths of a second measured), A (performance achieved at altitude), OT (Oversized Track), that Mirko uses. I noticed that we are missing some also (qR, qJ, etc).

When it comes to the IOC, they have a public repository for the definition of the data feed used by their broadcasters, media agencies and Olympic sport federations: http://odf.olympictech.org/
For instance, they keep the sport specific code there: http://odf.olympictech.org/2016-Rio/codes/HTML/odf_codes_OG/odf_codes.htm
In this document (http://odf.olympictech.org/2016-Rio/general/PDF/ODF2_Foundation_Principles.pdf), there is simple and general definition of the structure of competitions: http://odf.olympictech.org/2016-Rio/general/PDF/ODF2_Foundation_Principles.pdf

Unlike what it was with the first version of the ODF (all messages sent after each round and competition, athletes and events defined by codes in the messages, that was highlighted by Cristiano from deltatre in Madrid), the ODF-2 messages can be sent by event and round, specifically for start list or result, and they include the athlete’s name, the name of the event, phase and the details of the result. I will have more details today.

Should we create a list of standard age-range categories?

Athletics Competitions have classifications based on age and gender. There is already a property named 'age range' to specify age in Text.

IAAF and WMA have concrete rules about this, but there are other federations using alternatives. For instance, NACAC used to had a U25 category, now U23. We cannot control all these exceptions.

Should we define a list of age categories with all of the standard ones? See a preliminary list. In this case, we will have a classification for those standard ones, enabling others to use their own text for exceptions like U25.

How do we represent Athletics competition disciplines?

My proposal is a representation based on three variables:

  • gender (e.g., Male)
  • age-range (e.g., M45)
  • type of discipline (e.g., DT)

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:

  • In-stadia disciplines
    • Outdoor Track and Field disciplines
      • Outdoor Track disciplines
        • Outdoor Sprints
          • 110 Hurdles
            • 110 Hurdles (3'6", 1.067 height)
            • 110 Hurdles (3'3", 0.991 height)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.