Michael McKenzie
6th Degree UFAF Black Belt October 10, 2019
NODES 2019 Modeling a Tournament in Neo4j Michael McKenzie 6th - - PowerPoint PPT Presentation
NODES 2019 Modeling a Tournament in Neo4j Michael McKenzie 6th Degree UFAF Black Belt October 10, 2019 Problem United Fighting Arts Federation (UFAF) Martial arts organization founded by Chuck Norris International Training
6th Degree UFAF Black Belt October 10, 2019
○ Martial arts organization founded by Chuck Norris
○ Hosted annually in Las Vegas, NV, USA ○ Seminars ○ Tournament ■ 10 Rings ■ 257 Divisions !!!!
Currently organized by hand with spreadsheets and manual manipulation Can we improve the scheduling process and efficiency?
#1 Competitor registers
:Person :Registr ation :Divisio n :Ring :Event :HAS_REGIS TERED :COMPETES _IN :OCCURS_IN :NEXT_TO :CONTAINS
1. Person registers 2. Assigned to divisions 3. Divisions assigned to rings 4. Judges assigned to rings #2 Assign competitor to division #3 Assign divisions to rings #4 Assign judges to rings
Ring 1 Ring 2 Ring 3 Ring 4 Ring 9 Ring 8 Ring 7 Ring 6 Ring 10 Ring 5
○ Age ○ Sex ○ Rank Group ■ Beginner ■ Intermediate ■ Advanced ■ Black Belt
○ Traditional Kata ○ Open Kata ○ Weapons Kata ○ Sparring
Divisions
○ # competitors per division ○ Largest to smallest ○ Sparring always last
○ Total # competitors ○ Largest to smallest
○ Age ○ Sex ○ Rank Type ■ Beginner ■ Intermediate ■ Advanced ■ Black Belt
○ Traditional Kata ○ Open Kata ○ Weapons Kata ○ Sparring
Example:
Age: 16-17 Sex: Male Rank Type: Black Belt Division Types: Traditional Kata (5) Open Kata (3) Weapons Kata (7) Sparring (8)
○ # competitors per division ○ Largest to smallest ○ Sparring always last
Example: “Unsorted”
Age: 16-17 Sex: Male Rank Type: Black Belt Division Types: Traditional Kata (5) Open Kata (3) Weapons Kata (7) Sparring (8)
Example: “Sorted”
Age: 16-17 Sex: Male Rank Type: Black Belt Division Types: Weapons Kata (7) Traditional Kata (5) Open Kata (3) Sparring (8)
○ Total # competitors ∑(all comps in divs in group) ○ Largest to smallest
Ring 1 Ring 2 Ring 3 Ring 4 Ring 9 Ring 8 Ring 7 Ring 6 Ring 10 Ring 5
○ Limit school affiliation to predefined schools ○ Enforce logic restrictions based on forms selections
○ Competitor web-app ○ Tournament dashboard
Programmer at CALIBRE Systems, Inc. GraphDB DC Organizer (www.meetup.com/GraphDB-DC/)
Washington, DC, USA
Contact
web: mckenzma.com LinkedIn: www.linkedin.com/in/mckenzma/ GitHub: github.com/mckenzma Neo4j Community: community.neo4j.com/u/mckenzma/summary
(graphs)-[:ARE]->(everywhere)
1. Easy: Who is the Founder of the United Fighting Arts Federation 2. Medium: How many divisions are there?
a. 100 b. 257 c. 365
3. Hard: What is the name of the method currently being used to assign division groups to rings? Answer here: r.neo4j.com/hunger-games