Skip to content

bmckinney/jazz-graph

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

66 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

jazz-graph

jazz discography represented as a structured property graph

KuzuDB Implementation

https://kuzudb.com/

Adding new releases

1. Import a release from musicbrainz

poetry run python3 ./import/import-musicbrainz-release.py 065a2ee7-f9a2-4eb6-b8c0-722909072753 > ./cql/petrucciani-jazz-club-montmartre.cql

2. Import CQL into KuzuDB

cd kuzu
python3 ./utils/cql_to_kuzu.py
sudo bash ./utils/import_all_into_kuzu.sh

3. Synchronize local KuzuDB to remote

scp -r /absolute_path/kuzu_db user@kuzu.example.com:/home/docker

4. Restart the KuzuDB explorer

docker restart <container_id_or_name>

Example cypher queries using the KuzuDB CLI

What are the songs and performers on "The Roy Haynes Trio" release?

kuzu> MATCH (r:Release {name: "The Roy Haynes Trio"})-[:HAS_TRACK]->(p:Performance) 
      MATCH (p)<-[part:PARTICIPATED_IN]-(person:Person) 
      RETURN p.name AS track, collect(person.name + "(" + part.instruments[1] + ")") AS performers;
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ track                 β”‚ performers                                                   β”‚
β”‚ STRING                β”‚ STRING[]                                                     β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Wail                  β”‚ [John Patitucci(bass),Danilo PΓ©rez(piano),Roy Haynes(drums)] β”‚
β”‚ Question and Answer   β”‚ [John Patitucci(bass),Danilo PΓ©rez(piano),Roy Haynes(drums)] β”‚
β”‚ Shulie a Bop          β”‚ [John Patitucci(bass),Danilo PΓ©rez(piano),Roy Haynes(drums)] β”‚
β”‚ Dear Old Stockholm    β”‚ [John Patitucci(bass),Danilo PΓ©rez(piano),Roy Haynes(drums)] β”‚
β”‚ It's Easy to Remember β”‚ [John Patitucci(bass),Danilo PΓ©rez(piano),Roy Haynes(drums)] β”‚
β”‚ Prelude to a Kiss     β”‚ [John Patitucci(bass),Danilo PΓ©rez(piano),Roy Haynes(drums)] β”‚
β”‚ Sippin' at Bells      β”‚ [John Patitucci(bass),Danilo PΓ©rez(piano),Roy Haynes(drums)] β”‚
β”‚ Bright Mississippi    β”‚ [John Patitucci(bass),Danilo PΓ©rez(piano),Roy Haynes(drums)] β”‚
β”‚ Folk Song             β”‚ [John Patitucci(bass),Danilo PΓ©rez(piano),Roy Haynes(drums)] β”‚
β”‚ Green Chimneys        β”‚ [John Patitucci(bass),Danilo PΓ©rez(piano),Roy Haynes(drums)] β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
(10 tuples)
(2 columns)
Time: 1.15ms (compiling), 5.65ms (executing)

What songs did Roy Haynes perform on September 10, 1999 and where?

kuzu> MATCH (a:Person{ name: "Roy Haynes"})-[:PARTICIPATED_IN]->(p:Performance{begin_date: "1999-09-10"})-[:HAS_PLACE]->(plc:Place)
      RETURN DISTINCT p.name, p.begin_date, plc.name;
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ p.name             β”‚ p.begin_date β”‚ plc.name           β”‚
β”‚ STRING             β”‚ STRING       β”‚ STRING             β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Green Chimneys     β”‚ 1999-09-10   β”‚ Scullers Jazz Club β”‚
β”‚ Prelude to a Kiss  β”‚ 1999-09-10   β”‚ Scullers Jazz Club β”‚
β”‚ Sippin' at Bells   β”‚ 1999-09-10   β”‚ Scullers Jazz Club β”‚
β”‚ Bright Mississippi β”‚ 1999-09-10   β”‚ Scullers Jazz Club β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
(4 tuples)
(3 columns)
Time: 1.49ms (compiling), 9.42ms (executing)

What bassists did Roy Haynes perform the most with?

kuzu> MATCH (p1:Person {name: "Roy Haynes"})-[:PARTICIPATED_IN]->(perf:Performance)<-[part:PARTICIPATED_IN]-(p2:Person) 
      WHERE "bass" IN part.instruments RETURN p2.name, COUNT(*) AS numberOfPerformances 
      ORDER BY numberOfPerformances DESC LIMIT 5;
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ p2.name           β”‚ numberOfPerformances β”‚
β”‚ STRING            β”‚ INT64                β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Christian McBride β”‚ 12                   β”‚
β”‚ Gary Peacock      β”‚ 12                   β”‚
β”‚ John Patitucci    β”‚ 10                   β”‚
β”‚ Paul Chambers     β”‚ 10                   β”‚
β”‚ David Wong        β”‚ 10                   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
(5 tuples)
(2 columns)
Time: 1.76ms (compiling), 4.56ms (executing)

What bassists did Roy Haynes perform the most with in 1960?

kuzu> MATCH (p1:Person {name: "Roy Haynes"})-[:PARTICIPATED_IN]->(perf:Performance)<-[part:PARTICIPATED_IN]-(p2:Person) 
      WHERE "bass" IN part.instruments AND perf.begin_date STARTS WITH "1960" RETURN p2.name, COUNT(*) AS numberOfPerformances 
      ORDER BY numberOfPerformances DESC LIMIT 5;
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ p2.name         β”‚ numberOfPerformances β”‚
β”‚ STRING          β”‚ INT64                β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Eddie DeHaas    β”‚ 7                    β”‚
β”‚ George Duvivier β”‚ 6                    β”‚
β”‚ Paul Chambers   β”‚ 4                    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
(3 tuples)
(2 columns)
Time: 1.79ms (compiling), 4.68ms (executing)

When did Roy Haynes record at Rudy Van Gelder's studio and how many performances?

kuzu> MATCH (person:Person {name: "Roy Haynes"})-[part:PARTICIPATED_IN]->(performance:Performance)-[hp:HAS_PLACE]->(place:Place {name: "Van Gelder Studio"}) 
      RETURN DISTINCT hp.begin_date as dates, place.name as place, count(performance) as performances
      ORDER BY dates ASC;
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ dates      β”‚ place             β”‚ performances β”‚
β”‚ STRING     β”‚ STRING            β”‚ INT64        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 1958-11-14 β”‚ Van Gelder Studio β”‚ 6            β”‚
β”‚ 1960-05-27 β”‚ Van Gelder Studio β”‚ 6            β”‚
β”‚ 1960-07-05 β”‚ Van Gelder Studio β”‚ 7            β”‚
β”‚ 1960-12-21 β”‚ Van Gelder Studio β”‚ 5            β”‚
β”‚ 1961-02-23 β”‚ Van Gelder Studio β”‚ 6            β”‚
β”‚ 1961-03-14 β”‚ Van Gelder Studio β”‚ 7            β”‚
β”‚ 1962-05-16 β”‚ Van Gelder Studio β”‚ 4            β”‚
β”‚ 1962-05-23 β”‚ Van Gelder Studio β”‚ 3            β”‚
β”‚ 1963-04-10 β”‚ Van Gelder Studio β”‚ 6            β”‚
β”‚ 1963-11-08 β”‚ Van Gelder Studio β”‚ 7            β”‚
β”‚ 1963-11-10 β”‚ Van Gelder Studio β”‚ 5            β”‚
β”‚ 1963-12-13 β”‚ Van Gelder Studio β”‚ 7            β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
(12 tuples)
(3 columns)
Time: 1.94ms (compiling), 8.21ms (executing)

What Monk compositions has Roy Haynes performed?

kuzu> MATCH (person:Person {name: "Roy Haynes"})-[part:PARTICIPATED_IN]->(performance:Performance)-[:PERFORMANCE_OF]->(work:Work)<-[:COMPOSED]-(composer:Person {name: "Thelonious Monk"})
      RETURN DISTINCT work.name;
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ work.name            β”‚
β”‚ STRING               β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Rhythm-a-Ning        β”‚
β”‚ ’Round Midnight      β”‚
β”‚ Eronel               β”‚
β”‚ Think of One         β”‚
β”‚ Little Rootie Tootie β”‚
β”‚ Reflections          β”‚
β”‚ Hackensack           β”‚
β”‚ Ask Me Now           β”‚
β”‚ Green Chimneys       β”‚
β”‚ Nutty                β”‚
β”‚          Β·           β”‚
β”‚          Β·           β”‚
β”‚          Β·           β”‚
β”‚ Epistrophy           β”‚
β”‚ Bemsha Swing         β”‚
β”‚ Trinkle Tinkle       β”‚
β”‚ Let’s Cool One       β”‚
β”‚ Off Minor            β”‚
β”‚ Blue Monk            β”‚
β”‚ Misterioso           β”‚
β”‚ Bright Mississippi   β”‚
β”‚ Light Blue           β”‚
β”‚ In Walked Bud        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
(21 tuples, 20 shown)
(1 column)
Time: 3.84ms (compiling), 3.42ms (executing)

What performances has Roy Haynes performed in with a trio?

kuzu> MATCH (p:Person)-[r:PARTICIPATED_IN]->(perf:Performance) 
      WHERE 'musician' IN r.roles 
      WITH perf, COLLECT(p.name) AS person_coll, COUNT(p) AS performerCount 
      WHERE performerCount = 3 AND "Roy Haynes" in person_coll
      RETURN perf.name, person_coll;
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ perf.name                  β”‚ person_coll                                  β”‚
β”‚ STRING                     β”‚ STRING[]                                     β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Salt Peanuts               β”‚ [Roy Haynes,Charles Mingus,Bud Powell]       β”‚
β”‚ Trio Improvisation, Part 3 β”‚ [Chick Corea,Roy Haynes,Miroslav VitouΕ‘]     β”‚
β”‚ Eronel                     β”‚ [Chick Corea,Roy Haynes,Miroslav VitouΕ‘]     β”‚
β”‚ Cold Bordeaux Blues        β”‚ [Roy Haynes,Duke Jordan,Wilbur Little]       β”‚
β”‚ Flight to Japan            β”‚ [Roy Haynes,Duke Jordan,Wilbur Little]       β”‚
β”‚ Cinco y quatro             β”‚ [Jaki Byard,Ron Carter,Roy Haynes]           β”‚
β”‚ Sweet and Lovely           β”‚ [Roy Haynes,Eddie DeHaas,Richard Wyands]     β”‚
β”‚ Bebop                      β”‚ [Kenny Barron,Charlie Haden,Roy Haynes]      β”‚
β”‚ Never Too Far Away         β”‚ [Roy Haynes,Dave Holland,Pat Metheny]        β”‚
β”‚ Sippin' at Bells           β”‚ [Roy Haynes,Danilo PΓ©rez,John Patitucci]     β”‚
β”‚             Β·              β”‚                      Β·                       β”‚
β”‚             Β·              β”‚                      Β·                       β”‚
β”‚             Β·              β”‚                      Β·                       β”‚
β”‚ Spanish Moods              β”‚ [Hampton Hawes,Roy Haynes,Cecil McBee]       β”‚
β”‚ To My Wife                 β”‚ [Jaki Byard,Ron Carter,Roy Haynes]           β”‚
β”‚ Wanton Spirit              β”‚ [Kenny Barron,Charlie Haden,Roy Haynes]      β”‚
β”‚ Love Letters               β”‚ [Roy Haynes,Dave Holland,John Scofield]      β”‚
β”‚ Lover Come Back to Me      β”‚ [Roy Haynes,Oscar Pettiford,Bud Powell]      β”‚
β”‚ Speak Low                  β”‚ [Roy Haynes,Eddie DeHaas,Richard Wyands]     β”‚
β”‚ Processional               β”‚ [George Cables,Roy Haynes,Kenneth Nash]      β”‚
β”‚ Think of One               β”‚ [Chick Corea,Roy Haynes,Miroslav VitouΕ‘]     β”‚
β”‚ Mr. KJ                     β”‚ [Roy Haynes,Gary Peacock,Michel Petrucciani] β”‚
β”‚ I've Got You Under My Skin β”‚ [Roy Haynes,Charles Mingus,Bud Powell]       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
(123 tuples, 20 shown)
(2 columns)
Time: 0.98ms (compiling), 17.62ms (executing)

What trios has Roy Haynes performed in and how often?

kuzu> MATCH (p:Person)-[r:PARTICIPATED_IN]->(perf:Performance) 
      WHERE 'musician' IN r.roles 
      WITH perf, COLLECT(p.name) AS person_coll, COUNT(p) AS performerCount 
      WHERE performerCount = 3 AND "Roy Haynes" in person_coll
      WITH count(perf) AS perf_count, person_coll as trio
      ORDER BY perf_count DESC LIMIT 100
      RETURN DISTINCT trio, perf_count;
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ trio                                         β”‚ perf_count β”‚
β”‚ STRING[]                                     β”‚ INT64      β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ [Chick Corea,Roy Haynes,Miroslav VitouΕ‘]     β”‚ 20         β”‚
β”‚ [Roy Haynes,Gary Peacock,Michel Petrucciani] β”‚ 12         β”‚
β”‚ [Roy Haynes,Duke Jordan,Wilbur Little]       β”‚ 11         β”‚
β”‚ [Kenny Barron,Charlie Haden,Roy Haynes]      β”‚ 10         β”‚
β”‚ [Roy Haynes,Danilo PΓ©rez,John Patitucci]     β”‚ 10         β”‚
β”‚ [Roy Haynes,Dave Holland,Pat Metheny]        β”‚ 9          β”‚
β”‚ [Roy Haynes,Oscar Pettiford,Bud Powell]      β”‚ 8          β”‚
β”‚ [Jaki Byard,Ron Carter,Roy Haynes]           β”‚ 7          β”‚
β”‚ [Roy Haynes,Eddie DeHaas,Richard Wyands]     β”‚ 7          β”‚
β”‚ [Roy Haynes,Charles Mingus,Bud Powell]       β”‚ 6          β”‚
β”‚                      Β·                       β”‚     Β·      β”‚
β”‚                      Β·                       β”‚     Β·      β”‚
β”‚                      Β·                       β”‚     Β·      β”‚
β”‚ [Hampton Hawes,Roy Haynes,Cecil McBee]       β”‚ 4          β”‚
β”‚ [Roy Haynes,Fred Lacey,Rodney Richardson]    β”‚ 3          β”‚
β”‚ [Roy Haynes,Dave Holland,John Scofield]      β”‚ 2          β”‚
β”‚ [Roy Haynes,Tommy Potter,Bud Powell]         β”‚ 2          β”‚
β”‚ [Kenny Barron,Roy Haynes,Christian McBride]  β”‚ 1          β”‚
β”‚ [Richard Davis,Roy Haynes,Andrew Hill]       β”‚ 1          β”‚
β”‚ [Roy Haynes,Chick Corea,Miroslav VitouΕ‘]     β”‚ 1          β”‚
β”‚ [Adrian Acia,Joe Benjamin,Roy Haynes]        β”‚ 1          β”‚
β”‚ [Chick Corea,Roy Haynes,Christian McBride]   β”‚ 1          β”‚
β”‚ [George Cables,Roy Haynes,Kenneth Nash]      β”‚ 1          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
(21 tuples, 20 shown)
(2 columns)
Time: 1.20ms (compiling), 13.60ms (executing)

Shortest path queries

What is the single shortest path between Roy Haynes and Chick Corea?

kuzu> MATCH p = (a)-[part:PARTICIPATED_IN* SHORTEST 1..3 ]-(b)
      WHERE a.name = 'Roy Haynes' AND b.name = 'Chick Corea'
      RETURN length(part) AS length;
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ length β”‚
β”‚ INT64  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 2      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜
(1 tuple)
(1 column)
Time: 1.93ms (compiling), 4.72ms (executing)

How many shortest paths are there between Roy Haynes and Chick Corea?

kuzu> MATCH p = (a)-[part:PARTICIPATED_IN* ALL SHORTEST 1..3 ]-(b)
      WHERE a.name = 'Roy Haynes' AND b.name = 'Chick Corea'
      RETURN COUNT(*) AS num_shortest_path;
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ num_shortest_path β”‚
β”‚ INT64             β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 53                β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
(1 tuple)
(1 column)
Time: 2.04ms (compiling), 5.46ms (executing)

What is the shortest path between Roy Haynes and Horace Silver where both participated as musicians?

MATCH p = ((a:Person {name: "Roy Haynes"})-[part:PARTICIPATED_IN* SHORTEST (r, _ | WHERE "musician" in r.roles)]-(b:Person {name: "Horace Silver"})) 
RETURN p

Alt text

What is the shortest path between Roy Haynes and Jason Moran regardless of the participation role?

MATCH p = ((a:Person {name: "Roy Haynes"})-[part:PARTICIPATED_IN* SHORTEST]-(b:Person {name: "Jason Moran"})) 
RETURN p

Alt text

About

jazz discography represented as a structured property graph

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages