Gellish
Van Wikipedia
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 unieke numerieke identificatiecode (UID) 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. Een voorbeeld van een deel van een Gellish Tabel met de belangrijkste kolommen is de volgende:
Taal | Linker UID | Linker term | Feit UID | Relatietype UID | Relatietypenaam | Rechter UID | Rechter term |
---|---|---|---|---|---|---|---|
Nederlands | 1 | P-123 | 101 | 1225 | is geclassificeerd als een | 130206 | pomp |
English | 1 | P-123 | 101 | 1225 | is classified as a | 130206 | pump |
Deutsch | 1 | P-123 | 101 | 1225 | ist klassifiziert als ein | 130206 | Pumpe |
N.B. De UID's zijn gelijk ook al zijn de talen verschillend! Daaruit is te zien hoe eenvoudig het voor een computer is om hetzelfde feit in verschillende talen om te zetten.
Zo’n Gellish 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] Vergelijking van OWL en Gellish
OWL (Ontology Language) en Gellish zijn beide bedoeld voor gebruik als taal voor het semantische web. Toch zijn er belangrijke verschillen tussen de beide talen. De belangrijkste verschillen zijn de volgende:
1. Doelgroep en metaniveaus
OWL is een metataal die een grammatica omvat maar zonder een woordenboek en die bedoeld is om gebruikt te worden door ontwikkelaars van computersoftware. Gellish is een taal, bestaande uit een grammatica en een woordenboek, die bedoeld is om gebruikt te worden door systeemontwikkelaars en ook om gebruikt te worden door eindgebruikers. Gellish maakt geen onderscheid tussen een metataal en een gebruikerstaal.
2. Woordenlijsten en ontologieën
OWL kan gebruikt worden voor het vastleggen van de betekenis van termen in woordenlijsten en van de relaties tussen die termen, met andere woorden: voor het definiëren van ontologieën. De termen in zo’n woordenlijst zijn geen deel van de OWL taal. Dus OWL omvat geen definities van termen uit een natuurlijke taal, zoals weg, auto, bout of lengte. Daarom bevat OWL geen concepten uit een natuurlijke taal. Het hogere ontologiedeel van Gellish kan ook gebruikt worden voor de definitie van concepten met hun namen (termen), synoniemen en homoniemen maar die concepten en termen zijn bovendien onderdeel van de Gellish taal zelf. Dus in Gellish zijn concepten zoals weg, auto, bout of lengte wel deel van de Gellish taal. Dus Gellish Nederlands is een deelverzameling van de natuurlijke taal Nederlands.
3. Hogere ontologie
OWL kan een hogere ontologie genoemd worden die bestaat uit 54 ‘taalkundige concepten’. Gellish bestaat momenteel uit meer dan 40000 concepten waarvan meer dan 1000 concepten behoren tot de hogere ontologie. Dit is een aanduiding voor de grote semantische rijkdom en uitdrukkingsmogelijkheden van Gellish. Bovendien bevat Gellish zeer veel definities van feiten die uitgedrukt zijn als relaties tussen die concepten.
4. Uitbreidbaarheid
OWL bestaat uit een vast aantal concepten (termen) totdat de OWL standaard wordt uitgebreid. Gellish is uitbreidbaar door elke gebruiker.
5. Synoniemen en meertaligheid
Gellish onderscheidt concepten (die aangeduid worden door unieke identificatoren) en de termen en synoniemen die gebruikt worden om die concepten mee aan te duiden in verschillende contexten en talen. Dit ondersteunt automatisch vertalen tussen diverse natuurlijke taal versies van Gellish. In OWL zijn synoniemen en termen in andere talen in principe verschillende concepten die via expliciete equivalentierelaties aan elkaar gelijk gesteld moeten worden. Dat is een eenvoudiger concept dat echter automatisch vertalen beduidend moeilijker maakt.
[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.