In this post, I will explore a new entity and entity properties introduced in Mathematica version 14.0. My objective is to understand how to use the new functionality and apply it to my own use cases. I noticed an unfamiliar syntax for EntityProperty and a possible new Entity object about which I have some questions at the end of this post.
Millions of Species Become Computable
Millions of Species Become Computable
The new release notes show a the use of an EntityProperty , “predators” in the section “Millions of Species Become Computable”.
I will replicate the example here. It uses the concept of implicit EntityClass i.e. we select all species entities that have the cheetah as a predator:
I will replicate the example here. It uses the concept of implicit EntityClass i.e. we select all species entities that have the cheetah as a predator:
In[]:=
EntityList@EntityClass"TaxonomicSpecies",->
Out[]=
,,,,,,,,,,,,,,,,,,
In[]:=
ImageCollage@EntityValue[%,"Image"]
Out[]=
A new EntityProperty syntax?
A new EntityProperty syntax?
The EntityProperty object “predators” turns out to be a structured (compound) entity property:
In[]:=
Out[]//InputForm=
EntityProperty[TaxonomicSpecies -> Eukaryote -> Animal, Predators]
This EntityProperty is based on a hierarchical structure, probably related to the new Taxonomic Sequence property:
In[]:=
Out[]//InputForm=
EntityProperty[TaxonomicSpecies, TaxonomicSequence]
For the cheetah we can derive the taxonomic sequence:
In[]:=
Out[]=
,,,,,,,,,,,,
A new (compound) entity object?
A new (compound) entity object?
I have not seen this EntityProperty syntax before, so I tried to create a similarly structured/compound entity for example, I tried:
In[]:=
Entity["TaxonomicSpecies",{"Eukaryote"->"Animal"}]
Out[]=
I seem to have created a new object with its own icon and the “plus” icon suggests a compound object.
Unfortunately, I cannot derive any properties from this object, so I have to try something else.
Unfortunately, I cannot derive any properties from this object, so I have to try something else.
The “predators” property is based on the “animal” entity class
The “predators” property is based on the “animal” entity class
Let’s assume the “predators” entity property is derived from an implicit entity class, structured as so:
In[]:=
EntityClass"TaxonomicSpecies",->["Properties"]//Shallow
Out[]//Shallow=
,,,,,,,,,,374
Here we can find a whole bunch of new entity properties, among which the “predators” property:
In[]:=
Out[]//InputForm=
EntityProperty[TaxonomicSpecies -> Eukaryote -> Animal, Predators]
How did I find this?
Well, I used the kingdom of the cheetah as a selection criteria, which will give me the taxonomic group of “animals”:
Well, I used the kingdom of the cheetah as a selection criteria, which will give me the taxonomic group of “animals”:
In[]:=
Out[]=
Alternatively, we can derive the same the “animal species” properties if we use the predefined entity classes of the new TaxonomicSpecies type:
In[]:=
EntityValue["TaxonomicSpecies","EntityClasses"]//Shallow
Out[]//Shallow=
,,,,,,,,,,23
In[]:=
Out[]//Shallow=
,,,,,,,,,,374
Note however, the “animal species” class is not the same as my implicit entity class:
In[]:=
EntityClass"TaxonomicSpecies",->===
Out[]=
False
Questions
Questions
1
.What type of entity is Entity[“TaxonomicSpecies”, {“Eukaryote” -> “Animal”}] that I accidentily created? It seems to have its own icon.
2
.Is the “predators” EntityProperty syntax only available for the new TaxonomicSpecies entity type?
3
.What is the proper way to construct the EntityProperty syntax for more TaxonomicSpecies types?

