Ontology-oriented programming: Static typing for the inconsistent programmer

22Citations
Citations of this article
30Readers
Mendeley users who have this article in their library.

This article is free to access.

Abstract

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. © Springer-Verlag Berlin Heidelberg 2003.

Cite

CITATION STYLE

APA

Goldman, N. M. (2003). Ontology-oriented programming: Static typing for the inconsistent programmer. Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2870, 850–865. https://doi.org/10.1007/978-3-540-39718-2_54

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free