@rule('<STR_LIT>')<EOL><INDENT>def visit_optional_resource_name(self, _, children):<DEDENT>
return children[<NUM_LIT:0>] if children and children[<NUM_LIT:0>] else None<EOL>
The optional name of a resource, to force a name of a resource if set.

        Without it, the resource entry name will be used.

        It allows to query more that one time the same resource with different filters.

        Arguments
        ---------
        _ (node) : parsimonious.nodes.Node.
        children : list
            - 0: for ``RESOURCE_NAME?``: string, the name of the resource.

        Returns
        -------
        string
            The name of the resource, or None if not set.

        Example
        -------

        >>> DataQLParser(r'foo:', default_rule='OPTIONAL_RESOURCE_NAME').data
        'foo'
        >>> DataQLParser(r'', default_rule='OPTIONAL_RESOURCE_NAME').data