Setting Up Graph Structure - Graph Noob

cypher
operations

(Michael Porter) #1

I'm working on an issue I think is very well suited to neo4j and a graph DB. I'm struggling a bit on how to set up the initial structure of the graph. I've included a screenshot of the structure I've got so far and I'm hoping someone will be able to tell me if I'm making any beginner mistakes on it.

I believe I have the relationships modeled correctly but I'm open to any constructive criticism.

Thank you.


(M. David Allen) #2

The basics look pretty good. A few points of feedback, but the overall approach looks fine. It'd help if you'd say more about the domain here and what kind of queries you want to run though. It's a good idea to keep the queries in mind when designing the model.

  • Consider giving everything a unique ID (lease, CDC_CLAUSE, Well)
  • Those two relationships ALLOCATION and DRILL (something). Do they need to be separate, do they have different cardinalities or can you express the same semantics with one rel and more properties?
  • Don't put an array of [Tract] on the Well node. This is why you have the relationship back to TRACT, the "Well" node does not need to track any tracts.

(Michael Porter) #3

Thank you. That's exactly what I was looking for. I also noticed that I had the relationship direction from the Lease to the CDC clause backwards as well. Really appreciate it.