function get_dbo_concepthouses_with_references_houses_dbo_houses
Queries a Neo4j graph database to retrieve dbo_Houses nodes that are connected to a specific dbo_ConceptHouses node through a REFERENCES_HOUSES relationship.
/tf/active/vicechatdev/neo4j_schema/neo4j_python_snippets.py
1705 - 1712
simple
Purpose
This function is designed to traverse a knowledge graph in Neo4j to find all house entities (dbo_Houses) that are referenced by a concept house entity (dbo_ConceptHouses). It's useful for exploring relationships in a semantic database where conceptual entities link to concrete instances, such as in a knowledge base derived from DBpedia or similar structured data sources. The function supports pagination through a limit parameter to control result set size.
Source Code
def get_dbo_concepthouses_with_references_houses_dbo_houses(source_id, limit=100):
"""Get dbo_Houses nodes connected to a dbo_ConceptHouses via REFERENCES_HOUSES"""
query = """
MATCH (source:dbo_ConceptHouses {id: $source_id})-[r:REFERENCES_HOUSES]->(target:dbo_Houses)
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_ConceptHouses node from which to start the traversal. This should be a string or value that matches the 'id' property of a node in the Neo4j database with the label dbo_ConceptHouses.
limit: Maximum number of dbo_Houses nodes to return from the query. Defaults to 100. This parameter helps control memory usage and response time by limiting result set size. Must be a positive integer.
Return Value
Returns the result of the run_query function, which typically contains a list or collection of Neo4j records representing dbo_Houses nodes. Each record contains the 'target' node with all its properties. The exact return type depends on the implementation of run_query, but it's likely a list of dictionaries or Neo4j Record objects containing node properties. Returns an empty collection if no matching relationships are found or if the source node doesn't exist.
Dependencies
neo4j
Required Imports
from neo4j import GraphDatabase
Usage Example
# Assuming run_query is defined and Neo4j connection is configured
# Example 1: Get houses referenced by a concept house
result = get_dbo_concepthouses_with_references_houses_dbo_houses(
source_id="ConceptHouse_123",
limit=50
)
# Example 2: Process the results
for record in result:
house_node = record['target']
print(f"House ID: {house_node.get('id')}")
print(f"House Name: {house_node.get('name')}")
# Example 3: Get all references (using a large limit)
all_houses = get_dbo_concepthouses_with_references_houses_dbo_houses(
source_id="ConceptHouse_456",
limit=1000
)
Best Practices
- Always validate that source_id exists before calling this function to avoid empty results
- Use appropriate limit values based on expected result size to prevent memory issues with large graphs
- Consider implementing error handling around this function to catch Neo4j connection errors
- The run_query function should handle connection pooling and proper session management
- For production use, consider adding pagination support (offset parameter) for very large result sets
- Ensure proper indexing on the 'id' property of dbo_ConceptHouses nodes for optimal query performance
- Consider caching results if the same source_id is queried frequently
- Validate that the limit parameter is a positive integer before passing to the query
Tags
Similar Components
AI-powered semantic similarity - components with related functionality:
-
function get_dbo_concepthouses_with_references_concepts_dbo_concepts 95.8% similar
-
function get_all_dbo_concepthouses 88.1% similar
-
function get_dbo_concepthouses_by_id 84.8% similar
-
function get_dbo_treatments_with_references_houses_dbo_houses 82.7% similar
-
function get_dbo_houses_with_references_establishment_dbo_establishment 82.3% similar