Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
GRAPHS WITH MONGOSCOTT MESSINGER
Friday, September 9, 2011
WHO AM I?
Friday, September 9, 2011
WHO AM I?
Friday, September 9, 2011
WHO AM I?
Friday, September 9, 2011
TREE STRUCTURES
awesome_nested_set (left/right columns)
ancestry (materialized path)
acts_as_tree (parent_id)
Friday, September 9, 2011
ONE AND ONLY ONE PARENT
Friday, September 9, 2011
DIRECTED ACYCLIC GRAPHNODE CAN HAVE MULTIPLE PARENTS
Friday, September 9, 2011
Sub-‐Unit A
Sub-‐Unit B
Sub-‐Unit C
Unit 1Geometry
Baltimore City:4th Grade Math
Friday, September 9, 2011
Sub-‐Unit A
Sub-‐Unit B
Sub-‐Unit C
Unit 1Geometry
Baltimore City:4th Grade Math
Sub-‐Unit B
Sub-‐Unit C
DC:4th Grade Math
Unit 1Geometry
Sub-‐Unit A
Friday, September 9, 2011
Sub-‐Unit A
Sub-‐Unit B
Sub-‐Unit C
Unit 1Geometry
Baltimore City:4th Grade Math
Sub-‐Unit B
Sub-‐Unit C
DC:4th Grade Math
Unit 1Geometry
Sub-‐Unit A
Multiple Parents :-‐(
Sub-‐Unit A
Friday, September 9, 2011
MONGOMAPPER
class Unit include MongoMapper::Document key :children_ids, Array many :children, :in => :children_ids, :class_name => "Unit"end
Friday, September 9, 2011
MONGOMAPPER
class Unit include MongoMapper::Document key :children_ids, Array many :children, :in => :children_ids, :class_name => "Unit"end
# in a controller@unit = Unit.find(params[:id])
Friday, September 9, 2011
MONGOMAPPER
class Unit include MongoMapper::Document key :children_ids, Array many :children, :in => :children_ids, :class_name => "Unit"end
# in a controller@unit = Unit.find(params[:id])@parents = Unit.where(:children_ids => @unit.id).all
Friday, September 9, 2011
Sub-‐Unit A
Sub-‐Unit B
Sub-‐Unit C
Unit 1Geometry
Baltimore City:4th Grade Math
Sub-‐Unit B
Sub-‐Unit C
DC:4th Grade Math
Unit 1Geometry
Sub-‐Unit ASub-‐Unit A
THE BREADCRUMB PROBLEM
Friday, September 9, 2011
Sub-‐Unit A
Sub-‐Unit B
Sub-‐Unit C
Unit 1Geometry
Baltimore City:4th Grade Math
Sub-‐Unit B
Sub-‐Unit C
DC:4th Grade Math
Unit 1Geometry
Sub-‐Unit ASub-‐Unit A
THE BREADCRUMB PROBLEM
4th Grade Math > Unit 1: Geometry > Sub-‐Unit C
Friday, September 9, 2011
Sub-‐Unit A
Sub-‐Unit B
Sub-‐Unit C
Unit 1Geometry
Baltimore City:4th Grade Math
Sub-‐Unit B
Sub-‐Unit C
DC:4th Grade Math
Unit 1Geometry
Sub-‐Unit ASub-‐Unit A
THE BREADCRUMB PROBLEM
4th Grade Math > Unit 1: Geometry > Sub-‐Unit C
Friday, September 9, 2011
Sub-‐Unit A
Sub-‐Unit B
Sub-‐Unit C
Unit 1Geometry
Baltimore City:4th Grade Math
Sub-‐Unit B
Sub-‐Unit C
DC:4th Grade Math
Unit 1Geometry
Sub-‐Unit ASub-‐Unit A
THE BREADCRUMB PROBLEM
4th Grade Math > Unit 1: Geometry > Sub-‐Unit C
Friday, September 9, 2011
MONGOMAPPER
Friday, September 9, 2011
MONGOMAPPER
class Unit include MongoMapper::Document key :children_ids, Array many :children, :in => :children_ids, :class_name => "Unit"
Friday, September 9, 2011
MONGOMAPPER
class Unit include MongoMapper::Document key :children_ids, Array many :children, :in => :children_ids, :class_name => "Unit"
key :course_ids, Array many :courses, :in => :course_ids, :class_name => "Course"end# in a controller@unit = Unit.find(params[:id])@course = Course.find(params[:course_id])
Friday, September 9, 2011
MONGOMAPPER
class Unit include MongoMapper::Document key :children_ids, Array many :children, :in => :children_ids, :class_name => "Unit"
key :course_ids, Array many :courses, :in => :course_ids, :class_name => "Course"end# in a controller@unit = Unit.find(params[:id])@course = Course.find(params[:course_id])
# to find a parent@parent = Unit.where(:children_ids => @unit.id, :course_ids => @course.id).first
Friday, September 9, 2011
MONGOMAPPER
class Unit include MongoMapper::Document key :children_ids, Array many :children, :in => :children_ids, :class_name => "Unit"
key :course_ids, Array many :courses, :in => :course_ids, :class_name => "Course"end# in a controller@unit = Unit.find(params[:id])@course = Course.find(params[:course_id])
# to find a parent@parent = Unit.where(:children_ids => @unit.id, :course_ids => @course.id).first
Friday, September 9, 2011
Sub-‐Unit A
Sub-‐Unit B
Sub-‐Unit C
Unit 1Geometry
Baltimore City:4th Grade Math
Sub-‐Unit B
Sub-‐Unit C
DC:4th Grade Math
Unit 1Geometry
Sub-‐Unit ASub-‐Unit A
THE BREADCRUMB PROBLEM SOLVED
4th Grade Math > Unit 1: Geometry > Sub-‐Unit C
Friday, September 9, 2011
LET’S REVIEW
Friday, September 9, 2011
LET’S REVIEW
Array keys
make modeling trees simple
give us order for free
Friday, September 9, 2011
QUESTIONS?Scott Messinger -‐ @scottmessinger
Friday, September 9, 2011