I'm trying to create a graph of the LN network using data from https://ln.fiatjaf.com/. I used the channel data to get all the active channels for any given duration and created a graph using the nodes of the said channels. The next step was to find the largest connected component that yielded 20k LN nodes. Of 20k LN nodes, a good portion (~5k nodes) do not have an address field. This data was queried using https://1ml.com/. I was just trying to find if there is any reason behind it, because based on my understanding if a node is part of a fully connected component, it should have one of IPv4, IPv6, or an onion address.
Lightning nodes do not need to advertise an external IP address. This does prevent other nodes from connecting to you, but you can still connect to other nodes (as long as they have a public address) and open channels to them. Other nodes will not be able to open a channel to you unless you're already connected to them.