Identify ways which represent streets in OpenStreetMap OSM file

Hi everyone,
I am working on my bachelor thesis and I am little confused about how the names of the streets are identified in osm files. Regarding, there is a lot of ways how to describe the street. I understood that the main way is to write it into a tag with the key addr:street. But I found also that names are written to the tag with key “name”. For example:

 <way id="28922191" user="Bohdan Kotouček" uid="343107">
  <nd ref="288327587"/>
  <nd ref="317937186"/>
  <nd ref="277769044"/>
  <tag k="hgv" v="destination"/>
  <tag k="highway" v="residential"/>
  <tag k="name" v="Palackého"/>
  <tag k="noexit" v="yes"/>
  <tag k="source" v="cuzk:km"/>

Is there any way how to classify this way as street? I am not sure if the name tag is the best method because I found the way with the name of the restaurant inside it.

Thanks a lot

Streets are represented by ways tagged with the highway key described here: . Their names are stored in the name= tag. These two ways make up the street you are looking at: , . The two segments share the same name but differ in other properties.

This particular example is highway=residential, a residential street or road. Depending on what exactly you mean by “street” you might want to exclude some highway types, for example maybe you wouldn’t think of a motorway as a “street”.

The addr:street tag is used to store the street address of objects that are not streets themselves, such as buildings, shops, restaurants, and many others. Sometimes rather than being directly attached to one of these objects, an address node is simply place at the relevant location, for example on your example street:

Also keep in mind that streets sometimes do not have a name but are referenced by some kind of index (e.g.
‘B 558’). In those cases these the number is stored in the tag “ref”.

Thanks for replies guys.
Your answers really helped me to understand the problem.