how to get familiar with .osm data file or do I need to?

I’m working on to understand the OSRM project. Now, I’m reading their profiles lua script car.lua. https://github.com/Project-OSRM/osrm-backend/blob/master/profiles/car.lua
With the help of their wiki page, I’m trying to understand it. Yet, some concepts still confuse me. I understand that the profile scripts are used to parse osm tags, to process node, to process way and relations, and eventually to get to know which node is passable and which way can be chosen. So, I was thinking that, maybe I need to get more familiar with the .osm data file or do I need to? What is your opinion?

The .osm file is dirt simple XML, if you’ve ever worked with XML files you probably don’t even need a formal description of the schema to figure it out.

That said, the only time I’ve ever worried about what was in an .osm file or how to deal with it directly was when I was setting up some QA and semi-automated edit scripts to fix a bad import I came across. For normal everyday mapping or even generating maps from OSM data there is no need to know what is actually in the file, the tools are there to do what you need to do and while the tools might be confusing sometimes they are pretty robust.

Thank you for your kind reply. :slight_smile: I was working on the coding aspect of OSRM https://github.com/Project-OSRM/osrm-backend/blob/master/docs/profiles.md lately. They use some .lua scripts to parse the .osm raw data files to get the tag information like maxspeed, traffic lights, barriers etc. I found it really interesting and at the same time confusing a bit. Do you have relative experiences with that?