Creates a new merkledag object based on an existing one.

        The new object will have a link to the provided object.

        .. code-block:: python

            >>> c.object_patch_add_link(
            ...     'QmR79zQQj2aDfnrNgczUhvf2qWapEfQ82YQRt3QjrbhSb2',
            ...     'Johnny',
            ...     'QmR79zQQj2aDfnrNgczUhvf2qWapEfQ82YQRt3QjrbhSb2'
            ... )
            {'Hash': 'QmNtXbF3AjAk59gQKRgEdVabHcSsiPUnJwHnZKyj2x8Z3k'}

        Parameters
        ----------
        root : str
            IPFS hash for the object being modified
        name : str
            name for the new link
        ref : str
            IPFS hash for the object being linked to
        create : bool
            Create intermediary nodes

        Returns
        -------
            dict : Hash of new object

def object_patch_add_link(self, root, name, ref, create=False, **kwargs):
        """Creates a new merkledag object based on an existing one.

        The new object will have a link to the provided object.

        .. code-block:: python

            >>> c.object_patch_add_link(
            ...     'QmR79zQQj2aDfnrNgczUhvf2qWapEfQ82YQRt3QjrbhSb2',
            ...     'Johnny',
            ...     'QmR79zQQj2aDfnrNgczUhvf2qWapEfQ82YQRt3QjrbhSb2'
            ... )
            {'Hash': 'QmNtXbF3AjAk59gQKRgEdVabHcSsiPUnJwHnZKyj2x8Z3k'}

        Parameters
        ----------
        root : str
            IPFS hash for the object being modified
        name : str
            name for the new link
        ref : str
            IPFS hash for the object being linked to
        create : bool
            Create intermediary nodes

        Returns
        -------
            dict : Hash of new object
        """
        kwargs.setdefault("opts", {"create": create})

        args = ((root, name, ref),)
        return self._client.request('/object/patch/add-link', args,
                                    decoder='json', **kwargs)