function get_all_lims_requests
Queries a Neo4j graph database to retrieve LIMS_Requests nodes with a configurable limit on the number of results returned.
/tf/active/vicechatdev/neo4j_schema/neo4j_python_snippets.py
139 - 146
simple
Purpose
This function provides a simple interface to fetch LIMS (Laboratory Information Management System) request records from a Neo4j graph database. It's designed for retrieving batches of LIMS request nodes for analysis, reporting, or data processing workflows. The function uses a parameterized Cypher query to prevent injection attacks and allows flexible result set sizing.
Source Code
def get_all_lims_requests(limit=100):
"""Return LIMS_Requests nodes (limited to 25)"""
query = """
MATCH (n:LIMS_Requests)
RETURN n
LIMIT $limit
"""
return run_query(query, {"limit": limit})
Parameters
| Name | Type | Default | Kind |
|---|---|---|---|
limit |
- | 100 | positional_or_keyword |
Parameter Details
limit: Integer specifying the maximum number of LIMS_Requests nodes to return. Default is 100. Note: The docstring incorrectly states 'limited to 25', but the actual default is 100. This parameter controls query performance and memory usage by capping result set size. Expected values are positive integers, typically between 1 and several thousand depending on use case.
Return Value
Returns the result of run_query() function, which is not defined in the provided code but likely returns a list of Neo4j node objects or dictionaries representing LIMS_Requests nodes. The exact return type depends on the run_query implementation, but typically would be a list of records/dictionaries containing node properties, or a Neo4j Result object. Returns up to 'limit' number of nodes matching the LIMS_Requests label.
Dependencies
neo4j
Required Imports
from neo4j import GraphDatabase
Usage Example
# Assuming run_query is defined and Neo4j connection is configured
# Example 1: Get default 100 LIMS requests
requests = get_all_lims_requests()
for request in requests:
print(request)
# Example 2: Get only 10 LIMS requests
requests = get_all_lims_requests(limit=10)
# Example 3: Get maximum 500 requests for batch processing
large_batch = get_all_lims_requests(limit=500)
print(f'Retrieved {len(large_batch)} LIMS requests')
Best Practices
- The docstring contains incorrect information (states 'limited to 25' but default is 100) - should be updated for accuracy
- Consider adding type hints for better code documentation: def get_all_lims_requests(limit: int = 100) -> List[Dict]
- The limit parameter should be validated to ensure it's a positive integer to prevent unexpected query behavior
- For large datasets, consider implementing pagination or cursor-based retrieval instead of a simple LIMIT clause
- The run_query function dependency should be clearly documented or imported explicitly
- Consider adding error handling for database connection failures or empty result sets
- For production use, consider adding logging to track query execution and performance
- The function name 'get_all_lims_requests' is misleading since it doesn't actually return ALL requests, only a limited subset
Tags
Similar Components
AI-powered semantic similarity - components with related functionality:
-
function get_all_lims_samples 89.1% similar
-
function get_all_lims_tests 88.2% similar
-
function get_all_lims_parameters 87.7% similar
-
function get_all_lims_sampletestresults 85.1% similar
-
function get_lims_requests_by_id 84.7% similar