Richer Knowledgebase Access

Wolfram Language Self-Analysis

The Wolfram Knowledgebase contains not only information about external entities, but also detailed particulars about the Wolfram Language itself. This knowledge can be used to explore the structure (and evolution) of the language. It can also aid in the discovery of functionality of interest. Here, implicitly defined entity classes are used to identify Wolfram Language symbols satisfying certain criteria of interest.

Use an implicitly defined class to identify symbols introduced in Version 11.

In[1]:=
Click for copyable input
EntityList[ EntityClass["WolframLanguageSymbol", "VersionIntroduced" -> 11]] // Take[#, 20] &
Out[1]=

Extract symbols added in Version 10 and modified in Version 11.

In[2]:=
Click for copyable input
EntityList[EntityClass["WolframLanguageSymbol", {"VersionIntroduced" -> Interval[{10, 10.4}], "VersionsModified" -> ContainsAny[{11}]}]]
Out[2]=

Find symbols named after Carl Friedrich Gauss.

In[3]:=
Click for copyable input
EntityList[ EntityClass[ "WolframLanguageSymbol", {"EponymousPeople" -> ContainsAny[{Entity["Person", "CarlFriedrichGauss::4vctc"]}]}]]
Out[3]=

Find graphics symbols introduced in Mathematica versions 8 to 11.

In[4]:=
Click for copyable input
EntityList[EntityClass["WolframLanguageSymbol", { "FunctionalityAreas" -> ContainsAny[{"GraphicsPrimitiveSymbols"}], "VersionIntroduced" -> Interval[{8, 11}] }]]
Out[4]=

Find the 10 most-used symbols (in all corpora) using an EntityProperty qualifier combined with an implicitly defined entity class.

In[5]:=
Click for copyable input
EntityClass["WolframLanguageSymbol", EntityProperty["WolframLanguageSymbol", "Frequencies", {"Corpus" -> "All"}] -> TakeLargest[10]]
Out[5]=

See the contents of the resulting formatted implicit entity class by clicking the [+].

Out[6]=

Resolve the entity class into constituent members using EntityList.

In[7]:=
Click for copyable input
EntityClass["WolframLanguageSymbol", EntityProperty["WolframLanguageSymbol", "Frequencies", {"Corpus" -> "All"}] -> TakeLargest[10]]; EntityList[%]
Out[7]=

Extract usage frequencies.

In[8]:=
Click for copyable input
EntityList[ EntityClass["WolframLanguageSymbol", "VersionIntroduced" -> 11]] // Take[#, 20] &; EntityList[%]; top10 = EntityValue[%, EntityProperty["WolframLanguageSymbol", "Frequencies", {"Corpus" -> "All"}], "EntityAssociation"]
Out[8]=

Make a pie chart of usage frequencies for these symbols.

show complete Wolfram Language input
In[9]:=
Click for copyable input
PieChart[ Append[top10, "others" -> 1 - Total[Values[top10]]], LabelingFunction -> Function[Row[{NumberForm[100 #, {3, 1}], "%"}]], ChartLegends -> Automatic, ChartStyle -> "Rainbow"]
Out[9]=

Related Examples

de es fr ja ko pt-br ru zh