function get_dbo_treatments_with_references_flocks_dbo_flocks
Retrieves dbo_Flocks nodes from a Neo4j graph database that are connected to a specific dbo_Treatments node via a REFERENCES_FLOCKS relationship.
/tf/active/vicechatdev/neo4j_schema/neo4j_python_snippets.py
2153 - 2160
simple
Purpose
This function queries a Neo4j graph database to find all flock records (dbo_Flocks) that are referenced by a specific treatment record (dbo_Treatments). It's useful for tracking which flocks are associated with particular treatments in what appears to be an agricultural or livestock management system. The function supports pagination through a limit parameter to control the number of results returned.
Source Code
def get_dbo_treatments_with_references_flocks_dbo_flocks(source_id, limit=100):
"""Get dbo_Flocks nodes connected to a dbo_Treatments via REFERENCES_FLOCKS"""
query = """
MATCH (source:dbo_Treatments {id: $source_id})-[r:REFERENCES_FLOCKS]->(target:dbo_Flocks)
RETURN target
LIMIT $limit
"""
return run_query(query, {"source_id": source_id, "limit": limit})
Parameters
| Name | Type | Default | Kind |
|---|---|---|---|
source_id |
- | - | positional_or_keyword |
limit |
- | 100 | positional_or_keyword |
Parameter Details
source_id: The unique identifier (id property) of the dbo_Treatments node from which to find connected dbo_Flocks nodes. This should be a string or integer value that matches the 'id' property in the Neo4j database.
limit: Maximum number of dbo_Flocks nodes to return. Defaults to 100. This parameter helps control query performance and result set size. Must be a positive integer.
Return Value
Returns the result of the run_query function execution, which typically contains a list or collection of dbo_Flocks nodes (target nodes) that match the query criteria. The exact return type depends on the run_query function implementation, but it likely returns a list of dictionaries or Neo4j Record objects containing the properties of each matched dbo_Flocks node. Returns an empty collection if no matching flocks are found.
Dependencies
neo4j
Required Imports
from neo4j import GraphDatabase
Usage Example
# Assuming run_query is defined and Neo4j connection is configured
# Example 1: Get flocks for a specific treatment with default limit
flocks = get_dbo_treatments_with_references_flocks_dbo_flocks(source_id="TREAT_001")
# Example 2: Get flocks with custom limit
flocks = get_dbo_treatments_with_references_flocks_dbo_flocks(source_id="TREAT_001", limit=50)
# Example 3: Process results
for flock in flocks:
print(f"Flock ID: {flock['id']}, Name: {flock.get('name', 'N/A')}")
Best Practices
- Ensure the source_id parameter matches the exact format and type of the 'id' property in your Neo4j database
- Use appropriate limit values to avoid performance issues with large datasets
- Handle cases where no flocks are found (empty result set) in your calling code
- Consider adding error handling around the function call to catch database connection issues
- Verify that the run_query function properly handles Neo4j session management and connection pooling
- Consider adding indexes on the 'id' property of dbo_Treatments nodes for better query performance
- Be aware that this function depends on the external run_query function which must be properly implemented and available
Tags
Similar Components
AI-powered semantic similarity - components with related functionality:
-
function create_references_flocks_relationship_v2 82.4% similar
-
function get_dbo_flocks_with_references_flocktypes_dbo_flocktypes 82.1% similar
-
function get_dbo_flocks_with_references_houses_dbo_houses 81.1% similar
-
function get_dbo_interventionprotocolflocks_with_references_flocks_dbo_flocks 81.1% similar
-
function get_dbo_houses_with_references_flocktypes_dbo_flocktypes 80.9% similar