def is_unordered_exact_match()

in utils/semantic_matchers.py [0:0]


def is_unordered_exact_match(string_1, string_2, origin_type):
    '''
    Function to check if two strings have an unordered EM or not. This
    function returns False if either of the two input strings aren't
    in valid formats using which a tree can be constructed.

    :param string_1: input string 1
    :param string_2: input string 2
    :param origin_type: origin of the string, i.e. EXR or TOP

    :return: (bool) A bool value indicating if string 1 and string 2 are
        semantics only unordered EM or not
    '''
    tree_1 = tree_factory(string_1, origin_type)
    tree_2 = tree_factory(string_2, origin_type)

    # Check if either of the trees are storing a `None` value.
    # If yes, then return False for not an exact match
    if not tree_1 or not tree_2:
        return False

    return tree_1 and tree_2 and tree_1.is_unordered_exact_match(tree_2)