This document summarizes a presentation about keeping user generated content flexible using Neo4j. It introduces the speaker and his background in programming. It then discusses some caveats and outlines the agenda which includes problems, motivation and goals, the tech stack including Mustache and Spring Data Neo4j, why Neo4j was chosen, examples of a form builder and social forum, and a demo with some code. The presentation aims to show how Neo4j can be used to build a flexible UI for creating structured content and generating markup from that structure.
Keeping User Generated Content Flexible with Neo4j - Greg Jordan @ GraphConnect Chicago 2013
1. Innovate. Share. Connect.
Chicago June 12-13
Keeping User Generated ContentKeeping User Generated Content
Flexible with Neo4jFlexible with Neo4j
Greg JordanGreg Jordan
2. My background
• Manager of Web Development at Methodist Le Bonheur
Healthcare
• 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
13. 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
15. Spring Data Neo4j
• Object-Graph-Mapping of annotated POJO entities
• Neo4jTemplate with convenient API, exception translation and optional
transaction management
• Cross-store support for partial JPA - Graph Entities
17. 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