Do I need transit visa in Frankfurt to claim my check- in luggage to transfer to another airlines? I'll be travelling to Canada via Frankfurt.
Generally with major carriers and major hub airports in europe if all your flights are on one ticket (regardless of whether they are on the same airline or not) your baggage will be checked through and you will be able to transit airside.
On the other hand if you have two seperate tickets (as you say in a comment that you do) you will usually have to pick up and re-check your baggage and that means entering the country and transiting landside. This is one of many reasons why it is generally a bad idea to split a journey over multiple seperate tickets even if it looks slightly cheaper.
Another wrinkle is the airlines, even if you have no checked baggage the airline may refuse to board you for a flight if you will not be able to enter the destination on your ticket. They may not care that you have another ticket from a different airline.
Yet another wrinkle can be smaller airports or low cost carriers. These may not be set up with facilities for airside transit.
Yet another wrinkle is if your itinary contains any domestic or Schengen internal flights. Again in such cases a landside transit is needed.
Your Canadian visa exmempts you from airside transit Visa requirements in the Schengen area but not from visa requirements for landside transits. So if your nationality does not allow Visa-free visits to the Schengen area it looks like you will need to either get a Visa or rearrange your itinary.