Sémantická mezera charakterizuje rozdíl mezi dvěma popisy objektu různými jazykovými reprezentacemi, například jazyky nebo symboly. V informatice je tento pojem relevantní vždy, když jsou běžné lidské činnosti, pozorování a úkoly převedeny do výpočetní reprezentace .
Přesněji řečeno, mezera znamená rozdíl mezi nejednoznačnou formulací kontextuálních znalostí v silném jazyce (např. přirozeném jazyce) a jejich zvukovou, reprodukovatelnou a výpočetní reprezentací ve formálním jazyce (např. programovacím jazyce). Sémantika objektu závisí na kontextu, ve kterém se na něj pohlíží. Pro praktické použití to znamená, že jakákoli formální reprezentace úkolů reálného světa vyžaduje překlad kontextuálních odborných znalostí aplikace (na vysoké úrovni) do elementárních a reprodukovatelných operací výpočetního stroje (na nízké úrovni). Vzhledem k tomu, že přirozený jazyk umožňuje vyjádření úkolů, které není možné vypočítat ve formálním jazyce, neexistují prostředky, jak tento překlad obecně automatizovat. Navíc zkoumání jazyků v rámci Chomského hierarchie ukazuje, že neexistuje žádný formální a následně automatizovaný způsob překládání z jednoho jazyka do druhého nad určitou úroveň vyjadřovací síly.
Zatím neověřená, ale obecně přijímaná Church-Turingova teze uvádí, že turingův stroj a všechny ekvivalentní formální jazyky, jako je lambda kalkul, provádějí a reprezentují všechny formální operace, respektive tak, jak jsou aplikovány výpočetním člověkem. Nicméně výběr odpovídajících operací pro správný výpočet sám o sobě není formálně dedukovatelný, navíc závisí na vyčíslitelnosti základního problému. Úkoly, jako je zastavující se problém, mohou být formulovány komplexně v přirozeném jazyce, ale výpočetní reprezentace neukončí nebo neposkytne použitelný výsledek, což dokazuje Riceova věta. Obecný výraz omezení pro odpočet založený na pravidlech podle Gödelovy věty o neúplnosti naznačuje, že sémantická mezera nemá být nikdy zcela uzavřena. Toto jsou obecná tvrzení, vezmeme-li v úvahu zobecněné meze výpočtu na nejvyšší úrovni abstrakce, kde se sémantická mezera projevuje. Existuje však spousta podmnožin problémů, které mohou být přeloženy automaticky, zejména ve vyšších číslovaných úrovních Chomského hierarchie.
Úkoly v reálném světě jsou formalizovány programovacími jazyky, které jsou prováděny na počítačích založených na von Neumannově architektuře. Protože programovací jazyky jsou pouze pohodlné reprezentace Turingova stroje, má jakýkoliv program na von Neumannově počítači stejné vlastnosti a omezení jako Turingův stroj nebo jeho ekvivalentní reprezentace. V důsledku toho má každý programovací jazyk, jako je strojový kód na úrovni CPU, assembler nebo jakýkoli vysokoúrovňový programovací jazyk, stejnou výrazovou sílu, jakou je schopen vypočítat základní Turingův stroj. Mezi nimi není žádná sémantická mezera, protože program je přenesen z vysokoúrovňového jazyka do strojového kódu programem, např. kompilátorem, který sám běží na Turingově stroji bez jakékoli interakce s uživatelem. Sémantická mezera se ve skutečnosti otevírá mezi výběrem pravidel a reprezentací úlohy.
Výběr pravidel pro formální reprezentaci aplikací reálného světa, odpovídá psaní programu. Psaní programů je nezávislé na skutečném programovacím jazyce a v podstatě vyžaduje překlad znalostí uživatele specifických pro danou doménu do formálních pravidel obsluhujících turingový stroj. Je to právě tento přenos z kontextových znalostí do formální reprezentace, který nelze automatizovat s ohledem na teoretická omezení výpočtu. V důsledku toho každé mapování z aplikací reálného světa do počítačových aplikací vyžaduje určité množství technických znalostí ze strany uživatele, kde se projevuje sémantická mezera.
Základním úkolem softwarového inženýrství je zacelit mezeru mezi znalostmi specifickými pro aplikaci a technicky proveditelnou formalizací. Pro tento účel musí být znalosti specifické pro doménu (na vysoké úrovni) přeneseny do algoritmu a jeho parametrů (na nízké úrovni). To vyžaduje dialog mezi uživatelem a vývojářem. Cíl je vždy software, který umožňuje uživateli reprezentovat své znalosti jako parametry algoritmu, aniž by znal detaily implementace, a interpretovat výsledek algoritmu bez pomoci vývojáře. Pro tento účel hrají uživatelská rozhraní klíčovou roli v návrhu softwaru, zatímco vývojáři jsou podporováni rámci, které pomáhají organizovat integraci kontextových informací.
Jednoduchý příklad může být formulován jako série stále obtížnějších dotazů v přirozeném jazyce k nalezení cílového dokumentu, který může nebo nemusí existovat lokálně na známém počítačovém systému.
Postupná obtížnost těchto dotazů je reprezentována rostoucím stupněm abstrakce od typů a sémantiky definované systémové architektury (adresáře a soubory na známém počítači) až po typy a sémantiku, které zaujímají sféru běžného lidského diskurzu (témata jako „humor“ a entity jako „moje babička“). Navíc tento nepoměr sfér je dále komplikován děravými abstrakcemi, jak je běžné v případě dotazu 4), kde cílový dokument může existovat, ale nemusí zapouzdřit „metadata“ způsobem očekávaným uživatelem, ani projektantem systému pro zpracování dotazů.
Analýza obrazu je typická doména, pro kterou je vyžadován vysoký stupeň abstrakce od nízkoúrovňových metod a kde sémantická mezera bezprostředně ovlivňuje uživatele. Pokud má být identifikován obsah obrazu, aby pochopil význam obrazu, jedinou dostupnou nezávislou informací jsou nízkoúrovňová data pixelů. Textové anotace vždy závisí na znalosti, schopnosti výrazu a konkrétním jazyku anotátora, a proto jsou nespolehlivé. Pro rozpoznání zobrazených scén ze surových dat obrazu musí být algoritmy pro výběr a manipulaci s pixely odpovídajícím způsobem zkombinovány a parametrizovány a nakonec spojeny s přirozeným popisem. I jednoduché jazykové znázornění tvaru nebo barvy, jako je kulatá nebo žlutá, vyžaduje zcela odlišné matematické formalizační metody, které nejsou ani intuitivní, ani jedinečné a zvuk.
V mnoha vrstvených systémech dochází ke konfliktům, když je třeba koncepty na vysoké úrovni abstrakce převést do nižších, konkrétnějších artefaktů. Tento nesoulad se často nazývá sémantická mezera.
Zastánci OODBMSs (objektově orientovaný systém správy databází) někdy tvrdí, že tyto databáze pomáhají zmenšit sémantickou mezeru mezi aplikační doménou (miniworld) a tradičními RDBMS systémy. Nicméně zastánci Relational by předpokládali přesný opak, protože z definice objektových databází fixují zaznamenaná data do jediné závazné abstrakce.