The problem seems to be that many companies, even some of the biggest, well known firms are not known in Entity["Company","name"]
form to Mathematica. This holds for companies like Apple, Microsoft, General Electrics etc. I believe that CompanyData
needs entities to be of this form.
If you want to discover a company's entity representation using W|A discovery you end up with Entity["Financial", "tickersymbol"]
-like forms instead for those firms.
The set of things known of "Company" entities differs from those known of "Financial" entities:
EntityProperties["Financial"] // CanonicalName
{"CIK", "Close", "Exchange", "HeadquartersCoordinates",
"High", "Image", "Last", "LatestTrade", "Low", "Name", "Open",
"OriginalSharePrice", "Symbol", "Volatility20Day",
"Volatility250Day", "Volatility50Day", "Volume", "ZacksAnalystHold",
"ZacksAnalystMean", "ZacksAnalystModerateBuy",
"ZacksAnalystModerateSell", "ZacksAnalystStrongBuy",
"ZacksAnalystStrongSell", "ZacksMemberCount"}
EntityProperties["Company"] // CanonicalName
{"City", "Employees", "FoundingDate", "Image", "Industry",
"Latitude", "Longitude", "Name", "Position", "Revenue",
"RevenuePerEmployee", "TotalFunding"}
The list is clearly different, though there is some overlap. "Image" occurs in both lists and can be used to get Apple's logo:
Entity["Financial", "NASDAQ:AAPL"]["Image"]
and the logo of Wolfram Research, Inc, in CompanyData
style:
CompanyData[Entity["Company", "WolframResearch::s9r9v"], "Image"]
or through Entity
properties:
Entity["Company", "WolframResearch::s9r9v"]["Image"]
You can check with
Select[CompanyData[], StringMatchQ[#[[2]], ___ ~~ "appl" ~~ ___, IgnoreCase -> True] &]
that CompanyData
is really missing some big companies. Try replacing "appl" with "micros", or "IBM".