namespace for parsing a GTFS feed into a Datascript transaction.
The algorithms coerces GTFS csv files into entities that reference each other through IDs. The IDs are taken directly from GTFS.
A small dynamic renaming is performed to make it more compatible with Datascript design. The renaming is based on the GTFS naming convention, for example: stop_lon, stop_url, trip_id, trip_headsign, etc.
We transform those strings into: :stop/lon, :stop/url, :trip/id, :trip/headsign.
This is important to be able to create relationships between entities through transactions, for example {:trip/id 1, :trip/route [:route/id 1]}. This allows us to create relationships between entities without actually having them, i.e. thread them simply as data
namespace for parsing a GTFS feed into a Datascript transaction. The algorithms coerces GTFS csv files into entities that reference each other through IDs. The IDs are taken directly from GTFS. A small dynamic renaming is performed to make it more compatible with Datascript design. The renaming is based on the GTFS naming convention, for example: stop_lon, stop_url, trip_id, trip_headsign, etc. We transform those strings into: :stop/lon, :stop/url, :trip/id, :trip/headsign. This is important to be able to create relationships between entities through transactions, for example {:trip/id 1, :trip/route [:route/id 1]}. This allows us to create relationships between entities without actually having them, i.e. thread them simply as data
(parse zipstream filename)
takes a filename and parses its content if supported by this parser. Entries that do not conform to the gtfs spec are removed. Returns a vector of conformed entries
takes a filename and parses its content if supported by this parser. Entries that do not conform to the gtfs spec are removed. Returns a vector of conformed entries
(ref? field)
a reference is a field that links to a unique field in another file and that is not that field itself
a reference is a field that links to a unique field in another file and that is not that field itself
(resource entity)
takes a datascript entity and checks if any of its values are entities, if so replaces them by their unique identity value
takes a datascript entity and checks if any of its values are entities, if so replaces them by their unique identity value
(transaction! zipstream)
returns a Datascript transaction of the complete gtfs feed
returns a Datascript transaction of the complete gtfs feed
map of GTFS filenames to post-processing functions. Useful to remove unnecessary information from the GTFS feed; just to reduce the amount of datoms in datascript
map of GTFS filenames to post-processing functions. Useful to remove unnecessary information from the GTFS feed; just to reduce the amount of datoms in datascript
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close