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]=