Files
secondo/Algebras/PropertyGraph/sample-shakespeare/createrels
2026-01-23 17:03:45 +08:00

129 lines
4.7 KiB
Plaintext

#open database pgraph1;
# OBJECTS
query isdefined(deleteObject("Author"));
query isdefined(deleteObject("Play"));
query isdefined(deleteObject("Production"));
query isdefined(deleteObject("Company"));
query isdefined(deleteObject("User"));
query isdefined(deleteObject("Review"));
query isdefined(deleteObject("Performance"));
query isdefined(deleteObject("Venue"));
query isdefined(deleteObject("Street"));
query isdefined(deleteObject("City"));
query isdefined(deleteObject("Country"));
let Author = [ const rel(tuple([Id : int, Firstname : string, Lastname : string])) value () ];
query Author inserttuple[1, "William", "Shakespeare"] count;
query Author inserttuple[2, "Caryl", "Churchill"] count;
query Author inserttuple[3, "George Bernard", "Shaw"] count;
let Play = [ const rel(tuple([Id : int, Title : string])) value () ];
query Play inserttuple[1, "The Tempest"] count;
query Play inserttuple[2, "Julius Caesar"] count;
query Play inserttuple[3, "The After Dinner Joke"] count;
query Play inserttuple[4, "The Playboy of the Western World"] count;
let Production = [ const rel(tuple([Id : int, Name : string])) value () ];
query Production inserttuple[1, "The Tempest"] count;
query Production inserttuple[2, "Julius Caesar"] count;
query Production inserttuple[3, "The After Dinner Joke"] count;
let Company = [ const rel(tuple([Id : int, Name : string])) value () ];
query Company inserttuple[1, "RSC"] count;
let User = [ const rel(tuple([Id : int, Name : string])) value () ];
query User inserttuple[1, "Billy"] count;
let Review = [ const rel(tuple([Id : int, Rating : int, Review:string])) value () ];
query Review inserttuple[1, 5, "This was great!"] count;
let Performance = [ const rel(tuple([Id : int, Date : string])) value () ];
query Performance inserttuple[1, "20061121"] count;
query Performance inserttuple[2, "20120729"] count;
let Venue = [ const rel(tuple([Id : int, Name : string])) value () ];
query Venue inserttuple[1, "Theatre Royal"] count;
let Street = [ const rel(tuple([Id : int, Name : string])) value () ];
query Street inserttuple[1, "Grey Street"] count;
let City = [ const rel(tuple([Id : int, Name : string])) value () ];
query City inserttuple[1, "Stratford upon Avon"] count;
query City inserttuple[2, "Newcastle"] count;
let Country = [ const rel(tuple([Id : int, Name : string])) value () ];
query Country inserttuple[1, "England"] count;
query Country inserttuple[2, "Tyne and Wear"] count;
# RELATIONS
query isdefined(deleteObject("WROTE_PLAY"));
query isdefined(deleteObject("PRODUCTION_OF"));
query isdefined(deleteObject("PRODUCED"));
query isdefined(deleteObject("PERFORMANCE_OF"));
query isdefined(deleteObject("VENUE"));
query isdefined(deleteObject("STREET"));
query isdefined(deleteObject("CITY"));
query isdefined(deleteObject("COUNTRY"));
query isdefined(deleteObject("BASED_IN"));
query isdefined(deleteObject("WROTE_REVIEW"));
query isdefined(deleteObject("REVIEW_OF"));
# Author->Play
let WROTE_PLAY = [ const rel(tuple([IdFrom : int, IdTo : int, Year : int])) value () ];
query WROTE_PLAY inserttuple[1, 1, 1610] count;
query WROTE_PLAY inserttuple[1, 2, 1599] count;
query WROTE_PLAY inserttuple[2, 3, 1844] count;
query WROTE_PLAY inserttuple[3, 4, 1890] count;
# Production->Play
let PRODUCTION_OF = [ const rel(tuple([IdFrom : int, IdTo : int])) value () ];
query PRODUCTION_OF inserttuple[1, 1] count;
query PRODUCTION_OF inserttuple[2, 2] count;
query PRODUCTION_OF inserttuple[3, 3] count;
# Company->Production
let PRODUCED = [ const rel(tuple([IdFrom : int, IdTo : int])) value () ];
query PRODUCED inserttuple[1, 1] count;
query PRODUCED inserttuple[1, 2] count;
# Performance->Production
let PERFORMANCE_OF = [ const rel(tuple([IdFrom : int, IdTo : int])) value () ];
query PERFORMANCE_OF inserttuple[1, 1] count;
query PERFORMANCE_OF inserttuple[2, 2] count;
# Performance->Venue
let VENUE = [ const rel(tuple([IdFrom : int, IdTo : int])) value () ];
query VENUE inserttuple[1, 1] count;
query VENUE inserttuple[2, 1] count;
# Venue->Street
let STREET = [ const rel(tuple([IdFrom : int, IdTo : int])) value () ];
query STREET inserttuple[1, 1] count;
# Street->City
let CITY = [ const rel(tuple([IdFrom : int, IdTo : int])) value () ];
query CITY inserttuple[1, 2] count;
# City->Country
let COUNTRY = [ const rel(tuple([IdFrom : int, IdTo : int])) value () ];
query COUNTRY inserttuple[1, 1] count;
query COUNTRY inserttuple[2, 2] count;
# Company->City
let BASED_IN = [ const rel(tuple([IdFrom : int, IdTo : int])) value () ];
query BASED_IN inserttuple[1, 1] count;
# User->Review
let WROTE_REVIEW = [ const rel(tuple([IdFrom : int, IdTo : int])) value () ];
query WROTE_REVIEW inserttuple[1, 1] count;
# Review->Performance
let REVIEW_OF = [ const rel(tuple([IdFrom : int, IdTo : int])) value () ];
query REVIEW_OF inserttuple[1, 2] count;