2012 11-28 rich web data modeling with graphs-1

  • 429 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
429
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
10
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Data modeling . . . with graphs @PeterBellWednesday, November 28, 12
  • 2. - Terminology - Examples - Patterns - Key takeawaysAgendaWednesday, November 28, 12
  • 3. TerminologyWednesday, November 28, 12
  • 4. relational database tables columns records foreign keysWednesday, November 28, 12
  • 5. Wednesday, November 28, 12
  • 6. neo4j nodes relationships propertiesWednesday, November 28, 12
  • 7. Wednesday, November 28, 12
  • 8. Wednesday, November 28, 12
  • 9. indexesWednesday, November 28, 12
  • 10. Wednesday, November 28, 12
  • 11. indexesWednesday, November 28, 12
  • 12. traversalsWednesday, November 28, 12
  • 13. Wednesday, November 28, 12
  • 14. Wednesday, November 28, 12
  • 15. Wednesday, November 28, 12
  • 16. CypherWednesday, November 28, 12
  • 17. OO language - domain objects Object (graph|relational) mapping Java domain objects Java domain objects Hibernate Spring Data Neo4j SQL Cypher Tables/rows/columns/FKs Nodes/relationships/propertiesWednesday, November 28, 12
  • 18. ExamplesWednesday, November 28, 12
  • 19. Wednesday, November 28, 12
  • 20. Wednesday, November 28, 12
  • 21. Article CATEGORIZED_UNDER WRITTEN_BY ADDED_TO Category Author Comment WRITTEN_BY FOLLOWS CommenterWednesday, November 28, 12
  • 22. GeographicWednesday, November 28, 12
  • 23. BioinformaticWednesday, November 28, 12
  • 24. PatternsWednesday, November 28, 12
  • 25. start with a whiteboardWednesday, November 28, 12
  • 26. Wednesday, November 28, 12
  • 27. Handling entitiesWednesday, November 28, 12
  • 28. ...provide a familiar and consistent Spring based programming model while retaining store specific features and capabilitiesWednesday, November 28, 12
  • 29. Wednesday, November 28, 12
  • 30. Restaurant - name - address - cuisine - comment RECOMMENDS_THE - rating User - first_name - last_nameWednesday, November 28, 12
  • 31. Wednesday, November 28, 12
  • 32. Wednesday, November 28, 12
  • 33. Restaurant - name - address - cuisine RECOMMENDS_A - comment - rating User - first_name - last_nameWednesday, November 28, 12
  • 34. Restaurant SERVES - name Cuisine - address - comment RECOMMENDS_THE - rating User - first_name - last_nameWednesday, November 28, 12
  • 35. SERVES Taj Mahal Indian cuisine - “Great garlic nan and tandoori” RECOMMENDS - 4/5 Fred JonesWednesday, November 28, 12
  • 36. read sentences from graphWednesday, November 28, 12
  • 37. Wednesday, November 28, 12
  • 38. Indexes for starting pointsWednesday, November 28, 12
  • 39. User - email_address - first_name - last_nameWednesday, November 28, 12
  • 40. Relationships for queryingWednesday, November 28, 12
  • 41. User - email_address - first_name - last_name - shipping_state Select * where shipping_state = ‘Ca’?Wednesday, November 28, 12
  • 42. User State - email_address LIVES_IN - name - first_name - code - last_nameWednesday, November 28, 12
  • 43. Jess LIVES_IN California LIVES_IN LIVES_IN Andreas AndrewWednesday, November 28, 12
  • 44. Use meaningful namesWednesday, November 28, 12
  • 45. Language Country - language_id - country_id - name - name - word count - flag url - country_idWednesday, November 28, 12
  • 46. Language LanguageCountry Country - language_id - language_id - country_id - name - country_id - name - word count - spoken_since - flag urlWednesday, November 28, 12
  • 47. Language LanguageCountry Country - language_id - language_id - country_id - name - country_id - name - word count - spoken_since - flag urlWednesday, November 28, 12
  • 48. Language Country IS_SPOKEN_IN - name - name - word count - flag urlWednesday, November 28, 12
  • 49. Language Country IS_SPOKEN_IN - name - name - word count - flag url SIMILAR_TO ADJACENT_TOWednesday, November 28, 12
  • 50. Anti-PatternsWednesday, November 28, 12
  • 51. Hefty nodesWednesday, November 28, 12
  • 52. User - first_name - ship_address - last_name - ship_city - email_address - ship_state - bill_address - ship_zip - bill_city - regular_customer - bill_state - bill_zipWednesday, November 28, 12
  • 53. BILLS_TO Address User - first_name - street_address - last_name - city - email_address - state - regular_customer SHIPS_TO - zipWednesday, November 28, 12
  • 54. BILLS_TO User Address - first_name - street_address - last_name SHIPS_TO - city - email_address - state - zip IS_A Regular customerWednesday, November 28, 12
  • 55. Jess IS_A Regular customer IS_A IS_A Andreas AndrewWednesday, November 28, 12
  • 56. Missing nodesWednesday, November 28, 12
  • 57. EMAILED Peter JimWednesday, November 28, 12
  • 58. SENT TO Peter Email JimWednesday, November 28, 12
  • 59. Hot nodeWednesday, November 28, 12
  • 60. Wednesday, November 28, 12
  • 61. Key takeawaysWednesday, November 28, 12
  • 62. Indexes for starting points Relationships for queries Read sentences from the graph Look out for verb’d nounsWednesday, November 28, 12
  • 63. - Indexes for starting points - Relationships for queries - Read sentences from the graph - Look out for verb’d nounsData modeling with graphs @PeterBellWednesday, November 28, 12