Returns the node if the node is unique for name and type or None.

    :param manager: Neo4jDBSessionManager
    :param node_name: string
    :param node_type: str|unicode
    :return: norduniclient node model or None

def get_unique_node_by_name(manager, node_name, node_type):
    """
    Returns the node if the node is unique for name and type or None.

    :param manager: Neo4jDBSessionManager
    :param node_name: string
    :param node_type: str|unicode
    :return: norduniclient node model or None
    """
    q = """
        MATCH (n:Node { name: {name} })
        WHERE {label} IN labels(n)
        RETURN n.handle_id as handle_id
        """

    with manager.session as s:
        result = list(s.run(q, {'name': node_name, 'label': node_type}))

    if result:
        if len(result) == 1:
            return get_node_model(manager, result[0]['handle_id'])
        raise exceptions.MultipleNodesReturned(node_name, node_type)
    return None