Wolfram言語の自己分析
Wolfram Knowledgebaseには外部実体についてだけでなくWolfram言語そのものについての詳細な情報も含まれている.この知識を使って言語の構造(と進化)について調べることができる. この知識は,興味がある機能を発見する上でも役に立つ.ここでは,一定の興味基準を満たすWolfram言語のシンボルの特定に,隠的に定義された実体クラスが使われている.
隠的に定義されたクラスを使ってバージョン11で導入されたシンボルを特定する.
In[1]:=

EntityList[
EntityClass["WolframLanguageSymbol", "VersionIntroduced" -> 11]] //
Take[#, 20] &
Out[1]=

バージョン10で導入され,11で更新されたシンボルを抽出する.
In[2]:=

EntityList[EntityClass["WolframLanguageSymbol",
{"VersionIntroduced" -> Interval[{10, 10.4}],
"VersionsModified" -> ContainsAny[{11}]}]]
Out[2]=

「カール・フリードリヒ・ガウス(Carl Friedrich Gauss)」に因んで名付けられた関数を求める.
In[3]:=

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

Mathematicaバージョン8から11までに導入されたグラフィックスシンボルを求める.
In[4]:=

EntityList[EntityClass["WolframLanguageSymbol", {
"FunctionalityAreas" -> ContainsAny[{"GraphicsPrimitiveSymbols"}],
"VersionIntroduced" -> Interval[{8, 11}]
}]]
Out[4]=

EntityProperty限定子を隠的に定義された実体クラスと組み合せて使い,(全コーパス中で)最もよく使われるシンボルを10個求める.
In[5]:=

EntityClass["WolframLanguageSymbol",
EntityProperty["WolframLanguageSymbol",
"Frequencies", {"Corpus" -> "All"}] -> TakeLargest[10]]
Out[5]=

[+]をクリックして,結果のフォーマットされた隠的実体クラスのコンテンツを見る.
Out[6]=

EntityListを使って実体クラスを構成メンバーに分解する.
In[7]:=

EntityClass["WolframLanguageSymbol",
EntityProperty["WolframLanguageSymbol",
"Frequencies", {"Corpus" -> "All"}] -> TakeLargest[10]];
EntityList[%]
Out[7]=

使用頻度を抽出する.
In[8]:=

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

これらのシンボルの使用頻度の円グラフを作る.
完全なWolfram言語入力を表示する
Out[9]=
