Wolfram Language

Richer Knowledgebase Access

Visualize the Wolfram Language

The structure of the Wolfram Language and its relationships with the Wolfram Knowledgebase can be visualized in a number of interesting ways. In this example, you can make a word cloud encapsulating aspects of this relationship, computationally explore and assemble example outputs from the documentation, and visualize the places and times associated with people whose names appear as part of Wolfram Language symbols.

Create a word cloud of terms appearing in the WolframLanguageData documentation.

In[1]:=
Click for copyable input
WordCloud[ DeleteStopwords[ Flatten[TextWords[ WolframLanguageData["WolframLanguageData", "TextStrings"]]]]]
Out[1]=

Create a collage of basic documentation example outputs for Plot.

In[2]:=
Click for copyable input
ImageCollage[ Cases[WolframLanguageData["Plot", "DocumentationBasicExamples"], c : Cell[_, "Output", ___] :> Rasterize[RawBoxes[c]], \[Infinity]], ImagePadding -> 10, Background -> Transparent]
Out[2]=

Create a collage of all documentation example output graphics for Plot.

show complete Wolfram Language input
In[3]:=
Click for copyable input
evaluate[l_List] := Module[{p}, p = l /. RawBoxes[Cell[BoxData[wlc_], "Input", ___]] :> ToExpression[wlc, StandardForm, Hold]; Block[Evaluate[ Select[Union[Cases[p, _Symbol, {-1}]], Quiet[Context[#] === "Global`"] &]], ReleaseHold /@ p]]
In[4]:=
Click for copyable input
ImageCollage[ Rasterize[#, ImageSize -> 100] & /@ Cases[Flatten[ evaluate /@ Flatten[WolframLanguageData["Plot", "DocumentationExampleInputs"][[All, -1]], 1]], _Graphics], ImagePadding -> 2] // Quiet
Out[4]=

View images of people associated with the LaplacianGaussianFilter symbol in the Wolfram Language.

In[5]:=
Click for copyable input
ImageAssemble[ PersonData[ WolframLanguageData["LaplacianGaussianFilter", "EponymousPeople"], "Image"]]
Out[5]=

Extract people after whom Wolfram Language symbols are named.

In[6]:=
Click for copyable input
people = DeleteCases[ Union[Flatten[ WolframLanguageData[All, "EponymousPeople"]]], _Missing];

Obtain information on their birthplaces.

In[7]:=
Click for copyable input
placedata = DeleteCases[ PersonData[ people, {"Image", "BirthPlace", "Name"}], {_, _Missing, _}];

View these locations and their associated people on a map of the world.

show complete Wolfram Language input
In[8]:=
Click for copyable input
GeoGraphics[ Tooltip[Point[#2], Column[DeleteCases[{##} /. e_Entity :> CommonName[e], _Missing]]] & @@@ placedata] // Quiet
Out[8]=

Extract birth and death dates for people after whom Wolfram Language symbols are named.

In[9]:=
Click for copyable input
timedata = Block[{EntityFramework`$EntityValueBatchSize = 300}, DeleteCases[ PersonData[ people, {"BirthDate", "DeathDate", "Name", "Image"}], {_Missing, __}]];

Make a timeline plot.

show complete Wolfram Language input
In[10]:=
Click for copyable input
formatdates[d1_, d2_] := Row[Riffle[Switch[#, Missing["Alive"], "present", _Missing, "????", _, DateString[#, {"MonthName", " ", "DayShort", ", ", "Year"}] ] & /@ {d1, d2}, "-"]]
In[11]:=
Click for copyable input
TimelinePlot[ Association @@ ((Tooltip[StringSplit[#3, " "][[-1]], Column[{#4, #3, formatdates[#1, #2]}]] -> #1) & @@@ Select[timedata, #[[1]] > DateObject[{1800}] &])]
Out[11]=

Related Examples

de es fr ja ko pt-br ru zh