function get_dbo_concepthouses_by_id
Retrieves a single dbo_ConceptHouses node from a Neo4j graph database by matching its unique ID property.
/tf/active/vicechatdev/neo4j_schema/neo4j_python_snippets.py
655 - 662
simple
Purpose
This function queries a Neo4j database to fetch a specific dbo_ConceptHouses node using its ID. It's designed for retrieving individual concept house records from a knowledge graph, likely representing architectural or conceptual housing data in a DBpedia ontology structure. The function returns the first matching node or None if no match is found.
Source Code
def get_dbo_concepthouses_by_id(id):
"""Get a dbo_ConceptHouses node by its ID"""
query = """
MATCH (n:dbo_ConceptHouses {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_ConceptHouses node to retrieve. Expected to be a string or integer value that matches the 'id' property of nodes labeled with 'dbo_ConceptHouses' in the Neo4j database. This parameter is used in a parameterized Cypher query to prevent injection attacks.
Return Value
Returns a single dbo_ConceptHouses node object (typically a dictionary or Neo4j Node object) if a matching node is found, or None if no node with the specified ID exists. The returned node contains all properties associated with that dbo_ConceptHouses record in the database. The function accesses the first element of the result list (result[0]) when results exist.
Dependencies
neo4j
Required Imports
from neo4j import GraphDatabase
Usage Example
# Assuming run_query is already defined and configured
# Example setup (not shown in original code):
# 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]
# Usage:
from neo4j import GraphDatabase
# Retrieve a concept house by ID
house_id = '12345'
house_node = get_dbo_concepthouses_by_id(house_id)
if house_node:
print(f"Found house: {house_node}")
# Access properties: house_node['property_name']
else:
print(f"No house found with ID: {house_id}")
Best Practices
- Ensure the run_query function is properly defined with error handling and connection management
- Validate the 'id' parameter before calling this function to ensure it's not None or empty
- Handle the None return value appropriately in calling code to avoid AttributeError
- Consider adding type hints for better code documentation (e.g., def get_dbo_concepthouses_by_id(id: str) -> Optional[Dict])
- The function assumes run_query returns a list; ensure this contract is maintained
- Use parameterized queries (as done here with $id) to prevent Cypher injection attacks
- Consider adding logging for debugging database queries and results
- 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 get_dbo_concepthouses_by_uid 90.7% similar
-
function get_dbo_houses_by_id 89.6% similar
-
function get_all_dbo_concepthouses 84.9% similar
-
function get_dbo_concepthouses_with_references_houses_dbo_houses 84.8% similar
-
function get_dbo_concepts_by_id 84.4% similar