Skip to main content

Organizing Wolfram language symbols with Entity


Here's a word cloud tally of the ~5k System names split at camel humps, with the long tail cropped.


What resources are available to organize these terms using the new Entity functionality? Applications might include:



  • Retrieve related objects Select[MatchQ[{___, "Graph"}]] exceptions to camel hump model include: HighlightGraph is not a type of graph, HermiteH should be grouped with Polynomial entity. Is there a method to crowd-source tagging and linking? Or even automate discovery of such links (eg from documentation).

  • Tree or graph visualization of related symbols.

  • Highlight undocumented symbols.

  • Compare Attributes.


EDIT:



By request, code to generate the word cloud. Note that I'm using my more compact method rather than Aisamu's foolproof, b/c they give basically the same result mod a few symbols.


names[in] = Names["System`*"] // Select[StringLength[#] > 1 &] ;

humpCharacters =
Flatten@{CharacterRange["A", "Z"], CharacterRange["0", "9"]};

names[data] =
names[in] //
AssociationMap[
StringSplit[#,

c : humpCharacters ~~
rest : Except[Append[humpCharacters, "$"]] .. :>
c <> rest] & /* Select[# != "" &]] // Dataset;

names[data][Catenate /* Tally /* SortBy[Last] /* Reverse][
Map[Style[First[#], FontSize -> (Last[#]/3 + 8)]^
Style[Last[#], Red] &]] // Normal

enter image description here




Comments