Wolfram 语言

知识库扩展

合并来自多个领域的数据

除了新增的实体和属性外,Wolfram 知识库也进一步增强,添加了数据域之间的额外对齐方式和连接.

从一个电影明星开始.

In[1]:=
Click for copyable input
Entity["Person", "MattDamon::88f5d"][ EntityProperty["Person", "Image"]]
Out[1]=

提取他出场的影片列表.

In[2]:=
Click for copyable input
films = Entity["Person", "MattDamon::88f5d"]["MovieAppearances"];

提取生平信息存在于 Wolfram 知识库中的联袂出演明星列表.

In[3]:=
Click for copyable input
costars = Cases[DeleteDuplicates[ Flatten[EntityValue[films, "Cast"]]], _Entity];
In[4]:=
Click for copyable input
RandomSample[costars, 10]
Out[4]=

绘制与 Matt Damon 联袂出演过至少一部影片的影星的已知出生地图形.

In[5]:=
Click for copyable input
Quiet@GeoGraphics[{Red, PointSize[0.01], Opacity[0.5], Point@DeleteMissing[EntityValue[costars, "BirthPlace"]]}]
Out[5]=

再回到联袂出演明星列表,找出是否其中有任何人在另一个创造性领域中而声名大噪.

In[6]:=
Click for copyable input
writers = Normal[DeleteMissing[ EntityValue[costars, "NotableBooks", "EntityAssociation"]]]
Out[6]=

利用电影和人物属性识别出大概仅在录像档案中出现过的合演明星,并将他们从列表中删除.

In[7]:=
Click for copyable input
firstFilm = Sort[EntityValue[films, "ReleaseDate"]][[1]]
Out[7]=
In[8]:=
Click for copyable input
impossibleCostars = Select[writers, First[#]["DeathDate"] < firstFilm &]
Out[8]=
In[9]:=
Click for copyable input
Complement[writers, impossibleCostars]
Out[9]=

相关范例

de en es fr ja ko pt-br ru