Язык Wolfram Language

Расширенный доступ к базе знаний Wolfram Knowledgebase

Самоанализ языка Wolfram Language

База знаний Wolfram Knowledgebase содержит не только информацию об объектах и явлениях внешнего мира, но и подробные сведения о языке Wolfram, Wolfram Language. Эти знания могут быть использованы для изучения структуры (и эволюции) данного языка. Они также могут помочь в обнаружении функциональных аспектов интересующих пользователя вопросов. Для этого, неявно определенные классы сущностей используются для идентификации символов языка, удовлетворяющих заданным критериям.

Воспользуемся неявно определенным классом сущностей, чтобы идентифицировать символы Wolfram Language, введенные в версии 11.

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

Запросим список символов, добавленых ​​в версии 10 и измененных в версии 11.

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

Найдем символы, содержащие в их названии слова "Фридриха Гаусс".

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

Найдем графические символы, введенные в версиях 8-11 программного обеспечения Mathematica.

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

Найдем наиболее часто используемые символы (во всех разделах), используя классификатор EntityProperty в сочетании с неявно определенным классом сущностей.

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

Рассмотрим содержание полученного отформатированного неявного класса сущностей, нажав на [+].

Out[6]=

Разложим класс сущностей на составляющие компоненты с помощью функции EntityList.

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

Запросим частоту использования этих символов.

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

Построим круговую диаграмму частоты использования этих символов.

код на языке Wolfram Language целиком
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]=

Родственные примеры

de en es fr ja ko pt-br zh