User Tools

Site Tools


(Link back to API4KB Use Cases Page)

Extend API using a metaobject protocol (Roger)

Provide users with the ability to extend any initial API using a metaobject protocol. Since the scope of API4KB will span many levels and types of expressibility within a knowledge base, including operations and services specific to each, customized API's could be established by operations against other API's, until reduced to equivalent operations against a basic, core API. Metaobjects to define the basic elements of an API, and to map these services to equivalent operations on existing API's, should themselves be available for access and manipulation through the most basic layers of API4KB.

For example, a small core of essential API4KB operations could be supplied by a REST-compatible linked data interface, thereby satisfying RFP requirement 6.1.2, “The API4KB standard will provide a standard way to access and query knowledge bases in tools [for] building the Semantic Web.” A definition of metaobjects to add new operations and services to this basic API could then be published as additional linked data resources. Additional API's and services could be established by operations against this extensibility API, either by API4KB itself or by API4KB users for their own specific needs. All extended layers of API services would be defined by extensibility operations performed using the metaobject protocol.

Background: “The essence of a Metaobject Protocol is simple: every aspect of a program's mapping down onto the lower level substrate (i.e. its compilation and runtime support) is controlled by some object or set of objects following a well-defined protocol.” (Wiki Wiki Web). See also:Metaobject article in Wikipedia and The Art of the Metaobject Protocol (Amazon). Please note that operational use of metaobjects to provide comprehensive access to the working elements of a more basic level, and to enable this access to every aspect of interpretation and implementation, is considerably broader than the use of “meta” layers to represent static relationships within an information architecture, such as those of the Meta Object Facility (MOF) of OMG.

extend_api_using_a_metaobject_protocol.txt · Last modified: 2013/01/27 19:17 by rburkhart