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

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:
In[]:=
EntityList@EntityClass"TaxonomicSpecies",
predators
->
cheetah
SPECIES SPECIFICATION

Out[]=

Egyptian goose
,
hirola
,
brindled gnu
,
Burchell's zebra
,
Grevy's zebra
,
mountain zebra
,
Thomson's gazelle
,
dorcas gazelle
,
mountain gazelle
,
goitered gazelle
,
Barbary striped grass mouse
,
gerenuk
,
dama gazelle
,
Grant's gazelle
,
yellow baboon
,
desert warthog
,
common warthog
,
Sharpe's grysbok
,
southern reedbuck

In[]:=
ImageCollage@EntityValue[%,"Image"]
Out[]=

A new EntityProperty syntax?

The EntityProperty object “predators” turns out to be a structured (compound) entity property:
In[]:=
predators
//InputForm
Out[]//InputForm=
EntityProperty[TaxonomicSpecies -> Eukaryote -> Animal, Predators]
This EntityProperty is based on a hierarchical structure, probably related to the new Taxonomic Sequence property:
In[]:=
taxonomic sequence
//InputForm
Out[]//InputForm=
EntityProperty[TaxonomicSpecies, TaxonomicSequence]
For the cheetah we can derive the taxonomic sequence:
In[]:=
taxonomic sequence
@
cheetah
SPECIES SPECIFICATION
Out[]=

superkingdom

eukaryotes
,
kingdom

animals
,
phylum

chordates
,
subphylum

Craniata
,
superclass

lobe-finned fishes
,
class

mammals
,
superorder

Laurasiatheria
,
order

carnivores
,
suborder

Feliformia
,
family

cat family
,
subfamily

Acinonychinae
,
genus

Acinonyx
,
species

cheetah


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[]=
species specification
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.

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",
kingdom
->
animals
SPECIES SPECIFICATION
["Properties"]//Shallow
Out[]//Shallow=

alternate common names
,
alternate scientific names
,
annual number of human casualities
,
aquatic biomes
,
associated body sites
,
associated human diseases
,
biogeographic regions
,
biomass
,
biomes
,
child taxa
,374
Here we can find a whole bunch of new entity properties, among which the “predators” property:
In[]:=
predators
//InputForm
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”:
In[]:=
kingdom
@
cheetah
SPECIES SPECIFICATION
Out[]=
animals
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=

amphibian species
,
amphibian taxon
,
animal species
,
animal taxon
,
arachnid species
,
arachnid taxon
,
archaean species
,
archaean taxon
,
bacterium species
,
bacterium taxon
,23
In[]:=
animal species
SPECIES SPECIFICATIONS
["Properties"]//Shallow
Out[]//Shallow=

alternate common names
,
alternate scientific names
,
annual number of human casualities
,
aquatic biomes
,
associated body sites
,
associated human diseases
,
biogeographic regions
,
biomass
,
biomes
,
child taxa
,374
Note however, the “animal species” class is not the same as my implicit entity class:
In[]:=
EntityClass"TaxonomicSpecies",
kingdom
->
animals
SPECIES SPECIFICATION
===
animal species
SPECIES SPECIFICATIONS
Out[]=
False

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?