I am trying to better understand the use cases for EntityTypes
and EntityClasses
.
My main confusion stems from EntityClass seemingly both being used to indicate subClassOf relationship:
EntityList[EntityClass["Museum", "Art"]] => [Some art center, Some art museum etc.]
And being used to indicate a group membership:
EntityList[EntityClass["Country", "Africa"]] => [Rwanda, Uganda, etc.]
Is it correct to assume that Wolfram doesn't really employ a subClassOf
concept but the above should simply be interpreted as groupings? In the sense that the entities are partOf
various Classes. Hence, the EntityClass not really defining a subclass but rather different groupings of entities?
Rwanda partOf Africa
WorcesterArtCenter partOf ArtMuseum
And does this then entail that there's no notion of properties being specific to these groupings?
Excellent if anyone can expand upon the rationale behind this and why there's (seemingly) not a deeper hierarchical tree with some form of "shape inheritance"?
Compared to something like Schema.org (https://schema.org/Museum) it seems like the Wolfram ontology takes another route with a flatter ontology? On the other hand it then supports lots of useful groupings out of the box? So that for example G20
becomes a shortcut to a class of countries. Again, Wikidata or other ontologies, might solve the same with memberOf G20
.
Is it correct to see EntityClass as a sort of "catch-all" here which doesn't specify in detail how an entity is related to a group, just that it's part of it? Are there in that case any other properties and classes that are available to provide a richer picture of the class hierarchy and how various instances are either related by memberOf, partOf, instanceOf or other classification?
Thank you!