Skip to content

Instantly share code, notes, and snippets.

@aamedina
Last active February 27, 2023 23:42
Show Gist options
  • Select an option

  • Save aamedina/46e9b93e221b0662b1481dad126079b7 to your computer and use it in GitHub Desktop.

Select an option

Save aamedina/46e9b93e221b0662b1481dad126079b7 to your computer and use it in GitHub Desktop.
Formula One Telemetry Bridge
;; (mop/class-slots :fastf1/CarData)
[{:db/ident :fastf1/drs,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "DRS",
:rdfs/domain #{:fastf1/CarData},
:rdfs/range #{:xsd/integer}}
{:db/ident :fastf1/source,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "Source",
:rdfs/domain #{:fastf1/CarData},
:rdfs/range #{:fastf1/Object}}
{:db/ident :fastf1/speed,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "Speed",
:rdfs/domain #{:fastf1/CarData},
:rdfs/range #{:xsd/integer}}
{:db/ident :fastf1/sessionTime,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "SessionTime",
:rdfs/domain #{:fastf1/CarData},
:rdfs/range #{:fastf1/PandasTimedelta}}
{:db/ident :fastf1/throttle,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "Throttle",
:rdfs/domain #{:fastf1/CarData},
:rdfs/range #{:xsd/integer}}
{:db/ident :fastf1/time,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "Time",
:rdfs/domain #{:fastf1/Telemetry},
:rdfs/range #{:fastf1/PandasTimedelta}}
{:db/ident :fastf1/nGear,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "nGear",
:rdfs/domain #{:fastf1/CarData},
:rdfs/range #{:xsd/integer}}
{:db/ident :fastf1/rpm,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "RPM",
:rdfs/domain #{:fastf1/CarData},
:rdfs/range #{:xsd/integer}}
{:db/ident :fastf1/brake,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "Brake",
:rdfs/domain #{:fastf1/CarData},
:rdfs/range #{:xsd/boolean}}]
;; (mop/class-slots :fastf1/Lap)
[{:db/ident :fastf1/isAccurate,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "IsAccurate",
:rdfs/domain #{:fastf1/Lap},
:rdfs/range #{:fastf1/Object}}
{:db/ident :fastf1/trackStatus,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "TrackStatus",
:rdfs/domain #{:fastf1/Lap},
:rdfs/range #{:fastf1/Object}}
{:db/ident :fastf1/sector1Time,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "Sector1Time",
:rdfs/domain #{:fastf1/Lap},
:rdfs/range #{:fastf1/PandasTimedelta}}
{:db/ident :fastf1/sector1SessionTime,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "Sector1SessionTime",
:rdfs/domain #{:fastf1/Lap},
:rdfs/range #{:fastf1/PandasTimedelta}}
{:db/ident :fastf1/freshTyre,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "FreshTyre",
:rdfs/domain #{:fastf1/Lap},
:rdfs/range #{:fastf1/Object}}
{:db/ident :fastf1/lapStartTime,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "LapStartTime",
:rdfs/domain #{:fastf1/Lap},
:rdfs/range #{:fastf1/PandasTimedelta}}
{:db/ident :fastf1/sector2SessionTime,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "Sector2SessionTime",
:rdfs/domain #{:fastf1/Lap},
:rdfs/range #{:fastf1/PandasTimedelta}}
{:db/ident :fastf1/lapTime,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "LapTime",
:rdfs/domain #{:fastf1/Lap},
:rdfs/range #{:fastf1/PandasTimedelta}}
{:db/ident :fastf1/speedFl,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "SpeedFL",
:rdfs/domain #{:fastf1/Lap},
:rdfs/range #{:xsd/float}}
{:db/ident :fastf1/tyreLife,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "TyreLife",
:rdfs/domain #{:fastf1/Lap},
:rdfs/range #{:xsd/float}}
{:db/ident :fastf1/speedI2,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "SpeedI2",
:rdfs/domain #{:fastf1/Lap},
:rdfs/range #{:xsd/float}}
{:db/ident :fastf1/speedSt,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "SpeedST",
:rdfs/domain #{:fastf1/Lap},
:rdfs/range #{:xsd/float}}
{:db/ident :fastf1/sector3SessionTime,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "Sector3SessionTime",
:rdfs/domain #{:fastf1/Lap},
:rdfs/range #{:fastf1/PandasTimedelta}}
{:db/ident :fastf1/stint,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "Stint",
:rdfs/domain #{:fastf1/Lap},
:rdfs/range #{:xsd/integer}}
{:db/ident :fastf1/driverNumber,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "DriverNumber",
:rdfs/domain #{:fastf1/Lap},
:rdfs/range #{:fastf1/Object}}
{:db/ident :fastf1/lapNumber,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "LapNumber",
:rdfs/domain #{:fastf1/Lap},
:rdfs/range #{:xsd/integer}}
{:db/ident :fastf1/speedI1,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "SpeedI1",
:rdfs/domain #{:fastf1/Lap},
:rdfs/range #{:xsd/float}}
{:db/ident :fastf1/driver,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "Driver",
:rdfs/domain #{:fastf1/Lap},
:rdfs/range #{:fastf1/Object}}
{:db/ident :fastf1/lapStartDate,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "LapStartDate",
:rdfs/domain #{:fastf1/Lap},
:rdfs/range #{:fastf1/PandasDatetime}}
{:db/ident :fastf1/pitOutTime,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "PitOutTime",
:rdfs/domain #{:fastf1/Lap},
:rdfs/range #{:fastf1/PandasTimedelta}}
{:db/ident :fastf1/pitInTime,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "PitInTime",
:rdfs/domain #{:fastf1/Lap},
:rdfs/range #{:fastf1/PandasTimedelta}}
{:db/ident :fastf1/isPersonalBest,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "IsPersonalBest",
:rdfs/domain #{:fastf1/Lap},
:rdfs/range #{:xsd/boolean}}
{:db/ident :fastf1/sector3Time,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "Sector3Time",
:rdfs/domain #{:fastf1/Lap},
:rdfs/range #{:fastf1/PandasTimedelta}}
{:db/ident :fastf1/compound,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "Compound",
:rdfs/domain #{:fastf1/Lap},
:rdfs/range #{:fastf1/Object}}
{:db/ident :fastf1/sector2Time,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "Sector2Time",
:rdfs/domain #{:fastf1/Lap},
:rdfs/range #{:fastf1/PandasTimedelta}}]
;; (mop/class-slots :fastf1/PositionData)
[{:db/ident :fastf1/z,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "Z",
:rdfs/domain #{:fastf1/PositionData},
:rdfs/range #{:xsd/integer}}
{:db/ident :fastf1/x,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "X",
:rdfs/domain #{:fastf1/PositionData},
:rdfs/range #{:xsd/integer}}
{:db/ident :fastf1/status,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "Status",
:rdfs/domain #{:fastf1/PositionData},
:rdfs/range #{:fastf1/Object}}
{:db/ident :fastf1/y,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "Y",
:rdfs/domain #{:fastf1/PositionData},
:rdfs/range #{:xsd/integer}}
{:db/ident :fastf1/time,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "Time",
:rdfs/domain #{:fastf1/Telemetry},
:rdfs/range #{:fastf1/PandasTimedelta}}]
;; (mop/class-slots :fastf1/WeatherData)
[{:db/ident :fastf1/trackTemp,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "TrackTemp",
:rdfs/domain #{:fastf1/WeatherData},
:rdfs/range #{:xsd/float}}
{:db/ident :fastf1/airTemp,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "AirTemp",
:rdfs/domain #{:fastf1/WeatherData},
:rdfs/range #{:xsd/float}}
{:db/ident :fastf1/humidity,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "Humidity",
:rdfs/domain #{:fastf1/WeatherData},
:rdfs/range #{:xsd/float}}
{:db/ident :fastf1/windSpeed,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "WindSpeed",
:rdfs/domain #{:fastf1/WeatherData},
:rdfs/range #{:xsd/float}}
{:db/ident :fastf1/pressure,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "Pressure",
:rdfs/domain #{:fastf1/WeatherData},
:rdfs/range #{:xsd/float}}
{:db/ident :fastf1/windDirection,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "WindDirection",
:rdfs/domain #{:fastf1/WeatherData},
:rdfs/range #{:xsd/integer}}
{:db/ident :fastf1/rainfall,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "Rainfall",
:rdfs/domain #{:fastf1/WeatherData},
:rdfs/range #{:xsd/boolean}}
{:db/ident :fastf1/time,
:rdf/type #{:owl/ObjectProperty},
:rdfs/label "Time",
:rdfs/domain #{:fastf1/Telemetry},
:rdfs/range #{:fastf1/PandasTimedelta}}]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment