cancel
Showing results for 
Search instead for 
Did you mean: 

Head's Up! These forums are read-only. All users and content have migrated. Please join us at community.neo4j.com.

Best Practices for Graph Exploration of Algorithms and node properties

andy_hegedus
Graph Fellow

Hi,

Approaching this from a data science perspective and I have a graph that I want to explore with a host of algorithms from nEuler to understand the opportunities. My question is about best practices for storing algorithm scores. It is my understanding that once a node property is created it cannot be removed even if the all the nodes have a null value for that property. Given I will be exploring a great number on the graph as whole but also on subgraphs with the same algorithm being applied to various subgraphs,...

Are there best practices that will allow reasonable tracking of the various scores and the like. Or is create export files with scores and reset values to null or develop a unique names for each algorithm/subgraph combination?

Curious on any tip and techniques to help in explorations.
Andy

1 REPLY 1

Just a note on properties, in Neo4j properties are optional, you can add or remove any property from any node, any time. That said it makes sense to be consistent and have a plan for your own sanity, but also because indexes are associated with a node label - property combination. I personally love this flexible aspect of Neo4j.

It is important to remember that any given node is not required to have any given property. The reason is that there can be unexpected query results from a MATCH if this aspect isn't taken into consideration (e.g. matching on node.property=null is not the same as checking if property exists on a node) At least if you are working with someone else's neo4j database, where they may not assign a property to a node if there is no value. (and that is what I do)