The Cavalcade of America starring Gregory Peck. Tonight the DuPont Company brings you School for Men starring Gregory Peck on The Cavalcade of America. First here is Gain Whitman. Good evening. Prepared especially for use in and around the home, DuPont's two DDT products spell sure death to many troublesome pests. Brushed on screens or sprayed on walls and other flat surfaces, the 5% DDT insect spray leaves an invisible residue with long-lasting killing power. The new DDT insect dust is ideal to puff into cracks and corners where crawling insects hide out. If you can't get them at your local dealers, write DuPont for information. DuPont DDT insect spray and DDT insect dust are two more of the DuPont Company's better things for better living through chemistry. And now School for Men starring Gregory Peck as Jim Davenport on The Cavalcade of America. Don't let the title of tonight's play fool you. This is a mystery. Yes, that's right.  My name is Jim Davenport. This is my story, too. It was just after my training, 12 weeks of it, at the finest school of its kind in the world, the FBI School in Washington. Now, uh, don't get that wrong. I'm not an FBI agent. Just a member of the Brook City Police Force, a detective sent by my chief to take the training the FBI offers any police officer who can go. And the facilities are, well, we'll let my story tell more about that. I wasn't assigned to this case because it was in Midvale where my brother Jerry lives and works as a detective. Midvale, an average-sized, average-looking Midwestern town. And on this particular spring night, it was quiet, dark. Cool. Who's that? Come on, open up. Go away. Get away from here. Hey, Agnes, what's the matter with you? It's me, Jim. Jim? Oh, Jim. Jim. Hey, what goes on here? Can't a brother-in-law drop in without... I'm sorry, Jim. Wait a minute. I'll close the door. Well, what's the idea of the barrage of locks and bolts, Dracula making his nightly rounds? It's desperate. I'm on pens and needles. Well, what for, Agnes? What's the trouble? Nothing wrong with Jerry? Oh, no, he's fine. Where is he? Say, what's the trouble? Jerry's out on these cases. Oh, this is a fine way to treat a brother-in-law. As soon as he steps in the house, he gets trouble thrown out. Now, look, Agnes. Settle down. Suppose you start at the beginning. You're sure there's nothing wrong with Jerry? Jim, he hasn't slept. Decently, he's eaten a square meal in weeks. Well, when my brother doesn't eat, there's something wrong. Jim, there have been two murders a third tonight. Oh. Well, now I get it. I get off the train, walk down the main street. It was like a moor. Yes, everyone's terrified. People are afraid to go out. I worry so about Jerry. Yeah? Why? You know how he is. Jim, when he's working on a case, he never thinks about himself. He rushes in almost without thinking. Someday, I'm afraid his courage will... Yeah, I know what you mean. The old methods. Yeah, that's it. But, oh, Jim, I feel awful. We haven't seen you in months, and when you do drop in... All right, let's forget it now. Can you still do magic with a waffle baker? I listen much better on a full stomach. Yeah, Jim, this guy's got the devil's luck and brain. Yeah, but there must be some lead, Jerry. Something you can pick up. Well, that's what we thought after the first murder. We hit a wall. What about the second murder? Same thing. Now this one tonight. Yeah. Who was it? Same as the other two. A girl. This time it was Mary Neville. Oh, Jerry, no. Yeah. Oh, wait a minute, Jerry. Are you sure the same person's doing all the killing? Looks like it. Break in, kill, break in, kill. Hmm, it sounds like pattern murders. What's that? Pattern murders. This kind of a killer never varies. Every murder was committed the same way. Exactly, strangulation. And the time between them, I mean, how long from one murder to the next? Almost exactly two weeks to the day. Look, this killer's following a set pattern. You've got about two weeks before he hits again, if he does. You can do a lot in two weeks. With what? We've got nothing to work on. Well, you can never tell. I could... Well, what are you going to say? Oh, I don't know. Jerry, I've got no business budding in. Well, who says you are if my own brother can't come to see me? No, I don't mean my visit. I mean my... Well, my help. Help? What are you getting at? Well, look, I... I spent 12 weeks in Washington. Yeah, I know. The FBI school. Look, Jim. Look, look, wait a minute. I've heard about fellas going down to that place. They all come back talking like professors of crime. Why, they're a pain to every cop on the force. I'd rather keep my popularity and learn the tricks from Bill Howell. Yeah, who's Bill Howell? Well, he's been on the force 10 years. He's in the tradition. When there's a job, he goes into it head-on. He doesn't handle the crooks with tweezers and microscopes. He lets them have it. This is his case we're going on now, and he called me in because he likes me, and he thinks I can help. Now, look, Jerry. I know I'm with the Brook City police force, and this is mid-vale. But if what I've learned in Washington will help you, I'll be glad to stick around. Okay. First thing tomorrow morning, we'll go to the Neville home. You see, Jim, just like I said, the killer's smart. Yeah, but he'll slip sometime. That's what we said six weeks ago. Oh, hiya, Bill. Jim, this is Bill Howell, best detective on the force. Bill, my brother, Jim. Hi, Bill. Okay. I was on the carpet again this morning, Jerry. Uh-oh, Ben. My ears are sinning. Look, we've got to get something. Anything. Yeah, you tell me where to find it. Hey, Jerry, you sealed this room after the murder last night, didn't you? Yeah. No one's been in or out since we left last night. Why? Oh, I'm just asking. Now, let's get it straight. The murderer broke in this window. Well, first he cut that screen so he could pry open the window latch. Yeah, it's copper. The screen, it's copper. Yeah. He had to cut all around to get in. That's nothing new. We saw that last night. Now, what am I going to do? What are you driving at, Jim? Well, this window is out of the way over here at this side of the house. Where are you going? Look, there are three other windows towards the front of the house. Much easier to get at. But this killer picks the one that's the hardest to get at. Uh-huh. Go ahead. Why? Why? The window he broke into is almost covered with shrubbery from the outside. Yeah. What's on your mind, Jim? Well, this murder was committed while it was dark. This window would be tough to find to see in the dark. But he picked it. Passed up those other three. Sure, less chance of them being seen from the street. Yeah, that's all, Jim. Is it? I'll give you ten to one that if there was no light in this window at night, you couldn't see it. But your murderer knew where and how to find it. You thinking about an inside job, Jim? I'm not thinking about anything until we ask the family some questions. But we have only one servant and maid. Surely you don't think that she... No, no, we don't. But was anyone in the house who might have looked it over, who might have seen that that window was the most protected from the street? I don't know. I don't know. I can't be expected to remember something like that at a time like this. No, of course not. Thank you, Mrs. Neville. Is that all you wanted? Well, for now, yes. What are you doing to find the man who killed my girl? What are you doing? Nothing, that's what nothing. He killed three people already and he'll do it again while you... Look, you better get some rest, Mrs. Neville. Sorry. It's okay, Mrs. Neville. We know. I'll be in my room if you want. What are we doing? Well, what are we doing? Banging our heads against a wall, that's what we're doing. Joe, do you think it was an inside job, Jim? No, I didn't say that. I just thought that it might have been someone who knew that that window was there. Look, a dozen strangers come into our house in a month, Jim. Milkman, gasman, waterman, grocery delivery, dry cleaners, laundryman. We can't check all of them. What are you doing? What made you see this? What have you got? It's a thread that was on the floor. Let me see it. Well, what about it? Well, was it here when you looked last night? I didn't see it. It would be easy to overlook against the carpet. Oh, sure, sure. But maybe it's the something you've been waiting for. A thread, not even an inch long. It could have come from anything. I know that. Well, do you want it? If you're thinking it might have come from the killer's coat, no dice. Why? We examined the cut edges of the screen with a magnifying glass, thinking maybe he might have caught his coat, but he didn't. He came through clean as a whistle. Well, let me have this thread, will you? What are you going to do with it? I'd like to send it down to Washington. Wishing? Yeah, to the FBI lab there. And they'll tell us what? All about it. The FBI lab in Washington gives every police force in the country the best laboratory of its kind in the world. Take advantage of it, Jerry. Bill, you're in a blind alley now. This thread might tell you something. What can you lose? But, Jim, there are 11,000 people in this town who might own a brown tweed coat well-worn. Well, that report from the FBI lab doesn't help. No, you didn't read all of it. They found traces of sodium pyosulfate on the thread. He said it there. What's that? Well, I sent along a list of uses for the chemical. Look at these last three I checked. What's the matter with the rest of the list? There's a flock of uses. Now, too unlikely. But it's used for paper bleaching. Anybody in mid-vale manufacture paper? No. No in the next, ink manufacture. No dice there. Now, third is photography. Photography. Yeah, sodium pyosulfate is commonly called hypo. Used in photography to fix prints and negatives after development. Photography. Photographer. Hey, Jim, maybe your gimmick is right. A photographer would be able to get into a house. He'd be there a long time. Plenty of time to case the fly. I suggest we go back to the Neville home and ask a few questions. No, no. There's no one here who knows anything about photography. What's that got to do with my marriage? Well, it's just a check, Mrs. Neville. Now, did Mary have any recent photographs made? Photographs? Why, yes. Oh, took it? I don't know. I was away when I came back. Mary had it already made. She gave it to me for my birthday. Is that it on the piano? Yes, that's it. And you don't know the photographer's name? No. And the only one who could tell us would be Mary. Mrs. Neville, we're going to take that photograph. We'll return it later. Dead end again. The guy didn't even sign it. No name. What kind of a photographer doesn't sign his name? You got me. Jerry, on a long chance. Let's question the families of those other girls. No, I don't remember who it was. But he did come to the house and take my sister's picture. And shortly after, your sister was killed? Yes, that's right. Now, think hard, please. What was his name? I can't remember. How was I to know it would be important? You couldn't know, but we'd like to take that photograph. Yes, there was a photographer who took Anne's picture just before... What was his name? Do you remember? I... I... Please, think hard, Mrs. Cook. I think it was Benson. Yes, that was it. Joseph Benson. How do you know? Because I was going to make out a check, but he wanted cash. Jim, it looks like we're on the right track. Eleven photographers in the phone book are not one named Benson. Well, Mrs. Cook was wrong. Maybe not, Jerry. It doesn't have to be his right name. Maybe he's not even a real photographer. Just use that excuse to get into the houses and look him over. I don't think so. Look at it this way. To take those photos and they're good, you'd have to have equipment, camera, lights, dark room. Does that sound reasonable? Yeah, sure. Okay, let's pay a visit to these eleven photographers one by one. No, no, don't do that. Are you crazy, Jim? The one lead we've got the first in six weeks and you want to stop dead on it. Benson, you said these were pattern murders. Space two weeks apart. All right. It's been six days, almost a week since Mary Neville was killed. That gives us about eight days to nail the murder before he gets somebody else. Eight short days. Yeah, but if you ask questions now, the one we're after among those eleven photographers will get suspicious. He's clever, Jerry. So clever that he didn't leave a clue until we found this thread. Give him one chance to suspect that we've got a lead on him and he'll cover up fast. Then what's the answer? Well, I'm going to send these three photographs to the FBI lab in Washington. Have them checked for fingerprints and a few other things. But that'll take time, Jerry. Just a couple of days and we've got eight. Let's hope we learn something. Something that'll put the finger on that killer before those eight days are up. You are listening to School for Men starring Gregory Peck as Jim Davenport, with Robert Bailey as Jerry on the Cavalcade of America, sponsored by the DuPont Company, maker of better things for better living through chemistry. With only a few days left to catch a vicious murderer before he strikes again, Jim Davenport and his brother Jerry have used the facilities of the FBI laboratory. Jim, trained in the FBI school in Washington, tells Jerry the results of sending three photographs to the lab. Each one of these three photographs was printed on the same kind of paper. So, couldn't a lot of photographers use the same kind? Sure, but we've got three coincidences, Jerry. First, a photographer entered the three houses where the three girls were killed. He left his photographs unsigned. Third, the same kind of paper was used to print each one. That's too much to ask, even of the long arm of chance. Yeah, sure it is. All right. Here's the list of the 11 photographers in Midvale. Now, which one do we want? And we've got only three days to jump him before he goes on the loose again. Get a list of photographic supply houses. We'll ask some questions. Well, let's see. We supply all the shops with that paper. Uh-huh. Well, do you ever supply directly to the photographers? No, we sell them. We're wholesale. Photographer usually gets his disc out of the shops he deals with. All right. Let's have a list of the shops you supplied in the last three or four months. Right here. There are only four. The Acme Camera Shop, the Iris, Miller's Photo & Hobby Shop, and the brand Central Camera Store. The address is right there. Yes, we sell quite a bit of it. It's popular. Well, have you sold a large quantity of this paper to a photographer recently? Oh, I can check. Please do. As a matter of fact, I think I remember selling a gross about two months ago. To one photographer? Yes, I think so. He showed me his business card and I gave him the regular trade discount on the gross of paper. Have you got his name there? Yes, in his studio address. It's a Hubert Carson 515 Law Away. We're best just around the corner. Oh, it's a nice studio you've got here, Mr. Carson. Yes, I'm quite pleased with it. Uh, can I help you, Mr. Mr. Uh, Davenport. Davenport. Does the name sound familiar? No, I don't think so. Well, you do very nice work. Thank you. I, uh, say, isn't that a photo of the Neville girl? Oh, yes, it is. I took her picture just about a week before the horrible tragedy. Poor girl. Lovely, too. About a week before? Yes, when I read about the terrible tragedy, I could hardly believe it. So I imagine it was a shock. Treadful. But, uh, you came to see me about... Uh, some work I want done. I'm quite sure what I want. Well, perhaps you'd like to see some samples of my work. I mean, other than these hanging in here. Yes, yes, I would very much. Well, if you'll step into the display room. Oh, just bring a couple in here. I'd like to look at these color prints. Oh, certainly. I won't be a moment. No hurry, Mr. Carson. No hurry. Sherry admitted he took Mary Neville's picture, even had a print of it in his studio. Well, that doesn't sound like a guilty man to me. Jerry, the man who wrapped us a psychopathic killer.  I want things around him to remind himself of his... his imagined superiority. Having Mary Neville's photo around might be there. And... Hey, hey, fingerprints on that glass you snitched from Carson's studio match those on the photos you sent to the FBI lab. We got him. Not yet. Huh? What more do you want? Now he can prove you's in all three houses where the murders were committed. Even gave a phony name on one job. Granted, but evidence like that wouldn't stand up five minutes in court. The smart defense lawyer could bust that wide open. Let's haul him down and ask him a few questions. Fine, Bill. Simply because a man took photos of the three girls there's no reason to believe he killed them. Look, suppose we put a tail on him. We got two and a half days before he's liable to go on another rampage. Okay, put a tail on him, have him watched. What if he gets wise? Well, then you've lost him. You can't prove anything now. Let him get wise and he'll lie doggo. Maybe even leave town. And start his killing someplace else. Oh, we're up another tree. Oh, look, Jerry. Bill, I sent something else to Washington. Huh? What? A knife I found in his studio. Knife? But the murders weren't committed with a knife? No, but the copper screen in the Neville home was cut with a knife or something like it. So? If there's even a minute trace of copper on Carson's knife, the FBI lab will find it. And that'll be it. One more thing. The newspapers are yelling for something. Give it to him. Hmm? What? Tell him you've got a lead. You mean tip our hand, let Carson know?  No, no. Tell him papers about the thread from a wool jacket. A brown coat. I don't get it. If Carson's our man, he may try to get rid of that coat. Yeah. But put a tail on him. If he leaves his studio apartment with a package, nail him. Sure, he left his studio apartment a dozen times. And no package. No. And the manager of the building swears nothing like a coat was burned in the incinerator. Yeah, but if Carson's our man, he must have read the papers. He must know about that thread. And he tried to get rid of that coat. Yeah, but he didn't. There was an eye on him every minute of the day and night. I'm telling you, the guy didn't take it out. Oh, he should have done his get in his place while he was out and pick up the coat herself. Well, that wouldn't have meant a thing, Jerry. Don't you see, he'd admit it was his coat. We could prove the thread came from it, but so what? He admits having been in the Neville house. Oh, but no thread could lay around for four weeks. Look, one of the things I learned at FBI school was that a case wants to be tight. So tight that there's no loophole. Sure, but Carson didn't try to get rid of the coat. We gave him two days. Well, that could mean he was wise. Spotted your man. And that could mean he'll lay off, maybe leave town. Jim, we gotta stop that. If we ever lose him, Lord knows how many more he'll kill. He'll be... Wait a minute, Jerry. Holy macro. What's the matter? Something you said at the Neville home. Jerry, you said thousands of people come into a house in a month. Yeah, what about it? Gas men, laundry men, dry cleaners. Dry cleaners, pick up and delivery. Carson could have had the dry cleaner pick it up. Oh, what dumbbells we are. Find out what cleaners service that neighborhood. Here it is. My driver picked it up. You're sure that's the coat? Here's the tab, Hubert Carson. Oh, another dead end. This coat's not brown, it's blue. Oh, well, it was brown. Brown? Look now, was this coat brown when it came in? Oh, yes. Jerry, our newspaper trick worked. He had his coat dyed. Come on, let's get Carson. Take it easy, Jerry. Easy, what for? You said we've got all we need. Sure, but remember, Carson's killed three times. One more won't matter to him. Don't worry. The FBI lab gave us the case. But I'll take over from here on. Make him step out in the hall. Don't go in. Oh, I picked up a hundred guys. Yes? Carson, you're under arrest. Arrest? I don't think you get dressed, and come on. What's this all about? You know. Want me to come in after you? Well, do you mind if I get my coat? Wait a minute. Stand where you are, Carson. What's the matter? It's just this. There's a gun in his coat pocket. And why not? With all these crimes? Very well. Now, may I have my hat? Or do you think I have a gun in that? Go ahead, Carson. Look out, Jerry! Oh! He did have a gun in that hat. You see, Jerry, it would have been much better if he'd been made to step out in the hall. You two are pretty smart. Yeah, and we're getting smarter. Get moving, Carson. Get out of here. I've got him covered. Jerry, what's the rush? Brother, I'm in a hurry. With all these things I learned about the FBI on this case, and now that I find myself still alive, I'm going to pay a visit to dear old Washington. Come on, Carson. You're making me late for school. So, Hubert Carson was tried and convicted. My brother Jerry's in FBI school now. But when his 12 weeks are over, he'll go back to mid-vale and teach the others on the force. He'll know, like every other police officer, that the FBI laboratory stands ready at all times to aid local law enforcement by brilliant scientific methods. And the result? A more and more effective fight against crime by men equipped with the best training America has to offer. Good, Gregory Peck. But don't go away. We have something more for you. Something that will be very exciting to you and our audience. But first, let's listen to Gaine Whitman and his interesting message from DuPont. One of the many pleasant things about summer is that we can wear lightweight, comfortable clothes, light dresses for women, light suits for men, slacks, open collar shirts, and summer shoes. Remember the crepe sole shoes you bought before the war? How they gave you the feeling of being well-dressed and yet had all the comfort and usefulness you looked for in a casual or a sports shoe? People who worked in factories and garages like them, because the springy crepe made a wonderful shock absorber. But ordinary crepe sole shoes did have several admitted disadvantages. They couldn't take much heat, for one thing. After a few weeks on hot summer pavements, the soles began to spread out from the bottom of the shoes more and more so that after a while you looked as if you had gotten your feet stuck in a clay bank. Men who wore crepe sole work shoes had trouble with them because oil or tar or grease attacked the rubber and it went to pieces. Now a number of shoe manufacturers have crepe sole shoes on the market which resist the action of heat, sunlight and oil. Instead of natural rubber, they are using DuPont neoprene. Crepe soles of neoprene can be worn in the warmest weather without danger of spreading. The neoprene soles do not become soft and sticky which means that they will not pick up and track dirt. And what is more, the neoprene crepe is tougher than natural rubber. In addition to the popular amber color, neoprene crepe soles can be furnished in bright attractive fast shades which makes it possible to obtain a wider variety of styling for women's and men's shoes. If you buy a pair of shoes this summer with neoprene crepe soles, you'll learn for yourself how much better they are. This is a typical example of applied chemical science. Soles of natural rubber were good. So good that people bought them even knowing they had faults. But now chemical research has developed soles which have the good points of natural rubber and in which, through the use of neoprene, the faults have been corrected. Chemistry has made a good product better. Neoprene rubber is one of the company's better things for better living through chemistry. During the past seasons, the DuPont Cavalcade of America has brought you Hollywood's most famous picture stars. We are pleased to have Gregory Peck with us again tonight, especially so because of the honor he is about to receive. I'd like to introduce at this time Maxwell Hamilton, editor of Motion Picture magazine. Mr. Peck, it gives me great pleasure to present you with this award on behalf of the readers of Motion Picture magazine. Through a nationwide poll, they have selected you as the most popular actor of the year. Congratulations and good luck from your fans. Thank you, Mr. Hamilton. If one of America's greatest newspaper men had not happened to attend a public auction on the day his future career was hanging in the balance, he might have deserted journalism and become a lawyer. But auctions are difficult to resist and Joseph Pulitzer suddenly found himself the owner of the defunct St. Louis Dispatch. The newspaper which was to start him on the fabulous career that was to make American journalism a highly respected and honored profession. Be sure and listen next Monday to page one, the story of Joseph Pulitzer starring John Hodiak on the Cavalcade of America. The music for the DuPont Cavalcade is composed and conducted by Robert Armbruster. Our Cavalcade story was written by Philip Lewis. Gregory Peck may currently be seen in the McComber Affair, a Benedict Bogus production for United Artists. Featured in the cast with Mr. Peck tonight were Robert Bailey as Jerry and Betty Lou Gerson as Agnes. Others included Ken Christie, Virginia Gregg, Harriet Reed, Peggy Weber, and Francis Heplin. This is John Easton inviting you to listen next week to John Hodiak in page one. And in coming weeks you will hear Joseph Cotton, Robert Young, Lee Bowman, and other famous Hollywood stars on the Cavalcade of America. Brought to you by the DuPont Company, a Wilmington Delaware. America came to you from Hollywood. This is NBC, the National Broadcaster Company.


The Carnegie Mellon Quarantine Database talks are made possible by the Stephen Moy Foundation for Keeping It Real and by contributions from viewers like you. Thank you. We're super happy today to have Gavin Mendel-Bleson from TerminusDB to come give a talk with us about the system that they're building. Gavin is the co-founder and CTO of TerminusDB. He got his PhD in Computer Science from Dublin, Dublin City University, right? Yep. And then he did an undergraduate degree in math from the University of New Mexico. He was briefly a PhD student at Carnegie Mellon in Physics, not Computer Science, realized that was a dead-end job and then moved to Europe to do with PhD in Computer Science. So we also have a sponsor today for this talk. We are actually sponsored by the Stephen Moy Foundation for Keeping It Real. The foundation will be sponsoring all the quarantine talks we have this semester, so we appreciate them for helping us out. And this is a real sponsorship. This is not making this up. And so the way we'll do today is that, like always, if you have any questions for Gavin as he's talking, please unmute yourself, say who you are and where you're coming from, and then ask your question. And then feel free to interrupt as anytime you want. We want this thing to be interactive. Okay? All right, Gavin, the floor is yours. Go ahead. Thank you for being here. Great. Thank you very much, Andy. So I'm Gavin as introduced from TerminusDB, and I want to talk a little bit about building a native revision control graph database from the ground up. So first I'll give it a little bit of an outline of the motivation, and then I'll talk about the architecture. Okay, so basically the first question, I guess, is we're a graph database. So why graph in the first place? Now, there's a lot of people out there that are really into relational databases, and I definitely would have fallen into that class. So I know a lot of the positives, but there's also, there's some advantages to graph databases as well. So when I was at Trinity College, Dublin, we got a three million investment from Europe to do a large-scale research project on, which was partly the SESHAT Global Historical Databank. And that was a very ambitious project to store information about every polity in human history and various different data points about them in order to do analytics on the back of it and to try to find information about historical trends. So there's been a lot of publications came out of that, a lot of interesting research came out of that, including information about resilience of societies, things that I think are really relevant to our current climate, because climate change and other things can cause societies to collapse. And although people don't remember it now, it wasn't that long ago when we had very big disruptions. So the SESHAT Global Historical Databank was really a sprawling collection of datasets. There's loads of different datasets. It had very complicated and curated ontology. So a design of the various types of things they wanted to store, what they were related to, and it was all kept in a giant wiki, essentially with people, all these post-doctoral students and graduate students and undergraduates curating this massive interrelated information. And it made it very difficult to get information out of in order to do the analysis, but it was also it had a lot of junk in it because there wasn't a strong schematic control over it. But turning it into an RDBMS was really really hard to imagine because you would be talking about either having enormous numbers of tables or sort of simulating a graph inside of an RDBMS in order to store all the various different kinds of things that were in there. So instead of simulating a graph, we decided to just go with the graph in the first place. So the other thing that was necessary on the SESHAT Global Historical Data Bank was that they had to be able to change the schema quite a lot. So you really needed tools to be able to both visualize and to alter the schema as things moved forward and to lift the data along with it as it changed. So mostly adding new things, but also sometimes modifying information that was in there. So that's part of it. And coupled with that was a need to have revision control, essentially, because they needed some way of being able to see who it was, who added information because it was being added by graduate students, etc., and then sort of being able to verify it and then merge it into something later. So you can already start to see some of the revision control aspects at the very beginning of the project. So the second one that we started on was this partnership with Walters-Clear, which was looking at commercial intelligence. And again, we already had a graph, so we were sort of working in the graph space, but they wanted to scale it up to a lot more types of relationships between things. And in this case, you have another example where a graph is a very natural fit. So the kinds of questions they wanted to ask were like, okay, are these two people connected by some kind of relationship or some multi-hop relationship? And like we were asked to find things like, is there anybody who was at some time both a director and also adjudicating some case about the company or something along those lines? So conflicts of interest, etc. And the other relatively strange thing that they asked us that we searched for and found is if there were any shareholding cycles. So if a company owns shares and company A owns shares and company B owns shares and company C owns shares again and company A. And one might think that that is impossible, but in fact, there's lots of them in Poland as it turns out. And a lot of them look quite shady. When we mentioned it to our accountant, they said, oh yeah, the washing machine. I know that one. So you can imagine what you're washing. This was only in Poland. This is basically the entire every director person shareholding of every public company, everything that was registered through the court system, every like there was a number of relationships, their addresses, etc. for all of Poland since 1992. So that ends up being a lot of relationships at the end of the day. And the last one is that, well, it can be useful to use a graph when you don't know what you're indexing. So if you have like a lot of data in a sort of document format, and you just want to be able to throw it into something and then start sort of anywhere you like inside of the object and look for stuff, then then a graph makes a fair bit of sense. So those are the kinds of projects that we've worked on, things that use those, you know, things where graph is the natural answer. So the other question, I guess, is why a distributed revision control system. And here I think this, you know, we started with some ideas of revision control in the initial project. And as we move forward, we found that that's actually more important in a lot of areas in industry, and it's an underserved area. So one of the problems that we have right now is that there's a lot of curated data. The data is not necessarily huge. It can be, you know, maybe in the tens of millions or around that size of edges in a graph. And but there's this need to test it out, test some code on that. And then only after you know that it works with the code, deploy it to production. And so these sorts of pipeline operations are relatively difficult with databases as they currently stand. And it's like with Git, with CI CD type approaches, it's very easy to do those types of operations on code. And so there's a sort of hole in the market for those types of CI CD with data rather than code. And Git is really an amazing, I mean, it's just caused a revolution in the way the code was written. It's really been, it's so much better than when I first started programming. Okay, so now to go back to the architecture of like how we have tried to solve these coupled problems at the same time. So we have a relatively unusual architecture and, but it has some advantages. And I think maybe you guys can, you guys can inquire about it. So we represent our data as graphs, as I said, and those are stored as triples. So we have a some kind of triples notionally that describe the graph. So you decompose the graph into these triples as zero to a by lift nozzle to S1. So it's a labeled graph because each of the edges as a label, and all of the nodes have labels as well. Okay, so and we represent these graphs with succinct data structures. And so a succinct data structure is a data structure with some kind of access complexity that is designed to approach the information theoretic minimum size of the object. So for instance, the labels that we store, we store as a front coded a plain front coding dictionary. And then we use log arrays in order to store the information from the graph. And that creates a very compact data structure. So in order to update the data structure, because it's so compact and because it's not really designed as a pointer tree, it's just a plane. What we do is we actually store the deltas as separate objects. So we have like all of the subtracted triples and all the added triples, and then you have a chain. And because you have the these chains, you end up with something that looks a lot like a revision like deltas in git. So the head of your database is just where you start searching. When you come in with a search, you'll you'll look for 987. For instance, if you search for 987, it'll immediately return. If instead you search for XYZ, you'll go down to the furthest plane down, you'll find XYZ is there, and it'll be subtracted as XYZ here on the way back up. Now actually, if you're going on the way down, and you know that XY and Z are all bound to definite, definite values, you can stop on the second plane without going all the way to the bottom. But if you don't know if you're actually searching a generic unbound variables, then you have to go through the whole thing. So in order to point to the head, we have something called a label. And the label is a file that points at a layer. It tells you what the current head is. So that means that you can do updates in a safe manner. So you can do a speculative update, try and see if it's valid. And then only after you commit, you can move the head in a single atomic operation. And these things can happen concurrently. You can have as many searches you like simultaneously. There's no locking that's necessary there. You only have to worry about when you move the head itself. Okay, so we're cooking. So these labels are, it's just the, so you have like the root of the, there's a master back of the points of whatever the root of the head is. So you plot down a file, you put all your changes in there, and then you do a compare and swap on whatever the head to know what's your new file. That's it. That's it. Exactly. So, okay, so, but that's what we wanted for, for instance, for the SASHAP project. That wasn't a sufficient complexity. We actually needed more things at once. So we store our schemas as triples as well. So our schema is a graph, and that graph describes what's in the instance graph. And the instance graph is constrained to always conform to the information in the schema. We also want to be able to keep information, metadata, about the commit history, the timestamps, authors, messages, and that kind of thing. And then you also, you want to be able to store information about branches and tags and versions and such like that. So we have an additional, so we developed another approach, which is that we allow graphs to store information about what layers they're talking about. And then you move the head of that graph after you've already put into place all of the subordinate graphs in one big operation with the head again. So that you can do a, you move the head of the individual graphs that are associated, the schema graph, the instance graph, then you move the commit graph head, then you move the pointer from the label. Okay, and I'll have a picture for that, for you, Andy, to make it a little bit easier to see. Okay, so this is the simplest. So what we have is, we have a label object, it's called myDB label, and it points to the layer. And inside of that layer, there's a label object as well, which points to another layer. And when you update, so you add a new layer that describes this movement that you've added another layer, and then you finally move the database label at the end of the day. Okay, so that object which keeps track of which commits have been made is called the commit graph, and it is actually a graph itself. So why a commit graph? Well, we have to keep information about these commits, we want the history, all of those things, we want to keep the metadata about it. So the commit graph has the commit objects, it has the named graph objects which are being pointed to, it tells you whether their instance schema or inference graphs, so I haven't talked about inference graphs, but inference graphs allow you to also do automatic inference on some of, by using a rule-based system. And then you have layer references, which are pointed to by the name graph, and those layer references actually point to the on-disk layers. Okay, and then we also have some technical facts of RDF. So RDF is a way of describing all of the labels of your system, instead of using a sort of a nominal pointer or something like that, you use an IRI, which is supposed to give you a way to have a sort of semi-readable but unique object identifier. Okay, so the commit graph, this is sort of a pictorial representation of what it looks like, F, E, D, C, B, and A are all commit objects, they point to their parent, and each of them has an instance and a schema pointer, and that graph itself then has a pointer to its layer object that's associated with it.  Okay, so the commit graph is also a validated graph, it also has a schema, and all of the the schema works in the same way that it does for the lower level, or for the databases themselves. It's actually shouldn't be necessary because hopefully everything that we put in the commit graph is directed by our system, and our system never makes any mistakes, but actually sometimes we've made mistakes, so at the moment we leave schema checking on because it doesn't seem to impact performance too much, and it has found bugs in the way that we were entering information, so you can keep constraints. The schema in your world is just like you have a triplet. That's right. Okay. Yeah, so the triples, so we have like there's a graph that represents the constraints that are in that have to be satisfied by our instance graph. Okay, but again, those constraints are just like it has to be a triplet, right? There's nothing, like what else is there? Is it like a schema is not including the type of like what the way has to be? Yeah, no, it can say things like you can only have so many of these property, or you know you have to, you can't have not have this property, or you know these are the properties you have, or things like you point from this thing to that thing, so it's a high level description of what kinds of things can be pointed to to give constraints on the shape of the graph. All right, cool, awesome. Thank you. That's right. Okay, and the commit graph itself is queryable in our query language, so our query language is a it's a sort of a data log like language that allows you to query the graph, and the commit graph, all of the internal queries inside of the database also use our query language in order to to operations on the commit graph. So it's quite meta circular. And then we have one layer above that is a metadata graph, which points to the commit graph. And the reason for this is if you have multiple, because like in Git, you often want to have remote objects, you want to keep two things in sync, you want to be able to pull and push them, then you have to have some way of reconciling the history. So we have another graph that points to all of the repositories that are currently being talked about by the database. It also it will have the remote URL, so it knows how to send and receive from the remote object. And it will also have other information in the future to do pipelining operations more effectively. Okay, so with the metadata graph, then we're able to do things like clone, push, pull, fetch, etc. And those operations are implemented by actually transmitting the layers from the commit graph across the wire. So finally, we have one other graph, a system graph, but it's not in the hierarchy actually. So what does it contain? It contains information about authentication and authorization and capabilities. So it decides whether or not you're allowed to do some kind of operation on some certain set of objects and controls the query to make sure that you don't do anything dodgy. And it also keeps track of all the database names and who the organizations and authors are that are associated with it. So, but the system graph is not, it's not at the top, it's not actually above the metadata graph. And the reason for that is we don't want to have like you want to be able to move all of the databases independently without actually having contention for the system graph. So that's the reason that it's separate. So the overall architectural picture is here. You see the system graph kind of points, it has information about the name of a layer. And then that name then gives you the head of a metadata graph.  And then the the commit graph, you'd look for maybe main branch there. And then you can find the head layer for the main instance graph and the main schema graph from there. And that gives you sort of the high level overview of what the system looks like in terms of its architecture. So maybe I'll just give you a peek at the the system. So real quickly, so like the the, this is the physical storage layer. So like the use of that writes the query over the rest API, they don't know about any of this, right? No, you just have revisions. This is internally how you're maintaining this. That's right. That's right. So the only thing they'll see is I have a database, it has some branches. And then, you know, they'll they'll see that there's revisions for that branch. And then, you know, you can go in and you can write queries and the queries will look at the instance data, or you can ask specifically to query the schema information. But mostly the schema information is either you want to add something to the schema, take something away, or, or you you want it to constrain the information that you're routing or taking away from the instance graph. Okay. And then the way you would envision someone using this is like, it's not like you're doing fine-grained transactions, you're updating a single record. This is like, here's a batch of updates, apply them, and then that sort of gets tracked as a separate commit. Because you have to sort of update a lot of things that do update one record. That's right. So yeah, so you can imagine, you know, you might add a whole bunch of things at once. Although, you know, it's quite easy. I mean, it's not such a big deal to add just one object at a time. So if you had, for instance, in the Seshack Global Historical Databank, it's a very complicated schema. But the, and you know, you say, okay, well, all polities in human history is not actually that many polities in human history.  So especially, you know, a lot of times the information is most relevant at 100 year intervals or something like this, then or 30 year intervals is probably better because you want to get closer to generational cycles. But that's, that's the kind of, if that's the kind of granularity, then it's quite easy to envisage that all of these things are being updated. So the, the, in order to increase performance though, like, so if, if you have a large number of revisions, the queries are going to get slow. So we have something called the Delta Rollup. So you can ask for a certain layer to have an equivalence layer. And then that, then you can search in that equivalence layer, if you just want to do a query on the database at that point. That's like a compaction or a squashing? That's right. It's a compaction. Yeah, exactly. Okay. So this is, this is a, when you download TermsDB, you go to your local host, and you can actually see a sort of a front end to the database. So you can create a new database, say, we just go here and once, let me try to get my notes really quickly. The mascots are a cow. It's a cow duck. Okay. I wasn't sure what that was. Okay. Yeah. So we actually, there's a story behind it, but it has to do with the graphs. So you see that? I see, like, yes. Okay. So, okay. I see bank. Yep. Okay. Sorry. Okay. Bank. Okay. So here there's a, we can ask for it to be shared. So I'm currently logged into Terminus Hub, and Terminus Hub gives you a way, it's like GitHub, so you can push and pull from there. So you're probably familiar with that from DIL, because they also have gone that direction. And then, and you can add a banking example out of description of the database, create new database, and then it goes ahead, creates it on Hub, and then clones it to my local machine. So then I can do push and pull operations to it. So I can go to, for instance, I can go to query, and this gives me a query viewer, and I can say, okay, I want to add a schema to this. So I have a schema written, and what this says is I want to add a bank account type of documents with the property owner, and I want the data type value to be a string. And then balance, I want the balance to be a non-negative integer, and I want them to be constrained to be of cardinality one. I run the query, and then it does those inserts. And if I go to schema, and I look at the owl, it shows, it actually writes this RDF owl information for me. And this is, I'm not sure how familiar you are with sort of semantic web stuff, but this is a language that was used for describing ontologies. But it's nice because it can give you information about like cardinalities, etc. And you'll notice that I made a mistake. So I can either edit through the query system, or I can go in here and just edit the file. I called the label of balance, or the label of balance was owner there, which is wrong. So I could save the changes, and it actually updates the schema. Here you can see which graphs I have. I have two, they're both called main, and one of them is an instance graph, and one of them is a schema graph. So I can then, once I have a schema, I can go in back to the query browser. I can ask to add some triples to it. I run the query, and it adds the information to the database. Then if I look here at documents, you can see I've added this document ID mic, and it's a bank account object. So that gives you an idea of like, you know, how the sort of approach of adding information goes. However, I might like, I might want to edit some of the information. So I might say, okay, I want to search for mic, find out what balance mic has in his bank account, and then I want to get rid of that balance, and I want to add a new balance. So I try and run the query, and it says, actually, that's a violation because this is a non-negative integer, and it's now negative seven. So you can't do that.  So it's, you can see the information here, but if you're programmatically looking at it, it's quite useful because you get information about what the precise error in the schema was, and there's also a schema that describes how that, what that error is. Okay, so let's see. So if I go back here to the bank, I can go to manage, and I can say, create a new branch, and I can call this new branch, branch office, create the new branch starting from the time now. So you can edit that by clicking this time object. The time object will look at the past history of commits, so you can move to past commits and branch from them. So I can create this new branch office, and now when I go to the branch office, right now I have the same documents in them. However, if I do, if I add some information to it, say I add another guy, Jim, run the query, then I go to documents, you'll see I have Mike and Jim in there, but in main, I only have Mike in the branch branching system. Okay, so then if I go to the query system here, and then I say, say I add one more person, so I can say I would like to add Jane, I run the query, and I get a new update, and then when I go back to the branch, sorry, I was in main when I did that. So what I will do is I will do a rebase operation starting from main and merging into the branch office. For some reason I can't do that. It's okay. Yeah, sorry. Mostly use the programmatic interface. That was actually my question, but like people have get right, like whatever message you told you how to fix it. Oh, yeah. Yeah. Sorry. I can't see it. Anyhow. Yeah, no, it's actually, I mean, what I would really do, if I was using, when I'm using it in anger, sorry, my zoom thing is not allowing me to release. You're trying to like un-share and then add it back. Yeah, I was trying to un-share this, but my, at the top should be like stop share. Yeah, except it's, I tried to grab it and it moved off of my screen. So I actually can't un-share it. Can you see that? I see that, yes. All right, that's better. Okay. So what I would actually do is write something in Python in order to do it. So for instance, you know, you would actually implement all of these, you do these operations, creating the graphs and doing the execution of these queries from Python directly. So it's a lot more convenient than using the front-end interface, but it's nice to be able to use the front-end for browsing. And it's actually not bad for query, if you're not, if you don't have to, if you're not trying to do like programmatic updates or anything complicated. So, I mean, the dope guys, again, not to do comparison, but they had basically, you know, a clone of like the Git command line tool. That's right. Like, is there something similar like that for you guys? Or is it the Python or the Web Interface? Right now, it's the Python and the Web Interface, but we are definitely, we're going to make a command line tool in the near future. Got it. Yeah. It's not too complicated to do on top of it. Yeah. So, and that sort of concludes it. So, do you have any questions or? Awesome. All right. So I'll applaud for for people because, again, we're virtual. So we, and if anybody has any questions, meet yourself, and then again, say who you are and where you're coming from, we can do this for a bit. So, if anybody has any questions, open it to the floor. Yeah. This is Joel Bender, Cornell University. I have a relatively large batch of RDF content to upload. Is there an easy way to do that? Yeah. So, I mean, it's, you can just upload it through, like here's a fast TTA load thing. So, just create a database in Python and then, you know, open the turtle file and then do update the triples or insert the triples and it'll throw it in there. Okay. And the next question is, do you have a connector between RDFLib and Termos? No, we don't have a connector right now, no. Okay. Yep. Okay. Awesome. Thank you. Next person? So, okay. I see, you know, obviously you come from the ontology world, and therefore maybe the, the, the, the all stuff and for you is sort of second nature, but I, like, are you, sorry, I said, like, by not supporting SQL and not, I mean, or even the other, you know, Gremlin or the Cypher or the other graph languages that are out there, like, how does it, it would be sort of, would the kind of person using Terminus be very self-selecting? Like, it wouldn't be your average programmer, right? This seems like someone has a very serious problem that like, oh, I have some RDF data that they, they want to store. Whereas like the Neo4j's of the world are trying to be sort of like the graph database for everybody. And my question is, like, how much of what you're describing, like, you could have a more, like, sort of user-friendly, but something that, like, made people more familiar with than the ontology APIs or query languages. Does that make sense? Yeah, absolutely. So if, if you wanted to just store, like, arbitrary graph in Terminus, you can just not have a schema. And if you don't have a schema, it won't check anything. And then you're very much like the other sort of graphs that are out there. The problem with that is that it's really, like, with, with the relational database management system, you get, like, tables. And tables are really nice in that they give you sort of constraints on the kinds of information that get entered. Now it doesn't perfectly stop you from doing terrible things, but it does help to maintain some level of consistency with graphs. It's really easy to end up with just complete spaghetti, because you can attach anything to anything else and then point anything to anything else. So if you don't have some kind of constraints on what's pointing to what and what it's supposed to be pointing to by, then you get some negative impacts. The second thing. My question would be for that one is like, how often do people show up with you, like, show up in the garden? I'm interested in using Terminus DB. I have a graph database and then they have a schema already. Like, I think nobody, nobody, right? So it's a question of like, okay, so how do you, how do you make a schema? We have to kind of teach people to do it. But like, if you saw the schema that I entered there, I entered it in a query format, it's not that hard to describe which properties you have an object that has these properties that points to these objects. It's not too hard to write it down. I think it's not too hard to get people to start thinking in that way. And I think like, if we're going to start using graphs seriously, they're going to have to start thinking in that way, because otherwise, you know, it becomes pretty unmanageable quickly. But the other advantage of it is that if you're careful about describing your schema, then you can, you can pull objects out very easily as documents. And that can be really helpful when you're trying to, you know, do use it in a programmatic way. Because sometimes if you have a graph, and you try to like, if you get back a table in SQL, it's kind of straightforward what you've gotten out. But a lot of times you want like a fragment of the graph, and figuring out how to get that fragment and then get it into a sort of key value pair thing is just extra work. So it's nice if you can get it out. Like, people are quite comfortable with document databases, I think. And so it's nice to be able to have a document database that also you can search as a graph. Got it. And I interrupt you. There was something else you were going to bring up as well. I don't really cover that. What's that? Like, you said two things. And before you get to number two, I interrupt you to ask my other question. Oh, I can't remember what number two was. Okay, that's all right. And then like the WOQL, like, that is like, is that like, is that query language you're specifying the exact steps of whatever algorithm you want to do? Or is it still kind of high level? Like, so you can do like nearest neighbor search or, you know, do a path traversal? We have high level, we have high level things like path traversal, and we'll be adding more things along those lines as we go forward. But yeah, it's a high, it's both high level and low level. At the moment, query optimization is almost non existent in the system. But we, we intend, we intend to add it as we as we go forward. So that's, so really, it's, you're kind of giving the layout plan of how it does the search, unless you use one of the higher level predicates like, like path, path queries. Okay. And then WOQL is specific to terms to be like, that's your language that you have added? That's right. Yeah. Yeah. So we can, you know, it's a, it would be possible to expose sort of other query languages on top that are especially the ones that are sort of or DF designed. But I think RDF's not super popular at the moment. Anyhow. So, so I'm not sure it matters that much. I think the main reason that somebody's going to come into this is they want a document store with revision control, or they want to be able to have some kind of view into like doing pipelining and that sort of thing. And so the query languages is really not going to be the main focus of the reason that they start using TermsDB. But we think like, I think personally that data log-ish type query languages are just a lot better than the approaches that they're trying to use in a lot of the graph community.  And then you end up with something that doesn't compose very well and is really awkward. And then, you know, the other ones where you have all these sorts of iteration type approaches, like, I don't know if you've looked at TigerDB or any of those. TigerRap. TigerRap, yeah. And it's, I find that their interfaces just are not, don't have the beauty or simplicity of data log. So I think whatever wins in the end is going to be some kind of data log-ish looking thing, just because it's more convenient to express recursive algorithms and stuff like that in it. I mean, this is more of a comment about the graph database market in general. But like, the danger of everyone sort of coming up there in languages is that you may repeat this, the issues that the object-oriented databases have in the late 80s where everyone had their own query language and no one could ever standardize and just know one thing that unified everyone. And therefore, the ecosystem that could be built around, you know, a single language that you're thinking benefit from, you know, is, it just doesn't, doesn't get cultivated, right? Like, if I have a SQL, then in theory I can support Tableau, MicroStrategy, whatever Crystal reports, you know, no matter what database I'm using. But if I have my own query language, I don't get that, right? Like, you don't get people writing stuff that can use your database for free for you. You have to build everything yourself. Yeah, yeah. I mean, the fragmentation is a problem that the graph database community in a similar way that it was there. Like, we've tried to be sort of standards compliant on most things that we have, like, you know, it's Al and RDF and it, we can generate valid Al and RDF and we can dump it to those and read from those formats. But in terms of like Sparkle, I mean, we can, we can expose a Sparkle endpoint with very, very little difficulty, but it's just such an awkward, what's that? Is it going to use Sparkle? No, not really. I mean, it's not very, well, I mean, they do in some certain circumstances in, in, I guess, in the academic community to some extent, but it's not, it's not widely used. So I don't think it's necessarily, you know, worth supporting that. And the other graph query languages are even more awkward, I would say. So I mean, you can standardize on something really awkward, but then there's also a difficulty with that. But I mean, the beauty, the thing about SQL is that it has a simplicity of design that's quite powerful and it's very composable. Like it all makes sense together. It's sort of a, it has a self-consistency to it that's really beautiful. And we need something like that, you know, we need something that has that sort of simplicity of design. And I don't think that the other graph languages really have that. I think whatever it's going to be, it's going to have to be something like that. We would like to see more people use Wackel that it not just be for TerminusDB, but you know, that's another thing. So I have a sort of follow-up question on the relationship between your schema language and Shackle. You know, I mean, I personally find Shackle a lot easier to deal with than Owl. And it seems like you'd be able to, you know, write, be pretty straightforward to write a translation from some kind of Shackle shape into a Python application for me, because I'm a Python programmer, but I don't know about, you know, your custom language. Right. So, yeah, no, it would be relatively easy. So I mean, Shackle has a couple of things about it. So one, so Owl is sort of designed as an ontology language, not as a constraint language. Shackle was supposed to, is sort of the constraint version that's sort of related but different. And Shackle, the problem there is that now you have two languages to describe what you're trying to describe. So we took the, we took the approach of just using Owl and then treating it with a closed world interpretation as a constraint language instead of using an open world interpretation. So any information that's stored in TerminusDB and is exported, it will still, it will be valid Owl, but we're more strict about it so that you get the kinds of constraints that you would get from Shackle. So it's not really necessary to use Shackle. Now, when we were looking, we kind of looked first at Shackle for a little while, but it was, when I was looking at it, it was defined in such a way that like there were issues of self-consistency with the documentation. And I noticed after, like I sent a sort of note that there were problems. So they had like recursive operations with cardinality that were defined in the documentation. And then that, it actually ends up creating a non-monotonic functor so that there's, it's not a sound object to, you can't actually say whether something's in or outside of that object. And those sorts of consistency issues had not been worked out yet, whereas Owl had sort of a much, much firmer foundation, logical foundation. So it was easier to implement in a way that made sense. Yeah.  Yeah, yeah, yeah. Yeah. Okay. Any, any last question? Before I last, well, I have two more questions. Let everybody else go if they want to go. Okay. So the first question is, what is the background or what is the backstory of the cow duck or the duck cow? So it was a, the cow duck is the love child of the cow and the duck. So we had some, one of our first demonstrations of the, of our rust back end was that a duck fell in love with the cow. And they, we just had their relationships modeled in the graph. And so that's, that's how we ended up with the mascot. Got it. Nice. Okay. Beautiful. All right. And then my last question is the one I've been asking all the, the database friends coming, giving talks for yours. I actually suspect I know the answer, but I wouldn't want to hear your opinion how it is.  Like, are you ever surprised with what kind of problems people hit with your system because they're abusing in ways that you've never thought of? Well, I'm never surprised when somebody abuses the system. I mean, we've had a, like our community so far has been really intelligent. And I think there's, there's an attractiveness of the idea of revision control graph database. And I think the most surprising thing has not been, like, I guess it doesn't surprise me too much when somebody wants to do something that's abusive to the database, because that's exactly what I would probably do if I started using one, try to figure out, you know, what happens if I try to mistreat it badly. But no, some of the really clever things that people have, have come up with, I think is more surprising. For instance, people have been like, looking at the commit graph and looking at it as like, instead of trying to just see it as a revision control system, thinking of it as graphs that change over time and then doing queries across the various graphs. So you get sort of a temporal graph, logical questions that you can ask, how did this thing change into that kind of thing? Not really struck me because I hadn't really thought of that use case. It was really, we were just thinking about it in terms of revisions. Yes.   They have very specific ideas on maybe what this thing actually do and they're sort of self-selecting. Yeah. So yeah, it's going to be people who really feel like they need some kind of solution to a kind of a problem that maybe they need a revision control graph database system. And if they come for that, then there probably are already much more sophisticated in the first place. Yes. So hopefully we want to move to a broader selection, but we're going to start from there and then, you know, start making it easier for people to come on board with simpler things like, you know, automatic CSV upload where you just click and it goes in and then Excel, for instance, because it's quite easy to write down an ontology that will describe what an Excel spreadsheet looks like and then you could just throw it into the graph. Okay. That's awesome. Yeah, this is, this is about what I thought it was going to be. Okay. So again, Gavin, I appreciate you doing this. I've tried to announce that you're actually in Vienna, in Austria. So I don't know the time difference it is between Ireland, but it's probably a little bit later. Yeah, it's 11.30 here. So we appreciate you staying up and thank you for spending time with us. It was a really interesting talk. Thanks for having me.


Hello friends, welcome back to my channel today. We're gonna be doing my summer TVR. I am so excited I am so excited for summer. You guys don't even understand. I love summer I'm a summer girly. I come alive and the heat in the sun. I love I love it So I am so excited for summer and I've got so many exciting videos coming I'm feeling really excited all the videos I'm making at the moment and so I thought let's do a summer TBR I wasn't gonna do one. Usually I do do like a little TBR for every season to give you a tease or some of the books I'm gonna be reading in the next couple months some of the videos I'm gonna be doing but I was gonna do it in summer and then I saw everyone else doing their summer TBRs and I felt jealous We have to do it. So the way that I do my TBRs because obviously I have a lot of videos Planned right so I do five books that I have got plans to be reading I'm gonna be reading in the next couple months and then I do five books that I have no plans to read But I really want to Wishful thinking.  You dream a lot and you're so it's like half solid and half Aspirational I've got a lot of videos coming in the next couple months where I currently don't know what I'm gonna be reading Where I'm gonna be finding out in the moment what I'm gonna be reading. So those books will be good for that I'm increasingly feeling like there's not enough days on the yet Not enough hours in the day to read all the books. I want to read like it's a problem I wish I could read 10,000 books like right now We can't so shall we just get into the list first we are gonna go for yellow face by Rebecca F Quang her name's Rebecca on this one So I'm gonna call her Rebecca I feel like they're trying to distinguish between her fantasy and non fantasy stuff, but um, yeah, I just I need to read it I'm so excited. I'm so excited. I went to the talk for this in London and it's just made me even more excited So the plot of this I'm sure you've heard about it already We're following two characters at the start one is a white struggling author another is an Asian Incredibly popular like doing really well author and they're kind of frenemies and one evening I think they're having dinner together and the Asian author like chokes and darts In a freak accident and the white author decides I'm gonna steal the manuscript She was working on past myself off as racially ambiguous and like published this book And this is basically like a satire around publishing and the situation in publishing, you know publishing is a thing, right? When black lives matter happened and there was movement such as publishing paid me if a lot of you don't know but I actually did for my like I did journalism as my degree at uni and In that instead of writing a dissertation as like our final project We made a documentary and my documentary was about the hashtag Publishing paid me that sprang up a couple years ago talking about how authors of color Traditionally were paid less for their advanced advances and found it more difficult to get published than white authors So that's why I did my documentary and I've never shared it publicly because a the people that I interviewed I interviewed some authors who were kind of surrounding the hashtag and I interviewed like people from publishing and stuff I didn't ask if I could put it on YouTube. I just said it's gonna be viewed by my Uni professors, so that's really the main reason I've never shared it But I was very proud of it and I really got deep into the subject and it's in my opinion my opinion my opinion publishing would say It's not but um, I think the whole situation sucks. There is so much like Engrained racism in all of our structures in life I believe and publishing, you know tried to set up some imprints tried to hire more diverse editors at that time But I'm hearing a lot of those imprints and editors have gone So it's not great and so I'm really really excited to read this and I think that it's I mean Just everything that she does is incredible and is intentional and I just love her. I just love Rebecca So I'm really excited that I've got plans to read this like I'm currently having to hold myself back because I can't wait Let's alternate between ones. I do have plans for and ones. I don't so one that I don't have a plans for But I really want to get to is Murder before even song by Reverend Richard Coles So I got this last year, but I really want to read it because I just bought the sequel Look at the little doggies. How cute is that? Yeah, I got the sequel because I want like matching editions basically This one's like red spread ages and this one has the doggies, but I really want to start this murder mystery series So it's just like a quaint murder mystery series following a reverend and Murders happening in the town that he lives in and I watched what was it and what was it that I heard? Richard Coles, he's like a semi celebrity in the UK not semi.  He was on with Janice Hallett and and What's her name? Neeta prose they were on like an episode about mysteries and he spoke about how he really likes having a reverend as his main character Because reverends can kind of like get into places other people can't like people let them into their homes and tell them things That they wouldn't tell someone else.  So I'm excited to read this one. Then I also have decided I am gonna be reading the writing retreat I think I'm gonna choose this as one of my books for summer ween one of the prompts is reader thriller And this is one of the thrillers that I'm most excited for I am gonna be vlogging summer ween. I'm very excited I've never done it before I'm not the best Doing read-a-thons because I always have other videos to do but I'm gonna vlog summer ween and I'm really really excited for it So I think we're gonna read this in summer ween. I've spoken about this a ton already I put it in five star predictions or if you told me I was absolutely batshit insane for doing that But I trust my instincts. I'm gonna love it you guys. I've just decided I'm gonna love it We're following these characters who go to this writing retreat And I think there's a prize for what you write there, and I know it's also about like female friendships. It goes crazy I know this book grows crazy, but I'm so excited to read it one of the most exciting books on my TBR right now And I'm just so ready to read it this summer. I'm like beyond ready. I'm like I was made for this I was made for this then when I don't have plans to read but really want to is throwback by Maureen good This was recommended to me by Courtney Summers when we chatted for the video that we made and I'm just so excited to read It she recommended to me it's about a girl and her mom and the girl ends up going back in time to the 90s Alongside her 17 year old mom basically and it's like set in the 90s, and I'm just I'm really excited Hey, I think this kind of straddles like it'll give me some like YA contemporary vibes to it I believe a kind of a cover gives me those vibes Which I feel like I've been lacking a bit and I feel like it's something I really love reading in summer because it's just fun It's quick and enjoyable, but also it's doing something different It's got like a sci-fi twist to it and I mean listen. I loved 17 again I loved 17 again as a kid and yes It is a bit different because that's like an older guy becoming 17 again in our time But like this is her going back to the 90s and her mom younger is there But like it's kind of giving some of the vibes and I love Zac Efron's supremacy guys I was just I was looking onto it the other day and when you think back to how Incredible the high school musical movies were like just think about it I'm gonna be watching it with my patrons this weekend for our movie night. I think I think it's gonna win the poll I put it on there cuz I was like I'm pretty sure that's gonna win and I just really want to watch high school musical again So that's what's happening, but just think about like the choreography. Oh my god scream scream in high school musical 3 with the twisting I mean Cinematic genius guys high school musical my god talented brilliant incredible amazing show stopping Spectacular then other book. I do have plans to read. I'm finding a reading. I'll be gone in the dark by Michelle McNamara This is a nonfiction. I have wanted to read for so long We're following this woman's path into finding this serial killer and I believe she did actually Find out who it was, but then she passed away. I think maybe before it was confirmed But yeah, this is like her book detailing her journey into finding out who this guy was and I Have you know, I don't want to say I love true crime because I think true crime our relationship with it should be examined our relationship with like women as victims and Idealizing people who do terrible things in true crime and like our fascination with its humans Like I think it should be something that you're conscious of when you're consuming true crime kind of material But it is something that I do find interesting and so reading from this kind of perspective where this woman worked Really really hard to find out this person who had done terrible things I think is an angle that I would be really interested in reading. So yeah, I've always had such wonderful things about this It's got like pictures as well. I think of victims and yeah I'm really really excited to get into this because for years I have heard one for things and it's time to read it then one I currently don't have plans to read but I'm hoping I'm gonna read sometime soon is the last housewife by Ashley Winstead is currently wrapped up behind me Wrapped up is coming to an end next month. So if I don't end up reading it and wrapped up, which I think is pretty unlikely I will probably hopefully read it in another vlog. But yeah, I can't really remember what this one's about I know it was Ashley Winsteads released last year By the way, she publishes like a romance and a thriller every single year. This one is insane I really enjoyed it in my dreams a whole lot of life. It was fun. It was like witty I really really enjoyed it and I've heard really good things about the last housewife I've also heard it's quite different particularly. I think it's a bit raunchy. It's a bit raunchy I literally can't remember the plot something about housewives Can't remember but it's Ashley Winstead and Ashley Winstead is becoming an author that I want to read all of her books on the covers Fucking amazing. So like we're gonna read it. I'm very excited It's one of these books like I even need to know anything about it to know that it might be a five star I think it's gonna be at least a four then another one I do have plans to rude is In the Lives of Puppets by TJ Klune. Look at her. Look at her. I am nervous, right? So this is TJ Klune's next book and I've given House in the Cerulean Sea and Under the Whispering Door five stars from him And I'm nervous because I've heard mixed things about this one We've got like this family of puppets slash robots like living in secrecy But then someone else a location one of them gets taken away and then they kind of go on this quest I think to save their family member and I think it's gonna be a lot about family there's always like a through line in TJ Klune's books of like Teaching not so teaching but like holding a light up to humanity in some aspect and I'm suspecting this could be family I've heard mixing some people have told me that they loved it Some people have told me they didn't think it's as successful as his previous two, but I'm really excited I think he always has a very interesting perspective in his books and I always have a great time reading them So even if it's not a five star, I'm not putting five star pressure on it because I have had mixed things I'm still Expecting a good time then another one. I still have no plans to read but like I really I want to read it So bad is our wives under the sea by Julia Armfield If you watch my first video of the year where I was trying to find a five star book for my first book the year Which I succeeded in this was another one of the options and it didn't end up winning But I did really really like the first chapter of this because in that video I read all the first chapters and picked one with following that these two wives one who I think has come Back from like this deep sea mission of some sort and has come back Really changed and is a different person is distant emotional the writing in this I remember I mean I read the first chapter It's like eight pages or whatever a long time ago half a year ago now But I remember the writing feeling very like claustrophobic Very tight and very close and it was it was such an interesting Writing style that I hadn't necessarily read in a long time. So I'm really excited to read a whole book of that I've had such wonderful things for pretty much everyone who has read this So I just I need to get to it guys So in any video that I can we're gonna try and get to it then the final book I do have plans to read and it's actually because I'm reading it now I'm only 30 pages in is the Inagami curse by Sashi Yokomizo. So I read the hongin murders Here she is. Hang on the hongin murders by Sashi Yokomizo. It was much smaller. This one's much smaller Well, guess what people I get excited about small thing a while ago now And I've since been collecting all of the new releases of these books because these are classic Japanese Murder mysteries are slowly being translated into English with these gorgeous covers. Hang on. Let me show you the other ones These are the other two I have I think maybe there's one more out already But we've got the village of eight graves and we've got death on Gokumen Island I mean look at these covers aren't they incredible? But yeah, I read that and I've wanted to get to more hence me being Me collecting them all and now it's finally time to read another one this one We've got the wealthy head of this family dies and they're kind of the family It's a rich family and they're like waiting to read the will but then death like murders start happening I think they're trying to like kill each other off so that they can get the inheritance or something like I said I'm only 30 pages in I've barely read anything. I'm excited to read more of these I love reading like murder mysteries from different cultures and seeing the different tropes and seeing the different kind of like Ways in which the story is traditionally told so yeah, you'll see this hopefully this weekend in a vlog And then the last book that I don't have set plans to read but would really like to get round to is a Finney Donovan Knock some dead, so I read Finney Donovan is killing it. Where is she? I'm still so mad that they're the paperbacks of different sizes like this is just like what is going on? That's so upsetting Finney Donovan is killing it. I read earlier this year. I loved it It was five stars. We always knew it's gonna be five stars And so I'd really like to continue on in the series in the next couple months These are just so fun like they're such fun murder mysteries Finney Donovan is killing it is definitely gonna be a book I give to my mom soon because she's whispering about starting mysteries again If you don't know I used to always share my books with my mom we chat about them And in the past couple years She's only want to read romance because like some stuff has been happening in our lives behind the scenes that have been tough So she's only wanted to read like happy books romances, and I didn't really read that So we haven't been sharing books together, but she's whispering about being able to start reading other stuff So I'm thinking Finney Donovan will be an early pick because it's still kind of happy Kind of even though there's murders like it's still it's so kind of happy. So yeah, I would love to make progress I don't really oh, I know I do know what the plot this is But I can't tell you because it would spoil stuff from the first book But yeah, really excited to continue on Hopefully we will do soon. So there we have it That is my summer TBR half books that I have plans to read half books that I am just excited to read And would like to get around to some of the books I'm putting as like priority for me right now So yeah, let me know what you thought of any of these books if you read them I would love to know have any of you read yellow face yet Have any of you read the rioting retreat if any of you read throwback I would love to know any of your thoughts and let me know what is on your summer TBR because I want to live Like heresy through you because like I said, I want to read 40,000 books in here. Why is that not possible? Why is that impossible? Like I am constrained by my mortal body and it's not fair if he got into the end of Video comment the eyes looking like the eyes looking emoji for yellow face because I could just read this Right now if I was living my best life, I would just go sit on the garden read the whole thing right now But that's not that's not happening right now. So anyways, I love you guys Thank you so much for watching and I will see you very soon in another video. Bye