Common languages for database definitions and database contents

Language defining ontologies

I advocate to adopt and/or develop formalized natural languages for database design as well as for the harmonization of database content. Such formalized languages should be defined in language defining ontologies that are distinct from knowledge modeling ontologies (as I have explained in another blog).

Herewith I describe what the essentials are of a formalized language definition and thus of language defining ontologies.

A language defining ontology should include a dictionary of concepts which names define the vocabulary of the formalized language. The defined concepts should be related to other concepts by kinds of relations that express what is by definition the case for the related concepts. The defined concepts should also include definitions of kinds of relations that enable to make expressions, whereas such definitions should include a specification of the kinds of roles and kinds of role players that are involved in relations of such kinds.

An example of such a language defining ontology is the Formal English ontology that is described in my book ‘Semantic Modeling in Formal English’ and its dictionary-ontology is available via the webshop..

A fully formalized language definition does not only include definitions and names of kinds of things (concepts), but also includes definitions and names of individual things. For example, a language may include generally known individual things, such as Paris, but also proprietary things, such as 'P-101', to enable that information about them is expressed in the defined language.

Thus a full definition of a formalized language should include not only the vocabulary to denote the concepts (which is shared between all language users), but should be extended with 'dictionaries' and vocabularies of the individual things that are used in the applications where the formalized language is applied. The latter vocabularies should be exchanged between parties that communicate about those individual things.

Thus, with a language defining ontology I mean an ontology that defines concepts with which databases can be defined as well as with which their content is expressed.
The content of databases and messages can be distinguished in (standardized) values (e.g. in pick lists), such as product types, kinds of aspects such as the colors red, green, blue, etc. as well as individual things. All those things belong to the language definitions, whereas the values (which I call 'qualitative concepts') belong to 'language defining ontologies' that include detailed domains.

Finally, full usage of a formalized language should make expressions that are composed only of terms that are selected from a combined vocabulary for kinds of things and individual things. And those expressions should use a defined format or syntax, such as for example the Gellish Expression Format.