function create_parameter_medicationtypeproperties
Creates a new Parameter_MedicationTypeProperties node in a Neo4j graph database with the provided properties and returns the created node.
/tf/active/vicechatdev/neo4j_schema/neo4j_python_snippets.py
556 - 565
moderate
Purpose
This function is designed to insert a new node of type 'Parameter_MedicationTypeProperties' into a Neo4j graph database. It dynamically constructs a Cypher CREATE query based on the properties dictionary provided, sets all properties on the new node, and returns the created node. This is useful for storing medication type parameter configurations or metadata in a graph database structure.
Source Code
def create_parameter_medicationtypeproperties(properties):
"""Create a new Parameter_MedicationTypeProperties node"""
props_list = ', '.join([f"n.{prop} = ${prop}" for prop in properties.keys()])
query = f"""
CREATE (n:Parameter_MedicationTypeProperties)
SET {props_list}
RETURN n
"""
result = run_query(query, properties)
return result[0] if result else None
Parameters
| Name | Type | Default | Kind |
|---|---|---|---|
properties |
- | - | positional_or_keyword |
Parameter Details
properties: A dictionary containing key-value pairs representing the properties to be set on the new Parameter_MedicationTypeProperties node. Keys should be valid property names (strings) and values can be any data type supported by Neo4j (strings, numbers, booleans, lists, etc.). Example: {'name': 'Aspirin', 'dosage': '100mg', 'type': 'tablet'}
Return Value
Returns the first node from the query result if the creation was successful, which is a dictionary-like object representing the created Parameter_MedicationTypeProperties node with all its properties. Returns None if the query execution fails or returns no results. The returned node object typically contains all the properties that were set plus any default Neo4j metadata.
Dependencies
neo4j
Required Imports
from neo4j import GraphDatabase
Usage Example
# Assuming run_query function is defined and Neo4j connection is configured
# Example run_query implementation:
# driver = GraphDatabase.driver('bolt://localhost:7687', auth=('neo4j', 'password'))
# def run_query(query, params):
# with driver.session() as session:
# result = session.run(query, params)
# return [record['n'] for record in result]
properties = {
'medication_name': 'Ibuprofen',
'dosage_form': 'tablet',
'strength': '200mg',
'route': 'oral',
'frequency': 'twice daily'
}
node = create_parameter_medicationtypeproperties(properties)
if node:
print(f"Created node with properties: {node}")
else:
print("Failed to create node")
Best Practices
- Ensure the properties dictionary contains only valid Neo4j property types (primitives, lists of primitives)
- Validate and sanitize input properties before passing to this function to prevent injection attacks
- The run_query function must be properly implemented with error handling and connection management
- Consider adding transaction management and rollback capabilities for production use
- Use parameterized queries (as this function does) to prevent Cypher injection vulnerabilities
- Handle the None return value appropriately in calling code to detect creation failures
- Consider adding uniqueness constraints or existence checks before creating nodes to avoid duplicates
- Ensure proper Neo4j driver cleanup and connection pooling in the run_query implementation
Tags
Similar Components
AI-powered semantic similarity - components with related functionality:
-
function create_parameter_medicationtypes 92.2% similar
-
function get_parameter_medicationtypeproperties_by_id 80.9% similar
-
function create_references_medicationtypes_relationship 78.8% similar
-
function get_parameter_medicationtypeproperties_with_references_medicationtypes_parameter_medicationtypes 77.2% similar
-
function get_all_parameter_medicationtypeproperties 75.8% similar