@utilities.arguments_not_none<EOL><INDENT>def get_catalog_node_ids(self, catalog_id, ancestor_levels, descendant_levels, include_siblings):<DEDENT>
<EOL>if self._catalog_session is not None:<EOL><INDENT>return self._catalog_session.get_catalog_node_ids(<EOL>catalog_id=catalog_id,<EOL>ancestor_levels=ancestor_levels,<EOL>descendant_levels=descendant_levels,<EOL>include_siblings=include_siblings)<EOL><DEDENT>return self._hierarchy_session.get_nodes(<EOL>id_=catalog_id,<EOL>ancestor_levels=ancestor_levels,<EOL>descendant_levels=descendant_levels,<EOL>include_siblings=include_siblings)<EOL>
Gets a portion of the hierarchy for the given catalog.

        arg:    catalog_id (osid.id.Id): the ``Id`` to query
        arg:    ancestor_levels (cardinal): the maximum number of
                ancestor levels to include. A value of 0 returns no
                parents in the node.
        arg:    descendant_levels (cardinal): the maximum number of
                descendant levels to include. A value of 0 returns no
                children in the node.
        arg:    include_siblings (boolean): ``true`` to include the
                siblings of the given node, ``false`` to omit the
                siblings
        return: (osid.hierarchy.Node) - a catalog node
        raise:  NotFound - a ``Catalog`` identified by ``Id is`` not
                found
        raise:  NullArgument - ``catalog_id`` is ``null``
        raise:  OperationFailed - unable to complete request
        raise:  PermissionDenied - authorization failure
        *compliance: mandatory -- This method must be implemented.*