Gellish
Gellish is een kunstmatige taal of kunsttaal voor toepassing in de informatiekunde. Gellish is geen programmeertaal omdat het geen instructies aan een computer bevat, maar het is een taal om feiten te beschrijven, bijvoorbeeld eigenschappen van producten en apparaten of processen, zoals gebeurt in productcatalogi of bij het vastleggen van ontwerpgegevens in databases. Die gegevens worden vastegelegd op een manier die door een computer geïnterpreteerd kan worden en die toch systeemonafhankelijk is. Daardoor is Gellish geschikt als standaard voor de uitwisseling van gegevens tussen computersystemen. Het wordt daarom een gegevensuitwisselingstaal genoemd (een ‘data exchange language’) waarin informatie en kennis uitgedrukt kan worden. Gellish is taal die is afgeleid van de natuurlijke taal. Vanuit het gezichtspunt van gegevensmodellering is het een generiek gegevensmodel ofwel een datamodel dat naast generieke begrippen ook domeinspecifieke kennis omvat.
In principe is er voor elke natuurlijke taal een Gellish variant die specifiek is voor die taal, maar die door de computer automatisch te vertalen is naar elke andere Gellish variant waarvoor een Gellish woordenboek beschikbaar is. Bijvoorbeeld, Gellish–Nederlands, Gellish–Engels, Gellish–Duits, enz. Die woordenboeken zijn normale woordenboeken met gewone woorden en hun betekenissen. Gellish kent dus geen ‘eigen’ woorden, maar het is een kenmerk van Gellish dat alle zinnen in Gellish een vaste eenvoudige structuur hebben. De zinsstructuur van natuurlijke talen is namelijk te ingewikkeld om door computers geïnterpreteerd te kunnen worden. Gellish is bedoeld voor het vastleggen van complete en eenduidige specificaties van producten, apparaten en processen en voor informatie over hun ontwerp, fabricage, aankoop, installatie, gebruik en onderhoud.
De definitie van Gellish is vastgelegd in een uitgebreid ‘slim’ woordenboek, STEPlib geheten. Daarin zijn begrippen en bovendien relaties tussen die begrippen vastgelegd. Die relaties zijn de kracht van het slimme woordenboek (en van de Gellish taal), en vormen een uitbreiding op een gewoon woordenboek. Door die relaties kan bijvoorbeeld ook aangeven worden uit welk soort onderdelen een object gewoonlijk bestaat of welke eigenschappen het heeft, waar het gebruikt wordt, waar het te koop is, enz., enz. De begrippen zijn bovendien in een subtype/supertype-hiërarchie gerangschikt. Zo’n hiërarchie wordt ook wel een taxonomie genoemd. Deze kan door computers gebruikt worden voor het overerven (‘inheritance’) van eigenschappen van de supertype naar zijn subtypen. Door de overige soorten relaties wordt kennis over de begrippen vastgelegd, zodat het slimme woordenboek (STEPlib) een ontologie of kennisbank (‘knowledge base’) genoemd kan worden.
Gellish heeft een object-relatie-objectstructuur en daarom omvat het de definitie van een groot aantal standaard-relatietypen.
Bijvoorbeeld, het Gellish woordenboek bevat definities voor begrippen zoals ‘pomp’ en ‘massa’ en definities van relatietypen, zoals aangeduid door de zinsdelen ‘is een subtype van’, ‘is geclassificeerd als een’, ‘heeft als aspect’ en ‘is gekwalificeerd als’. Dit maakt het mogelijk dat een computer de volgende Gellish zinnen (expressies) correct kan interpreteren:
- centrifugaalpomp 'is een subtype van' pomp,
- P-123 'is geclassificeerd als een' centrifugaalpomp,
- P-123 'heeft als aspect' de massa van P-123,
- de massa van P-123 'is geclassificeerd als een' massa,
- de massa van P-123 'is gekwalificeerd als' 50 kg.
De verzameling standaard-relatietypes definiëren de soorten feiten die in Gellish uitgedrukt kunnen worden. Gellish omvat onder andere de volgende drie groepen relatietypen:
- Relatietypen voor relaties tussen soorten dingen (ofwel relaties tussen klassen). Zij zijn bedoeld voor het vastleggen van kennis. Bijvoorbeeld, de specialisatierelatie (ook wel de subtype/supertype-relatie genoemd) die in de eerste bovengenoemde voorbeeldregel gebruikt is.
- Relatietypen voor relaties tussen individuele dingen. Die zijn bedoeld voor de uitdrukking van informatie over individuele dingen. Bijvoorbeeld, een relatie tussen een ding en zijn eigenschap die uitdrukt dat dat ding die eigenschap heeft. Bijvoorbeeld de relatie op de derde regel van de bovengenoemde voorbeelden.
- Relatietypen voor relaties tussen individuele dingen en soorten dingen. Zij zijn bedoeld voor verbanden tussen individuele dingen en begripppen in het woordenboek (of begrippen in privé-uitbreidingen van dat woordenboek). Bijvoorbeeld de classificatierelatie en de kwalificatierelatie in de bovengenoemde voorbeelden.
Iedereen kan het Gellish woordenboek en de relatietypen daarin onbeperkt uitbreiden met privé gedefinieerde begrippen. Wel moet de definitie van zulke begrippen natuurlijk eerst uitgewisseld worden met een andere partij voordat die partij die begrippen kent en kan interpreteren. Daarom verdient het aanbeveling om zulke privé-uitbreidingen in te dienen bij de beheerder van de Gellish taal (het Gellish Forum) als voorstel voor uitbreiding van de definitie van de publieke Gellish taal.
Het Gellish woordenboek is geïntegreerd met een kennisbank (‘knowledge base’), vooralsnog voornamelijk in het Engels. Die kennis is zelf ook uitgedrukt in Gellish. Het Gellish woordenboek wordt niet alleen gebruikt om dingen in de Gellish taal uit te drukken, maar het wordt ook vaak afzonderlijk gebruikt. Bijvoorbeeld om begrippen te selecteren voor de classificatie van objecten, of als standaardterminologie (‘meta data’) in systemen, of om verschillende systemen te harmoniseren, of als taxonomie in zoekmachines.
Gellish gebruikt een numerieke identificatiecode voor elk begrip. Bijvoorbeeld, 130206 voor een pomp en 1225 voor een classificatierelatie (‘is geclassificeerd als een’). Dat maakt dat de begrippen geïdentificeerd worden op een manier die taalonafhankelijk is. Een voordeel daarvan is dat de informatie en kennis die in de ene taalvariant van Gellish is uitgedrukt automatisch vertaald kan worden naar elke andere taal waarvan een Gellish woordenboek beschikbaar is. Bijvoorbeeld, een computer can automatisch de tweede bovenstaande Gellish regel in het Duits als volgt weergeven: - P-123 'ist klassifiziert als ein' Zentrifugalpumpe.
Gellish wordt meestal gebruikt in de vorm van een Gellish Tabel. Een Gellish Tabel is een standaard tabel waarvan de kolommen gestandaardiseerd zijn. Een Gellish Tabel is geschikt om er elke willekeurige uitdrukking in de Gellish taal in vast te leggen. Zo’n tabel kan gebruikt worden als deel van een database of als een bestand (‘file’) die uitgewisseld kan worden met een andere partij. Een Gellish Tabel kan geïmplementeerd worden in ieder willekeurig tabelmatig formaat. Bijvoorbeeld, hij kan geimplementeerd worden als een databasetabel (bijvoorbeeld in SQL), of als een STEPfile (volgens ISO 10303-21), of als een eenvoudige spreadsheettabel.
[edit]
[bewerk] Historie
Gellish is een verdere ontwikkeling van ISO 10303-221 (AP221) en ISO 15926. Gellish is een integratie en uitbreiding van de begrippen die in die beide standaards gedefinieerd zijn. Een deel van het Gellish woordenboek (STEPlib) is gebruikt voor de ontwikkeling van ISO 15926-4, maar het Gellish woordenboek is veel uitgebreider en bevat bovendien veel meer relaties tussen begrippen.
[edit]
[bewerk] Externe links en referenties
- De definitie, het Gellish woordenboek en de kennisbank en verdere documentatie zijn vrij beschikbaar op de Open Source condities via [1]. Voor de definitie van ‘Open Source' zie [2].
- De achtergrond van Gellish is beschreven in: Gellish, a generic extensible ontological language - Design and application of a universal data structure, Delft University Press 2005, ISBN 90-407-2597-4.