"comics" is hard: domain modeling challenges

Post on 27-Jan-2015

110 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

Welcome

“Comics” Is Hard:Domain Modeling ChallengesBen Scofield – Viget Labs

#?forben

#?forben

Modeling

flickr: bunchofpants

Crowdsourcing

#?forben

flickr: ropesandpulleys

flickr: paopix

person rating rater

just because you candoesn’t mean you should

http://thisisindexed.com/2009/02/just-because-you-can-doesnt-mean-you-should/

just because you candoesn’t mean you should

http://thisisindexed.com/2009/02/just-because-you-can-doesnt-mean-you-should/

just because you candoesn’t mean you should

http://thisisindexed.com/2009/02/just-because-you-can-doesnt-mean-you-should/

person rating

person

avg / # ratings

The ChallengeDeciding what to model

Biology

#?forben

Linnean taxonomy

KingdomPhylumClassOrderFamilyGenusSpecies

flickr: pandiyan

AnimaliaChordataMammaliaCarnivoraFelidaePantheratigris

flickr: pandiyan

kingdom phylum class

genus family order

species organism

ProblemThe levels are imaginary

kingdom phylum class

genus family order

species organism

subphylum

superclass subclass

superordersuborder

superfamily

subfamily

subgenus

variety

subspecies

kingdom phylum class

genus family order

species organism

subphylum

superclass subclass

superordersuborder

superfamily

subfamily

subgenus

variety

subspecies

?

taxon taxontaxon species organism

variety

subspecies

Speciesflickr: cpurrin1

Reproductive Isolationflickr: superciliousness

Reproductive Isolationflickr: superciliousness

flickr: jassen

flickr: niznoz

Numerical taxonomy

Cladistics

taxon taxon organismclade

ProblemCladistics is historical and

counter-intuitive

flickr: goellnitz

flickr: goellnitzflickr: pcoin

The ChallengeUnclear, imprecise domain

comics

#?forben

publisher title issue

publisher imprint title

issue

publisher imprint title

issue volume

publisher imprint title

issue volume

trade

publisher imprint title

issue volume

tradevariant

publisher imprint title

issue volume

tradevariant

name

publisher imprint title

issue

nested set?volume

tradevariant

name

?

“Experience CIVIL WAR and its major tie-ins from CIVIL WAR: FRONT LINE and FANTASTIC FOUR in chronological order! ...”

publisher imprint title

issue

nested set?volume

tradevariant

name

storyline ??

publisher

imprint

title

issue

nested set?volume

tradevariant

name

storyline

@#&*!

horror

superhero

Martial Arts

noir

Pirate

science fiction

independent

historical

genres?

publisherimprint

title

issue

nested set?volume

tradevariant

name

storyline

genre@#&*!

The ChallengeComplete insanity

databases unite!

#?forben#?forben

Alternatives

flickr: ikhnaton2

http://thisisindexed.com/2009/02/just-because-you-can-doesnt-mean-you-should/

#?forben

Key-Value

Cassandra*

Tokyo CabinetRedis

Project Voldemort

require "rubygems"require "tokyocabinet" include TokyoCabinet bdb = BDB::new # B-Tree database; keys may have multiple valuesbdb.open("casket.bdb", BDB::OWRITER | BDB::OCREAT) # store records in the database, allowing duplicatesbdb.putdup("key1", "value1")bdb.putdup("key1", "value2")bdb.put("key2", "value3")bdb.put("key3", "value4") # retrieve all valuesp bdb.getlist("key1")# => ["value1", "value2"] # range query, find all matching keysp bdb.range("key1", true, "key3", true)# => ["key1", "key2", "key3"]

http://www.igvita.com/2009/02/13/tokyo-cabinet-beyond-key-value-store/

Crowdsourcing x

Biology x

Comics x

#?forben

Document

{ 'name':'Ben Scofield', 'adjective':'awesomesauce'}

{ 'name':'Magic Pony', 'description':'It is a *lie*!'}

HTTP

Crowdsourcing ✓Biology ✓Comics x

{ 'name':'Ben Scofield', 'image’:‘http://whatevs.com/ben.jpg', ‘average_rating’:‘4.667’, ‘number_of_ratings’:’3’}

{ 'kingdom':'Animalia', ‘phylum’:‘Chordata’, ‘subphylum’:‘Vertebrata’, ‘class’:‘Mammalia’, ‘subclass’:‘Eutheria’, ‘order’:‘Carnivora’, ‘family’:‘Felidae’, ‘subfamily’:‘Panthernae’, ‘genus’:‘Pantera’, ‘species’:‘tigris’, ‘name’:‘Wanda’}

#?forben

Graph

Java

AllegroGraphJava / Lisp

http://neotechnology.com/why-neo

http://markorodriguez.com/Lectures_files/risk-symposium2009.pdf

flickr: 9948354@N08

Crowdsourcing x

Biology ✓Comics ✓

Felidae

001

tigris

Panthera

Panthernae

member

speciesof

Wanda

name

3

age

300

weight

genusof

Animalia

...

subfamilyof

genusof

Felidae

001

tigris

Panthera

Panthernae

member

speciesof

Wanda

name

3

age

300

weight

genusof

Animalia

...

subfamilyof

genusof

010

tigris

species

name

type

Picornaviridae

002

human

rhinovirus A

Rhinovirus

member

speciesof

genusof

Picornavirales

familyof

Group IV

orderof

Picornaviridae

002

human rhinovirus A

Rhinovirus

member

speciesof

genusof

Picornavirales

familyof

Group IV

orderof

Felidae

tigris

Panthera

Panthernae

speciesof

genusof

subfamilyof

genusof

001

member

Carnivora

familyof

Mammalia

orderof

class group

DC

001

DC Universe

titleof

imprintof

titleof

Volume 1

volumeof

Green

Lantern nameof

Sci Fi

genreof

genreof

genreof

002

issueof genreof

Superhero

Issue #2precedes

003

coverof

#1

number

#?forbenflickr: joriel

Hybrid Solutions

Configuration ✓Caching ✓

Translations ✓

tagpost

document id

{ 'title':'Post Title' 'content':'Hello!' 'comments':["First!"]}

Thank You

ben scofield - @bscofield - http://www.viget.com/extend - http://www.speakerrate.com/bscofield

http://www.speakerrate.com/talks/1169

top related