def replace(self,
                entity_id,
                property_name,
                old_value,
                value):
        """Method replaces a triple for the given entity/subject. Property
        name is from the schema.org vocabulary.

        Args:
            entity_id(string): Unique ID of Fedora object
            property_name(string): Prefix and property name i.e. schema:name
            old_value(string): Literal or URI of old value
            value(string): Literal or new value
        """
        if not entity_id.startswith("http"):
            entity_uri = '/'.join([self.base_url, self.transaction, entity_id])
        else:
            entity_uri = entity_id
        sparql_template = Template("""$prefix
            DELETE {
             <$entity> $prop_name $old_value
            } INSERT {
             <$entity> $prop_name $new_value
            } WHERE {
            }""")
        sparql = sparql_template.substitute(
            prefix=build_prefixes(self.namespaces),
            entity=entity_uri,
            prop_name=property_name,
            old_value=self.__value_format__(old_value),
            new_value=self.__value_format__(value))
        update_request = urllib.request.Request(
            entity_uri,
            data=sparql.encode(),
            method='PATCH',
            headers={'Content-Type': 'application/sparql-update'})
        response = urllib.request.urlopen(update_request)
        if response.code < 400:
            return True
        return False