Hi Murray,
Presumably, you are not just interested in filtering just the names, but would also like to access other properties from the filtered list of names. Here is a way to do that.
Create a FilteredEntityClass
that contains the entities whose name contains "compact".
compactTheorems = FilteredEntityClass["GeneralTopologyTheorem",
EntityFunction[n, StringContainsQ[n["CanonicalName"], "Compact", IgnoreCase -> True]]];
Make a Dataset
with name and some property
compactTheorems // EntityList //
Map[<|#["CanonicalName"] -> CanonicalName@#["RelatedConcepts"]|> &] //
Dataset
Add a "DisplayName" property using ExtendedEntityClass
extendedCompactTheorems = ExtendedEntityClass[compactTheorems,
{"DisplayName" -> EntityFunction[n,
StringRiffle[StringSplit[n["CanonicalName"], RegularExpression["(?=[A-Z])"]]]]}];
extendedCompactTheorems // EntityList //
Map[<|#["DisplayName"] -> #["AlternateNames"]|> &] //
Dataset