Live CEOing Ep 681: Language Design in Wolfram Language [Ontologies]

Stephen Wolfram discusses adding ontological structure to Wolfram Language, including entity-type wrappers and taxonomic hierarchies. The design handles entities belonging to multiple types, like bats and whales that are mammals but not fish, and addresses how properties inherit across biological and geographic categories.
Chapters
Okay, hello everyone. We are looking at some modern language design about an old subject, at least for philosophers, ontology. So let's take a look here. So this is about. We're talking about hierarchical entities, is that correct?
Yes. Or more precisely, we want to attach properties to subsets of existing entities. And we do that by introducing new types of. Which are child types of the existing entity types.
Let me see if I understand this. So we've got right now a species entity type. But now what we want to do. Walk me through this.
Yes. So the upcoming upgrade of species called taxonomic species for the moment will have various child types, virus, for instance, or even further down animal now.
And so do we get to even toad ungulates at some point or you know, do we get to mammals?
That would be a question for the species developers.
Yeah, no, not at the moment.
Okay. I mean, that's what we hope to do because we expect different things for, you know, fishes and whatever. We'll expect different properties, won't we? This is what we went through before, right?
Yes, but, but, but there are some mammals that have properties from non mammals.
Like wingspans, maybe like bats. Yeah, okay, but I think that there are plenty of. I understand that point. We talked about that before.
Yeah.
I. Well, okay, maybe I should look at this.
I mean, this is more, more about the framework and the idea, not about a concrete breakdown for a given domain.
Okay, fair enough. But I thought what we'd agreed was that while it is the case that, you know, an astronaut could have a notable artwork that we were planning, you know, we break things down like this person is an example of an astronaut. They're also a person. That person could also be a something else. I don't know how quite how to think about this because, you know, a bat is not a bird.
Good.
But maybe a bad is a flyer.
Yeah, yeah, yeah.
So, yeah, so. So the idea that we had last time was that we have two types of parent types of a given type. One is the entity source type, which is where the entities are coming from. And the meeting should be about this entity source type. And then we also proposed having additional parent types which we call the property source types.
Okay.
Which are types which only give additional.
That's a good idea. That's a good idea. So in the case of the tree of life, the entity source type is basically the taxonomic tree.
The taxonomic species.
Yeah, no, but I mean by that, that then we do have mammals. We do have whatever, right? Mammals are part of animate, you know, of animals and Melia, whatever. We don't have a problem then with that. Even though there are mammals with, with wings. Because then what you're saying is the property source type would be that a bat could get bird like properties in some way. Am I making sense?
Yeah, so. So there could be a property source type of winged things like planes and birds, and some entities inherit from that.
I see what you say. So different from the entity source type, which will be restricted to the. I mean, in a sense it's not even entity, it's really taxonomic source type. And I mean taxonomy in a more general sense than just animal, you know, just biological. It's somehow. Well, I'm not sure. Let's go through what you're talking about here.
So the first idea is to introduce a new symbol entity type. We had a way to refer to entity types before we just used entity with one argument. So having a dedicated symbol is a little bit cleaner in my opinion, because there are some non trivial properties.
I thought we had a query entity type for just random things. How do, how do we extract the entity type of a, of something?
Well, if you have an entity, we can apply entity type name to it, but it just returns the string. So now this would be a better representation to encapsulate a string.
So wait a second. If I have just a generic. If I have a generic thing that I'm asking about, like a, like a bat, for example, by the way, the fact that there is, in this magnified view, the fact that there's this asymmetric space really bothers me and we should make sure that that's recorded as a bug. Okay, so what is the thing here? You're saying it's an entity type property.
We have a symbol called entity type name.
Oh, entity type name. So. Yeah, I see. Okay, so we had reserved, I think we did that intentionally. We had reserved the notion of entity type. So we can do that. We could, we can call this entity type. An entity type name becomes analogous to common name, for example.
Yes.
Okay. All right. Okay. So the entity type wrapper, and that gives this.
And then there's the question how do we represent the child types? So if you want to hover over one of those entity types under vertex list there you can see the input form. The idea is to have a sequence of rules that is basically scoping the animal under species.
Yes, well, but now I don't understand. Here we've got eukaryote goes to animal. Oh yeah, we've got eukaryote right here. I see. Why don't we not have prokaryote going to bacteria.
And that's a species.
Keiko here. No.
Yeah.
So there's no specific taxonomic rank. Yeah. Above like bacteria, virus. Yeah. Archaea, other than top level organism.
I understand. But a bacterium is a prokaryote.
Yeah, that's right. But there is no, like, official taxonomic things. It's called probably super kingdom rank, and there is nothing beyond that.
Okay, so in other words, it's inconsistently done. Even though bacterium is a prokaryote. It's the only. It's. It's not like this case where there are multiple. What are the. What's animalia. What is that? What is it called? It's a kingdom, isn't it? Animalia is a kingdom. And this is. This is a super kingdom here.
That's right.
Yeah.
And so bacteria don't have a super kingdom, even though they are in fact prokaryotes, which could be their super kingdom, but it isn't identified that way. Is that a correct statement?
So virus in so on super kingdom categories.
Oh, these viruses are super kingdom. Yeah.
Yeah.
Okay. All right, fine. There's some biological twiddle here. Okay. All right, so let's keep going here. So this is.
So this is also proposed typesetting for those entity types.
I think it's quite nice. Yeah. Okay.
And they have certain properties. For instance, the entity source type of every type.
Hold on one second here, one second. I mean, these things are always trees, right? The entity graphs are always trees. Correct. They're not dags.
In our case. They are trees. Yes. As long as we don't introduce property source types, then we get dags. So for the moment, we have trees. Correct.
Okay, okay. But I mean, for our trees, we have very clear accessors for the different parts of a tree and children of nodes and things like this. Right. So I'm just saying we should make sure we use those. Oh, you have a tree right here.
Yes. So for taxonomic species, we could get that tree and do whatever we like. Visit. So there's an example just below the tree map which shows.
Okay, you're on top of this, basically. All right, so hold on, hold on. So this is. I'm confused here. Why is there not a thing called entity type tree? Or is there. Why is there any child type tree?
Yes. I wanted to make sure that it's clear that we don't go up. Maybe this is implicit.
What do you mean we don't go up?
Given the uk we only go down from there.
For which. For the entity. I mean, like. Like if I Do for the yellow box. Okay, but if I take this thing here and I say to this, you know, entity type graph. That's really weird.
It's just the graph layout is not ideal.
Yeah, so the graph is the same. You get basically the connected component of the whole entity type graph in which this type exists. Okay, so the graph layout has been fixed already?
Yeah. Yeah. Okay, fine. And just I'm confused. I mean, these are, these are standard names and these are common names here. Was that?
Yeah, so. So this has been fixed. It's okay to production.
Yeah.
Okay. Okay. All right. So there's a graph, and the graph goes both up and down and there's a tree that for reasons you're perhaps going to explain, only goes down. Is that correct?
So, so we omit the property source types when we have them in the future, or if we have them in the future, so it's clear that we only go down.
I'm sorry, wait a minute. Property source types will go up from a given place, is that correct?
They also come down, but they would be hanging further up and point to any target in this graph.
I see, so fungus that had wings would have a, A thing from. Okay, okay, I get it. So I mean, the canonicalization of the property source types is non trivial. I mean, like, for example, how many property source types do we think will have four species? A hundred?
I think there's fewer.
Okay, and what kinds of things will they be? Because I mean, like, like a fish presumably has, you know, most fish have, I don't know, number of fins, things like this. Right. But so do whales. But how do we do that? Because mostly that's a fish property. We don't want to extract from fish and make them, you know, make their fins have to come from some finned thing. Property bucket. Does that make sense?
Yeah.
But somehow we want to inherit from fish. I mean, the best thing seems to me is there's a thing that's usually an attribute of fish, but in fact we want to inherit it first. Cetaceans, As opposed to going up and saying. I mean, I just think that otherwise we're going to have an untethered, you know, craziness of, you know, oh, because of the platypus. Okay, look, here's the case is why this can't work, okay. In, you know, darkest wherever, Peru, whatever, you know, there is discovered the new species of whatever it is of mammal that in fact has, I don't know what, you know, it doesn't lay eggs. It does, I don't know what? It has some crazy property. Right. And then we say, oh my gosh, we can't have the gestation period for mammals because look, there's a mammal just been discovered that has, you know, I'll give you another example, better example perhaps say we have a notion of, I don't know, multiplicity of star systems or something, and then suddenly something is discovered which is some continuous swirling thing that doesn't have a multiplicity. We can't now blow up everything in that entity type and say, oh, that has to come from some super entity type that's making sense.
Yeah, I see what you mean.
And so I think it's much better to just say that we essentially, because that is what commonly people do is they foreign inherit a fish notion for whales and things. Right. We borrow a property from a, an entity type that didn't naturally have it. Comments? I think otherwise we're going to have a ridiculous mess of, you know, well, we have things which have, you know, wings, but they don't have the same kind of wings. They're really webbed wings and they're webbed feet as well. And they're this and they're that. And you know.
Properties. We have something like we have in quotes, regular properties, and we have extra properties that we can attach to any level. We need it.
To anywhere from anywhere. But we have, we have imported properties. We could even call them that come from a different entity type.
Or they might not even come from a different entity type. They are just so unique, they don't exist anywhere.
Yeah, I mean, I. The way. The way I would think about it, but this is. Given the framework that we have now, which maybe you don't like, is two things. First of all, there was the previous discussion of bats, where there's, where there's things that can fly and mammals and you get the union of those properties. But then you might say, oh, but then there's something even more special about bats because their wings form a membrane or something.
Yeah.
And so, and so then, then you know, this might be exposed or it might be just a implementation detail, but bat is itself its own entity type and so it can have additional properties beyond the ones that it just gets from inheritance.
Well, bat, which is in fact a bats plural because like, for example, you know, the frequency of their echolocation or something like that, it's probably different between different species of bats. Yep. And it's something we'd like to be able to record. Now that's a good idea to basically have the possibility of attaching Properties.
May never be needed.
Yeah, so hold on, we've got entity types, we've got entity classes, we've got entities, presumably bats. Here is an entity class. Is that true? Or what is that thing? What is that? Anyway.
That would be an entity in the previous species, but in the new.
World it's probably some named level of the tree. Is this correct, Keigo?
Yeah, so it could be in the taxonomic one of the taxa in a taxonomic tree. Or bats actually can be so called species phylactic group. So we have something like fish, like deer. Those are not official taxonomy in taxonomic 3 because their species belong to multiple branches in taxonomic tree. So we call those as phyletic group. So if you query for example species phyletic group or of fish, you can actually get the list of all fish species.
Okay, but hold on, go ahead.
I think from a practical point of view, one wants two things for a given entity type. One wants to know what are the properties that the things have. And then for a concrete sink, one wants to know all quantitative or qualitative properties the things have. And there might be, there might be some missing for whatever reason because they don't apply. And there might be some additional ones.
Okay, but I want to point out something, okay, so there are cases where, okay, something like bats are different from something like astronauts because why are they different? Astronauts are all, well, give or take people, okay. And somehow they. That is merely a tag. Whereas a bat, I mean, I understand you could say it's an animal and it's just tagged as a bat. I don't think that's how you think about it. The most important quality of the thing is that it's a bat.
I feel like this is a slippery slope because I see your point for astronauts, but maybe use a different properties of humans. Say they are of a certain skin color, they are of a certain height and then become nearer in the example to this. But I still think we shouldn't do it this way.
Well, okay, but there's a look, I guess one point about it is one difference is if you're a bat, you're never going to become a frog. Whereas if you're an astronaut, you could become a painter. Now you might argue that, you know, there are attributes of people that you can't change and there are other things.
You can't change, like stars, like becomes a super giant, becomes a dwarf, whatever.
Sorry, what do you mean? You mean it can the, the star which is currently tagged as a, as a red giant.
Yeah.
Well, one day become a neutron star.
Yeah, it's a different timescale, but the problem is still there.
Well, hold on. The. The thing you're saying. Okay. I mean, that's of course a total mess because let's imagine, I don't think it happens, but when it goes supernova, the star breaks into two pieces.
Yeah.
Is still the same entity.
No.
Maybe that's the first question.
Right. No, it cannot be. I mean, one of them when it's going off at 0.2 times the speed of light, tooling off to the other side of the galaxy.
No, I think that there are two new entities. They have a certain property, something like where they come from. And this is the old one which goes away.
Yeah.
In time.
Right. I mean, you know, and there are horrific cases here of, you know, plants that send out runners and another tree comes up and, you know, it's. I mean, not that we probably have famous trees, famous individual trees. We have famous organisms of other types.
I think we have a couple of famous trees, okay. They're not exposed in language yet, but there are a couple of famous trees.
Okay.
There are a couple of databases.
Right. I mean, but that means that the notion of what's an individual there is such a mess.
This, I feel like, is a very common thing that we. That I totally agree, but I feel that this is also going on to this discussion. Like when is an entity acting abstract thing versus a very concrete thing? Like in this sense, human embeds are probably the biggest differences. Bets always stands for a class of things. Even a concrete sub genus of a bat is still a class of things where a human is really just one copy.
Well, so people say, what about the Neanderthals? I mean.
No, no, no. Human in the sense of person.
He means like you or.
Individuals. Yeah, individuals.
Right, right, right, right, right.
Two other entity types.
I was just working on this actually in my post Aristotelian efforts of. Yes. I mean, there are singulars like that. There are named singular things like that, and then there are things which are categories of things. And I agree those are different.
This is not represented in the ontology, I feel like right now at all.
Which we're talking about if it's one.
Concrete item or a class of things. Right.
So I suspect we're going to need that. In other words, it's a singular. It is the Eiffel Tower. Right. It's not as.
I mean, maybe relatively straightforward because virtually all entity types that right now, within the type, all entities of this type are either singular ones or they are classes.
I agree. I Agree. So, I mean, if it's suspension bridges or something, that can be, you know, the Golden Gate Bridge, that's a singular. There's also, you know, a bat named Fred or something is a singular, which happens to be. Yeah. So I think there are these notions. And then, by the way, to extend that notion, there's also something like tungsten.
I was just going to say this.
Yes, right. That's a. That's a third. There are actually five cases, as I recall, that I could identify because those are of concrete kinds of things. They're also abstract kinds of things. Am I making sense that. Let's see. I think I could pull this up one second here. Yeah. Generic physical object, specific physical object, physical substance, generic abstract object, specific abstract object, abstract concept. I believe those are the cases. So, like, a generic abstract object is something like a story or a task. A specific abstract object will be something like the number seven. And an abstract concept is something like heat or time. So we've got generic physical object, specific physical object, physical substance. Physical substance being these things which are, you know, extensible, where we are dealing with the aggregate of the thing. Actually, I do. I do think about, you know, a field of sunflowers. That's a weird case because. Well, you're also. Interesting. Okay.
In any case, that's really a different story from today.
Yeah, I think so. Okay. All right, let's look at today's stuff. Okay. So I mean, I'm. Again, what we're saying is there is a notion. What you're identifying today is a hierarchical collection of mutually exclusive entity types. Is that a fair statement?
Not in mutually exclusive. That might be true in species, but in other cases, a person can be a musician and astronaut.
So then it's a tree of types. But a given entity could be of multiple types. Is that what you're saying?
Yes. So for species, the entity counts should sum up when you go up the tree from the bottom.
Yeah, okay, but. But I'm sorry, I'm looping back on this thing again about how to deal with properties. I mean, we have both linguistics and. Okay, so, you know, my general view of how this is going to work. And as I've been starting to think about this kind of post Aristotelian stuff, What we're going to end up with are small calculi of things. That is, you know, if we know that, we will not. What am I trying to say? Certain properties and things will have certain little calcul associated with them. As in, what's a good example? You'll be able to deduce things from one property or from a combination of two properties. If the thing, if the thing has a trivial thing. Okay. If the thing is a, you know, live birth animal, it'll have a gestation period. See what I'm saying?
Yeah, yeah.
And basically what we saw very clearly in the topological spaces where we have so many properties and if this read, then a certain other one follows.
Yes. No, I mean it will be good to get examples of other. I mean there are other calculi. For example, a building can't be destroyed before it was created, for instance. Probably. Maybe that isn't even true.
This really a calculus or is this just a set of restrictions on the property values?
I think it's a calculus because I think there are much more complicated cases. In other words, those are the cases that are kind of trivial. But I think in the end there are, You know, for instance, in the case of time, we have intervals of time. We're going to end up with temporal logic type stuff of this thing. You know, this war happened at this point and it was over this time span and it started, you know, before this one started, but the other one went on longer and so on. And there'll be somewhat non trivial things to untangle there. I mean, I think most of the time that the. Okay, here's what I expect. I expect that at the beginning most of these calculi will be fairly trivial, okay, Just as syllogistic logic for Aristotle was fairly trivial, but that once we have all these calculating coded, then we start being able to build much taller towers, as one could with more Boolean type logic on the basis of these things. Once those things are solid, then you can build bigger towers with them. That makes sense.
Yep.
But we never had a situation where those things are solid. I mean, the best, you know, people have encoded some of those kinds of things, but they've always been, you know, some. I mean, the issue is what things will be robustly true about the world in the same kind of way that logical inference is true about the world. And there certainly are things that physics has shown us are true about the world as robustly. And we can build fairly big towers. So anyway, that's okay, back to this. But I'm still concerned about this notion of essentially entity hierarchy as distinct from property hierarchy. And there are certain cases, like the Tree of Life is one case where there's a pretty well defined entity hierarchy. Where are other places?
Chemistry? We looked into it, it's very complicated, but it's at least on paper, well defined.
Like if you're an Alkane, then you're also this and you're also that. Is that what you mean?
JSON S? You can probably elaborate much better than me. Yes.
Okay, other examples.
Geo things, Continents, islands continents.
So you mean if you're an admission one, you also have ADM2s inside you.
And things or opposite. If you are ADM2, you are definitely live in ADM1.
Right?
The other direction might not be.
Yeah, okay, fine, but I.
But is that really the same kind of relationship? I mean there's. Those are containers. But is every ADM2 really necessarily inheriting all the properties of the.
I think it is because it's kind of like it's entity sort of containment by bureaucracy. If you're an ADM2 of this country, then you fly that flag, presumably.
But now you're in addition an island. Then it becomes interesting. Where do you get your property of being an island from?
Not from that hierarchy. I mean that, that's, that's property inheritance. Yeah, I mean just like you get your property of being winged, not from being a mammal. So I mean, that's why I am.
Not so, so convinced about this poverty hierarchy. That's why I think there should be maybe a little bit loser.
Right. I don't think it's what Jeremy said. Okay, but, but so hold on. Okay, point one. This is a thing we learned, you know, more than a decade ago about backbones for things. You know. Okay, first point is there are categories of things like buildings, for example. And yes, you could argue is that particular radio mast a building. But the first question is, is there sort of a backbone in which something is canonically considered a this or that?
I would, I would be slightly weaker. Not canonically considered, but people would agree to finish.
Now obviously we have situations in which we are disambiguating. It is a. You know, I don't know, I'm thinking of the. Whatever it is that the whatever it is. There's a ship that's somewhere in Long Beach. I think it's, you know, it's a museum now, but it was a ship, right? Now it's a building.
And there's also a certain kind of context to it. Like an element could be a chemical or it could be a material. It's a different viewpoint.
I know, right. So, but look, look, if what is reasonable is that it add disambiguation point in entity identification, you say, do you want the Queen Mary as it was as a ship running around the ocean or do you want it as a museum building and wherever it is. You see what I'm saying? And so long as we feel okay about asking people to disambiguate between those things. Those can be different entities.
I think they are. In my opinion, they are different entities.
Even though in a ship of Theseus kind of way, it's the same pieces of iron that are. So your point is. Okay, so the basic point is, our operational definition is if we feel okay asking people to disambiguate between them, then they can be different entities. If people look at it and say, I don't know what. Why I would distinguish a, you know, this from that, then we got a problem.
And. And I feel like the different entities are defined to their properties. Like the. The properties of the Warsaw right now in Sweden is no longer its speed. Or how many people work on the cannons, because that's right now not what it's used for, but when it was on the verdict C in action, there's more relevant properties.
Yeah. Okay. All right, so. Okay, so we've got this notion of an entity which could be thesesianly connected, so to speak, to another entity. In other words, that is a possible property of things is sort of related entities like the.
They might even be stronger. Like, that's maybe not the most scientific example, but Pokemons like this goes into this. This goes into this. It become a new entity, but physically it clearly evolves out of somebody else and it still has the same.
Okay, the butterfly that comes from the caterpillar, Which. Right, okay, fine. So, you know, so there's a notion of material connection, so to speak, between two entities. Yeah, all right, but then we've got. Okay, so we have the notion of entities then, but we also have these backbones of entity hierarchies. For example, let's take ships as an example. Isn't it the case, at least for warships, that there's some kind of hierarchy of types? You know, a destroyer, a frigate, a ship of the line or something. I don't know my naval history or whatever. Anybody know what I'm talking about?
I know what you're talking about, but I feel like here it becomes a little bit blurry when something is an entity type versus an entity class, then I would say the countries of Europe form such a stronghold, they should be on type.
I see. Because within. Because they have all sorts of properties in common. Because the EU and they have. Whatever.
Exactly.
Okay, okay.
So what is the entity type? No, I realize.
Right, right. So what is the difference? An entity type, you Know, an animal versus a building, a species versus a building. Okay, what about the tree house? You know, that's made of it? Well, that's of a singular. Of a singular tree. But okay, so there is a notion of its, you know, it's very essential being. I don't even remember. Didn't, didn't. You know, I've never been a big fan of Aristotle, but I seem to be thrust back into his clutches now. Didn't Aristotle have this, you know, definition of causes, Right? This, the formal cause, the, the material cause, all these things. Anybody remember this stuff? Well, I think he has this notion of. And final cause, which is kind of the teleological, what it's for type thing. But I think that's what we're going to end up going to is something like that where we have to say, what is the thing essentially that is going to be its entity type. What is the thing? I mean, it won't be quite the same as that. But what is the thing essentially? It is an animal versus it as a chemical versus whatever else. What is its sort of core essence then?
So can I interject? Yes, but, but say your example from earlier of a famous tree. Is it really essentially a famous tree or is it essentially just an oak?
Okay, so what we're doing there is we're crossing the singulars versus generics.
Right? And I feel like essentially it's always a generic, that definition.
I agree, but I think it's going to be necessary for us to have, you know, a city is always a city, but. I think it's okay. Well, we may yet be burnt by this, but the notion of a, an animal versus a famous animal versus a notable animal, I would argue that. Well, I mean, this is like famous diamonds as well. Famous gems, same story, right? We've got the gemstone, emerald, whatever it is, and then we've got a famous emerald. So we're always crossing. In some cases, like gemstones, we're more often going to be talking about the generic. But we could talk about the famous. In the case of cities at the present time, there really is, you know, cities are sort of generic, as in it isn't the case that, like, for example.
The contrast, cities are individual.
No, I understand that. I understand that. But what I'm saying is there is no useful. Okay, it isn't the case. Let's imagine that there were, I don't know what, what they might be. I mean, very. Let's think cities where people live versus cities where, where horses live or something. There were two types of cities. Two completely distinct types of cities, which there are not. Let's give a better example. Let's say. Yeah, okay, let's take bridges. Okay. There are distinct types of bridges which, like bats, could have their own generic entity types. A suspension bridge, a whatever. Type of bridge. Whatever. And many of those things come with a ton of properties that are specific to that type. But in the case of bridges, both things are relevant. It's a suspension bridge versus a. What is another kind of pylon bridge? I don't know what they're called. What are they called? Help.
I know what you mean. The much older ones.
Yes. Arched bridge, whatever it is the. Right. So that's a case where there is a specific bridge, a singular bridge, versus generic bridge. And those are both useful entity types, just like they are for gems with famous gems, animals with famous animals and so on. So in a sense, we have a. This specific generic thing is something where we could double up for essentially every. Every entity type could double up in that way. Some we know are doubled up, others we don't know are doubled up. I mean, in the case of batteries.
We don't want to double up.
What's that?
Batteries. There are no famous batteries. There are many entity types where we can't have the.
I wouldn't count on that.
Okay.
I wouldn't count on it. You know, one day when there's a super battery that is, you know, that powers California when everything else. Who knows what.
I see. Maybe you're right. So I retract. There might be for. Even for mundane objects, certain ones that very famous people used or the first light bulb or something like this.
Exactly, Yeah, I retract. So, I mean, I think what we're. What we're concluding is there is just like your super kingdoms in biological species, there is sort of a super entity concept which is. Is it a singular or is it a generic. Now, I mean, I'm sort of influenced because I do know that in the sort of philosophical literature those things are. They're just those two types discussed. It's not like there's a. You know, there's singulars, there's pairs, and there's generics type thing or something. But, you know, who knows whether that's actually correct? And I mean, like, for example, let me be really difficult. Okay. Let's say we've got some ducklings and there's a, you know, the seven ducklings. I'm sure there's a Disney thing with that or something. And the generic of the seven ducklings. Not generic. It isn't generic, it's a, a singular brood of ducklings. But then also the individual ducklings have their own personalities. That made sense.
Yeah.
So in other words, we've got both the generic of it's a duckling and we potentially got, we would argue perhaps a duckling class of the ducklings that were. Came from Jemima Puddle Duck or something, or whatever the names are. And then we've got the specific of, you know, Jane the duckling or whatever.
But coming back to the concrete ontology at hand. So if we go back to the ones that we looked at, assume we had now the famous animals. In my opinion, the famous animals live in a tree that's totally disconnected from this one and they have properties that connect them with each other. But the famous animal is not a tiny substree that goes somewhere off at I don't know which level, probably mammals or animals.
No, I think it's an orthogonal thing. This question of singular versus generic as orthogonal to this hierarchy.
Yes, but. But we still have an entity type of famous animals. So it would live somewhere. It just lives in a. Basically it's not the set of all entity types doesn't form a tree, but forest.
Yeah, well, but I think one could say that there is a projection from the generic to the specific and from the specific to the generic. And that is a lifting. Yeah, well, I'm saying it's orthogonal to this. There is a entity hierarchy and then there is a specific generic, not hierarchy, but direction that's orthogonal to the entity hierarchy.
But if the famous animal still is an entity type, it's in some sense not just orthogonal, it lives in the same plane.
Wait a minute, what are you saying? I mean, I don't understand that. What I'm suggesting is that we take taxonomic species, okay? Every one of these is going to be generic. Then we have a notable member of a taxonomic species.
And this is a subject, a sub entity type of taxonomic species.
Nope, nope.
Okay, I agree.
Just in the forest and connected by a particular property connection, that is the specific specialization, the singularization of that versus the genericization of that.
That's exactly what I meant. Yeah.
And the same with people, not just the other weird famous organisms, the same kind of case. Right.
People is also another tree like thing which splits into astronauts positions, whatever. And it has no edge connecting it to animal. It has other connections, but not the edge in this ontology.
I'm sorry, why is the tree. Why is the people thing other than it's a person and they could be a physician or an astronaut or both. I'm confused here.
Was this a question?
Yeah, I thought they can be. I'm confused.
What does the tree. Do you have one of these trees for people, you said. Okay, what we've said is that there are always said is that there are backbone situations of which you've mentioned chemicals, geo whatevers. GEO administrative, geo things, you know, species. These have backbone entity hierarchies. Right. In a way that. That perhaps bridges do not have a backbone. I'm thinking.
Famous bridges don't have.
Well, singular bridges.
Yeah.
Right. Do any singular. Yes. In the geo case, those things are singulars, right?
Yeah.
And they have a hierarchy.
We don't have the.
Generic.
Right.
So we don't have a concept like. Or one place as entity, which could be a city, a town, but we.
Could have a concept of lakes. There are surely different kinds of lakes.
Yeah, but that's. We could have that, but it will be completely separated.
Correct.
From the. I mean, the singulars have their own hierarchy and it's defined by, you know, who collects taxes in this place versus that place and. And so on and so on and so on. It's an administrative type thing. Yeah. That's completely separate from whether it is a. You know, whether. Whether it's a habitat of whatever they're called. Oh my gosh, what are those called things called? The zones. I don't know what they are.
The plant core zones.
Yeah, yeah, yeah, right. Whatever it is, you know, whether it's a. It's completely separate thing, it has its own hierarchy which is defined administratively, so to speak, as opposed to defined. I mean, it isn't the case that the breaking of the tree of life is administrative. The breaking of the tree of life is sort of morphological and genetic. It is by its nature, rather than by how. I don't know. That's a funny distinction. But. Okay, but let's.
There's anyway a convention in all these concepts.
Yeah, but I mean, I'm saying there are cases where there is a clear conventional entity hierarchy. Okay. Those places are worth us modeling in effect. Then there are places where we have to make it up, which I think are different. Now in the places where there's an entity hierarchy, there are also entity classes. And I would have thought that an entity class could simply be a collection of entities independent of and.
From the same type.
What's that? All of the same type. Yes, but I don't think that there is a hierarchy within entity classes. I don't think there needs to be that concept. I think that. And here's why. Because we're dealing with finite set theory, by the time we're dealing with entity classes. It's like an entity class is this and this and this. It's the countries in the EU and it's the countries in the World Health Organization or whatever else.
Maybe not quite as easy because we have implicit entity classes.
Like.
You mean like elements with a density less than 10 comms per cubic centimeter are clearly a subclass of all with a density less than 15 columns per cubic centimeter. Well.
Okay, no, no, I understand that, but my whole point is any entity class, explicit or implicit, is resolvable through a finite set of entities. Is that a true statement?
Yes.
So then all of the set theoretic, finite set theoretic kinds of things can be done, and we can, you know, it might be as an efficiency hack, we might do it differently, but conceptually an entity class is simply a finite set of entities.
As long as we don't introduce the integers as entities, we are safe clients.
What about chemicals? That's what we. Well, that's exactly what we distinguished several years ago when we invented molecule. Molecule is the analog of integer, but chemical is the somebody cared enough about it to give it a name type thing.
Yes.
And that, that's similar to this pile of, you know, this outgrowth of rock is notable enough that somebody called it a mountain as opposed to it. It's just a geo feature of the earth. So I think that's pretty reasonable. In other words, the question, in a sense. So a claim I would make is any entity that should be identified as an entity must have a name. If it doesn't have a name, it doesn't count as an entity, I would claim. So in other words, if it doesn't have a singular name, it doesn't count as an entity. So, for example, a particular geopoint specified by lat long is not an entity unless it also has a name like Null island or something, or the North Pole. Does that make sense to people?
Yeah.
I would say reluctantly, yes. I think for our entities in the system, yes. For entities, say, that are in custom entity stores, say all the traffic signs in a city, they are still finite. They don't have a name yet. They are still individual entities.
Interesting point. Let's consider that for a second.
They might have some kind of ID anyway.
Right.
Which will be the standard name.
Yeah. They presumably would have an ID in a database. They'll end up having an id.
Yeah.
All right. So it's the tagged Wolves, so to speak.
Yeah, exactly. Maybe I took the word name a little bit too little. Right.
They have an identifier as opposed to things whose only. I mean, okay, when we say an identifier, it's like a uuid. You pluck it out of the bucket of a large number of identifiers and hand it to this thing as opposed to. It is essentially found from a coordinate system or something.
Yeah.
Okay. Here's a sort of an operational definition. The name has a certain arbitrariness to. Is not a name that is given because it is utterly systematic. I mean, I don't know, it reminds me of, you know, king Henry the 18th or something. Who is given. Even then there's some arbitrariness to was assigned that id, for it was not assigned the ID because it was at this geolocation. It was assigned the ID because that was the next ID that came up. I'm thinking about this because it's like in the Library of Congress catalog. Isn't it the case. Is it the case that in addition to the call number, are all books assigned an id or are they just given a call number which is their category? I do not know.
Does Ben know?
Oh, no, no. ISBNs. ISBNs are the equivalent. Right. That's the point. That's the point. The ISBN is the id, and it is essentially an arbitrarily assigned id. So that's. That's. It's, you know, so it has a canonical name. Okay. In any case. All right. Okay. So we've got these notions, entity types for generic entity types for singulars, entity classes, finite sets. Then we've got this notion of hierarchies within entity types where we have kind of backbone hierarchies and then we have sort of properties that can be imported from one. I mean, we have this notion, which we haven't really discussed fully, of properties that can be imported from one entity type and used on another.
I am not convinced about this part, honestly, because, like, assume you need an exotic one and there's no other one yet out there which has it. Then you have to recreate it and you import it from yourself. But it's only this one entity within the entity type that needs it.
Yeah, that's why. That's funky. That's funky. But. But I mean, that's also.
Well, I still think that there's generic ones and special ones.
Generic in what sense?
That the. A little bit arbitrary. The vast majority of entities in this entity type has a concrete value for this property.
That's fine. Then we know those are the Properties associated with that entity. That's what we've discussed before.
Exactly. But then there are other properties that can just be. That of course must be kept track and normalized as much as possible. But they don't have to be coming from somewhere is.
I see what you're saying. Look, as a practical matter though, with our linguistics and things like that, we want to get fin linguistics from the fishes. How would we get the fin linguistics for talking about cetaceans? Certainly in our human way of talking about it, we're going to use fish linguistics to talk about whales.
Yes.
Now I admit that these analogies are a little weird. I mean, in other words, that's sort of an analogy.
But modular technicalities of implementation. If we know that a certain entity has a fin property, we can kind of transport it to the parser and tell them if this entity comes along. But normally this type doesn't have fins. For this one, it's fine.
Sure, yeah, I understand, but I'm just saying, to organize it, I'm just saying that I think. See, otherwise, let me point out the following thing. So let's say we're documenting this, right? You got the, I don't know, mammal entity type. It's got documenting all kinds of stuff. You know, it's gestation period, it's. It's body temperature, it's this, that and the other. Okay, and then we're like, but what about nobody expected the whale. And then we're sort of free form, introducing fin properties and things like this.
No, I disagree. Everybody expected the whale. But there were some properties that of interest that you didn't expect.
I agree, I agree, but I'm saying. Okay, fair enough, fair point. But I'm saying, wouldn't it be better if there is a more structured source for those properties? Like it's fish, like so we can bank and port, so we can at least know. I mean, in other words, the calculus of fins, whatever it might be. Okay, I don't know what the calculus of fins is, but it's probably, you know, I don't know how interesting the calculus of fins is. The calculus of wings might be more non trivial about beats per second and things like this lift and et cetera, et cetera, et cetera. Okay, Much better that we can import that thing from the birds along with its calculus than that we have to erect a new one specifically for mammals, for bats.
Agreed. But I was more thinking, say on humans, where potentially you have a vast array of very special properties that you can't import from anywhere.
All Right, let's talk about that for a second. Let's talk about the humans case. So you're saying different occupations and things.
No, I was more thinking say most people are famous because they did something very concrete that nobody else did. So per definition they have a unique property.
Yeah.
Like there's only basically LinkedIn we would associate by abolishing slavery in the U.S. there's not many other people who will get this. Where should this come from?
Right. But is that a property?
I think every property value can always be dual rephrase of having the property value as a property.
But I would claim that, I would claim that's not a useful property. I mean the property of. Well, okay, let's take another property, founders of universities of which, you know, Jefferson makes it. You know, I don't know if John Harvard makes it, but. But I don't know exactly how that works. But, but you know, is that a property or is that something else? Because there are, there are a number of them. Right. It's not. Although every one of those things has.
Mean, does a person have the property universities founded.
Yes, exactly.
Or I mean I would think that's a, it's a property of the university that it's founded by.
Yeah, but then it's, it's some kind of person. Yeah, but. But then the reverse should also be. So you're saying you could only implicitly look it up that it's a university founder. But, but we could talk about if.
We have to have properties on both sides for everything that could be implicitly looked up, then that seems right.
But imagine that the, the crew of Apollo 10 or something, we've got an astronaut and they were part of the crew of Apollo 10 and Gemini 6 or something. But then we've also got that spacecraft Apollo 10, and it has certain crew. I think in some cases that reciprocal relationship makes sense. In other cases pretty tenuous.
Although the references on each side of that might be slightly different. You might have associated space missions on the person side which just points to the mission. But the mission would have things like specific roles of the people who were part of the mission.
Why wouldn't that be? Also that person was the commander of this mission. Why wouldn't that be somehow associated with the person like in the leader data? How do you.
Yeah, how do you want to represent that data though? You want to have.
So probably you're right that it's organization first, that is that the, that it is the country that has a president and that president is this person and so on. But Then what are you saying? You're saying this person was an official of such and such a country or something? And then if you want to know what official, you have to go back and implicitly figure that out from the country. Is that your idea? It's a little weird.
But this is why we have implicit entities, right?
I mean, you can try to hang all of the different attributes and details on both sides, but I'm just not sure that makes.
Yeah, I'm not sure it makes sense. But I mean, and then, and then maybe it's. There's a canonical side for certain things, but. Okay, let's go back to the people example. So what, what are you saying here? You're saying there is a. Yeah, I'm.
Not saying it's a practical thing, but theoretically I could imagine that all the things people are famous for is a property rather than a property value of. What am I being famous for?
Okay, I think that's hopeless. In other words, I think the only things that should be proper. Remember, remember that our primary structure is entity, property value.
Right?
So, for example, universities founded nothing. Universities founded three, you know, different universities. Saying there are properties whose values are Boolean. You know, we tend to talk about, you know, cause of death or something, and then we have. Those could be themselves entities.
I think we don't have a disagreement, and I totally agree with you, that when there are certain sets of properties in one domain that apply to reasonable subsets of another entity type, we should of course bulk transplant them, but there will always be single cases that we must take from somewhere else. Properties.
Okay, I understand. So your point is there is. Let's take, I don't know, the boroughs of New York, which I think is a nasty case. Right. Because other cities don't have that. That subdivision. Alan would probably know. Alan, Am I right in that? That being an unusual case?
I am not certain it's unique, but it is definitely problematic.
Right, okay, so that's an example. So we've got. For New York, we have to have boroughs and we have to have a list of them. But for the, you know, 200,000 other cities in the world, they don't have boroughs.
That's a good example. That's exactly what I had meant.
Right. How do we deal with that?
I, I personally would have a problem if basically there are generic properties and properties that only apply to certain things.
Okay, so, so then the concept would be within the city entity type, there is a list of properties that are the generic properties that we expect that most cities will have a Population, a location, those kinds of things. Then we might have this bucket of special properties that we expect to apply to only a small subset of these entities. You could look up the whole bucket of all special properties, which would include the boroughs. For that case, it would include the strange yurt city that moves from one place to another during the year or something. Those kinds of things.
I mean, that's a little bit like you have a manifold. You have a three dimensional manifold in R6. You can always embed it into some Euclidean by Wittenay's embedding theorem and some sufficiently high Euclidean. It's just relatively pointless. So we could always pet the generic ones with all the specific ones and then have missing, not applicable. But it's pointless.
No, no, I know.
Why wouldn't we instead just introduce a subtype, right, Just extend the tree and have cities with boroughs.
Because I think that's going to be a mess. Because I think it might have boroughs and it might be a yurt city that moves every. And there's no reason to think so. In other words, what would be a property meta property of an entity would be what properties it has.
Exactly.
And it would then have its general properties and. Its special properties. I think that's a pretty good solution actually.
And kind of like right now you can use properties and ask for properties of entity type. You get a generic one, you can use properties for a concrete one, and we can then in the future return the union of generic and specials.
Yeah, I think this is reasonable. I mean, I just want to emphasize.
Jeremy has some objection.
Yeah, I'm thinking about how things are implemented now and this seems like a complete explosion on the database side.
Okay, that's a different thing. How the database tables look. I understand that. What I would recommend for that. I don't know what I would recommend. Subtables are a possibility. Subtables for every special, in other words, that each one of the. It has some kind of foreign key mechanism and each entity points to certain sub databases that are databases for every special property.
And. Well, but that's, that's what we do now by saying that we have the, that we have cities with boroughs. And, and you have the option of seeing that anything can have boroughs or you can insist that it's only cities that have boroughs.
I think this is a separate. I don't think this is a big, you know, I see the, I see the issue, but I don't think it's a huge problem. But I think it's not relevant to what we're talking about here, I think we've got bigger philosophical problems to solve. And the question of how we deal with foreign keys in the database and things seems small compared to this. I think we, you know. Okay, a meta. Meta comment about the whole thing. You know, this is something for which we are trying to model the world and the world is not. It's never going to have perfection. We're going to end up with things which are compromises. And I think this idea of backbones of entity types together with. Well, now wait a minute. Is. Is an astronaut as opposed to a painter. Are those entity types? Yes.
They would be. Child type of person.
Exactly.
They're not hierarchical.
No, they're not. It's. It's a mess. And the point is that something that. That everybody. Every person is a person, and then they can also be one or more of.
I don't think that's going to work. I don't think it's going to work. I think that there are ent. Where there's a strict hierarchy of entity types.
That word. That works too.
I know that's one case. But the case where of people, where the person is both an astronaut and a painter isn't. You know, we're not going to say they have a primary entity type. That's a disaster. So I'm not understanding how we deal with that.
So that's actually the design if you want to continue the notebook.
Yeah.
So. So there, where you see entities, it has a new special property called entity type list where you can see all the types an entity is participating in. And it can be different for every entity. Yeah. And because of that, every entity can have a different list of properties. So we have.
So you're saying a given entity can be. Can have multiple entity types.
Yes.
Which was one of the things you originally wanted with this project.
Yeah.
That will be similar to have this concept of property buckets.
Right.
Somehow.
Say that again. What?
This concept of having different properties attached to each entity. Different groups or buckets of properties.
Yes.
Per definition, the ones that I inherited from to give an entity model type.
Sorry, I got distracted by something. Could you say that again, please?
So Francisco was saying that a given entity that belongs to multiple entity types, the properties come naturally couped from the inheritance from the types that they come from.
Yes. Okay. Well. Okay. So what's all this?
So just to see the syntax of the new entity properties. If you see. If you go on the wingspan, for instance, and hover over it, you also see the rule like syntax to indicate that it's an animal property.
Okay.
So it's the same as for entity type. And here you can also see that if you go down in the child type.
So by the way, in this setup to have one of our special properties could be something done in this hierarchy.
Yes. You could in principle have a very small type which provides those additional properties which contains just one entity. That's fine.
Well, or you could have a, a wild card special. I'm not sure what the right way to do that is. I'm not sure what the right way is. Go ahead, go and say.
Yeah, and you can see in this tree the numbers indicate the number of properties that you have. And you can see that as you go down you get more and more properties because each type inherits the properties from above. For instance, every animal has a scientific name.
I got it. Yeah, that's nice.
And further down we have some examples from the species domain given by Keiko. So it's just showing that there the new species, the neurotology feature is showing off. So it's really powerful what can be done because the properties for animal don't mix into viruses and vice versa.
By the way, that should be formatted a little bit differently, I think.
So the great comments. This is the so called sub label.
Yeah, it should be just smaller, I think.
Okay.
That'S a very interesting case of a calculus. The calculus of who eats who. Good example of where there's a slightly non trivial calculation that could be done. I'm just trying to understand. I'm telling you, the thing we're going to find, which is the generic story of Wolframalpha is, you know, we're going to find these small calculi and eventually they will merge together into bigger things. Anyway, just a minor point. Okay, so what, I mean, predators, clearly it's only a carnivorous thing. That is a predator, presumably, but we're not, we think enough, enough creatures are carnivores that it's okay to have a what does it eat? What species does it eat, so to speak, as a generic property. That makes sense.
Yeah.
As opposed to, you know, something where we specialize down to koalas that eat eucalyptus bark or something and ask which kind of bark does it eat? Which will only be true of a small number of creatures. That's cool. Oh boy. Maximum speed. Maximum speed in the air. Maximum speed running along like an ostrich or something. What is the maximum speed? Is it the maximum flying speed or is it. What is it?
It's a general speed including flying speed and land crawling speed. Everything to you we have a separate property. Just for example, swimming speed, flying speed.
Okay, I see. Because otherwise, otherwise you could have maximum speed and then you'll be trying to. It's flight capable like it's an ostrich, but it could take off, so to speak. Yeah. Which would be very confusing.
Sorry, I didn't get this one. One more time.
Ostriches, generically, I mean they run. I don't know how exactly, but they run. Right, but they don't fly.
But that's why we saw. We were saying we only wanted the one that were capable of flying.
I, I understand that. I understand that. So I'm. But I'm saying that imagine a bird which I don't think exists, that is really a fast runner on land. Okay. But it also flies and you see its maximum speed, 20 miles an hour. And you have no idea.
I see what you mean. I see which.
So the entity store, the design is analogous to entity classes.
I don't think we've, we've finished this discussion. I mean. Okay, go ahead. I'm.
So this is a new proposal. So this can be nested. So what exists or what has existed till now is that we can have entities, properties, entity classes and so on for each type. And now a new entry comes along called Entity details. So it's just parallel to all the others. And you can nest them under musician. You could have a piano player and so on.
Yeah, I think we need to do another iteration of all this stuff. I think we need to see. I mean the thing you've implemented here. We got the generics and singulars. We've got the generic.
We don't have yet. We identified them, but we don't have any encoding of this right now.
Right. All right, I think we need to wrap here. We've done our real time philosophy for the day.
Okay. I asked for another follow up meeting.
Yeah, please. This was good, guys. This is good. I mean, real progress. Thank you. I'm glad.
Thank you.
Tony is back and doing this. Okay. So thanks and see you. Bye for now.
More from Guy

Cheryl Strauss Einhorn | The Human Edge: Smarter Decisions in the Age of AI | Talks at Google

Rachel Glennerster | Innovation and the Center for Global Development | Talks at Google

Rebecca Winthrop | Rethinking the Purpose of Education in the Age of AI | Talks at Google

Dr. Robert Wachter | A Giant Leap: How AI Is Transforming Healthcare... | Talks at Google






