Innovate. Share. Connect.Boston June 10-11Whats new in Neo4j 2.0Whats new in Neo4j 2.0Andreas Kollegger, Neo TechnologyAnd...
Neo4j 2.0★ 3 questions: Why? What?How?★ with just One answer
Why 2.0?
Why 2.0?• Neo4j 1.10 could be an AM radio station• Wanted to seem web-savvy before it goes to 3.0• We were in the mood to ...
(0.x) --> (1.x) --> (2.x)• 0.x was about embedded java• 1.x introduced the server and REST• 2.x ease of use, big data, clo...
This guy
Focus on Cypher• Cypher, a carefully crafted language for working withgraphs• Declarative, friendly, easy to read and writ...
What is new in 2.0?
There will besome sad Danessome sad Danes"Once you label me,you negate me.”- Søren Kierkegaard
• Simply: a label identifies a set of nodes• Nodes can have multiple labels• Find nodes by label• Constrain properties and...
Find friends who like cheeseMATCH (max:People)-[:FRIENDS]->(cheesy: People),(cheesy)-[:LIKE]->(cheese:Things)WHERE max.nam...
Schema Indexing• Indexes for labels, based on a property• Simple lookups for now• Unique indexing coming soon• Full-text, ...
MERGE operation• a combination of MATCH + CREATE• replaces CREATE UNIQUE• attempts to MATCH, with specified properties and...
• begin, commit, or rollback a transaction• transaction as RESTful resource• issue multiple statements per request• multip...
Anything else?• Performance improvements• Breaking changes to some APIs (read CHANGES.txt)• Migration of "legacy" indexes ...
How to use labels?
Label - to identifyname: Ford PrefectNINO: 122-762-9255HIKE: 415-484-6364UKUKH2G2H2G2
Label - to identifyUKUKH2G2H2G2MATCH (ford:H2G2) WHERE ford.HIKE = 415-484-6364 RETURN ford
Label - to avoid confusionname: Ford Prefect name: Ford PrefectAlienAlien CarCarMATCH (ford:Alien) WHERE ford.name = Ford ...
Label - special nodes• replace built-in reference node,with domain specific reference nodes4242AnswerAnswer
Labels - rules of thumb• Use a label to make queries easier to read & write• And to improve performance through indexing• ...
Is that it for 2.0?
Well, there is this...
What is new in 2.0?• Its all about Cypher, starting with• Labels, the first significant change in over 12 years• Mix in sc...
Thanks :)Any questions?Any questions?Any questions?@akollegger to keep in touch
What's New in Neo4j 2.0 - Andreas Kollegger @ GraphConnect Boston + Chicago 2013
What's New in Neo4j 2.0 - Andreas Kollegger @ GraphConnect Boston + Chicago 2013
What's New in Neo4j 2.0 - Andreas Kollegger @ GraphConnect Boston + Chicago 2013
Upcoming SlideShare
Loading in …5
×

What's New in Neo4j 2.0 - Andreas Kollegger @ GraphConnect Boston + Chicago 2013

6,761 views

Published on

Published in: Technology, Business
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
6,761
On SlideShare
0
From Embeds
0
Number of Embeds
3,931
Actions
Shares
0
Downloads
55
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

What's New in Neo4j 2.0 - Andreas Kollegger @ GraphConnect Boston + Chicago 2013

  1. 1. Innovate. Share. Connect.Boston June 10-11Whats new in Neo4j 2.0Whats new in Neo4j 2.0Andreas Kollegger, Neo TechnologyAndreas Kollegger, Neo Technology@akollegger@akollegger
  2. 2. Neo4j 2.0★ 3 questions: Why? What?How?★ with just One answer
  3. 3. Why 2.0?
  4. 4. Why 2.0?• Neo4j 1.10 could be an AM radio station• Wanted to seem web-savvy before it goes to 3.0• We were in the mood to break some things• Really, its because of a shift in focus
  5. 5. (0.x) --> (1.x) --> (2.x)• 0.x was about embedded java• 1.x introduced the server and REST• 2.x ease of use, big data, cloudwhich means a focus on...
  6. 6. This guy
  7. 7. Focus on Cypher• Cypher, a carefully crafted language for working withgraphs• Declarative, friendly, easy to read and write• One language, used everywhere• REST for management, Java for plugins,
  8. 8. What is new in 2.0?
  9. 9. There will besome sad Danessome sad Danes"Once you label me,you negate me.”- Søren Kierkegaard
  10. 10. • Simply: a label identifies a set of nodes• Nodes can have multiple labels• Find nodes by label• Constrain properties and values• (lightweight schema)• A simple idea, with powerful applicationsIntroducing Node Labels
  11. 11. Find friends who like cheeseMATCH (max:People)-[:FRIENDS]->(cheesy: People),(cheesy)-[:LIKE]->(cheese:Things)WHERE max.name = "Max De Marzi"AND cheese.name = "Cheese"RETURN cheesy;
  12. 12. Schema Indexing• Indexes for labels, based on a property• Simple lookups for now• Unique indexing coming soon• Full-text, other special indexes in planningCREATE INDEX ON :People(name)
  13. 13. MERGE operation• a combination of MATCH + CREATE• replaces CREATE UNIQUE• attempts to MATCH, with specified properties and labels• if match fails, new graph data is created• optional sub-clauses for handling ON CREATE, and ONMATCHMERGE (charlie { name:Charlie Sheen, age:10 })RETURN charlie
  14. 14. • begin, commit, or rollback a transaction• transaction as RESTful resource• issue multiple statements per request• multiple requests per transaction• compact response formatTransactional Cypher
  15. 15. Anything else?• Performance improvements• Breaking changes to some APIs (read CHANGES.txt)• Migration of "legacy" indexes (stop STARTing)• Mandatory transactions for all DB interactions• Improving installers (in progress)• Changing everything to be "all Cypher, all the time"
  16. 16. How to use labels?
  17. 17. Label - to identifyname: Ford PrefectNINO: 122-762-9255HIKE: 415-484-6364UKUKH2G2H2G2
  18. 18. Label - to identifyUKUKH2G2H2G2MATCH (ford:H2G2) WHERE ford.HIKE = 415-484-6364 RETURN ford
  19. 19. Label - to avoid confusionname: Ford Prefect name: Ford PrefectAlienAlien CarCarMATCH (ford:Alien) WHERE ford.name = Ford Prefect RETURN ford
  20. 20. Label - special nodes• replace built-in reference node,with domain specific reference nodes4242AnswerAnswer
  21. 21. Labels - rules of thumb• Use a label to make queries easier to read & write• And to improve performance through indexing• Start with anything you mightve put in a legacy index• Use lightly, as few labels as needed
  22. 22. Is that it for 2.0?
  23. 23. Well, there is this...
  24. 24. What is new in 2.0?• Its all about Cypher, starting with• Labels, the first significant change in over 12 years• Mix in schema indexing• Then transactional REST, new clauses, functions• A fresh Web UI that is Cypher-focused
  25. 25. Thanks :)Any questions?Any questions?Any questions?@akollegger to keep in touch

×