[{"data":1,"prerenderedAt":112},["ShallowReactive",2],{"project-10037331":3},{"id":4,"name":5,"line":5,"line_source":6,"title":7,"url":8,"domain":9,"maker":10,"posted_at":11,"year":12,"points":13,"comments":14,"rank_in_year":15,"shown_in_year":16,"top":17,"tier":18,"category":19,"subcategory":20,"format":21,"keywords":22,"reception":26,"sentiment":27,"stance_mix":28,"scored_comments":30,"aspects":31,"strip":33,"post_text":27,"what":35,"said":49,"maker_in_thread":63,"shape":68,"grid":71,"attempts":75,"same_week":76,"maker_shows":70,"maker_hidden":105,"reader_version":106,"card":107},"10037331","Building a JavaScript Recommendation Engine with Graph Theory","title","Show HN: Building a JavaScript Recommendation Engine with Graph Theory","https:\u002F\u002Fmedium.com\u002F@keithwhor\u002Fusing-graph-theory-to-build-a-simple-recommendation-engine-in-javascript-ec43394b35a3","medium.com","keithwhor",1439240732,2015,40,2,720,2565,29,"shown","ai","recommendation engine","library",[20,23,24,25],"graph theory","javascript","collaborative filtering","quiet",null,{"positive":29,"neutral":30,"mixed":29,"critical":29},0,1,{"design":32},{"positive":29,"critical":29},[34,29],3,{"problem":36,"audience":27,"pricing":27,"motivation":27,"time_to_build":27,"stack":42,"openness":48,"stage":48,"team_size":48},{"value":37,"source":38,"evidence":39},"Generating recommendations from relationships between items","inferred",[40],{"id":41},"post",[43],{"value":44,"source":45,"evidence":46},"JavaScript","maker",[47],{"id":41},"unknown",{"praise":50,"objections":51,"requests":52,"questions":53,"alternatives":62},[],[],[],[54],{"value":55,"source":56,"evidence":57},"Why not store edges in a database instead of recalculating them","commenter",[58],{"id":59,"by":60,"text":61},"10038906","tayo42","Any reason you why you wouldn't store edges in a database? Seems like they don't ever change and your constantly recalculating them?",[],{"comments":30,"answered":30,"key":64},[65],{"id":66,"text":67},"10039092","In our case, they're already in a database. You can generate them from a simple query. (But there are a ton of rows in some tables. You don't want to query from a SQL database…",{"commenters":14,"max_depth":14,"maker_replies":30,"first_comment_mins":69,"lifespan_hours":70},368,7,[72,74],[59,29,34,73,60,29],"project\u002Fneutral\u002Fdesign",[66,29,29,73,10,30],[],[77,82,87,91,96,101],{"id":78,"name":79,"points":80,"category":81},"10035008","Big List of Naughty Strings",514,"dev_tools",{"id":83,"name":84,"points":85,"category":86},"10022717","Is it vulnerable",175,"security_privacy",{"id":88,"name":89,"points":90,"category":81},"10050949","NaSC",127,{"id":92,"name":93,"points":94,"category":95},"10049631","openlistings.co",94,"web_saas",{"id":97,"name":98,"points":99,"category":100},"10029078","tray_rust",77,"creative",{"id":102,"name":103,"points":99,"category":104},"10033605","pulse.turbobytes.com","infrastructure",false,"v2",{"id":108,"name":5,"line":5,"ai":105,"cat":19,"year":12,"points":13,"comments":14,"rec":26,"s":27,"top":17,"kw":109,"maker":10,"domain":9,"tier":18,"attempts":29,"strip":110,"url":8,"mix":111,"praise":-1,"objection":-1,"sub":20},10037331,[20,23,24,25],"30",[29,30,29,29],1794036534329]