-1

I'm a student working on a report focused on Neo4j. I've come across the terms "native projections" and "cypher projections"  and I'm having some trouble understanding the distinction between the two. Can someone please shed some light on this and help me grasp the key differences?

I've gone through the official Neo4j documentation, but the explanations were a bit elusive, and I'd love to get some additional information. How do native and cypher projections differ, and when should I consider using one over the other? What are the differences in performance and functionality? Any examples or use cases illustrating the contrast would be highly appreciated.

Thank you all in advance for your help!

Marc
  • 3
  • 2

1 Answers1

0

First of all, here are some docs on native projection and cypher projection. Those terms are only relevant when using the Neo4j Graph Data Science Library.

"Native projection" directly uses low-level ("native") server code to perform fast but inflexible DB operations. You specify desired node labels and relationship types, and "native projection" will put in the projection all nodes with any of the specified labels and all relationships of the specified types connected to those nodes. The code is tuned for this simple use case, and is therefore fast. But you have very little flexibility (for example, you cannot filter nodes by specific property values).

"Cypher projection", on the other hand, allows you to use Cypher to fully customize how to get the projection, but at the cost of being potentially slower.

cybersam
  • 63,203
  • 6
  • 53
  • 76