Your SlideShare is downloading. ×
0
Keeping User Generated Content Flexible with Neo4j - Greg Jordan @ GraphConnect Chicago 2013
Keeping User Generated Content Flexible with Neo4j - Greg Jordan @ GraphConnect Chicago 2013
Keeping User Generated Content Flexible with Neo4j - Greg Jordan @ GraphConnect Chicago 2013
Keeping User Generated Content Flexible with Neo4j - Greg Jordan @ GraphConnect Chicago 2013
Keeping User Generated Content Flexible with Neo4j - Greg Jordan @ GraphConnect Chicago 2013
Keeping User Generated Content Flexible with Neo4j - Greg Jordan @ GraphConnect Chicago 2013
Keeping User Generated Content Flexible with Neo4j - Greg Jordan @ GraphConnect Chicago 2013
Keeping User Generated Content Flexible with Neo4j - Greg Jordan @ GraphConnect Chicago 2013
Keeping User Generated Content Flexible with Neo4j - Greg Jordan @ GraphConnect Chicago 2013
Keeping User Generated Content Flexible with Neo4j - Greg Jordan @ GraphConnect Chicago 2013
Keeping User Generated Content Flexible with Neo4j - Greg Jordan @ GraphConnect Chicago 2013
Keeping User Generated Content Flexible with Neo4j - Greg Jordan @ GraphConnect Chicago 2013
Keeping User Generated Content Flexible with Neo4j - Greg Jordan @ GraphConnect Chicago 2013
Keeping User Generated Content Flexible with Neo4j - Greg Jordan @ GraphConnect Chicago 2013
Keeping User Generated Content Flexible with Neo4j - Greg Jordan @ GraphConnect Chicago 2013
Keeping User Generated Content Flexible with Neo4j - Greg Jordan @ GraphConnect Chicago 2013
Keeping User Generated Content Flexible with Neo4j - Greg Jordan @ GraphConnect Chicago 2013
Keeping User Generated Content Flexible with Neo4j - Greg Jordan @ GraphConnect Chicago 2013
Keeping User Generated Content Flexible with Neo4j - Greg Jordan @ GraphConnect Chicago 2013
Keeping User Generated Content Flexible with Neo4j - Greg Jordan @ GraphConnect Chicago 2013
Keeping User Generated Content Flexible with Neo4j - Greg Jordan @ GraphConnect Chicago 2013
Keeping User Generated Content Flexible with Neo4j - Greg Jordan @ GraphConnect Chicago 2013
Keeping User Generated Content Flexible with Neo4j - Greg Jordan @ GraphConnect Chicago 2013
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Keeping User Generated Content Flexible with Neo4j - Greg Jordan @ GraphConnect Chicago 2013

545

Published on

In this session, we'll examine how Crowdplace has used Neo4j to keep connected, user-generated content flexible and fast. We'll first take a look at how Neo4j helped us achieve a manageable & …

In this session, we'll examine how Crowdplace has used Neo4j to keep connected, user-generated content flexible and fast. We'll first take a look at how Neo4j helped us achieve a manageable & dynamic structure for content as well as how it compares to our experience with other persistence alternatives. Next, we'll take a look at how we used spring data + Neo4j and related libraries to create a REST service to support different UIs. Finally, we’ll share tips & caveats in migrating from mysql, some interesting cypher queries and next steps in expanding use of Neo4j.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
545
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
15
Comments
0
Likes
2
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. Innovate. Share. Connect.Chicago June 12-13Keeping User Generated ContentKeeping User Generated ContentFlexible with Neo4jFlexible with Neo4jGreg JordanGreg Jordan
  • 2. My background• Manager of Web Development at Methodist Le BonheurHealthcare• Ph.D. candidate focusing on qualitative usability• 15 years of programming experience• Java• Content management systems• Mobile development (iOS, Android and, yes, Blackberry)• Working with Neo4j for about a year
  • 3. Caveats• Not just about Neo4j• Three weeks ago• Work in progress
  • 4. Agenda• Problems• Motivation & Goals• Tech stack• Why Neo4j• Examples• Bit of code
  • 5. Problems• Projects• Form Builder• Social Forum
  • 6. Motivation & Goals• Project Motivation• It’s the right tool• Growth of graph DB usage• Goals• Build UI to create flexible structure• Generate input markup from structure• Generate input rules from structure• Generate list & item display markup• Speed kills
  • 7. Now what?
  • 8. Tech stack
  • 9. Mustache• "logic-less": no explicit control flow statements• all control driven by data• strong "separating logic from presentation”• it is impossible to embed application logic in the Mustache templates** Depends on how you define logic
  • 10. Mustache.javaSam Pullara@sampullara• Works well with progressiveenhancement• Mock data is replaced at runtime• Used at twitter & netflix
  • 11. Spring Data Neo4j• Object-Graph-Mapping of annotated POJO entities• Neo4jTemplate with convenient API, exception translation and optionaltransaction management• Cross-store support for partial JPA - Graph Entities
  • 12. Using Spring Data Neo4jMichael Hunger@mesirii
  • 13. Why Neo4j?• A native java API• Access via a RESTful server protocol• There are lots of language bindings• Proven with customers like Cisco, Adobe and Jive
  • 14. Why Neo4j?• Whiteboard friendly• Relationships have 1st class status
  • 15. Why Neo4j?• Schema-less• Semi-structured data• Speed at getting connected data
  • 16. Examples – Form Builder
  • 17. Examples – Social Forum
  • 18. Demo & Bit of Code• Mustache• Spring Data Neo4j• Java reflection
  • 19. Questions?Greg Jordan@gmjordan

×