LEAP and Semantic Web

Belongs to LEAP 2.0

Background
This page is only of interest for those who are curious about the relationship between LEAP 2.0, the Semantic Web, and Object-Oriented thinking.

LEAP 2.0 is intended to be rooted Semantic Web concepts, but also to provide the basis for XML interoperability specifications: PIOP is developing the first and most significant XML serialisation of LEAP 2.0, because LEAP 2.0 is really a generalisation and prospective extension of the practicalities of PIOP.

This means that LEAP 2.0 quite deliberately faces two ways, one of which is more closely connected to Semantic Web thinking, and the other more closely connected to the longer-established XML and relational database thinking. The W3C primer and table referred to below compares and contrasts these ways of thinking. Some the differences noted are mainly to do with processing - what happens at "compile time" and "run time" - but LEAP 2.0 in itself intends to say nothing about processing, and only specifies an abstract representation.

Of course, system developers will always have to tackle the question of how to process information which arrives in a LEAP 2.0 related format. The intention of LEAP 2.0 is that all LEAP 2.0 related formats should deliver RDF triples in a well-defined way. If, in the future, a Semantic Web system is consuming LEAP 2.0 information, it will probably be a simple matter of extracting and storing the triples. But to start with, it will be more normal relational database driven systems consuming the format developed through PIOP, and the guidance for how to do this will be associated with PIOP rather than with LEAP 2.0.

W3C's table
The W3C produced a primer on Semantic Web thinking for developers trained in object-oriented methodology, which contains a useful comparison table.

Some, but not all, of the issues are relevant to LEAP 2.0, and partly to aid clarity and avoid confusion, the W3C's table is reproduced here with an added extra column for LEAP 2.0. Many of the rows are connected with approaches to processing: LEAP 2.0 does not define any processing model. Where appropriate, the third column entries should be read as if prefixed with something like "as LEAP 2.0 is not to do with processing...". The actual comments in the third column are intended to give a feel for the way of thinking which is needed for LEAP 2.0 to serve as this intermediary between Semantic Web and more traditional implementation. But LEAP 2.0 certainly does not create a metamodel distinct from those of Object-Orientation and Semantic Web: rather, it borrows something from and relates to both.

It is important to explain the concept of what is normative in relation to LEAP 2.0. LEAP 2.0 requires consuming systems to process normatively defined things in a meaningful way, but there is no requirement on systems which produce LEAP 2.0 either to use any normative things, or to restrict themselves to using only normative things. The normative set is what you can rely on other systems to process properly, which is why normative things have to be defined "deterministically" with more of the feel of object-orientation than pure Semantic Web.

See also the LEAP references.