Context Filter with Path Alias in URL Quick Summary: how do I pass a alias in a URL to a view's context filter, when that view is located somewhere in the site.

I've read dozens of similar articles, but nothing that directly makes this clear for me, so if someone has some insight, I'd be grateful.

I have a Content Type: "Artists" with an pathauto alias as so: artists/picasso
I have a Content Type: Artwork with an entity reference to artists.
A given Artwork might have an alias as such: artwork/minotaur (which is a work referencing picasso)

What I want to do is create a view, have it live here: (artwork/artists/picasso) that shows all Artwork by Picasso.

My trouble is: I can get the view set up, but it only displays correctly if I have the NiD in the URL path. For example: /artwork/artists/1 (with 1 being the Nid for the Picasso node)

How can I get the view to accept "picasso" as an argument to use in the location I want (artwork/artists/) for instance.

I have no trouble if I attach a view to the artists/picasso page as a block. I can show all works by him there, but I want to show works by him in another location.

It seems like this should be obvious, but I cannot find a clear answer as to how to implement. Your help is greatly appreciated."
A more robust solution that avoids needing to ensure unique node titles would be to write a custom Views Plugin Argument Validator that converts a contextual filter to node ID. 

In your case in which you want to validate node path aliases, you would want to extend the class views_plugin_argument_validate_node in views/modules/node/views_plugin_argument_validate_node.inc to overwrite options_form() to provide your own option. You probably want something like this:

function options_form(&amp;$form, &amp;$form_state) {
  parent::options_form(&amp;$form, &amp;$form_state);
  $form['type'] = array(
    '#type' =&gt; 'select',
    '#title' =&gt; t('Filter value type'),
    '#options' =&gt; array(
      'convert_path_alias' =&gt; t('Node path alias converted to Node ID'),
    ),
    '#default_value' =&gt; $this-&gt;options['type'],
  );
}


You would also need to overwrite validate_argument() to convert the argument (path alias) passed into the function into a node nid, set $this-&gt;argument-&gt;argument to the converted node nid, and return TRUE if the path alias was successfully converted.