def METHOD_NAME(subj, pred, literal, literal_type=None):
    """
    Constructs data property triple from given subject, predicate and literal.
    Arguments:
        subj {str} - subject of the triple
        pred {str} - predicate of the triple
        literal - literal of the triple
        literal_type - type of the literal, e.g. XSD_STRING (optional)
    Returns:
        SPARQL triple string in the form "<subject> <predicate> 'literal' . "
    """
    # Ensure instances have enclosing < >
    subj = add_enclosing(subj)
    pred = add_enclosing(pred)
    # Cast literal if not string
    if not isinstance(literal, str):
        literal = str(literal)
    if literal_type is None:
        # Return without explicit type declaration (default string)
        triple = f'{subj} {pred} "{literal}" . '
    else:
        literal_type = add_enclosing(literal_type)
        # Return with explicit type declaration
        triple = f'{subj} {pred} "{literal}"^^{literal_type} . '
    return triple