(See also this: http://reference.wolfram.com/language/guide/KnowledgeRepresentationAndAccess.html)
This is all in the docs, but maybe it's good to lay out here.
If you need classes, use EntityClassList:
EntityClassList["AdministrativeDivision"] // CanonicalName // Take[#, 5] & {"ADM1", "ADM2", "ADM3", "AllUSStatesAndTerritories", \ "AllUSStatesPlusDC"}
If you need properties, use EntityProperties:
EntityProperties["AdministrativeDivision"] // CanonicalName // Take[#, 5] & {"AccommodationAndFoodServicesSales", "AggravatedAssault", \ "AggravatedAssaultRate", "AggregateHouseholdIncome", "AnnualBirths"}
If you want straight-up entities, use EntityList:
EntityList["Aircraft"] // CanonicalName // Take[#, 5] & {"RB1", "CAP1", "TSR2", "3ISkyArrow", "3SigmaNearchos"}
Note that EntityList can be applied to a class, too and EntityProperties can be applied to individual entities.
If you want the type name, use EntityTypeName, see also CanonicalName and CommonName
I don't actually know how to get a list of every EntityPropertyClass for an entity type without direct access to the EntityStore
If you want an Association or Dataset of your data, you can specify that to EntityValue. This works even for custom entities provided via EntityStore:
EntityValue[Entity["AirlineSafety", "Aer Lingus"], "Association"] <|EntityProperty["AirlineSafety", "Label"] -> "Aer Lingus", EntityProperty["AirlineSafety", "Airline"] -> "Aer Lingus", EntityProperty["AirlineSafety", "AvailableSeatKilometersPerWeek"] -> 320906734, EntityProperty["AirlineSafety", "Incidents85to99"] -> 2, EntityProperty["AirlineSafety", "FatalAccidents85to99"] -> 0, EntityProperty["AirlineSafety", "Fatalities85to99"] -> 0, EntityProperty["AirlineSafety", "Incidents00to14"] -> 0, EntityProperty["AirlineSafety", "FatalAccidents00to14"] -> 0, EntityProperty["AirlineSafety", "Fatalities00to14"] -> 0|>
Note that this also can be used on types or classes, e.g,
EntityClass["Airline", "Departures" -> GreaterThan[1000000]][ "Association"] // Map[Take[#, 3] &] <|Entity["Airline", "SouthwestAirlinesCo::tcv64"] -> <|EntityProperty["Airline", "AircraftFuel"] -> Quantity[1.53*10^9, "Gallons"], EntityProperty["Airline", "AirlineID"] -> "19393", EntityProperty["Airline", "Airtime"] -> Quantity[36319489/20, "Hours"]|>|>
WolframAlpha["counties in Maryland", "WolframParse"]. As forEntityClass, it always takes at least 2 arguments. $\endgroup$