NODES 2019 Modeling a Tournament in Neo4j Michael McKenzie 6th - - PowerPoint PPT Presentation

nodes 2019 modeling a tournament in neo4j
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Michael McKenzie

6th Degree UFAF Black Belt October 10, 2019

NODES 2019 Modeling a Tournament in Neo4j

slide-2
SLIDE 2
  • United Fighting Arts Federation (UFAF)

○ Martial arts organization founded by Chuck Norris

  • International Training Convention (ITC)

○ 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?

Problem

slide-3
SLIDE 3

Steps

#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

slide-4
SLIDE 4

Schema

slide-5
SLIDE 5

Problem

Ring 1 Ring 2 Ring 3 Ring 4 Ring 9 Ring 8 Ring 7 Ring 6 Ring 10 Ring 5

slide-6
SLIDE 6
  • Division “Groups”

○ Age ○ Sex ○ Rank Group ■ Beginner ■ Intermediate ■ Advanced ■ Black Belt

  • Division Types

○ Traditional Kata ○ Open Kata ○ Weapons Kata ○ Sparring

  • Order Division “Groups”

Divisions

○ # competitors per division ○ Largest to smallest ○ Sparring always last

  • Order Division “Groups”

○ Total # competitors ○ Largest to smallest

Scheduling Rules & Division “Groups”

slide-7
SLIDE 7
  • Group Characteristics

○ Age ○ Sex ○ Rank Type ■ Beginner ■ Intermediate ■ Advanced ■ Black Belt

  • Division Types

○ 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)

Scheduling Rules & Division Groups

slide-8
SLIDE 8
  • Order Divisions within Group

○ # competitors per division ○ Largest to smallest ○ Sparring always last

Scheduling Rules & Division Groups

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)

slide-9
SLIDE 9
  • Order Groups

○ Total # competitors ∑(all comps in divs in group) ○ Largest to smallest

  • Cross-Walk

Ring Assignments

Ring 1 Ring 2 Ring 3 Ring 4 Ring 9 Ring 8 Ring 7 Ring 6 Ring 10 Ring 5

slide-10
SLIDE 10

GRANDstack Application

slide-11
SLIDE 11

Next Steps...

  • Complete GRANDstack prototype application
  • Connect registration to UFAF website

○ Limit school affiliation to predefined schools ○ Enforce logic restrictions based on forms selections

  • Create admin & user roles
  • (No current metrics) Collect metrics to adjust assigning divisions
  • Assign judges
  • Competitor facing UI

○ Competitor web-app ○ Tournament dashboard

slide-12
SLIDE 12

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

About me...

(graphs)-[:ARE]->(everywhere)

slide-13
SLIDE 13

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

Hunger Games Questions for “Modeling a Tournament in Neo4j”