Categories are useful but infoboxes are better. The problem then becomes how can you utilize the information in the infoboxes?
Have a look at the magic that is DBpedia. You ll have to read a fair chunk before you can play with it and then SPARQL has a hefty learning curve too:
SELECT ?property ?hasValue ?isValueOf
WHERE {
{ <http://dbpedia.org/resource/LeBron_James> ?property ?hasValue }
UNION
{ ?isValueOf ?property <http://dbpedia.org/resource/LeBron_James> }
}
Stackoverflow doesn t like this URL but it has tons of useful info for you to process:
http://dbpedia.org/snorql/?query=SELECT+%3Fproperty+%3FhasValue+%3FisValueOf%0D%0AWHERE+{%0D%0A++{+%3Chttp://dbpedia.org/resource/LeBron_James%3E+%3Fproperty+%3FhasValue+}%0D%0A++UNION%0D%0A++{+%3FisValueOf+%3Fproperty+%3Chttp://dbpedia.org/resource/LeBron_James%3E+}%0D%0A}