Ontology-Oriented Programming: Static Typing for the Inconsistent Programmer

Ontologies and object-oriented data models differ little in their declarative characterization of a domain. Differences in the application of these models, however, has led to quite different characteristics of the programming languages used to create and manipulate them – notably in the presence or...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
1. Verfasser: Goldman, Neil M.
Format: Buchkapitel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:Ontologies and object-oriented data models differ little in their declarative characterization of a domain. Differences in the application of these models, however, has led to quite different characteristics of the programming languages used to create and manipulate them – notably in the presence or lack of static typing. Some ontology-reliant applications need to work with models that are inconsistent with the underlying ontology’s declarative norms. Object-oriented languages preclude construction of such models. A secondary distinction is that ontologies, at least as used in the description logic community, provide a semantics that requires an implicit interpretation of extensional data, where possible, that retains consistency with the declarative norms, whereas object-oriented languages treat the norms as constraints that must be explicitly satisfied by a model. An ontology compiler, currently targeting the Microsoft .Net language family, produces a traditional object-oriented class library that captures the declarative norms of an ontology. It enhances this library with additional methods that allow construction of models that are inconsistent with these norms. An application, rather than the library itself, determines when an operation should raise exceptions. Annotations to an ontology allow for tradeoffs between the flexibility of the generated library and its performance.
ISSN:0302-9743
1611-3349
DOI:10.1007/978-3-540-39718-2_54