diff --git a/.gitignore b/.gitignore index a81c8ee..e500d9a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +out* + # Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] diff --git a/README.md b/README.md index 81e0a20..ab4f0e7 100644 --- a/README.md +++ b/README.md @@ -77,7 +77,8 @@ This relies on exporting a cypher graph through the cypher-shell (in JSON format ./run-from-cypher.sh ``` -where `````` is a file with ASP encoded shapes and `````` the local path of the Neo4j instance. The folder [movie-example](movie-example) contains shapes for validating the Neo4j example movie database. +where `````` is a file with ASP encoded shapes and `````` the local path of the Neo4j instance. Note, that the configuration option ```apoc.export.file.enabled=true``` has to be set. +The folder [movie-example](movie-example) contains shapes for validating the Neo4j example movie database. Note, that we convert all property names and labels to lower case. We also replace " with ' in strings. We only support integer and string property values. All other properties are converted to strings via the Python ```str``` function. Validation of other property graph models is possible by either exporting graphs in the same JSON format as Neo4j (an then using [translate.py](scripts/translate.py)) or by writing a custom conversion to the ASP encoding used by ProGS. diff --git a/scripts/export-db.sh b/legacy/export-db.sh similarity index 100% rename from scripts/export-db.sh rename to legacy/export-db.sh diff --git a/legacy/exported.json b/legacy/exported.json new file mode 100644 index 0000000..347885e --- /dev/null +++ b/legacy/exported.json @@ -0,0 +1,437 @@ +{"type":"node","id":"0","labels":["Movie"],"properties":{"tagline":"Welcome to the Real World","title":"The Matrix","released":1999}} +{"type":"node","id":"1","labels":["Person"],"properties":{"born":1964,"name":"Keanu Reeves"}} +{"type":"node","id":"2","labels":["Person"],"properties":{"born":1967,"name":"Carrie-Anne Moss"}} +{"type":"node","id":"3","labels":["Person"],"properties":{"born":1961,"name":"Laurence Fishburne"}} +{"type":"node","id":"4","labels":["Person"],"properties":{"born":1960,"name":"Hugo Weaving"}} +{"type":"node","id":"5","labels":["Person"],"properties":{"born":1967,"name":"Andy Wachowski"}} +{"type":"node","id":"6","labels":["Person"],"properties":{"born":1965,"name":"Lana Wachowski"}} +{"type":"node","id":"7","labels":["Person"],"properties":{"born":1952,"name":"Joel Silver"}} +{"type":"node","id":"8","labels":["Person"],"properties":{"born":1978,"name":"Emil Eifrem"}} +{"type":"node","id":"9","labels":["Movie"],"properties":{"tagline":"Free your mind","title":"The Matrix Reloaded","released":2003}} +{"type":"node","id":"10","labels":["Movie"],"properties":{"tagline":"Everything that has a beginning has an end","title":"The Matrix Revolutions","released":2003}} +{"type":"node","id":"11","labels":["Movie"],"properties":{"tagline":"Evil has its winning ways","title":"The Devil's Advocate","released":1997}} +{"type":"node","id":"12","labels":["Person"],"properties":{"born":1975,"name":"Charlize Theron"}} +{"type":"node","id":"13","labels":["Person"],"properties":{"born":1940,"name":"Al Pacino"}} +{"type":"node","id":"14","labels":["Person"],"properties":{"born":1944,"name":"Taylor Hackford"}} +{"type":"node","id":"15","labels":["Movie"],"properties":{"tagline":"In the heart of the nation's capital, in a courthouse of the U.S. government, one man will stop at nothing to keep his honor, and one will stop at nothing to find the truth.","title":"A Few Good Men","released":1992}} +{"type":"node","id":"16","labels":["Person"],"properties":{"born":1962,"name":"Tom Cruise"}} +{"type":"node","id":"17","labels":["Person"],"properties":{"born":1937,"name":"Jack Nicholson"}} +{"type":"node","id":"18","labels":["Person"],"properties":{"born":1962,"name":"Demi Moore"}} +{"type":"node","id":"19","labels":["Person"],"properties":{"born":1958,"name":"Kevin Bacon"}} +{"type":"node","id":"20","labels":["Person"],"properties":{"born":1966,"name":"Kiefer Sutherland"}} +{"type":"node","id":"21","labels":["Person"],"properties":{"born":1971,"name":"Noah Wyle"}} +{"type":"node","id":"22","labels":["Person"],"properties":{"born":1968,"name":"Cuba Gooding Jr."}} +{"type":"node","id":"23","labels":["Person"],"properties":{"born":1957,"name":"Kevin Pollak"}} +{"type":"node","id":"24","labels":["Person"],"properties":{"born":1943,"name":"J.T. Walsh"}} +{"type":"node","id":"25","labels":["Person"],"properties":{"born":1967,"name":"James Marshall"}} +{"type":"node","id":"26","labels":["Person"],"properties":{"born":1948,"name":"Christopher Guest"}} +{"type":"node","id":"27","labels":["Person"],"properties":{"born":1947,"name":"Rob Reiner"}} +{"type":"node","id":"28","labels":["Person"],"properties":{"born":1961,"name":"Aaron Sorkin"}} +{"type":"node","id":"29","labels":["Movie"],"properties":{"tagline":"I feel the need, the need for speed.","title":"Top Gun","released":1986}} +{"type":"node","id":"30","labels":["Person"],"properties":{"born":1957,"name":"Kelly McGillis"}} +{"type":"node","id":"31","labels":["Person"],"properties":{"born":1959,"name":"Val Kilmer"}} +{"type":"node","id":"32","labels":["Person"],"properties":{"born":1962,"name":"Anthony Edwards"}} +{"type":"node","id":"33","labels":["Person"],"properties":{"born":1933,"name":"Tom Skerritt"}} +{"type":"node","id":"34","labels":["Person"],"properties":{"born":1961,"name":"Meg Ryan"}} +{"type":"node","id":"35","labels":["Person"],"properties":{"born":1944,"name":"Tony Scott"}} +{"type":"node","id":"36","labels":["Person"],"properties":{"born":1941,"name":"Jim Cash"}} +{"type":"node","id":"37","labels":["Movie"],"properties":{"tagline":"The rest of his life begins now.","title":"Jerry Maguire","released":2000}} +{"type":"node","id":"38","labels":["Person"],"properties":{"born":1969,"name":"Renee Zellweger"}} +{"type":"node","id":"39","labels":["Person"],"properties":{"born":1962,"name":"Kelly Preston"}} +{"type":"node","id":"40","labels":["Person"],"properties":{"born":1974,"name":"Jerry O'Connell"}} +{"type":"node","id":"41","labels":["Person"],"properties":{"born":1970,"name":"Jay Mohr"}} +{"type":"node","id":"42","labels":["Person"],"properties":{"born":1961,"name":"Bonnie Hunt"}} +{"type":"node","id":"43","labels":["Person"],"properties":{"born":1971,"name":"Regina King"}} +{"type":"node","id":"44","labels":["Person"],"properties":{"born":1996,"name":"Jonathan Lipnicki"}} +{"type":"node","id":"45","labels":["Person"],"properties":{"born":1957,"name":"Cameron Crowe"}} +{"type":"node","id":"46","labels":["Movie"],"properties":{"tagline":"For some, it's the last real taste of innocence, and the first real taste of life. But for everyone, it's the time that memories are made of.","title":"Stand By Me","released":1986}} +{"type":"node","id":"47","labels":["Person"],"properties":{"born":1970,"name":"River Phoenix"}} +{"type":"node","id":"48","labels":["Person"],"properties":{"born":1971,"name":"Corey Feldman"}} +{"type":"node","id":"49","labels":["Person"],"properties":{"born":1972,"name":"Wil Wheaton"}} +{"type":"node","id":"50","labels":["Person"],"properties":{"born":1966,"name":"John Cusack"}} +{"type":"node","id":"51","labels":["Person"],"properties":{"born":1942,"name":"Marshall Bell"}} +{"type":"node","id":"52","labels":["Movie"],"properties":{"tagline":"A comedy from the heart that goes for the throat.","title":"As Good as It Gets","released":1997}} +{"type":"node","id":"53","labels":["Person"],"properties":{"born":1963,"name":"Helen Hunt"}} +{"type":"node","id":"54","labels":["Person"],"properties":{"born":1963,"name":"Greg Kinnear"}} +{"type":"node","id":"55","labels":["Person"],"properties":{"born":1940,"name":"James L. Brooks"}} +{"type":"node","id":"56","labels":["Movie"],"properties":{"tagline":"After life there is more. The end is just the beginning.","title":"What Dreams May Come","released":1998}} +{"type":"node","id":"57","labels":["Person"],"properties":{"born":1960,"name":"Annabella Sciorra"}} +{"type":"node","id":"58","labels":["Person"],"properties":{"born":1929,"name":"Max von Sydow"}} +{"type":"node","id":"59","labels":["Person"],"properties":{"born":1942,"name":"Werner Herzog"}} +{"type":"node","id":"60","labels":["Person"],"properties":{"born":1951,"name":"Robin Williams"}} +{"type":"node","id":"61","labels":["Person"],"properties":{"born":1956,"name":"Vincent Ward"}} +{"type":"node","id":"62","labels":["Movie"],"properties":{"tagline":"First loves last. Forever.","title":"Snow Falling on Cedars","released":1999}} +{"type":"node","id":"63","labels":["Person"],"properties":{"born":1970,"name":"Ethan Hawke"}} +{"type":"node","id":"64","labels":["Person"],"properties":{"born":1971,"name":"Rick Yune"}} +{"type":"node","id":"65","labels":["Person"],"properties":{"born":1940,"name":"James Cromwell"}} +{"type":"node","id":"66","labels":["Person"],"properties":{"born":1953,"name":"Scott Hicks"}} +{"type":"node","id":"67","labels":["Movie"],"properties":{"tagline":"At odds in life... in love on-line.","title":"You've Got Mail","released":1998}} +{"type":"node","id":"68","labels":["Person"],"properties":{"born":1968,"name":"Parker Posey"}} +{"type":"node","id":"69","labels":["Person"],"properties":{"born":1973,"name":"Dave Chappelle"}} +{"type":"node","id":"70","labels":["Person"],"properties":{"born":1967,"name":"Steve Zahn"}} +{"type":"node","id":"71","labels":["Person"],"properties":{"born":1956,"name":"Tom Hanks"}} +{"type":"node","id":"72","labels":["Person"],"properties":{"born":1941,"name":"Nora Ephron"}} +{"type":"node","id":"73","labels":["Movie"],"properties":{"tagline":"What if someone you never met, someone you never saw, someone you never knew was the only someone for you?","title":"Sleepless in Seattle","released":1993}} +{"type":"node","id":"74","labels":["Person"],"properties":{"born":1956,"name":"Rita Wilson"}} +{"type":"node","id":"75","labels":["Person"],"properties":{"born":1953,"name":"Bill Pullman"}} +{"type":"node","id":"76","labels":["Person"],"properties":{"born":1949,"name":"Victor Garber"}} +{"type":"node","id":"77","labels":["Person"],"properties":{"born":1962,"name":"Rosie O'Donnell"}} +{"type":"node","id":"78","labels":["Movie"],"properties":{"tagline":"A story of love, lava and burning desire.","title":"Joe Versus the Volcano","released":1990}} +{"type":"node","id":"79","labels":["Person"],"properties":{"born":1950,"name":"John Patrick Stanley"}} +{"type":"node","id":"80","labels":["Person"],"properties":{"born":1956,"name":"Nathan Lane"}} +{"type":"node","id":"81","labels":["Movie"],"properties":{"tagline":"At odds in life... in love on-line.","title":"When Harry Met Sally","released":1998}} +{"type":"node","id":"82","labels":["Person"],"properties":{"born":1948,"name":"Billy Crystal"}} +{"type":"node","id":"83","labels":["Person"],"properties":{"born":1956,"name":"Carrie Fisher"}} +{"type":"node","id":"84","labels":["Person"],"properties":{"born":1949,"name":"Bruno Kirby"}} +{"type":"node","id":"85","labels":["Movie"],"properties":{"tagline":"In every life there comes a time when that thing you dream becomes that thing you do","title":"That Thing You Do","released":1996}} +{"type":"node","id":"86","labels":["Person"],"properties":{"born":1977,"name":"Liv Tyler"}} +{"type":"node","id":"87","labels":["Movie"],"properties":{"tagline":"Pain heals, Chicks dig scars... Glory lasts forever","title":"The Replacements","released":2000}} +{"type":"node","id":"88","labels":["Person"],"properties":{"born":1970,"name":"Brooke Langton"}} +{"type":"node","id":"89","labels":["Person"],"properties":{"born":1930,"name":"Gene Hackman"}} +{"type":"node","id":"90","labels":["Person"],"properties":{"born":1968,"name":"Orlando Jones"}} +{"type":"node","id":"91","labels":["Person"],"properties":{"born":1950,"name":"Howard Deutch"}} +{"type":"node","id":"92","labels":["Movie"],"properties":{"tagline":"Based on the extraordinary true story of one man's fight for freedom","title":"RescueDawn","released":2006}} +{"type":"node","id":"93","labels":["Person"],"properties":{"born":1974,"name":"Christian Bale"}} +{"type":"node","id":"94","labels":["Person"],"properties":{"born":1954,"name":"Zach Grenier"}} +{"type":"node","id":"95","labels":["Movie"],"properties":{"tagline":"Come as you are","title":"The Birdcage","released":1996}} +{"type":"node","id":"96","labels":["Person"],"properties":{"born":1931,"name":"Mike Nichols"}} +{"type":"node","id":"97","labels":["Movie"],"properties":{"tagline":"It's a hell of a thing, killing a man","title":"Unforgiven","released":1992}} +{"type":"node","id":"98","labels":["Person"],"properties":{"born":1930,"name":"Richard Harris"}} +{"type":"node","id":"99","labels":["Person"],"properties":{"born":1930,"name":"Clint Eastwood"}} +{"type":"node","id":"100","labels":["Movie"],"properties":{"tagline":"The hottest data on earth. In the coolest head in town","title":"Johnny Mnemonic","released":1995}} +{"type":"node","id":"101","labels":["Person"],"properties":{"born":1947,"name":"Takeshi Kitano"}} +{"type":"node","id":"102","labels":["Person"],"properties":{"born":1968,"name":"Dina Meyer"}} +{"type":"node","id":"103","labels":["Person"],"properties":{"born":1958,"name":"Ice-T"}} +{"type":"node","id":"104","labels":["Person"],"properties":{"born":1953,"name":"Robert Longo"}} +{"type":"node","id":"105","labels":["Movie"],"properties":{"tagline":"Everything is connected","title":"Cloud Atlas","released":2012}} +{"type":"node","id":"106","labels":["Person"],"properties":{"born":1966,"name":"Halle Berry"}} +{"type":"node","id":"107","labels":["Person"],"properties":{"born":1949,"name":"Jim Broadbent"}} +{"type":"node","id":"108","labels":["Person"],"properties":{"born":1965,"name":"Tom Tykwer"}} +{"type":"node","id":"109","labels":["Movie"],"properties":{"tagline":"Break The Codes","title":"The Da Vinci Code","released":2006}} +{"type":"node","id":"110","labels":["Person"],"properties":{"born":1939,"name":"Ian McKellen"}} +{"type":"node","id":"111","labels":["Person"],"properties":{"born":1976,"name":"Audrey Tautou"}} +{"type":"node","id":"112","labels":["Person"],"properties":{"born":1971,"name":"Paul Bettany"}} +{"type":"node","id":"113","labels":["Person"],"properties":{"born":1954,"name":"Ron Howard"}} +{"type":"node","id":"114","labels":["Movie"],"properties":{"tagline":"Freedom! Forever!","title":"V for Vendetta","released":2006}} +{"type":"node","id":"115","labels":["Person"],"properties":{"born":1981,"name":"Natalie Portman"}} +{"type":"node","id":"116","labels":["Person"],"properties":{"born":1946,"name":"Stephen Rea"}} +{"type":"node","id":"117","labels":["Person"],"properties":{"born":1940,"name":"John Hurt"}} +{"type":"node","id":"118","labels":["Person"],"properties":{"born":1967,"name":"Ben Miles"}} +{"type":"node","id":"119","labels":["Movie"],"properties":{"tagline":"Speed has no limits","title":"Speed Racer","released":2008}} +{"type":"node","id":"120","labels":["Person"],"properties":{"born":1985,"name":"Emile Hirsch"}} +{"type":"node","id":"121","labels":["Person"],"properties":{"born":1960,"name":"John Goodman"}} +{"type":"node","id":"122","labels":["Person"],"properties":{"born":1946,"name":"Susan Sarandon"}} +{"type":"node","id":"123","labels":["Person"],"properties":{"born":1966,"name":"Matthew Fox"}} +{"type":"node","id":"124","labels":["Person"],"properties":{"born":1980,"name":"Christina Ricci"}} +{"type":"node","id":"125","labels":["Person"],"properties":{"born":1982,"name":"Rain"}} +{"type":"node","id":"126","labels":["Movie"],"properties":{"tagline":"Prepare to enter a secret world of assassins","title":"Ninja Assassin","released":2009}} +{"type":"node","id":"127","labels":["Person"],"properties":{"name":"Naomie Harris"}} +{"type":"node","id":"128","labels":["Movie"],"properties":{"tagline":"Walk a mile you'll never forget.","title":"The Green Mile","released":1999}} +{"type":"node","id":"129","labels":["Person"],"properties":{"born":1957,"name":"Michael Clarke Duncan"}} +{"type":"node","id":"130","labels":["Person"],"properties":{"born":1953,"name":"David Morse"}} +{"type":"node","id":"131","labels":["Person"],"properties":{"born":1968,"name":"Sam Rockwell"}} +{"type":"node","id":"132","labels":["Person"],"properties":{"born":1955,"name":"Gary Sinise"}} +{"type":"node","id":"133","labels":["Person"],"properties":{"born":1959,"name":"Patricia Clarkson"}} +{"type":"node","id":"134","labels":["Person"],"properties":{"born":1959,"name":"Frank Darabont"}} +{"type":"node","id":"135","labels":["Movie"],"properties":{"tagline":"400 million people were waiting for the truth.","title":"Frost/Nixon","released":2008}} +{"type":"node","id":"136","labels":["Person"],"properties":{"born":1938,"name":"Frank Langella"}} +{"type":"node","id":"137","labels":["Person"],"properties":{"born":1969,"name":"Michael Sheen"}} +{"type":"node","id":"138","labels":["Person"],"properties":{"born":1960,"name":"Oliver Platt"}} +{"type":"node","id":"139","labels":["Movie"],"properties":{"tagline":"He didn't want law. He wanted justice.","title":"Hoffa","released":1992}} +{"type":"node","id":"140","labels":["Person"],"properties":{"born":1944,"name":"Danny DeVito"}} +{"type":"node","id":"141","labels":["Person"],"properties":{"born":1965,"name":"John C. Reilly"}} +{"type":"node","id":"142","labels":["Movie"],"properties":{"tagline":"Houston, we have a problem.","title":"Apollo 13","released":1995}} +{"type":"node","id":"143","labels":["Person"],"properties":{"born":1950,"name":"Ed Harris"}} +{"type":"node","id":"144","labels":["Person"],"properties":{"born":1955,"name":"Bill Paxton"}} +{"type":"node","id":"145","labels":["Movie"],"properties":{"tagline":"Don't Breathe. Don't Look Back.","title":"Twister","released":1996}} +{"type":"node","id":"146","labels":["Person"],"properties":{"born":1967,"name":"Philip Seymour Hoffman"}} +{"type":"node","id":"147","labels":["Person"],"properties":{"born":1943,"name":"Jan de Bont"}} +{"type":"node","id":"148","labels":["Movie"],"properties":{"tagline":"At the edge of the world, his journey begins.","title":"Cast Away","released":2000}} +{"type":"node","id":"149","labels":["Person"],"properties":{"born":1951,"name":"Robert Zemeckis"}} +{"type":"node","id":"150","labels":["Movie"],"properties":{"tagline":"If he's crazy, what does that make you?","title":"One Flew Over the Cuckoo's Nest","released":1975}} +{"type":"node","id":"151","labels":["Person"],"properties":{"born":1932,"name":"Milos Forman"}} +{"type":"node","id":"152","labels":["Movie"],"properties":{"title":"Something's Gotta Give","released":2003}} +{"type":"node","id":"153","labels":["Person"],"properties":{"born":1946,"name":"Diane Keaton"}} +{"type":"node","id":"154","labels":["Person"],"properties":{"born":1949,"name":"Nancy Meyers"}} +{"type":"node","id":"155","labels":["Movie"],"properties":{"tagline":"One robot's 200 year journey to become an ordinary man.","title":"Bicentennial Man","released":1999}} +{"type":"node","id":"156","labels":["Person"],"properties":{"born":1958,"name":"Chris Columbus"}} +{"type":"node","id":"157","labels":["Movie"],"properties":{"tagline":"A stiff drink. A little mascara. A lot of nerve. Who said they couldn't bring down the Soviet empire.","title":"Charlie Wilson's War","released":2007}} +{"type":"node","id":"158","labels":["Person"],"properties":{"born":1967,"name":"Julia Roberts"}} +{"type":"node","id":"159","labels":["Movie"],"properties":{"tagline":"This Holiday Season… Believe","title":"The Polar Express","released":2004}} +{"type":"node","id":"160","labels":["Movie"],"properties":{"tagline":"Once in a lifetime you get a chance to do something different.","title":"A League of Their Own","released":1992}} +{"type":"node","id":"161","labels":["Person"],"properties":{"born":1954,"name":"Madonna"}} +{"type":"node","id":"162","labels":["Person"],"properties":{"born":1956,"name":"Geena Davis"}} +{"type":"node","id":"163","labels":["Person"],"properties":{"born":1963,"name":"Lori Petty"}} +{"type":"node","id":"164","labels":["Person"],"properties":{"born":1943,"name":"Penny Marshall"}} +{"type":"node","id":"165","labels":["Person"],"properties":{"name":"Paul Blythe"}} +{"type":"node","id":"166","labels":["Person"],"properties":{"name":"Angela Scope"}} +{"type":"node","id":"167","labels":["Person"],"properties":{"name":"Jessica Thompson"}} +{"type":"node","id":"168","labels":["Person"],"properties":{"name":"James Thompson"}} +{"type":"node","id":"169","labels":["Movie"],"properties":{"tagline":"Act like you own the place","title":"Parasite","released":2019}} +{"type":"node","id":"170","labels":["Person"],"properties":{"name":"Kang-ho Song"}} +{"type":"node","id":"171","labels":["Person"],"properties":{"name":"Sun-kyun Lee"}} +{"type":"node","id":"172","labels":["Person"],"properties":{"name":"Yeo-jeong Jo"}} +{"type":"node","id":"173","labels":["Person"],"properties":{"name":"Woo-sik Choi"}} +{"type":"node","id":"174","labels":["Person"],"properties":{"name":"So-dam Park"}} +{"type":"node","id":"175","labels":["Movie"],"properties":{"tagline":"Put on a happy face","title":"Joker","released":2019}} +{"type":"node","id":"176","labels":["Person"],"properties":{"name":"Joaquin Phoenix"}} +{"type":"node","id":"177","labels":["Person"],"properties":{"name":"Robert De Niro"}} +{"type":"node","id":"178","labels":["Person"],"properties":{"name":"Zazie Beetz"}} +{"id":"0","type":"relationship","label":"ACTED_IN","properties":{"roles":["Neo"]},"start":{"id":"1","labels":["Person"]},"end":{"id":"0","labels":["Movie"]}} +{"id":"1","type":"relationship","label":"ACTED_IN","properties":{"roles":["Trinity"]},"start":{"id":"2","labels":["Person"]},"end":{"id":"0","labels":["Movie"]}} +{"id":"2","type":"relationship","label":"ACTED_IN","properties":{"roles":["Morpheus"]},"start":{"id":"3","labels":["Person"]},"end":{"id":"0","labels":["Movie"]}} +{"id":"3","type":"relationship","label":"ACTED_IN","properties":{"roles":["Agent Smith"]},"start":{"id":"4","labels":["Person"]},"end":{"id":"0","labels":["Movie"]}} +{"id":"4","type":"relationship","label":"DIRECTED","start":{"id":"5","labels":["Person"]},"end":{"id":"0","labels":["Movie"]}} +{"id":"5","type":"relationship","label":"DIRECTED","start":{"id":"6","labels":["Person"]},"end":{"id":"0","labels":["Movie"]}} +{"id":"6","type":"relationship","label":"PRODUCED","start":{"id":"7","labels":["Person"]},"end":{"id":"0","labels":["Movie"]}} +{"id":"7","type":"relationship","label":"ACTED_IN","properties":{"roles":["Emil"]},"start":{"id":"8","labels":["Person"]},"end":{"id":"0","labels":["Movie"]}} +{"id":"8","type":"relationship","label":"ACTED_IN","properties":{"roles":["Neo"]},"start":{"id":"1","labels":["Person"]},"end":{"id":"9","labels":["Movie"]}} +{"id":"9","type":"relationship","label":"ACTED_IN","properties":{"roles":["Trinity"]},"start":{"id":"2","labels":["Person"]},"end":{"id":"9","labels":["Movie"]}} +{"id":"10","type":"relationship","label":"ACTED_IN","properties":{"roles":["Morpheus"]},"start":{"id":"3","labels":["Person"]},"end":{"id":"9","labels":["Movie"]}} +{"id":"11","type":"relationship","label":"ACTED_IN","properties":{"roles":["Agent Smith"]},"start":{"id":"4","labels":["Person"]},"end":{"id":"9","labels":["Movie"]}} +{"id":"12","type":"relationship","label":"DIRECTED","start":{"id":"5","labels":["Person"]},"end":{"id":"9","labels":["Movie"]}} +{"id":"13","type":"relationship","label":"DIRECTED","start":{"id":"6","labels":["Person"]},"end":{"id":"9","labels":["Movie"]}} +{"id":"14","type":"relationship","label":"PRODUCED","start":{"id":"7","labels":["Person"]},"end":{"id":"9","labels":["Movie"]}} +{"id":"15","type":"relationship","label":"ACTED_IN","properties":{"roles":["Neo"]},"start":{"id":"1","labels":["Person"]},"end":{"id":"10","labels":["Movie"]}} +{"id":"16","type":"relationship","label":"ACTED_IN","properties":{"roles":["Trinity"]},"start":{"id":"2","labels":["Person"]},"end":{"id":"10","labels":["Movie"]}} +{"id":"17","type":"relationship","label":"ACTED_IN","properties":{"roles":["Morpheus"]},"start":{"id":"3","labels":["Person"]},"end":{"id":"10","labels":["Movie"]}} +{"id":"18","type":"relationship","label":"ACTED_IN","properties":{"roles":["Agent Smith"]},"start":{"id":"4","labels":["Person"]},"end":{"id":"10","labels":["Movie"]}} +{"id":"19","type":"relationship","label":"DIRECTED","start":{"id":"5","labels":["Person"]},"end":{"id":"10","labels":["Movie"]}} +{"id":"20","type":"relationship","label":"DIRECTED","start":{"id":"6","labels":["Person"]},"end":{"id":"10","labels":["Movie"]}} +{"id":"21","type":"relationship","label":"PRODUCED","start":{"id":"7","labels":["Person"]},"end":{"id":"10","labels":["Movie"]}} +{"id":"22","type":"relationship","label":"ACTED_IN","properties":{"roles":["Kevin Lomax"]},"start":{"id":"1","labels":["Person"]},"end":{"id":"11","labels":["Movie"]}} +{"id":"23","type":"relationship","label":"ACTED_IN","properties":{"roles":["Mary Ann Lomax"]},"start":{"id":"12","labels":["Person"]},"end":{"id":"11","labels":["Movie"]}} +{"id":"24","type":"relationship","label":"ACTED_IN","properties":{"roles":["John Milton"]},"start":{"id":"13","labels":["Person"]},"end":{"id":"11","labels":["Movie"]}} +{"id":"25","type":"relationship","label":"DIRECTED","start":{"id":"14","labels":["Person"]},"end":{"id":"11","labels":["Movie"]}} +{"id":"26","type":"relationship","label":"ACTED_IN","properties":{"roles":["Lt. Daniel Kaffee"]},"start":{"id":"16","labels":["Person"]},"end":{"id":"15","labels":["Movie"]}} +{"id":"27","type":"relationship","label":"ACTED_IN","properties":{"roles":["Col. Nathan R. Jessup"]},"start":{"id":"17","labels":["Person"]},"end":{"id":"15","labels":["Movie"]}} +{"id":"28","type":"relationship","label":"ACTED_IN","properties":{"roles":["Lt. Cdr. JoAnne Galloway"]},"start":{"id":"18","labels":["Person"]},"end":{"id":"15","labels":["Movie"]}} +{"id":"29","type":"relationship","label":"ACTED_IN","properties":{"roles":["Capt. Jack Ross"]},"start":{"id":"19","labels":["Person"]},"end":{"id":"15","labels":["Movie"]}} +{"id":"30","type":"relationship","label":"ACTED_IN","properties":{"roles":["Lt. Jonathan Kendrick"]},"start":{"id":"20","labels":["Person"]},"end":{"id":"15","labels":["Movie"]}} +{"id":"31","type":"relationship","label":"ACTED_IN","properties":{"roles":["Cpl. Jeffrey Barnes"]},"start":{"id":"21","labels":["Person"]},"end":{"id":"15","labels":["Movie"]}} +{"id":"32","type":"relationship","label":"ACTED_IN","properties":{"roles":["Cpl. Carl Hammaker"]},"start":{"id":"22","labels":["Person"]},"end":{"id":"15","labels":["Movie"]}} +{"id":"33","type":"relationship","label":"ACTED_IN","properties":{"roles":["Lt. Sam Weinberg"]},"start":{"id":"23","labels":["Person"]},"end":{"id":"15","labels":["Movie"]}} +{"id":"34","type":"relationship","label":"ACTED_IN","properties":{"roles":["Lt. Col. Matthew Andrew Markinson"]},"start":{"id":"24","labels":["Person"]},"end":{"id":"15","labels":["Movie"]}} +{"id":"35","type":"relationship","label":"ACTED_IN","properties":{"roles":["Pfc. Louden Downey"]},"start":{"id":"25","labels":["Person"]},"end":{"id":"15","labels":["Movie"]}} +{"id":"36","type":"relationship","label":"ACTED_IN","properties":{"roles":["Dr. Stone"]},"start":{"id":"26","labels":["Person"]},"end":{"id":"15","labels":["Movie"]}} +{"id":"37","type":"relationship","label":"ACTED_IN","properties":{"roles":["Man in Bar"]},"start":{"id":"28","labels":["Person"]},"end":{"id":"15","labels":["Movie"]}} +{"id":"38","type":"relationship","label":"DIRECTED","start":{"id":"27","labels":["Person"]},"end":{"id":"15","labels":["Movie"]}} +{"id":"39","type":"relationship","label":"WROTE","start":{"id":"28","labels":["Person"]},"end":{"id":"15","labels":["Movie"]}} +{"id":"40","type":"relationship","label":"ACTED_IN","properties":{"roles":["Maverick"]},"start":{"id":"16","labels":["Person"]},"end":{"id":"29","labels":["Movie"]}} +{"id":"41","type":"relationship","label":"ACTED_IN","properties":{"roles":["Charlie"]},"start":{"id":"30","labels":["Person"]},"end":{"id":"29","labels":["Movie"]}} +{"id":"42","type":"relationship","label":"ACTED_IN","properties":{"roles":["Iceman"]},"start":{"id":"31","labels":["Person"]},"end":{"id":"29","labels":["Movie"]}} +{"id":"43","type":"relationship","label":"ACTED_IN","properties":{"roles":["Goose"]},"start":{"id":"32","labels":["Person"]},"end":{"id":"29","labels":["Movie"]}} +{"id":"44","type":"relationship","label":"ACTED_IN","properties":{"roles":["Viper"]},"start":{"id":"33","labels":["Person"]},"end":{"id":"29","labels":["Movie"]}} +{"id":"45","type":"relationship","label":"ACTED_IN","properties":{"roles":["Carole"]},"start":{"id":"34","labels":["Person"]},"end":{"id":"29","labels":["Movie"]}} +{"id":"46","type":"relationship","label":"DIRECTED","start":{"id":"35","labels":["Person"]},"end":{"id":"29","labels":["Movie"]}} +{"id":"47","type":"relationship","label":"WROTE","start":{"id":"36","labels":["Person"]},"end":{"id":"29","labels":["Movie"]}} +{"id":"48","type":"relationship","label":"ACTED_IN","properties":{"roles":["Jerry Maguire"]},"start":{"id":"16","labels":["Person"]},"end":{"id":"37","labels":["Movie"]}} +{"id":"49","type":"relationship","label":"ACTED_IN","properties":{"roles":["Rod Tidwell"]},"start":{"id":"22","labels":["Person"]},"end":{"id":"37","labels":["Movie"]}} +{"id":"50","type":"relationship","label":"ACTED_IN","properties":{"roles":["Dorothy Boyd"]},"start":{"id":"38","labels":["Person"]},"end":{"id":"37","labels":["Movie"]}} +{"id":"51","type":"relationship","label":"ACTED_IN","properties":{"roles":["Avery Bishop"]},"start":{"id":"39","labels":["Person"]},"end":{"id":"37","labels":["Movie"]}} +{"id":"52","type":"relationship","label":"ACTED_IN","properties":{"roles":["Frank Cushman"]},"start":{"id":"40","labels":["Person"]},"end":{"id":"37","labels":["Movie"]}} +{"id":"53","type":"relationship","label":"ACTED_IN","properties":{"roles":["Bob Sugar"]},"start":{"id":"41","labels":["Person"]},"end":{"id":"37","labels":["Movie"]}} +{"id":"54","type":"relationship","label":"ACTED_IN","properties":{"roles":["Laurel Boyd"]},"start":{"id":"42","labels":["Person"]},"end":{"id":"37","labels":["Movie"]}} +{"id":"55","type":"relationship","label":"ACTED_IN","properties":{"roles":["Marcee Tidwell"]},"start":{"id":"43","labels":["Person"]},"end":{"id":"37","labels":["Movie"]}} +{"id":"56","type":"relationship","label":"ACTED_IN","properties":{"roles":["Ray Boyd"]},"start":{"id":"44","labels":["Person"]},"end":{"id":"37","labels":["Movie"]}} +{"id":"57","type":"relationship","label":"DIRECTED","start":{"id":"45","labels":["Person"]},"end":{"id":"37","labels":["Movie"]}} +{"id":"58","type":"relationship","label":"PRODUCED","start":{"id":"45","labels":["Person"]},"end":{"id":"37","labels":["Movie"]}} +{"id":"59","type":"relationship","label":"WROTE","start":{"id":"45","labels":["Person"]},"end":{"id":"37","labels":["Movie"]}} +{"id":"60","type":"relationship","label":"ACTED_IN","properties":{"roles":["Gordie Lachance"]},"start":{"id":"49","labels":["Person"]},"end":{"id":"46","labels":["Movie"]}} +{"id":"61","type":"relationship","label":"ACTED_IN","properties":{"roles":["Chris Chambers"]},"start":{"id":"47","labels":["Person"]},"end":{"id":"46","labels":["Movie"]}} +{"id":"62","type":"relationship","label":"ACTED_IN","properties":{"roles":["Vern Tessio"]},"start":{"id":"40","labels":["Person"]},"end":{"id":"46","labels":["Movie"]}} +{"id":"63","type":"relationship","label":"ACTED_IN","properties":{"roles":["Teddy Duchamp"]},"start":{"id":"48","labels":["Person"]},"end":{"id":"46","labels":["Movie"]}} +{"id":"64","type":"relationship","label":"ACTED_IN","properties":{"roles":["Denny Lachance"]},"start":{"id":"50","labels":["Person"]},"end":{"id":"46","labels":["Movie"]}} +{"id":"65","type":"relationship","label":"ACTED_IN","properties":{"roles":["Ace Merrill"]},"start":{"id":"20","labels":["Person"]},"end":{"id":"46","labels":["Movie"]}} +{"id":"66","type":"relationship","label":"ACTED_IN","properties":{"roles":["Mr. Lachance"]},"start":{"id":"51","labels":["Person"]},"end":{"id":"46","labels":["Movie"]}} +{"id":"67","type":"relationship","label":"DIRECTED","start":{"id":"27","labels":["Person"]},"end":{"id":"46","labels":["Movie"]}} +{"id":"68","type":"relationship","label":"ACTED_IN","properties":{"roles":["Melvin Udall"]},"start":{"id":"17","labels":["Person"]},"end":{"id":"52","labels":["Movie"]}} +{"id":"69","type":"relationship","label":"ACTED_IN","properties":{"roles":["Carol Connelly"]},"start":{"id":"53","labels":["Person"]},"end":{"id":"52","labels":["Movie"]}} +{"id":"70","type":"relationship","label":"ACTED_IN","properties":{"roles":["Simon Bishop"]},"start":{"id":"54","labels":["Person"]},"end":{"id":"52","labels":["Movie"]}} +{"id":"71","type":"relationship","label":"ACTED_IN","properties":{"roles":["Frank Sachs"]},"start":{"id":"22","labels":["Person"]},"end":{"id":"52","labels":["Movie"]}} +{"id":"72","type":"relationship","label":"DIRECTED","start":{"id":"55","labels":["Person"]},"end":{"id":"52","labels":["Movie"]}} +{"id":"73","type":"relationship","label":"ACTED_IN","properties":{"roles":["Chris Nielsen"]},"start":{"id":"60","labels":["Person"]},"end":{"id":"56","labels":["Movie"]}} +{"id":"74","type":"relationship","label":"ACTED_IN","properties":{"roles":["Albert Lewis"]},"start":{"id":"22","labels":["Person"]},"end":{"id":"56","labels":["Movie"]}} +{"id":"75","type":"relationship","label":"ACTED_IN","properties":{"roles":["Annie Collins-Nielsen"]},"start":{"id":"57","labels":["Person"]},"end":{"id":"56","labels":["Movie"]}} +{"id":"76","type":"relationship","label":"ACTED_IN","properties":{"roles":["The Tracker"]},"start":{"id":"58","labels":["Person"]},"end":{"id":"56","labels":["Movie"]}} +{"id":"77","type":"relationship","label":"ACTED_IN","properties":{"roles":["The Face"]},"start":{"id":"59","labels":["Person"]},"end":{"id":"56","labels":["Movie"]}} +{"id":"78","type":"relationship","label":"DIRECTED","start":{"id":"61","labels":["Person"]},"end":{"id":"56","labels":["Movie"]}} +{"id":"79","type":"relationship","label":"ACTED_IN","properties":{"roles":["Ishmael Chambers"]},"start":{"id":"63","labels":["Person"]},"end":{"id":"62","labels":["Movie"]}} +{"id":"80","type":"relationship","label":"ACTED_IN","properties":{"roles":["Kazuo Miyamoto"]},"start":{"id":"64","labels":["Person"]},"end":{"id":"62","labels":["Movie"]}} +{"id":"81","type":"relationship","label":"ACTED_IN","properties":{"roles":["Nels Gudmundsson"]},"start":{"id":"58","labels":["Person"]},"end":{"id":"62","labels":["Movie"]}} +{"id":"82","type":"relationship","label":"ACTED_IN","properties":{"roles":["Judge Fielding"]},"start":{"id":"65","labels":["Person"]},"end":{"id":"62","labels":["Movie"]}} +{"id":"83","type":"relationship","label":"DIRECTED","start":{"id":"66","labels":["Person"]},"end":{"id":"62","labels":["Movie"]}} +{"id":"84","type":"relationship","label":"ACTED_IN","properties":{"roles":["Joe Fox"]},"start":{"id":"71","labels":["Person"]},"end":{"id":"67","labels":["Movie"]}} +{"id":"85","type":"relationship","label":"ACTED_IN","properties":{"roles":["Kathleen Kelly"]},"start":{"id":"34","labels":["Person"]},"end":{"id":"67","labels":["Movie"]}} +{"id":"86","type":"relationship","label":"ACTED_IN","properties":{"roles":["Frank Navasky"]},"start":{"id":"54","labels":["Person"]},"end":{"id":"67","labels":["Movie"]}} +{"id":"87","type":"relationship","label":"ACTED_IN","properties":{"roles":["Patricia Eden"]},"start":{"id":"68","labels":["Person"]},"end":{"id":"67","labels":["Movie"]}} +{"id":"88","type":"relationship","label":"ACTED_IN","properties":{"roles":["Kevin Jackson"]},"start":{"id":"69","labels":["Person"]},"end":{"id":"67","labels":["Movie"]}} +{"id":"89","type":"relationship","label":"ACTED_IN","properties":{"roles":["George Pappas"]},"start":{"id":"70","labels":["Person"]},"end":{"id":"67","labels":["Movie"]}} +{"id":"90","type":"relationship","label":"DIRECTED","start":{"id":"72","labels":["Person"]},"end":{"id":"67","labels":["Movie"]}} +{"id":"91","type":"relationship","label":"ACTED_IN","properties":{"roles":["Sam Baldwin"]},"start":{"id":"71","labels":["Person"]},"end":{"id":"73","labels":["Movie"]}} +{"id":"92","type":"relationship","label":"ACTED_IN","properties":{"roles":["Annie Reed"]},"start":{"id":"34","labels":["Person"]},"end":{"id":"73","labels":["Movie"]}} +{"id":"93","type":"relationship","label":"ACTED_IN","properties":{"roles":["Suzy"]},"start":{"id":"74","labels":["Person"]},"end":{"id":"73","labels":["Movie"]}} +{"id":"94","type":"relationship","label":"ACTED_IN","properties":{"roles":["Walter"]},"start":{"id":"75","labels":["Person"]},"end":{"id":"73","labels":["Movie"]}} +{"id":"95","type":"relationship","label":"ACTED_IN","properties":{"roles":["Greg"]},"start":{"id":"76","labels":["Person"]},"end":{"id":"73","labels":["Movie"]}} +{"id":"96","type":"relationship","label":"ACTED_IN","properties":{"roles":["Becky"]},"start":{"id":"77","labels":["Person"]},"end":{"id":"73","labels":["Movie"]}} +{"id":"97","type":"relationship","label":"DIRECTED","start":{"id":"72","labels":["Person"]},"end":{"id":"73","labels":["Movie"]}} +{"id":"98","type":"relationship","label":"ACTED_IN","properties":{"roles":["Joe Banks"]},"start":{"id":"71","labels":["Person"]},"end":{"id":"78","labels":["Movie"]}} +{"id":"99","type":"relationship","label":"ACTED_IN","properties":{"roles":["DeDe","Angelica Graynamore","Patricia Graynamore"]},"start":{"id":"34","labels":["Person"]},"end":{"id":"78","labels":["Movie"]}} +{"id":"100","type":"relationship","label":"ACTED_IN","properties":{"roles":["Baw"]},"start":{"id":"80","labels":["Person"]},"end":{"id":"78","labels":["Movie"]}} +{"id":"101","type":"relationship","label":"DIRECTED","start":{"id":"79","labels":["Person"]},"end":{"id":"78","labels":["Movie"]}} +{"id":"102","type":"relationship","label":"ACTED_IN","properties":{"roles":["Harry Burns"]},"start":{"id":"82","labels":["Person"]},"end":{"id":"81","labels":["Movie"]}} +{"id":"103","type":"relationship","label":"ACTED_IN","properties":{"roles":["Sally Albright"]},"start":{"id":"34","labels":["Person"]},"end":{"id":"81","labels":["Movie"]}} +{"id":"104","type":"relationship","label":"ACTED_IN","properties":{"roles":["Marie"]},"start":{"id":"83","labels":["Person"]},"end":{"id":"81","labels":["Movie"]}} +{"id":"105","type":"relationship","label":"ACTED_IN","properties":{"roles":["Jess"]},"start":{"id":"84","labels":["Person"]},"end":{"id":"81","labels":["Movie"]}} +{"id":"106","type":"relationship","label":"DIRECTED","start":{"id":"27","labels":["Person"]},"end":{"id":"81","labels":["Movie"]}} +{"id":"107","type":"relationship","label":"PRODUCED","start":{"id":"27","labels":["Person"]},"end":{"id":"81","labels":["Movie"]}} +{"id":"108","type":"relationship","label":"PRODUCED","start":{"id":"72","labels":["Person"]},"end":{"id":"81","labels":["Movie"]}} +{"id":"109","type":"relationship","label":"WROTE","start":{"id":"72","labels":["Person"]},"end":{"id":"81","labels":["Movie"]}} +{"id":"110","type":"relationship","label":"ACTED_IN","properties":{"roles":["Mr. White"]},"start":{"id":"71","labels":["Person"]},"end":{"id":"85","labels":["Movie"]}} +{"id":"111","type":"relationship","label":"ACTED_IN","properties":{"roles":["Faye Dolan"]},"start":{"id":"86","labels":["Person"]},"end":{"id":"85","labels":["Movie"]}} +{"id":"112","type":"relationship","label":"ACTED_IN","properties":{"roles":["Tina"]},"start":{"id":"12","labels":["Person"]},"end":{"id":"85","labels":["Movie"]}} +{"id":"113","type":"relationship","label":"DIRECTED","start":{"id":"71","labels":["Person"]},"end":{"id":"85","labels":["Movie"]}} +{"id":"114","type":"relationship","label":"ACTED_IN","properties":{"roles":["Shane Falco"]},"start":{"id":"1","labels":["Person"]},"end":{"id":"87","labels":["Movie"]}} +{"id":"115","type":"relationship","label":"ACTED_IN","properties":{"roles":["Annabelle Farrell"]},"start":{"id":"88","labels":["Person"]},"end":{"id":"87","labels":["Movie"]}} +{"id":"116","type":"relationship","label":"ACTED_IN","properties":{"roles":["Jimmy McGinty"]},"start":{"id":"89","labels":["Person"]},"end":{"id":"87","labels":["Movie"]}} +{"id":"117","type":"relationship","label":"ACTED_IN","properties":{"roles":["Clifford Franklin"]},"start":{"id":"90","labels":["Person"]},"end":{"id":"87","labels":["Movie"]}} +{"id":"118","type":"relationship","label":"DIRECTED","start":{"id":"91","labels":["Person"]},"end":{"id":"87","labels":["Movie"]}} +{"id":"119","type":"relationship","label":"ACTED_IN","properties":{"roles":["Admiral"]},"start":{"id":"51","labels":["Person"]},"end":{"id":"92","labels":["Movie"]}} +{"id":"120","type":"relationship","label":"ACTED_IN","properties":{"roles":["Dieter Dengler"]},"start":{"id":"93","labels":["Person"]},"end":{"id":"92","labels":["Movie"]}} +{"id":"121","type":"relationship","label":"ACTED_IN","properties":{"roles":["Squad Leader"]},"start":{"id":"94","labels":["Person"]},"end":{"id":"92","labels":["Movie"]}} +{"id":"122","type":"relationship","label":"ACTED_IN","properties":{"roles":["Duane"]},"start":{"id":"70","labels":["Person"]},"end":{"id":"92","labels":["Movie"]}} +{"id":"123","type":"relationship","label":"DIRECTED","start":{"id":"59","labels":["Person"]},"end":{"id":"92","labels":["Movie"]}} +{"id":"124","type":"relationship","label":"ACTED_IN","properties":{"roles":["Armand Goldman"]},"start":{"id":"60","labels":["Person"]},"end":{"id":"95","labels":["Movie"]}} +{"id":"125","type":"relationship","label":"ACTED_IN","properties":{"roles":["Albert Goldman"]},"start":{"id":"80","labels":["Person"]},"end":{"id":"95","labels":["Movie"]}} +{"id":"126","type":"relationship","label":"ACTED_IN","properties":{"roles":["Sen. Kevin Keeley"]},"start":{"id":"89","labels":["Person"]},"end":{"id":"95","labels":["Movie"]}} +{"id":"127","type":"relationship","label":"DIRECTED","start":{"id":"96","labels":["Person"]},"end":{"id":"95","labels":["Movie"]}} +{"id":"128","type":"relationship","label":"ACTED_IN","properties":{"roles":["English Bob"]},"start":{"id":"98","labels":["Person"]},"end":{"id":"97","labels":["Movie"]}} +{"id":"129","type":"relationship","label":"ACTED_IN","properties":{"roles":["Bill Munny"]},"start":{"id":"99","labels":["Person"]},"end":{"id":"97","labels":["Movie"]}} +{"id":"130","type":"relationship","label":"ACTED_IN","properties":{"roles":["Little Bill Daggett"]},"start":{"id":"89","labels":["Person"]},"end":{"id":"97","labels":["Movie"]}} +{"id":"131","type":"relationship","label":"DIRECTED","start":{"id":"99","labels":["Person"]},"end":{"id":"97","labels":["Movie"]}} +{"id":"132","type":"relationship","label":"ACTED_IN","properties":{"roles":["Johnny Mnemonic"]},"start":{"id":"1","labels":["Person"]},"end":{"id":"100","labels":["Movie"]}} +{"id":"133","type":"relationship","label":"ACTED_IN","properties":{"roles":["Takahashi"]},"start":{"id":"101","labels":["Person"]},"end":{"id":"100","labels":["Movie"]}} +{"id":"134","type":"relationship","label":"ACTED_IN","properties":{"roles":["Jane"]},"start":{"id":"102","labels":["Person"]},"end":{"id":"100","labels":["Movie"]}} +{"id":"135","type":"relationship","label":"ACTED_IN","properties":{"roles":["J-Bone"]},"start":{"id":"103","labels":["Person"]},"end":{"id":"100","labels":["Movie"]}} +{"id":"136","type":"relationship","label":"DIRECTED","start":{"id":"104","labels":["Person"]},"end":{"id":"100","labels":["Movie"]}} +{"id":"137","type":"relationship","label":"ACTED_IN","properties":{"roles":["Zachry","Dr. Henry Goose","Isaac Sachs","Dermot Hoggins"]},"start":{"id":"71","labels":["Person"]},"end":{"id":"105","labels":["Movie"]}} +{"id":"138","type":"relationship","label":"ACTED_IN","properties":{"roles":["Bill Smoke","Haskell Moore","Tadeusz Kesselring","Nurse Noakes","Boardman Mephi","Old Georgie"]},"start":{"id":"4","labels":["Person"]},"end":{"id":"105","labels":["Movie"]}} +{"id":"139","type":"relationship","label":"ACTED_IN","properties":{"roles":["Luisa Rey","Jocasta Ayrs","Ovid","Meronym"]},"start":{"id":"106","labels":["Person"]},"end":{"id":"105","labels":["Movie"]}} +{"id":"140","type":"relationship","label":"ACTED_IN","properties":{"roles":["Vyvyan Ayrs","Captain Molyneux","Timothy Cavendish"]},"start":{"id":"107","labels":["Person"]},"end":{"id":"105","labels":["Movie"]}} +{"id":"141","type":"relationship","label":"DIRECTED","start":{"id":"108","labels":["Person"]},"end":{"id":"105","labels":["Movie"]}} +{"id":"142","type":"relationship","label":"DIRECTED","start":{"id":"5","labels":["Person"]},"end":{"id":"105","labels":["Movie"]}} +{"id":"143","type":"relationship","label":"DIRECTED","start":{"id":"6","labels":["Person"]},"end":{"id":"105","labels":["Movie"]}} +{"id":"144","type":"relationship","label":"ACTED_IN","properties":{"roles":["Dr. Robert Langdon"]},"start":{"id":"71","labels":["Person"]},"end":{"id":"109","labels":["Movie"]}} +{"id":"145","type":"relationship","label":"ACTED_IN","properties":{"roles":["Sir Leight Teabing"]},"start":{"id":"110","labels":["Person"]},"end":{"id":"109","labels":["Movie"]}} +{"id":"146","type":"relationship","label":"ACTED_IN","properties":{"roles":["Sophie Neveu"]},"start":{"id":"111","labels":["Person"]},"end":{"id":"109","labels":["Movie"]}} +{"id":"147","type":"relationship","label":"ACTED_IN","properties":{"roles":["Silas"]},"start":{"id":"112","labels":["Person"]},"end":{"id":"109","labels":["Movie"]}} +{"id":"148","type":"relationship","label":"DIRECTED","start":{"id":"113","labels":["Person"]},"end":{"id":"109","labels":["Movie"]}} +{"id":"149","type":"relationship","label":"ACTED_IN","properties":{"roles":["V"]},"start":{"id":"4","labels":["Person"]},"end":{"id":"114","labels":["Movie"]}} +{"id":"150","type":"relationship","label":"ACTED_IN","properties":{"roles":["Evey Hammond"]},"start":{"id":"115","labels":["Person"]},"end":{"id":"114","labels":["Movie"]}} +{"id":"151","type":"relationship","label":"ACTED_IN","properties":{"roles":["Eric Finch"]},"start":{"id":"116","labels":["Person"]},"end":{"id":"114","labels":["Movie"]}} +{"id":"152","type":"relationship","label":"ACTED_IN","properties":{"roles":["High Chancellor Adam Sutler"]},"start":{"id":"117","labels":["Person"]},"end":{"id":"114","labels":["Movie"]}} +{"id":"153","type":"relationship","label":"ACTED_IN","properties":{"roles":["Dascomb"]},"start":{"id":"118","labels":["Person"]},"end":{"id":"114","labels":["Movie"]}} +{"id":"154","type":"relationship","label":"DIRECTED","start":{"id":"25","labels":["Person"]},"end":{"id":"114","labels":["Movie"]}} +{"id":"155","type":"relationship","label":"PRODUCED","start":{"id":"5","labels":["Person"]},"end":{"id":"114","labels":["Movie"]}} +{"id":"156","type":"relationship","label":"PRODUCED","start":{"id":"6","labels":["Person"]},"end":{"id":"114","labels":["Movie"]}} +{"id":"157","type":"relationship","label":"PRODUCED","start":{"id":"7","labels":["Person"]},"end":{"id":"114","labels":["Movie"]}} +{"id":"158","type":"relationship","label":"WROTE","start":{"id":"5","labels":["Person"]},"end":{"id":"114","labels":["Movie"]}} +{"id":"159","type":"relationship","label":"WROTE","start":{"id":"6","labels":["Person"]},"end":{"id":"114","labels":["Movie"]}} +{"id":"160","type":"relationship","label":"ACTED_IN","properties":{"roles":["Speed Racer"]},"start":{"id":"120","labels":["Person"]},"end":{"id":"119","labels":["Movie"]}} +{"id":"161","type":"relationship","label":"ACTED_IN","properties":{"roles":["Pops"]},"start":{"id":"121","labels":["Person"]},"end":{"id":"119","labels":["Movie"]}} +{"id":"162","type":"relationship","label":"ACTED_IN","properties":{"roles":["Mom"]},"start":{"id":"122","labels":["Person"]},"end":{"id":"119","labels":["Movie"]}} +{"id":"163","type":"relationship","label":"ACTED_IN","properties":{"roles":["Racer X"]},"start":{"id":"123","labels":["Person"]},"end":{"id":"119","labels":["Movie"]}} +{"id":"164","type":"relationship","label":"ACTED_IN","properties":{"roles":["Trixie"]},"start":{"id":"124","labels":["Person"]},"end":{"id":"119","labels":["Movie"]}} +{"id":"165","type":"relationship","label":"ACTED_IN","properties":{"roles":["Taejo Togokahn"]},"start":{"id":"125","labels":["Person"]},"end":{"id":"119","labels":["Movie"]}} +{"id":"166","type":"relationship","label":"ACTED_IN","properties":{"roles":["Cass Jones"]},"start":{"id":"118","labels":["Person"]},"end":{"id":"119","labels":["Movie"]}} +{"id":"167","type":"relationship","label":"DIRECTED","start":{"id":"5","labels":["Person"]},"end":{"id":"119","labels":["Movie"]}} +{"id":"168","type":"relationship","label":"DIRECTED","start":{"id":"6","labels":["Person"]},"end":{"id":"119","labels":["Movie"]}} +{"id":"169","type":"relationship","label":"WROTE","start":{"id":"5","labels":["Person"]},"end":{"id":"119","labels":["Movie"]}} +{"id":"170","type":"relationship","label":"WROTE","start":{"id":"6","labels":["Person"]},"end":{"id":"119","labels":["Movie"]}} +{"id":"171","type":"relationship","label":"PRODUCED","start":{"id":"7","labels":["Person"]},"end":{"id":"119","labels":["Movie"]}} +{"id":"172","type":"relationship","label":"ACTED_IN","properties":{"roles":["Raizo"]},"start":{"id":"125","labels":["Person"]},"end":{"id":"126","labels":["Movie"]}} +{"id":"173","type":"relationship","label":"ACTED_IN","properties":{"roles":["Mika Coretti"]},"start":{"id":"127","labels":["Person"]},"end":{"id":"126","labels":["Movie"]}} +{"id":"174","type":"relationship","label":"ACTED_IN","properties":{"roles":["Takeshi"]},"start":{"id":"64","labels":["Person"]},"end":{"id":"126","labels":["Movie"]}} +{"id":"175","type":"relationship","label":"ACTED_IN","properties":{"roles":["Ryan Maslow"]},"start":{"id":"118","labels":["Person"]},"end":{"id":"126","labels":["Movie"]}} +{"id":"176","type":"relationship","label":"DIRECTED","start":{"id":"25","labels":["Person"]},"end":{"id":"126","labels":["Movie"]}} +{"id":"177","type":"relationship","label":"PRODUCED","start":{"id":"5","labels":["Person"]},"end":{"id":"126","labels":["Movie"]}} +{"id":"178","type":"relationship","label":"PRODUCED","start":{"id":"6","labels":["Person"]},"end":{"id":"126","labels":["Movie"]}} +{"id":"179","type":"relationship","label":"PRODUCED","start":{"id":"7","labels":["Person"]},"end":{"id":"126","labels":["Movie"]}} +{"id":"180","type":"relationship","label":"ACTED_IN","properties":{"roles":["Paul Edgecomb"]},"start":{"id":"71","labels":["Person"]},"end":{"id":"128","labels":["Movie"]}} +{"id":"181","type":"relationship","label":"ACTED_IN","properties":{"roles":["John Coffey"]},"start":{"id":"129","labels":["Person"]},"end":{"id":"128","labels":["Movie"]}} +{"id":"182","type":"relationship","label":"ACTED_IN","properties":{"roles":["Brutus \"Brutal\" Howell"]},"start":{"id":"130","labels":["Person"]},"end":{"id":"128","labels":["Movie"]}} +{"id":"183","type":"relationship","label":"ACTED_IN","properties":{"roles":["Jan Edgecomb"]},"start":{"id":"42","labels":["Person"]},"end":{"id":"128","labels":["Movie"]}} +{"id":"184","type":"relationship","label":"ACTED_IN","properties":{"roles":["Warden Hal Moores"]},"start":{"id":"65","labels":["Person"]},"end":{"id":"128","labels":["Movie"]}} +{"id":"185","type":"relationship","label":"ACTED_IN","properties":{"roles":["\"Wild Bill\" Wharton"]},"start":{"id":"131","labels":["Person"]},"end":{"id":"128","labels":["Movie"]}} +{"id":"186","type":"relationship","label":"ACTED_IN","properties":{"roles":["Burt Hammersmith"]},"start":{"id":"132","labels":["Person"]},"end":{"id":"128","labels":["Movie"]}} +{"id":"187","type":"relationship","label":"ACTED_IN","properties":{"roles":["Melinda Moores"]},"start":{"id":"133","labels":["Person"]},"end":{"id":"128","labels":["Movie"]}} +{"id":"188","type":"relationship","label":"DIRECTED","start":{"id":"134","labels":["Person"]},"end":{"id":"128","labels":["Movie"]}} +{"id":"189","type":"relationship","label":"ACTED_IN","properties":{"roles":["Richard Nixon"]},"start":{"id":"136","labels":["Person"]},"end":{"id":"135","labels":["Movie"]}} +{"id":"190","type":"relationship","label":"ACTED_IN","properties":{"roles":["David Frost"]},"start":{"id":"137","labels":["Person"]},"end":{"id":"135","labels":["Movie"]}} +{"id":"191","type":"relationship","label":"ACTED_IN","properties":{"roles":["Jack Brennan"]},"start":{"id":"19","labels":["Person"]},"end":{"id":"135","labels":["Movie"]}} +{"id":"192","type":"relationship","label":"ACTED_IN","properties":{"roles":["Bob Zelnick"]},"start":{"id":"138","labels":["Person"]},"end":{"id":"135","labels":["Movie"]}} +{"id":"193","type":"relationship","label":"ACTED_IN","properties":{"roles":["James Reston, Jr."]},"start":{"id":"131","labels":["Person"]},"end":{"id":"135","labels":["Movie"]}} +{"id":"194","type":"relationship","label":"DIRECTED","start":{"id":"113","labels":["Person"]},"end":{"id":"135","labels":["Movie"]}} +{"id":"195","type":"relationship","label":"ACTED_IN","properties":{"roles":["Hoffa"]},"start":{"id":"17","labels":["Person"]},"end":{"id":"139","labels":["Movie"]}} +{"id":"196","type":"relationship","label":"ACTED_IN","properties":{"roles":["Robert \"Bobby\" Ciaro"]},"start":{"id":"140","labels":["Person"]},"end":{"id":"139","labels":["Movie"]}} +{"id":"197","type":"relationship","label":"ACTED_IN","properties":{"roles":["Frank Fitzsimmons"]},"start":{"id":"24","labels":["Person"]},"end":{"id":"139","labels":["Movie"]}} +{"id":"198","type":"relationship","label":"ACTED_IN","properties":{"roles":["Peter \"Pete\" Connelly"]},"start":{"id":"141","labels":["Person"]},"end":{"id":"139","labels":["Movie"]}} +{"id":"199","type":"relationship","label":"DIRECTED","start":{"id":"140","labels":["Person"]},"end":{"id":"139","labels":["Movie"]}} +{"id":"200","type":"relationship","label":"ACTED_IN","properties":{"roles":["Jim Lovell"]},"start":{"id":"71","labels":["Person"]},"end":{"id":"142","labels":["Movie"]}} +{"id":"201","type":"relationship","label":"ACTED_IN","properties":{"roles":["Jack Swigert"]},"start":{"id":"19","labels":["Person"]},"end":{"id":"142","labels":["Movie"]}} +{"id":"202","type":"relationship","label":"ACTED_IN","properties":{"roles":["Gene Kranz"]},"start":{"id":"143","labels":["Person"]},"end":{"id":"142","labels":["Movie"]}} +{"id":"203","type":"relationship","label":"ACTED_IN","properties":{"roles":["Fred Haise"]},"start":{"id":"144","labels":["Person"]},"end":{"id":"142","labels":["Movie"]}} +{"id":"204","type":"relationship","label":"ACTED_IN","properties":{"roles":["Ken Mattingly"]},"start":{"id":"132","labels":["Person"]},"end":{"id":"142","labels":["Movie"]}} +{"id":"205","type":"relationship","label":"DIRECTED","start":{"id":"113","labels":["Person"]},"end":{"id":"142","labels":["Movie"]}} +{"id":"206","type":"relationship","label":"ACTED_IN","properties":{"roles":["Bill Harding"]},"start":{"id":"144","labels":["Person"]},"end":{"id":"145","labels":["Movie"]}} +{"id":"207","type":"relationship","label":"ACTED_IN","properties":{"roles":["Dr. Jo Harding"]},"start":{"id":"53","labels":["Person"]},"end":{"id":"145","labels":["Movie"]}} +{"id":"208","type":"relationship","label":"ACTED_IN","properties":{"roles":["Eddie"]},"start":{"id":"94","labels":["Person"]},"end":{"id":"145","labels":["Movie"]}} +{"id":"209","type":"relationship","label":"ACTED_IN","properties":{"roles":["Dustin \"Dusty\" Davis"]},"start":{"id":"146","labels":["Person"]},"end":{"id":"145","labels":["Movie"]}} +{"id":"210","type":"relationship","label":"DIRECTED","start":{"id":"147","labels":["Person"]},"end":{"id":"145","labels":["Movie"]}} +{"id":"211","type":"relationship","label":"ACTED_IN","properties":{"roles":["Chuck Noland"]},"start":{"id":"71","labels":["Person"]},"end":{"id":"148","labels":["Movie"]}} +{"id":"212","type":"relationship","label":"ACTED_IN","properties":{"roles":["Kelly Frears"]},"start":{"id":"53","labels":["Person"]},"end":{"id":"148","labels":["Movie"]}} +{"id":"213","type":"relationship","label":"DIRECTED","start":{"id":"149","labels":["Person"]},"end":{"id":"148","labels":["Movie"]}} +{"id":"214","type":"relationship","label":"ACTED_IN","properties":{"roles":["Randle McMurphy"]},"start":{"id":"17","labels":["Person"]},"end":{"id":"150","labels":["Movie"]}} +{"id":"215","type":"relationship","label":"ACTED_IN","properties":{"roles":["Martini"]},"start":{"id":"140","labels":["Person"]},"end":{"id":"150","labels":["Movie"]}} +{"id":"216","type":"relationship","label":"DIRECTED","start":{"id":"151","labels":["Person"]},"end":{"id":"150","labels":["Movie"]}} +{"id":"217","type":"relationship","label":"ACTED_IN","properties":{"roles":["Harry Sanborn"]},"start":{"id":"17","labels":["Person"]},"end":{"id":"152","labels":["Movie"]}} +{"id":"218","type":"relationship","label":"ACTED_IN","properties":{"roles":["Erica Barry"]},"start":{"id":"153","labels":["Person"]},"end":{"id":"152","labels":["Movie"]}} +{"id":"219","type":"relationship","label":"ACTED_IN","properties":{"roles":["Julian Mercer"]},"start":{"id":"1","labels":["Person"]},"end":{"id":"152","labels":["Movie"]}} +{"id":"220","type":"relationship","label":"DIRECTED","start":{"id":"154","labels":["Person"]},"end":{"id":"152","labels":["Movie"]}} +{"id":"221","type":"relationship","label":"PRODUCED","start":{"id":"154","labels":["Person"]},"end":{"id":"152","labels":["Movie"]}} +{"id":"222","type":"relationship","label":"WROTE","start":{"id":"154","labels":["Person"]},"end":{"id":"152","labels":["Movie"]}} +{"id":"223","type":"relationship","label":"ACTED_IN","properties":{"roles":["Andrew Marin"]},"start":{"id":"60","labels":["Person"]},"end":{"id":"155","labels":["Movie"]}} +{"id":"224","type":"relationship","label":"ACTED_IN","properties":{"roles":["Rupert Burns"]},"start":{"id":"138","labels":["Person"]},"end":{"id":"155","labels":["Movie"]}} +{"id":"225","type":"relationship","label":"DIRECTED","start":{"id":"156","labels":["Person"]},"end":{"id":"155","labels":["Movie"]}} +{"id":"226","type":"relationship","label":"ACTED_IN","properties":{"roles":["Rep. Charlie Wilson"]},"start":{"id":"71","labels":["Person"]},"end":{"id":"157","labels":["Movie"]}} +{"id":"227","type":"relationship","label":"ACTED_IN","properties":{"roles":["Joanne Herring"]},"start":{"id":"158","labels":["Person"]},"end":{"id":"157","labels":["Movie"]}} +{"id":"228","type":"relationship","label":"ACTED_IN","properties":{"roles":["Gust Avrakotos"]},"start":{"id":"146","labels":["Person"]},"end":{"id":"157","labels":["Movie"]}} +{"id":"229","type":"relationship","label":"DIRECTED","start":{"id":"96","labels":["Person"]},"end":{"id":"157","labels":["Movie"]}} +{"id":"230","type":"relationship","label":"ACTED_IN","properties":{"roles":["Hero Boy","Father","Conductor","Hobo","Scrooge","Santa Claus"]},"start":{"id":"71","labels":["Person"]},"end":{"id":"159","labels":["Movie"]}} +{"id":"231","type":"relationship","label":"DIRECTED","start":{"id":"149","labels":["Person"]},"end":{"id":"159","labels":["Movie"]}} +{"id":"232","type":"relationship","label":"ACTED_IN","properties":{"roles":["Jimmy Dugan"]},"start":{"id":"71","labels":["Person"]},"end":{"id":"160","labels":["Movie"]}} +{"id":"233","type":"relationship","label":"ACTED_IN","properties":{"roles":["Dottie Hinson"]},"start":{"id":"162","labels":["Person"]},"end":{"id":"160","labels":["Movie"]}} +{"id":"234","type":"relationship","label":"ACTED_IN","properties":{"roles":["Kit Keller"]},"start":{"id":"163","labels":["Person"]},"end":{"id":"160","labels":["Movie"]}} +{"id":"235","type":"relationship","label":"ACTED_IN","properties":{"roles":["Doris Murphy"]},"start":{"id":"77","labels":["Person"]},"end":{"id":"160","labels":["Movie"]}} +{"id":"236","type":"relationship","label":"ACTED_IN","properties":{"roles":["\"All the Way\" Mae Mordabito"]},"start":{"id":"161","labels":["Person"]},"end":{"id":"160","labels":["Movie"]}} +{"id":"237","type":"relationship","label":"ACTED_IN","properties":{"roles":["Bob Hinson"]},"start":{"id":"144","labels":["Person"]},"end":{"id":"160","labels":["Movie"]}} +{"id":"238","type":"relationship","label":"DIRECTED","start":{"id":"164","labels":["Person"]},"end":{"id":"160","labels":["Movie"]}} +{"id":"239","type":"relationship","label":"FOLLOWS","start":{"id":"168","labels":["Person"]},"end":{"id":"167","labels":["Person"]}} +{"id":"240","type":"relationship","label":"FOLLOWS","start":{"id":"166","labels":["Person"]},"end":{"id":"167","labels":["Person"]}} +{"id":"241","type":"relationship","label":"FOLLOWS","start":{"id":"165","labels":["Person"]},"end":{"id":"166","labels":["Person"]}} +{"id":"242","type":"relationship","label":"REVIEWED","properties":{"summary":"An amazing journey","rating":95},"start":{"id":"167","labels":["Person"]},"end":{"id":"105","labels":["Movie"]}} +{"id":"243","type":"relationship","label":"REVIEWED","properties":{"summary":"Silly, but fun","rating":65},"start":{"id":"167","labels":["Person"]},"end":{"id":"87","labels":["Movie"]}} +{"id":"244","type":"relationship","label":"REVIEWED","properties":{"summary":"The coolest football movie ever","rating":100},"start":{"id":"168","labels":["Person"]},"end":{"id":"87","labels":["Movie"]}} +{"id":"245","type":"relationship","label":"REVIEWED","properties":{"summary":"Pretty funny at times","rating":62},"start":{"id":"166","labels":["Person"]},"end":{"id":"87","labels":["Movie"]}} +{"id":"246","type":"relationship","label":"REVIEWED","properties":{"summary":"Dark, but compelling","rating":85},"start":{"id":"167","labels":["Person"]},"end":{"id":"97","labels":["Movie"]}} +{"id":"247","type":"relationship","label":"REVIEWED","properties":{"summary":"Slapstick redeemed only by the Robin Williams and Gene Hackman's stellar performances","rating":45},"start":{"id":"167","labels":["Person"]},"end":{"id":"95","labels":["Movie"]}} +{"id":"248","type":"relationship","label":"REVIEWED","properties":{"summary":"A solid romp","rating":68},"start":{"id":"167","labels":["Person"]},"end":{"id":"109","labels":["Movie"]}} +{"id":"249","type":"relationship","label":"REVIEWED","properties":{"summary":"Fun, but a little far fetched","rating":65},"start":{"id":"168","labels":["Person"]},"end":{"id":"109","labels":["Movie"]}} +{"id":"250","type":"relationship","label":"ACTED_IN","properties":{"roles":["Ki Taek"]},"start":{"id":"170","labels":["Person"]},"end":{"id":"169","labels":["Movie"]}} +{"id":"251","type":"relationship","label":"ACTED_IN","properties":{"roles":["Dong Ik"]},"start":{"id":"171","labels":["Person"]},"end":{"id":"169","labels":["Movie"]}} +{"id":"252","type":"relationship","label":"ACTED_IN","properties":{"roles":["Yeon Kyo"]},"start":{"id":"172","labels":["Person"]},"end":{"id":"169","labels":["Movie"]}} +{"id":"253","type":"relationship","label":"ACTED_IN","properties":{"roles":["Ki Woo"]},"start":{"id":"173","labels":["Person"]},"end":{"id":"169","labels":["Movie"]}} +{"id":"254","type":"relationship","label":"ACTED_IN","properties":{"roles":["Ki Jung"]},"start":{"id":"174","labels":["Person"]},"end":{"id":"169","labels":["Movie"]}} +{"id":"255","type":"relationship","label":"ACTED_IN","properties":{"roles":["Arthur Fleck"]},"start":{"id":"176","labels":["Person"]},"end":{"id":"175","labels":["Movie"]}} +{"id":"256","type":"relationship","label":"ACTED_IN","properties":{"roles":["Murray Franklin"]},"start":{"id":"177","labels":["Person"]},"end":{"id":"175","labels":["Movie"]}} +{"id":"257","type":"relationship","label":"ACTED_IN","properties":{"roles":["Sophie Dumond"]},"start":{"id":"178","labels":["Person"]},"end":{"id":"175","labels":["Movie"]}} \ No newline at end of file diff --git a/legacy/exported.lp b/legacy/exported.lp new file mode 100644 index 0000000..0e662c0 --- /dev/null +++ b/legacy/exported.lp @@ -0,0 +1,1295 @@ +label(0,movie). +property(0,tagline,string("Welcome to the Real World")). +property(0,title,string("The Matrix")). +property(0,released,integer(1999)). +label(1,person). +property(1,born,integer(1964)). +property(1,name,string("Keanu Reeves")). +label(2,person). +property(2,born,integer(1967)). +property(2,name,string("Carrie-Anne Moss")). +label(3,person). +property(3,born,integer(1961)). +property(3,name,string("Laurence Fishburne")). +label(4,person). +property(4,born,integer(1960)). +property(4,name,string("Hugo Weaving")). +label(5,person). +property(5,born,integer(1967)). +property(5,name,string("Andy Wachowski")). +label(6,person). +property(6,born,integer(1965)). +property(6,name,string("Lana Wachowski")). +label(7,person). +property(7,born,integer(1952)). +property(7,name,string("Joel Silver")). +label(8,person). +property(8,born,integer(1978)). +property(8,name,string("Emil Eifrem")). +label(9,movie). +property(9,tagline,string("Free your mind")). +property(9,title,string("The Matrix Reloaded")). +property(9,released,integer(2003)). +label(10,movie). +property(10,tagline,string("Everything that has a beginning has an end")). +property(10,title,string("The Matrix Revolutions")). +property(10,released,integer(2003)). +label(11,movie). +property(11,tagline,string("Evil has its winning ways")). +property(11,title,string("The Devil's Advocate")). +property(11,released,integer(1997)). +label(12,person). +property(12,born,integer(1975)). +property(12,name,string("Charlize Theron")). +label(13,person). +property(13,born,integer(1940)). +property(13,name,string("Al Pacino")). +label(14,person). +property(14,born,integer(1944)). +property(14,name,string("Taylor Hackford")). +label(15,movie). +property(15,tagline,string("In the heart of the nation's capital, in a courthouse of the U.S. government, one man will stop at nothing to keep his honor, and one will stop at nothing to find the truth.")). +property(15,title,string("A Few Good Men")). +property(15,released,integer(1992)). +label(16,person). +property(16,born,integer(1962)). +property(16,name,string("Tom Cruise")). +label(17,person). +property(17,born,integer(1937)). +property(17,name,string("Jack Nicholson")). +label(18,person). +property(18,born,integer(1962)). +property(18,name,string("Demi Moore")). +label(19,person). +property(19,born,integer(1958)). +property(19,name,string("Kevin Bacon")). +label(20,person). +property(20,born,integer(1966)). +property(20,name,string("Kiefer Sutherland")). +label(21,person). +property(21,born,integer(1971)). +property(21,name,string("Noah Wyle")). +label(22,person). +property(22,born,integer(1968)). +property(22,name,string("Cuba Gooding Jr.")). +label(23,person). +property(23,born,integer(1957)). +property(23,name,string("Kevin Pollak")). +label(24,person). +property(24,born,integer(1943)). +property(24,name,string("J.T. Walsh")). +label(25,person). +property(25,born,integer(1967)). +property(25,name,string("James Marshall")). +label(26,person). +property(26,born,integer(1948)). +property(26,name,string("Christopher Guest")). +label(27,person). +property(27,born,integer(1947)). +property(27,name,string("Rob Reiner")). +label(28,person). +property(28,born,integer(1961)). +property(28,name,string("Aaron Sorkin")). +label(29,movie). +property(29,tagline,string("I feel the need, the need for speed.")). +property(29,title,string("Top Gun")). +property(29,released,integer(1986)). +label(30,person). +property(30,born,integer(1957)). +property(30,name,string("Kelly McGillis")). +label(31,person). +property(31,born,integer(1959)). +property(31,name,string("Val Kilmer")). +label(32,person). +property(32,born,integer(1962)). +property(32,name,string("Anthony Edwards")). +label(33,person). +property(33,born,integer(1933)). +property(33,name,string("Tom Skerritt")). +label(34,person). +property(34,born,integer(1961)). +property(34,name,string("Meg Ryan")). +label(35,person). +property(35,born,integer(1944)). +property(35,name,string("Tony Scott")). +label(36,person). +property(36,born,integer(1941)). +property(36,name,string("Jim Cash")). +label(37,movie). +property(37,tagline,string("The rest of his life begins now.")). +property(37,title,string("Jerry Maguire")). +property(37,released,integer(2000)). +label(38,person). +property(38,born,integer(1969)). +property(38,name,string("Renee Zellweger")). +label(39,person). +property(39,born,integer(1962)). +property(39,name,string("Kelly Preston")). +label(40,person). +property(40,born,integer(1974)). +property(40,name,string("Jerry O'Connell")). +label(41,person). +property(41,born,integer(1970)). +property(41,name,string("Jay Mohr")). +label(42,person). +property(42,born,integer(1961)). +property(42,name,string("Bonnie Hunt")). +label(43,person). +property(43,born,integer(1971)). +property(43,name,string("Regina King")). +label(44,person). +property(44,born,integer(1996)). +property(44,name,string("Jonathan Lipnicki")). +label(45,person). +property(45,born,integer(1957)). +property(45,name,string("Cameron Crowe")). +label(46,movie). +property(46,tagline,string("For some, it's the last real taste of innocence, and the first real taste of life. But for everyone, it's the time that memories are made of.")). +property(46,title,string("Stand By Me")). +property(46,released,integer(1986)). +label(47,person). +property(47,born,integer(1970)). +property(47,name,string("River Phoenix")). +label(48,person). +property(48,born,integer(1971)). +property(48,name,string("Corey Feldman")). +label(49,person). +property(49,born,integer(1972)). +property(49,name,string("Wil Wheaton")). +label(50,person). +property(50,born,integer(1966)). +property(50,name,string("John Cusack")). +label(51,person). +property(51,born,integer(1942)). +property(51,name,string("Marshall Bell")). +label(52,movie). +property(52,tagline,string("A comedy from the heart that goes for the throat.")). +property(52,title,string("As Good as It Gets")). +property(52,released,integer(1997)). +label(53,person). +property(53,born,integer(1963)). +property(53,name,string("Helen Hunt")). +label(54,person). +property(54,born,integer(1963)). +property(54,name,string("Greg Kinnear")). +label(55,person). +property(55,born,integer(1940)). +property(55,name,string("James L. Brooks")). +label(56,movie). +property(56,tagline,string("After life there is more. The end is just the beginning.")). +property(56,title,string("What Dreams May Come")). +property(56,released,integer(1998)). +label(57,person). +property(57,born,integer(1960)). +property(57,name,string("Annabella Sciorra")). +label(58,person). +property(58,born,integer(1929)). +property(58,name,string("Max von Sydow")). +label(59,person). +property(59,born,integer(1942)). +property(59,name,string("Werner Herzog")). +label(60,person). +property(60,born,integer(1951)). +property(60,name,string("Robin Williams")). +label(61,person). +property(61,born,integer(1956)). +property(61,name,string("Vincent Ward")). +label(62,movie). +property(62,tagline,string("First loves last. Forever.")). +property(62,title,string("Snow Falling on Cedars")). +property(62,released,integer(1999)). +label(63,person). +property(63,born,integer(1970)). +property(63,name,string("Ethan Hawke")). +label(64,person). +property(64,born,integer(1971)). +property(64,name,string("Rick Yune")). +label(65,person). +property(65,born,integer(1940)). +property(65,name,string("James Cromwell")). +label(66,person). +property(66,born,integer(1953)). +property(66,name,string("Scott Hicks")). +label(67,movie). +property(67,tagline,string("At odds in life... in love on-line.")). +property(67,title,string("You've Got Mail")). +property(67,released,integer(1998)). +label(68,person). +property(68,born,integer(1968)). +property(68,name,string("Parker Posey")). +label(69,person). +property(69,born,integer(1973)). +property(69,name,string("Dave Chappelle")). +label(70,person). +property(70,born,integer(1967)). +property(70,name,string("Steve Zahn")). +label(71,person). +property(71,born,integer(1956)). +property(71,name,string("Tom Hanks")). +label(72,person). +property(72,born,integer(1941)). +property(72,name,string("Nora Ephron")). +label(73,movie). +property(73,tagline,string("What if someone you never met, someone you never saw, someone you never knew was the only someone for you?")). +property(73,title,string("Sleepless in Seattle")). +property(73,released,integer(1993)). +label(74,person). +property(74,born,integer(1956)). +property(74,name,string("Rita Wilson")). +label(75,person). +property(75,born,integer(1953)). +property(75,name,string("Bill Pullman")). +label(76,person). +property(76,born,integer(1949)). +property(76,name,string("Victor Garber")). +label(77,person). +property(77,born,integer(1962)). +property(77,name,string("Rosie O'Donnell")). +label(78,movie). +property(78,tagline,string("A story of love, lava and burning desire.")). +property(78,title,string("Joe Versus the Volcano")). +property(78,released,integer(1990)). +label(79,person). +property(79,born,integer(1950)). +property(79,name,string("John Patrick Stanley")). +label(80,person). +property(80,born,integer(1956)). +property(80,name,string("Nathan Lane")). +label(81,movie). +property(81,tagline,string("At odds in life... in love on-line.")). +property(81,title,string("When Harry Met Sally")). +property(81,released,integer(1998)). +label(82,person). +property(82,born,integer(1948)). +property(82,name,string("Billy Crystal")). +label(83,person). +property(83,born,integer(1956)). +property(83,name,string("Carrie Fisher")). +label(84,person). +property(84,born,integer(1949)). +property(84,name,string("Bruno Kirby")). +label(85,movie). +property(85,tagline,string("In every life there comes a time when that thing you dream becomes that thing you do")). +property(85,title,string("That Thing You Do")). +property(85,released,integer(1996)). +label(86,person). +property(86,born,integer(1977)). +property(86,name,string("Liv Tyler")). +label(87,movie). +property(87,tagline,string("Pain heals, Chicks dig scars... Glory lasts forever")). +property(87,title,string("The Replacements")). +property(87,released,integer(2000)). +label(88,person). +property(88,born,integer(1970)). +property(88,name,string("Brooke Langton")). +label(89,person). +property(89,born,integer(1930)). +property(89,name,string("Gene Hackman")). +label(90,person). +property(90,born,integer(1968)). +property(90,name,string("Orlando Jones")). +label(91,person). +property(91,born,integer(1950)). +property(91,name,string("Howard Deutch")). +label(92,movie). +property(92,tagline,string("Based on the extraordinary true story of one man's fight for freedom")). +property(92,title,string("RescueDawn")). +property(92,released,integer(2006)). +label(93,person). +property(93,born,integer(1974)). +property(93,name,string("Christian Bale")). +label(94,person). +property(94,born,integer(1954)). +property(94,name,string("Zach Grenier")). +label(95,movie). +property(95,tagline,string("Come as you are")). +property(95,title,string("The Birdcage")). +property(95,released,integer(1996)). +label(96,person). +property(96,born,integer(1931)). +property(96,name,string("Mike Nichols")). +label(97,movie). +property(97,tagline,string("It's a hell of a thing, killing a man")). +property(97,title,string("Unforgiven")). +property(97,released,integer(1992)). +label(98,person). +property(98,born,integer(1930)). +property(98,name,string("Richard Harris")). +label(99,person). +property(99,born,integer(1930)). +property(99,name,string("Clint Eastwood")). +label(100,movie). +property(100,tagline,string("The hottest data on earth. In the coolest head in town")). +property(100,title,string("Johnny Mnemonic")). +property(100,released,integer(1995)). +label(101,person). +property(101,born,integer(1947)). +property(101,name,string("Takeshi Kitano")). +label(102,person). +property(102,born,integer(1968)). +property(102,name,string("Dina Meyer")). +label(103,person). +property(103,born,integer(1958)). +property(103,name,string("Ice-T")). +label(104,person). +property(104,born,integer(1953)). +property(104,name,string("Robert Longo")). +label(105,movie). +property(105,tagline,string("Everything is connected")). +property(105,title,string("Cloud Atlas")). +property(105,released,integer(2012)). +label(106,person). +property(106,born,integer(1966)). +property(106,name,string("Halle Berry")). +label(107,person). +property(107,born,integer(1949)). +property(107,name,string("Jim Broadbent")). +label(108,person). +property(108,born,integer(1965)). +property(108,name,string("Tom Tykwer")). +label(109,movie). +property(109,tagline,string("Break The Codes")). +property(109,title,string("The Da Vinci Code")). +property(109,released,integer(2006)). +label(110,person). +property(110,born,integer(1939)). +property(110,name,string("Ian McKellen")). +label(111,person). +property(111,born,integer(1976)). +property(111,name,string("Audrey Tautou")). +label(112,person). +property(112,born,integer(1971)). +property(112,name,string("Paul Bettany")). +label(113,person). +property(113,born,integer(1954)). +property(113,name,string("Ron Howard")). +label(114,movie). +property(114,tagline,string("Freedom! Forever!")). +property(114,title,string("V for Vendetta")). +property(114,released,integer(2006)). +label(115,person). +property(115,born,integer(1981)). +property(115,name,string("Natalie Portman")). +label(116,person). +property(116,born,integer(1946)). +property(116,name,string("Stephen Rea")). +label(117,person). +property(117,born,integer(1940)). +property(117,name,string("John Hurt")). +label(118,person). +property(118,born,integer(1967)). +property(118,name,string("Ben Miles")). +label(119,movie). +property(119,tagline,string("Speed has no limits")). +property(119,title,string("Speed Racer")). +property(119,released,integer(2008)). +label(120,person). +property(120,born,integer(1985)). +property(120,name,string("Emile Hirsch")). +label(121,person). +property(121,born,integer(1960)). +property(121,name,string("John Goodman")). +label(122,person). +property(122,born,integer(1946)). +property(122,name,string("Susan Sarandon")). +label(123,person). +property(123,born,integer(1966)). +property(123,name,string("Matthew Fox")). +label(124,person). +property(124,born,integer(1980)). +property(124,name,string("Christina Ricci")). +label(125,person). +property(125,born,integer(1982)). +property(125,name,string("Rain")). +label(126,movie). +property(126,tagline,string("Prepare to enter a secret world of assassins")). +property(126,title,string("Ninja Assassin")). +property(126,released,integer(2009)). +label(127,person). +property(127,name,string("Naomie Harris")). +label(128,movie). +property(128,tagline,string("Walk a mile you'll never forget.")). +property(128,title,string("The Green Mile")). +property(128,released,integer(1999)). +label(129,person). +property(129,born,integer(1957)). +property(129,name,string("Michael Clarke Duncan")). +label(130,person). +property(130,born,integer(1953)). +property(130,name,string("David Morse")). +label(131,person). +property(131,born,integer(1968)). +property(131,name,string("Sam Rockwell")). +label(132,person). +property(132,born,integer(1955)). +property(132,name,string("Gary Sinise")). +label(133,person). +property(133,born,integer(1959)). +property(133,name,string("Patricia Clarkson")). +label(134,person). +property(134,born,integer(1959)). +property(134,name,string("Frank Darabont")). +label(135,movie). +property(135,tagline,string("400 million people were waiting for the truth.")). +property(135,title,string("Frost/Nixon")). +property(135,released,integer(2008)). +label(136,person). +property(136,born,integer(1938)). +property(136,name,string("Frank Langella")). +label(137,person). +property(137,born,integer(1969)). +property(137,name,string("Michael Sheen")). +label(138,person). +property(138,born,integer(1960)). +property(138,name,string("Oliver Platt")). +label(139,movie). +property(139,tagline,string("He didn't want law. He wanted justice.")). +property(139,title,string("Hoffa")). +property(139,released,integer(1992)). +label(140,person). +property(140,born,integer(1944)). +property(140,name,string("Danny DeVito")). +label(141,person). +property(141,born,integer(1965)). +property(141,name,string("John C. Reilly")). +label(142,movie). +property(142,tagline,string("Houston, we have a problem.")). +property(142,title,string("Apollo 13")). +property(142,released,integer(1995)). +label(143,person). +property(143,born,integer(1950)). +property(143,name,string("Ed Harris")). +label(144,person). +property(144,born,integer(1955)). +property(144,name,string("Bill Paxton")). +label(145,movie). +property(145,tagline,string("Don't Breathe. Don't Look Back.")). +property(145,title,string("Twister")). +property(145,released,integer(1996)). +label(146,person). +property(146,born,integer(1967)). +property(146,name,string("Philip Seymour Hoffman")). +label(147,person). +property(147,born,integer(1943)). +property(147,name,string("Jan de Bont")). +label(148,movie). +property(148,tagline,string("At the edge of the world, his journey begins.")). +property(148,title,string("Cast Away")). +property(148,released,integer(2000)). +label(149,person). +property(149,born,integer(1951)). +property(149,name,string("Robert Zemeckis")). +label(150,movie). +property(150,tagline,string("If he's crazy, what does that make you?")). +property(150,title,string("One Flew Over the Cuckoo's Nest")). +property(150,released,integer(1975)). +label(151,person). +property(151,born,integer(1932)). +property(151,name,string("Milos Forman")). +label(152,movie). +property(152,title,string("Something's Gotta Give")). +property(152,released,integer(2003)). +label(153,person). +property(153,born,integer(1946)). +property(153,name,string("Diane Keaton")). +label(154,person). +property(154,born,integer(1949)). +property(154,name,string("Nancy Meyers")). +label(155,movie). +property(155,tagline,string("One robot's 200 year journey to become an ordinary man.")). +property(155,title,string("Bicentennial Man")). +property(155,released,integer(1999)). +label(156,person). +property(156,born,integer(1958)). +property(156,name,string("Chris Columbus")). +label(157,movie). +property(157,tagline,string("A stiff drink. A little mascara. A lot of nerve. Who said they couldn't bring down the Soviet empire.")). +property(157,title,string("Charlie Wilson's War")). +property(157,released,integer(2007)). +label(158,person). +property(158,born,integer(1967)). +property(158,name,string("Julia Roberts")). +label(159,movie). +property(159,tagline,string("This Holiday Season… Believe")). +property(159,title,string("The Polar Express")). +property(159,released,integer(2004)). +label(160,movie). +property(160,tagline,string("Once in a lifetime you get a chance to do something different.")). +property(160,title,string("A League of Their Own")). +property(160,released,integer(1992)). +label(161,person). +property(161,born,integer(1954)). +property(161,name,string("Madonna")). +label(162,person). +property(162,born,integer(1956)). +property(162,name,string("Geena Davis")). +label(163,person). +property(163,born,integer(1963)). +property(163,name,string("Lori Petty")). +label(164,person). +property(164,born,integer(1943)). +property(164,name,string("Penny Marshall")). +label(165,person). +property(165,name,string("Paul Blythe")). +label(166,person). +property(166,name,string("Angela Scope")). +label(167,person). +property(167,name,string("Jessica Thompson")). +label(168,person). +property(168,name,string("James Thompson")). +label(169,movie). +property(169,tagline,string("Act like you own the place")). +property(169,title,string("Parasite")). +property(169,released,integer(2019)). +label(170,person). +property(170,name,string("Kang-ho Song")). +label(171,person). +property(171,name,string("Sun-kyun Lee")). +label(172,person). +property(172,name,string("Yeo-jeong Jo")). +label(173,person). +property(173,name,string("Woo-sik Choi")). +label(174,person). +property(174,name,string("So-dam Park")). +label(175,movie). +property(175,tagline,string("Put on a happy face")). +property(175,title,string("Joker")). +property(175,released,integer(2019)). +label(176,person). +property(176,name,string("Joaquin Phoenix")). +label(177,person). +property(177,name,string("Robert De Niro")). +label(178,person). +property(178,name,string("Zazie Beetz")). +label(0,acted_in). +property(0,roles,string("Neo")). +edge(1,0,0). +label(1,acted_in). +property(1,roles,string("Trinity")). +edge(2,1,0). +label(2,acted_in). +property(2,roles,string("Morpheus")). +edge(3,2,0). +label(3,acted_in). +property(3,roles,string("Agent Smith")). +edge(4,3,0). +label(4,directed). +edge(5,4,0). +label(5,directed). +edge(6,5,0). +label(6,produced). +edge(7,6,0). +label(7,acted_in). +property(7,roles,string("Emil")). +edge(8,7,0). +label(8,acted_in). +property(8,roles,string("Neo")). +edge(1,8,9). +label(9,acted_in). +property(9,roles,string("Trinity")). +edge(2,9,9). +label(10,acted_in). +property(10,roles,string("Morpheus")). +edge(3,10,9). +label(11,acted_in). +property(11,roles,string("Agent Smith")). +edge(4,11,9). +label(12,directed). +edge(5,12,9). +label(13,directed). +edge(6,13,9). +label(14,produced). +edge(7,14,9). +label(15,acted_in). +property(15,roles,string("Neo")). +edge(1,15,10). +label(16,acted_in). +property(16,roles,string("Trinity")). +edge(2,16,10). +label(17,acted_in). +property(17,roles,string("Morpheus")). +edge(3,17,10). +label(18,acted_in). +property(18,roles,string("Agent Smith")). +edge(4,18,10). +label(19,directed). +edge(5,19,10). +label(20,directed). +edge(6,20,10). +label(21,produced). +edge(7,21,10). +label(22,acted_in). +property(22,roles,string("Kevin Lomax")). +edge(1,22,11). +label(23,acted_in). +property(23,roles,string("Mary Ann Lomax")). +edge(12,23,11). +label(24,acted_in). +property(24,roles,string("John Milton")). +edge(13,24,11). +label(25,directed). +edge(14,25,11). +label(26,acted_in). +property(26,roles,string("Lt. Daniel Kaffee")). +edge(16,26,15). +label(27,acted_in). +property(27,roles,string("Col. Nathan R. Jessup")). +edge(17,27,15). +label(28,acted_in). +property(28,roles,string("Lt. Cdr. JoAnne Galloway")). +edge(18,28,15). +label(29,acted_in). +property(29,roles,string("Capt. Jack Ross")). +edge(19,29,15). +label(30,acted_in). +property(30,roles,string("Lt. Jonathan Kendrick")). +edge(20,30,15). +label(31,acted_in). +property(31,roles,string("Cpl. Jeffrey Barnes")). +edge(21,31,15). +label(32,acted_in). +property(32,roles,string("Cpl. Carl Hammaker")). +edge(22,32,15). +label(33,acted_in). +property(33,roles,string("Lt. Sam Weinberg")). +edge(23,33,15). +label(34,acted_in). +property(34,roles,string("Lt. Col. Matthew Andrew Markinson")). +edge(24,34,15). +label(35,acted_in). +property(35,roles,string("Pfc. Louden Downey")). +edge(25,35,15). +label(36,acted_in). +property(36,roles,string("Dr. Stone")). +edge(26,36,15). +label(37,acted_in). +property(37,roles,string("Man in Bar")). +edge(28,37,15). +label(38,directed). +edge(27,38,15). +label(39,wrote). +edge(28,39,15). +label(40,acted_in). +property(40,roles,string("Maverick")). +edge(16,40,29). +label(41,acted_in). +property(41,roles,string("Charlie")). +edge(30,41,29). +label(42,acted_in). +property(42,roles,string("Iceman")). +edge(31,42,29). +label(43,acted_in). +property(43,roles,string("Goose")). +edge(32,43,29). +label(44,acted_in). +property(44,roles,string("Viper")). +edge(33,44,29). +label(45,acted_in). +property(45,roles,string("Carole")). +edge(34,45,29). +label(46,directed). +edge(35,46,29). +label(47,wrote). +edge(36,47,29). +label(48,acted_in). +property(48,roles,string("Jerry Maguire")). +edge(16,48,37). +label(49,acted_in). +property(49,roles,string("Rod Tidwell")). +edge(22,49,37). +label(50,acted_in). +property(50,roles,string("Dorothy Boyd")). +edge(38,50,37). +label(51,acted_in). +property(51,roles,string("Avery Bishop")). +edge(39,51,37). +label(52,acted_in). +property(52,roles,string("Frank Cushman")). +edge(40,52,37). +label(53,acted_in). +property(53,roles,string("Bob Sugar")). +edge(41,53,37). +label(54,acted_in). +property(54,roles,string("Laurel Boyd")). +edge(42,54,37). +label(55,acted_in). +property(55,roles,string("Marcee Tidwell")). +edge(43,55,37). +label(56,acted_in). +property(56,roles,string("Ray Boyd")). +edge(44,56,37). +label(57,directed). +edge(45,57,37). +label(58,produced). +edge(45,58,37). +label(59,wrote). +edge(45,59,37). +label(60,acted_in). +property(60,roles,string("Gordie Lachance")). +edge(49,60,46). +label(61,acted_in). +property(61,roles,string("Chris Chambers")). +edge(47,61,46). +label(62,acted_in). +property(62,roles,string("Vern Tessio")). +edge(40,62,46). +label(63,acted_in). +property(63,roles,string("Teddy Duchamp")). +edge(48,63,46). +label(64,acted_in). +property(64,roles,string("Denny Lachance")). +edge(50,64,46). +label(65,acted_in). +property(65,roles,string("Ace Merrill")). +edge(20,65,46). +label(66,acted_in). +property(66,roles,string("Mr. Lachance")). +edge(51,66,46). +label(67,directed). +edge(27,67,46). +label(68,acted_in). +property(68,roles,string("Melvin Udall")). +edge(17,68,52). +label(69,acted_in). +property(69,roles,string("Carol Connelly")). +edge(53,69,52). +label(70,acted_in). +property(70,roles,string("Simon Bishop")). +edge(54,70,52). +label(71,acted_in). +property(71,roles,string("Frank Sachs")). +edge(22,71,52). +label(72,directed). +edge(55,72,52). +label(73,acted_in). +property(73,roles,string("Chris Nielsen")). +edge(60,73,56). +label(74,acted_in). +property(74,roles,string("Albert Lewis")). +edge(22,74,56). +label(75,acted_in). +property(75,roles,string("Annie Collins-Nielsen")). +edge(57,75,56). +label(76,acted_in). +property(76,roles,string("The Tracker")). +edge(58,76,56). +label(77,acted_in). +property(77,roles,string("The Face")). +edge(59,77,56). +label(78,directed). +edge(61,78,56). +label(79,acted_in). +property(79,roles,string("Ishmael Chambers")). +edge(63,79,62). +label(80,acted_in). +property(80,roles,string("Kazuo Miyamoto")). +edge(64,80,62). +label(81,acted_in). +property(81,roles,string("Nels Gudmundsson")). +edge(58,81,62). +label(82,acted_in). +property(82,roles,string("Judge Fielding")). +edge(65,82,62). +label(83,directed). +edge(66,83,62). +label(84,acted_in). +property(84,roles,string("Joe Fox")). +edge(71,84,67). +label(85,acted_in). +property(85,roles,string("Kathleen Kelly")). +edge(34,85,67). +label(86,acted_in). +property(86,roles,string("Frank Navasky")). +edge(54,86,67). +label(87,acted_in). +property(87,roles,string("Patricia Eden")). +edge(68,87,67). +label(88,acted_in). +property(88,roles,string("Kevin Jackson")). +edge(69,88,67). +label(89,acted_in). +property(89,roles,string("George Pappas")). +edge(70,89,67). +label(90,directed). +edge(72,90,67). +label(91,acted_in). +property(91,roles,string("Sam Baldwin")). +edge(71,91,73). +label(92,acted_in). +property(92,roles,string("Annie Reed")). +edge(34,92,73). +label(93,acted_in). +property(93,roles,string("Suzy")). +edge(74,93,73). +label(94,acted_in). +property(94,roles,string("Walter")). +edge(75,94,73). +label(95,acted_in). +property(95,roles,string("Greg")). +edge(76,95,73). +label(96,acted_in). +property(96,roles,string("Becky")). +edge(77,96,73). +label(97,directed). +edge(72,97,73). +label(98,acted_in). +property(98,roles,string("Joe Banks")). +edge(71,98,78). +label(99,acted_in). +property(99,roles,string("DeDe")). +property(99,roles,string("Angelica Graynamore")). +property(99,roles,string("Patricia Graynamore")). +edge(34,99,78). +label(100,acted_in). +property(100,roles,string("Baw")). +edge(80,100,78). +label(101,directed). +edge(79,101,78). +label(102,acted_in). +property(102,roles,string("Harry Burns")). +edge(82,102,81). +label(103,acted_in). +property(103,roles,string("Sally Albright")). +edge(34,103,81). +label(104,acted_in). +property(104,roles,string("Marie")). +edge(83,104,81). +label(105,acted_in). +property(105,roles,string("Jess")). +edge(84,105,81). +label(106,directed). +edge(27,106,81). +label(107,produced). +edge(27,107,81). +label(108,produced). +edge(72,108,81). +label(109,wrote). +edge(72,109,81). +label(110,acted_in). +property(110,roles,string("Mr. White")). +edge(71,110,85). +label(111,acted_in). +property(111,roles,string("Faye Dolan")). +edge(86,111,85). +label(112,acted_in). +property(112,roles,string("Tina")). +edge(12,112,85). +label(113,directed). +edge(71,113,85). +label(114,acted_in). +property(114,roles,string("Shane Falco")). +edge(1,114,87). +label(115,acted_in). +property(115,roles,string("Annabelle Farrell")). +edge(88,115,87). +label(116,acted_in). +property(116,roles,string("Jimmy McGinty")). +edge(89,116,87). +label(117,acted_in). +property(117,roles,string("Clifford Franklin")). +edge(90,117,87). +label(118,directed). +edge(91,118,87). +label(119,acted_in). +property(119,roles,string("Admiral")). +edge(51,119,92). +label(120,acted_in). +property(120,roles,string("Dieter Dengler")). +edge(93,120,92). +label(121,acted_in). +property(121,roles,string("Squad Leader")). +edge(94,121,92). +label(122,acted_in). +property(122,roles,string("Duane")). +edge(70,122,92). +label(123,directed). +edge(59,123,92). +label(124,acted_in). +property(124,roles,string("Armand Goldman")). +edge(60,124,95). +label(125,acted_in). +property(125,roles,string("Albert Goldman")). +edge(80,125,95). +label(126,acted_in). +property(126,roles,string("Sen. Kevin Keeley")). +edge(89,126,95). +label(127,directed). +edge(96,127,95). +label(128,acted_in). +property(128,roles,string("English Bob")). +edge(98,128,97). +label(129,acted_in). +property(129,roles,string("Bill Munny")). +edge(99,129,97). +label(130,acted_in). +property(130,roles,string("Little Bill Daggett")). +edge(89,130,97). +label(131,directed). +edge(99,131,97). +label(132,acted_in). +property(132,roles,string("Johnny Mnemonic")). +edge(1,132,100). +label(133,acted_in). +property(133,roles,string("Takahashi")). +edge(101,133,100). +label(134,acted_in). +property(134,roles,string("Jane")). +edge(102,134,100). +label(135,acted_in). +property(135,roles,string("J-Bone")). +edge(103,135,100). +label(136,directed). +edge(104,136,100). +label(137,acted_in). +property(137,roles,string("Zachry")). +property(137,roles,string("Dr. Henry Goose")). +property(137,roles,string("Isaac Sachs")). +property(137,roles,string("Dermot Hoggins")). +edge(71,137,105). +label(138,acted_in). +property(138,roles,string("Bill Smoke")). +property(138,roles,string("Haskell Moore")). +property(138,roles,string("Tadeusz Kesselring")). +property(138,roles,string("Nurse Noakes")). +property(138,roles,string("Boardman Mephi")). +property(138,roles,string("Old Georgie")). +edge(4,138,105). +label(139,acted_in). +property(139,roles,string("Luisa Rey")). +property(139,roles,string("Jocasta Ayrs")). +property(139,roles,string("Ovid")). +property(139,roles,string("Meronym")). +edge(106,139,105). +label(140,acted_in). +property(140,roles,string("Vyvyan Ayrs")). +property(140,roles,string("Captain Molyneux")). +property(140,roles,string("Timothy Cavendish")). +edge(107,140,105). +label(141,directed). +edge(108,141,105). +label(142,directed). +edge(5,142,105). +label(143,directed). +edge(6,143,105). +label(144,acted_in). +property(144,roles,string("Dr. Robert Langdon")). +edge(71,144,109). +label(145,acted_in). +property(145,roles,string("Sir Leight Teabing")). +edge(110,145,109). +label(146,acted_in). +property(146,roles,string("Sophie Neveu")). +edge(111,146,109). +label(147,acted_in). +property(147,roles,string("Silas")). +edge(112,147,109). +label(148,directed). +edge(113,148,109). +label(149,acted_in). +property(149,roles,string("V")). +edge(4,149,114). +label(150,acted_in). +property(150,roles,string("Evey Hammond")). +edge(115,150,114). +label(151,acted_in). +property(151,roles,string("Eric Finch")). +edge(116,151,114). +label(152,acted_in). +property(152,roles,string("High Chancellor Adam Sutler")). +edge(117,152,114). +label(153,acted_in). +property(153,roles,string("Dascomb")). +edge(118,153,114). +label(154,directed). +edge(25,154,114). +label(155,produced). +edge(5,155,114). +label(156,produced). +edge(6,156,114). +label(157,produced). +edge(7,157,114). +label(158,wrote). +edge(5,158,114). +label(159,wrote). +edge(6,159,114). +label(160,acted_in). +property(160,roles,string("Speed Racer")). +edge(120,160,119). +label(161,acted_in). +property(161,roles,string("Pops")). +edge(121,161,119). +label(162,acted_in). +property(162,roles,string("Mom")). +edge(122,162,119). +label(163,acted_in). +property(163,roles,string("Racer X")). +edge(123,163,119). +label(164,acted_in). +property(164,roles,string("Trixie")). +edge(124,164,119). +label(165,acted_in). +property(165,roles,string("Taejo Togokahn")). +edge(125,165,119). +label(166,acted_in). +property(166,roles,string("Cass Jones")). +edge(118,166,119). +label(167,directed). +edge(5,167,119). +label(168,directed). +edge(6,168,119). +label(169,wrote). +edge(5,169,119). +label(170,wrote). +edge(6,170,119). +label(171,produced). +edge(7,171,119). +label(172,acted_in). +property(172,roles,string("Raizo")). +edge(125,172,126). +label(173,acted_in). +property(173,roles,string("Mika Coretti")). +edge(127,173,126). +label(174,acted_in). +property(174,roles,string("Takeshi")). +edge(64,174,126). +label(175,acted_in). +property(175,roles,string("Ryan Maslow")). +edge(118,175,126). +label(176,directed). +edge(25,176,126). +label(177,produced). +edge(5,177,126). +label(178,produced). +edge(6,178,126). +label(179,produced). +edge(7,179,126). +label(180,acted_in). +property(180,roles,string("Paul Edgecomb")). +edge(71,180,128). +label(181,acted_in). +property(181,roles,string("John Coffey")). +edge(129,181,128). +label(182,acted_in). +property(182,roles,string("Brutus 'Brutal' Howell")). +edge(130,182,128). +label(183,acted_in). +property(183,roles,string("Jan Edgecomb")). +edge(42,183,128). +label(184,acted_in). +property(184,roles,string("Warden Hal Moores")). +edge(65,184,128). +label(185,acted_in). +property(185,roles,string("'Wild Bill' Wharton")). +edge(131,185,128). +label(186,acted_in). +property(186,roles,string("Burt Hammersmith")). +edge(132,186,128). +label(187,acted_in). +property(187,roles,string("Melinda Moores")). +edge(133,187,128). +label(188,directed). +edge(134,188,128). +label(189,acted_in). +property(189,roles,string("Richard Nixon")). +edge(136,189,135). +label(190,acted_in). +property(190,roles,string("David Frost")). +edge(137,190,135). +label(191,acted_in). +property(191,roles,string("Jack Brennan")). +edge(19,191,135). +label(192,acted_in). +property(192,roles,string("Bob Zelnick")). +edge(138,192,135). +label(193,acted_in). +property(193,roles,string("James Reston, Jr.")). +edge(131,193,135). +label(194,directed). +edge(113,194,135). +label(195,acted_in). +property(195,roles,string("Hoffa")). +edge(17,195,139). +label(196,acted_in). +property(196,roles,string("Robert 'Bobby' Ciaro")). +edge(140,196,139). +label(197,acted_in). +property(197,roles,string("Frank Fitzsimmons")). +edge(24,197,139). +label(198,acted_in). +property(198,roles,string("Peter 'Pete' Connelly")). +edge(141,198,139). +label(199,directed). +edge(140,199,139). +label(200,acted_in). +property(200,roles,string("Jim Lovell")). +edge(71,200,142). +label(201,acted_in). +property(201,roles,string("Jack Swigert")). +edge(19,201,142). +label(202,acted_in). +property(202,roles,string("Gene Kranz")). +edge(143,202,142). +label(203,acted_in). +property(203,roles,string("Fred Haise")). +edge(144,203,142). +label(204,acted_in). +property(204,roles,string("Ken Mattingly")). +edge(132,204,142). +label(205,directed). +edge(113,205,142). +label(206,acted_in). +property(206,roles,string("Bill Harding")). +edge(144,206,145). +label(207,acted_in). +property(207,roles,string("Dr. Jo Harding")). +edge(53,207,145). +label(208,acted_in). +property(208,roles,string("Eddie")). +edge(94,208,145). +label(209,acted_in). +property(209,roles,string("Dustin 'Dusty' Davis")). +edge(146,209,145). +label(210,directed). +edge(147,210,145). +label(211,acted_in). +property(211,roles,string("Chuck Noland")). +edge(71,211,148). +label(212,acted_in). +property(212,roles,string("Kelly Frears")). +edge(53,212,148). +label(213,directed). +edge(149,213,148). +label(214,acted_in). +property(214,roles,string("Randle McMurphy")). +edge(17,214,150). +label(215,acted_in). +property(215,roles,string("Martini")). +edge(140,215,150). +label(216,directed). +edge(151,216,150). +label(217,acted_in). +property(217,roles,string("Harry Sanborn")). +edge(17,217,152). +label(218,acted_in). +property(218,roles,string("Erica Barry")). +edge(153,218,152). +label(219,acted_in). +property(219,roles,string("Julian Mercer")). +edge(1,219,152). +label(220,directed). +edge(154,220,152). +label(221,produced). +edge(154,221,152). +label(222,wrote). +edge(154,222,152). +label(223,acted_in). +property(223,roles,string("Andrew Marin")). +edge(60,223,155). +label(224,acted_in). +property(224,roles,string("Rupert Burns")). +edge(138,224,155). +label(225,directed). +edge(156,225,155). +label(226,acted_in). +property(226,roles,string("Rep. Charlie Wilson")). +edge(71,226,157). +label(227,acted_in). +property(227,roles,string("Joanne Herring")). +edge(158,227,157). +label(228,acted_in). +property(228,roles,string("Gust Avrakotos")). +edge(146,228,157). +label(229,directed). +edge(96,229,157). +label(230,acted_in). +property(230,roles,string("Hero Boy")). +property(230,roles,string("Father")). +property(230,roles,string("Conductor")). +property(230,roles,string("Hobo")). +property(230,roles,string("Scrooge")). +property(230,roles,string("Santa Claus")). +edge(71,230,159). +label(231,directed). +edge(149,231,159). +label(232,acted_in). +property(232,roles,string("Jimmy Dugan")). +edge(71,232,160). +label(233,acted_in). +property(233,roles,string("Dottie Hinson")). +edge(162,233,160). +label(234,acted_in). +property(234,roles,string("Kit Keller")). +edge(163,234,160). +label(235,acted_in). +property(235,roles,string("Doris Murphy")). +edge(77,235,160). +label(236,acted_in). +property(236,roles,string("'All the Way' Mae Mordabito")). +edge(161,236,160). +label(237,acted_in). +property(237,roles,string("Bob Hinson")). +edge(144,237,160). +label(238,directed). +edge(164,238,160). +label(239,follows). +edge(168,239,167). +label(240,follows). +edge(166,240,167). +label(241,follows). +edge(165,241,166). +label(242,reviewed). +property(242,summary,string("An amazing journey")). +property(242,rating,integer(95)). +edge(167,242,105). +label(243,reviewed). +property(243,summary,string("Silly, but fun")). +property(243,rating,integer(65)). +edge(167,243,87). +label(244,reviewed). +property(244,summary,string("The coolest football movie ever")). +property(244,rating,integer(100)). +edge(168,244,87). +label(245,reviewed). +property(245,summary,string("Pretty funny at times")). +property(245,rating,integer(62)). +edge(166,245,87). +label(246,reviewed). +property(246,summary,string("Dark, but compelling")). +property(246,rating,integer(85)). +edge(167,246,97). +label(247,reviewed). +property(247,summary,string("Slapstick redeemed only by the Robin Williams and Gene Hackman's stellar performances")). +property(247,rating,integer(45)). +edge(167,247,95). +label(248,reviewed). +property(248,summary,string("A solid romp")). +property(248,rating,integer(68)). +edge(167,248,109). +label(249,reviewed). +property(249,summary,string("Fun, but a little far fetched")). +property(249,rating,integer(65)). +edge(168,249,109). +label(250,acted_in). +property(250,roles,string("Ki Taek")). +edge(170,250,169). +label(251,acted_in). +property(251,roles,string("Dong Ik")). +edge(171,251,169). +label(252,acted_in). +property(252,roles,string("Yeon Kyo")). +edge(172,252,169). +label(253,acted_in). +property(253,roles,string("Ki Woo")). +edge(173,253,169). +label(254,acted_in). +property(254,roles,string("Ki Jung")). +edge(174,254,169). +label(255,acted_in). +property(255,roles,string("Arthur Fleck")). +edge(176,255,175). +label(256,acted_in). +property(256,roles,string("Murray Franklin")). +edge(177,256,175). +label(257,acted_in). +property(257,roles,string("Sophie Dumond")). +edge(178,257,175). diff --git a/scripts/validate-neo4j-dump.sh b/legacy/validate-neo4j-dump.sh similarity index 85% rename from scripts/validate-neo4j-dump.sh rename to legacy/validate-neo4j-dump.sh index e38a1c8..5f5bd10 100755 --- a/scripts/validate-neo4j-dump.sh +++ b/legacy/validate-neo4j-dump.sh @@ -8,7 +8,7 @@ tmpfile=$(mktemp /tmp/converted-neo4j-dump-XXX.lp) # Convert from JSON to ASP encoding. -./scripts/graph-encoder.py -i "$1" > "$tmpfile" +./scripts/graphEncoder.py -i "$1" > "$tmpfile" ./validate.sh "$tmpfile" "$2" diff --git a/validate-neo4j.sh b/legacy/validate-neo4j.sh similarity index 100% rename from validate-neo4j.sh rename to legacy/validate-neo4j.sh diff --git a/validate.sh b/legacy/validate.sh similarity index 82% rename from validate.sh rename to legacy/validate.sh index 030ddcd..55dd0ac 100755 --- a/validate.sh +++ b/legacy/validate.sh @@ -6,7 +6,7 @@ tmpfile=$(mktemp /tmp/converted-shapes-XXX.lp) -./scripts/shape-transpiler.py -i "$2" > "$tmpfile" +./scripts/shapeTranspiler.py -i "$2" > "$tmpfile" clingo src/progs.lp src/display.lp "$1" "$tmpfile" diff --git a/paper-example/shapes1.progs b/paper-example/shapes1.progs new file mode 100644 index 0000000..7c6aafe --- /dev/null +++ b/paper-example/shapes1.progs @@ -0,0 +1,3 @@ +NODE s1 [:employee] { + >= 1 :colleagueOf . :person +}; diff --git a/paper-example/shapes2.progs b/paper-example/shapes2.progs new file mode 100644 index 0000000..705e620 --- /dev/null +++ b/paper-example/shapes2.progs @@ -0,0 +1,3 @@ +NODE s1 [:employee] { + >= 1 :colleagueOf . :person +} diff --git a/progs.py b/progs.py new file mode 100755 index 0000000..6544b05 --- /dev/null +++ b/progs.py @@ -0,0 +1,204 @@ +#!/usr/bin/python3 + +import sys +import os +import argparse +import calendar +import time +import shutil +import subprocess + +from src.shapeTranspiler import transpile +from src.graphEncoder import encode + + +# Temporary outdir. + +ts = calendar.timegm(time.gmtime()) +tempdir = "out"+str(ts) +os.makedirs(tempdir) + + +# Basic setup. + +ap = argparse.ArgumentParser(prog='ProGS', + description='Run validation on property graphs. For basic validation use \'validate\' mode.', + epilog='Philipp Seifer @ https://github.com/softlang/progs') +ap.version = '0.1' +ap.add_argument('-v', action='version') +ap.add_argument('--debug', action='store_true', + help='run in debug mode, keep intermediate results') + +apsub = ap.add_subparsers(dest='subparser', + help='see -h for help on subcommand') + + +# Validate parser (main tool). + +validate_parser = apsub.add_parser('validate', + description='Validate a graph in one of the supported formats.') + +validate_parser.add_argument( + 'shapes', metavar='shapes', type=str, help='the shapes file') + +validate_parser.add_argument('-s','--no-assignment', action='store_true', + help='do not output the assignment, only satisfiability') + +validate_graph_group = validate_parser.add_mutually_exclusive_group(required=True) + +validate_graph_group.add_argument('-g', '--graph', metavar='FILE', + help='ASP encoding of a property graph') +validate_graph_group.add_argument('-d', '--neo4j-db', metavar='FOLDER', + help='path to local neo4j instance (root dir)') +validate_graph_group.add_argument('-j', '--json', metavar='FILE', + help='JSON dump conforming to neo4j JSON format') + +#validate_parser.add_argument('-s', '--shapes', dest='shapes', help='...') + + +# Export parser. + +export_parser = apsub.add_parser('export', + description='Export Neo4j instance and store result.') +export_parser.add_argument('neo4j', metavar='FOLDER', type=str, + help='path to local neo4j instance (root dir)') +export_parser.add_argument('json', metavar='FILE', type=str, + help='JSON dump target file') + + +# Convert parser. + +export_parser = apsub.add_parser('convert', + description='Encode a JSON graph in ASP.') +export_parser.add_argument('json', metavar='FILE', type=str, + help='JSON file with graph.') +export_parser.add_argument('asp', metavar='FILE', type=str, + help='ASP target file.') + + +# Transpile parser. + +export_parser = apsub.add_parser('parse', + description='Parse a shapes file. Optionally output the ASP encoded result.') +export_parser.add_argument('progs', metavar='FILE', type=str, + help='Progs shapes file.') +export_parser.add_argument('-o', '--out', metavar='FILE', type=str, + help='ASP target file.') + + +# Implementation + +def cleanup(debug): + if not debug: + try: + shutil.rmtree(tempdir) + except OSError as e: + print ("Unable to delete %s - %s." % (e.filename, e.strerror)) + + +def tempfile(name): + return os.path.join(tempdir,name) + + +def toTempfile(name,content): + new_file = open(tempfile(name), "w") + new_file.write(content) + new_file.close() + + +def convertShapes(shapes_file): + shapes = transpile(shapes_file, 'src/grammar.ebnf') + toTempfile("shapes.lp", shapes) + + +def runValidation(graph,no_assignment): + if no_assignment: + subprocess.run(["clingo", + "src/progs.lp", + "src/no-display.lp", + tempfile("shapes.lp"), + graph]) + else: + subprocess.run(["clingo", + "src/progs.lp", + "src/display.lp", + tempfile("shapes.lp"), + graph]) + + +def validateLP(graph,no_assignment): + runValidation(graph,no_assignment) + + +def validateJSON(json,no_assignment): + g = encode(json) + toTempfile("graph.lp",g) + runValidation(tempfile("graph.lp"),no_assignment) + + +def export4j(db,target): + subprocess.run([os.path.join(db,'bin','cypher-shell'), + 'CALL apoc.export.json.all(\"exported.json\",{useTypes:true})']) + shutil.move(os.path.join(db,'import','exported.json'), target) + + +def validate4J(db,no_assignment): + export4j(db,tempfile("graph.json")) + validateJSON(tempfile("graph.json"),no_assignment) + + +# Main command modes. + +def validate(shapes,graph,json,neo4j_db,debug,no_assignment): + try: + convertShapes(shapes) + if graph != None: + validateLP(graph,no_assignment) + elif json != None: + validateJSON(json,no_assignment) + else: + validate4J(neo4j_db,no_assignment) + finally: + cleanup(debug) + + +def export(neo4j,json,debug): + try: + export4j(neo4j,json) + finally: + cleanup(debug) + + +def convert(json,asp,debug): + try: + new_file = open(asp, "w") + new_file.write(encode(json)) + new_file.close() + finally: + cleanup(debug) + + +def parse(progs,out,debug): + try: + s = convertShapes(progs) + if out != None: + shutil.move(tempfile("shapes.lp"), out) + finally: + cleanup(debug) + + +# Main + +def main(): + args = ap.parse_args() + kwargs = vars(args) + + # Invoke the primary mode command. + globals()[kwargs.pop('subparser')](**kwargs) + +if __name__ == '__main__': + # Show help if called with no arguments. + if len(sys.argv)==1: + ap.print_help(sys.stderr) + sys.exit(0) + main() \ No newline at end of file diff --git a/scripts/graph-encoder.py b/src/graphEncoder.py similarity index 87% rename from scripts/graph-encoder.py rename to src/graphEncoder.py index 5972131..6c29d86 100755 --- a/scripts/graph-encoder.py +++ b/src/graphEncoder.py @@ -2,6 +2,7 @@ import json import sys +from io import StringIO import getopt # Note: @@ -80,9 +81,35 @@ def handleEdge(data): putEdge(start, eid, end) +def encode(infile): + sout = sys.stdout + result = StringIO() + sys.stdout = result + + with open(infile) as f: + for line in f: + try: + data = json.loads(line) + if data['type'] == 'node': + handleNode(data) + else: + handleEdge(data) + except: + sys.stderr.write("[WARNING] Ignoring malformed JSON: " + json.dumps(data) + "\n") + + sys.stdout = sout + return result.getvalue() + + def main(argv): infile = 'graph.json' usage = "Usage: translate.py -i " + + # Show help if called with no arguments. + if len(sys.argv)==1: + print(usage) + sys.exit(0) + try: opts, args = getopt.getopt(argv,'hi:',['ifile=']) except getopt.GetoptError: @@ -94,17 +121,7 @@ def main(argv): sys.exit() elif opt in ('-i', '--ifile'): infile = arg - - with open(infile) as f: - for line in f: - try: - data = json.loads(line) - if data['type'] == 'node': - handleNode(data) - else: - handleEdge(data) - except: - sys.stderr.write("[WARNING] Ignoring malformed JSON: " + json.dumps(data) + "\n") + print(encode(infile)) if __name__ == '__main__': - main(sys.argv[1:]) + main(sys.argv[1:]) \ No newline at end of file diff --git a/scripts/shape-transpiler.py b/src/shapeTranspiler.py similarity index 92% rename from scripts/shape-transpiler.py rename to src/shapeTranspiler.py index d4df176..52724af 100755 --- a/scripts/shape-transpiler.py +++ b/src/shapeTranspiler.py @@ -7,7 +7,7 @@ constraint_store = set() path_store = set() -class ShapeTransformer(Transformer): +class ShapeTranspiler(Transformer): # Shapes @@ -250,23 +250,44 @@ def NUMBER(self, nr): return int(nr) -def print_paths(): +def get_paths(): paths = list(path_store) paths.sort() - for p in paths: - print('path({}).'.format(p)) + return '\n'.join('path({}).'.format(p) for p in paths) -def print_constraints(): +def get_constraints(): constraints = list(constraint_store) constraints.sort() - for c in constraints: - print('constraint({}).'.format(c)) + return '\n'.join('constraint({}).'.format(c) for c in constraints) + + +def transpile(infile,grammarfile): + grammar = '' + with open(grammarfile, 'r') as file: + grammar = file.read() + + shapes = '' + with open(infile, 'r') as file: + shapes = file.read() + '\n' + + shape_parser = Lark(grammar, start='shapes') + + tree = shape_parser.parse(shapes) + transformed = ShapeTranspiler().transform(tree) + + return '\n'.join([get_paths(),get_constraints(),transformed]) def main(argv): infile='' - usage = "Usage: shapeTranslator.py -i " + usage = "Usage: shapeTranspiler.py -i " + + # Show help if called with no arguments. + if len(sys.argv)==1: + print(usage) + sys.exit(0) + try: opts, args = getopt.getopt(argv,'hi:',['ifile=']) except getopt.GetoptError: @@ -279,22 +300,7 @@ def main(argv): elif opt in ('-i', '--ifile'): infile = arg - grammar = '' - with open('src/grammar.ebnf', 'r') as file: - grammar = file.read() - - shapes = '' - with open(infile, 'r') as file: - shapes = file.read() + '\n' - - shape_parser = Lark(grammar, start='shapes') - - tree = shape_parser.parse(shapes) - transformed = ShapeTransformer().transform(tree) - - print_constraints() - print_paths() - print(transformed) + print(transpile(infile,'src/grammar.ebnf')) if __name__ == '__main__': main(sys.argv[1:]) \ No newline at end of file