function get_dbo_interventionprotocols_by_id
Retrieves a single dbo_InterventionProtocols node from a Neo4j graph database by its unique ID.
/tf/active/vicechatdev/neo4j_schema/neo4j_python_snippets.py
967 - 974
simple
Purpose
This function queries a Neo4j database to fetch a specific intervention protocol node identified by its ID. It's designed for retrieving individual protocol records from a graph database, likely used in medical or clinical research applications where intervention protocols need to be accessed by their unique identifiers.
Source Code
def get_dbo_interventionprotocols_by_id(id):
"""Get a dbo_InterventionProtocols node by its ID"""
query = """
MATCH (n:dbo_InterventionProtocols {id: $id})
RETURN n
"""
result = run_query(query, {"id": id})
return result[0] if result else None
Parameters
| Name | Type | Default | Kind |
|---|---|---|---|
id |
- | - | positional_or_keyword |
Parameter Details
id: The unique identifier of the dbo_InterventionProtocols node to retrieve. Expected to be a string or integer that matches the 'id' property of nodes in the Neo4j database. This should correspond to a valid intervention protocol ID in the database.
Return Value
Returns the first matching dbo_InterventionProtocols node as a dictionary-like object if found, or None if no node with the specified ID exists. The returned node object contains all properties associated with that intervention protocol in the database.
Dependencies
neo4j
Required Imports
from neo4j import GraphDatabase
Usage Example
# Assuming run_query is defined and Neo4j is configured
from neo4j import GraphDatabase
# Define run_query helper function (example)
def run_query(query, params):
driver = GraphDatabase.driver('bolt://localhost:7687', auth=('neo4j', 'password'))
with driver.session() as session:
result = session.run(query, params)
return [record['n'] for record in result]
driver.close()
# Use the function
protocol_id = '12345'
protocol = get_dbo_interventionprotocols_by_id(protocol_id)
if protocol:
print(f'Found protocol: {protocol}')
else:
print('Protocol not found')
Best Practices
- Ensure the run_query function is properly defined and handles Neo4j connection management
- Validate the ID parameter before passing it to prevent injection attacks or invalid queries
- Handle the None return value appropriately in calling code to avoid NoneType errors
- Consider adding error handling for database connection failures
- Ensure proper Neo4j driver cleanup and connection pooling in the run_query implementation
- Consider adding type hints for better code documentation (e.g., def get_dbo_interventionprotocols_by_id(id: str) -> Optional[Dict])
- The function assumes run_query returns a list; ensure this contract is maintained
Tags
Similar Components
AI-powered semantic similarity - components with related functionality:
-
function get_dbo_interventionprotocols_by_uid 90.7% similar
-
function get_dbo_interventionprotocolflocks_by_id 86.8% similar
-
function get_all_dbo_interventionprotocols 84.2% similar
-
function get_dbo_interventionprotocolflocks_with_references_interventionprotocols_dbo_interventionprotocols 81.7% similar
-
function get_dbo_interventionprotocolflocks_by_uid 78.5% similar