Ontology oriented programming in go! |
| |
Authors: | K L Clark F G McCabe |
| |
Affiliation: | (1) Department of Computing, Imperial College, 180, Queen’s Gate, London, SW7 2BZ;(2) Fujitsu Labs of America, 1240 East Arques Ave, M/S 345, Sunnyvale, CA, 94085 |
| |
Abstract: | In this paper we introduce the knowledge representation features of a new multi-paradigm programming language called go! that
cleanly integrates logic, functional, object oriented and imperative programming styles. Borrowing from L&O 1] go! allows knowledge to be represented as a set of labeled theories incrementally constructed using multiple-inheritance.
The theory label is a constructor for instances of the class. The instances are go!’s objects. A go! theory structure can
be used to characterize any knowledge domain. In particular, it can be used to describe classes of things, such as people,
students, etc., their subclass relationships and characteristics of their key properties. That is, it can be used to represent
an ontology. For each ontology class we give a type definition—we declare what properties, with what value type, instances
of the class have—and we give a labeled theory that defines these properties. Subclass relationships are reflected using both
type and theory inheritance rules. Following 2], we shall call this ontology oriented programming. This paper describes the go! language and its use for ontology oriented programming, comparing its expressiveness with Owl,
particularly Owl Lite3]. The paper assumes some familiarity with ontology specification using Owl like languages and with
logic and object oriented programming. |
| |
Keywords: | |
本文献已被 SpringerLink 等数据库收录! |
|