{'fraction_non_alphanumeric': 0.02358887952822241, 'fraction_numerical': 0.0, 'mean_word_length': 5.319148936170213, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A concise presentation of ITL

ITL (Intensional Terminological Language) is a Prolog-based language derived from our previous work on DRL. Like LOGIN, it improves the expressive adequacy of Prolog by the introduction of a separate theory, which represents the sortal structure of the domain. This theory is linked to the object theory by a simple form of order-sorted unification. Differently from LOGIN, however, ITL sorts are not complex structures similar to KLONE concepts. The reason is that ITL is not based on generic descriptions: roles (we call them attributes) are represented as independent concepts, which contribute to the structure of more complex concepts through separate statements expressing necessary conditions, sufficient conditions or structural constraints. The result is a fine-grained terminological language, whose syntax resembles in some way OMEGA. Yet, differently from OMEGA, this language does not have the full power of first order logic. It has however an intensional semantics, which we consider as an important characteristic of terminological knowledge. In this paper we briefly discuss the rationale behind ITL, and present its major characteristics.