def _create_node(node_props, labels = labels_for_create)
      query = "CREATE (n:`#{Array(labels).join('`:`')}`) SET n = {props} RETURN n"
      neo4j_query(query, {props: node_props}, wrap_level: :core_entity).to_a[0].n
    end
def _create_node(node_props, labels = labels_for_create)
      query = "CREATE (n:`#{Array(labels).join('`:`')}`) SET n = {props} RETURN n"
      neo4j_query(query, {props: node_props}, wrap_level: :core_entity).to_a[0].n
    end
TODO: This does not seem like it should be the responsibility of the node.
 Creates an unwrapped node in the database.
 @param [Hash] node_props The type-converted properties to be added to the new node.
 @param [Array] labels The labels to use for creating the new node.
 @return [Neo4j::Node] A CypherNode or EmbeddedNode