APIs and interoperability

I agree that we need to be clear about what we mean by interoperability...

I submit:

(a) interoperability between RDF systems or applications may be based on a 
standard RDF serialization format (a la RDF M&S, etc.)

(b) interoperability between RDF database and applications may be based on 
a standard RDF database representation (e.g. as tabulated by Sergey).  I 
think this is a special case of (a).

(c) interoperability between RDF applications and RDF implementation 
libraries may be based on a standard RDF API.  There may be several such APIs:
     - RDF serialization
     - RDF deserialization
     - RDF model construction and querying
     - RDF model manipulation
     - etc.
That is, there may legitimately be several APIs dealing with different 
operations on RDF.

I note that (a) and (b) are NOT a function of standard APIs, but of correct 
implementation of whatever APIs happen to be used.  Interoperability should 
be possible between applications that internally use different APIs.

Finally, I'll refrain from saying which of these I think is more important 
-- they're all important in different ways.

#g
--

PS:

Jonas Liljegren mentions what I shall call "model-level" 
interoperability.  This is more difficult to characterize than those above, 
but I think it's important enough to try.  Roughly it means that two 
different RDF applications represent the same information using the same 
set of RDF triples (possibly modulo some simple equivalence rules).  This 
means that information generated by one application can be understood by 
another application, possibly with intermediate processing using standard 
(application-neutral) RDF tools.

This is conceptually similar to the Internet's use of IP protocol over 
different physical media.  An ethernet-connected computer can't talk 
directly to an ISDN-connected computer, but they can both understand the 
same IP protocol and can therefore exchange data if connected via an 
ethernet-and-ISDN IP router.   (This is an example of what I mean when I 
describe RDF as "an end to end architecture for content", as IP is for data.)



At 10:25 AM 11/11/00 -0800, Seth Russell wrote:
>Dan Brickley wrote:
>
> > In the light of this and other implementation activities
> > recently announced on www-rdf-interest, I reckon the time is fast
> > approaching that we lock various RDF API implementors in a room and
> > only let them out when there's a common strawman API.
>
>I think any discussion of a common API should begin with a clear (almost
>mathematical) understanding of what interoperable 
>means.   Doesn't  interoperable
>imply the following?
>
>Two RDF APIs are considered interoperable whenever:
>1) System A writes statements in RDF
>2) System B reads the statements from (1) and stores them in triples
>3) System B writes the resultant triples from (1) back out in RDF
>4) System A reads the statements from (3)
>5) The triples in system A remain the same.
>
>Can anyone state that more precisely?  Does such a definition already 
>exist, and
>if not, wouldn't it be a good idea for us to decide upon a standard test of
>interoperability?
>
><signature format="mime/topic">
>topic: Seth Russell
>email: seth@robustai.net
>workingOn: A context browser
></signature>

------------
Graham Klyne
(GK@ACM.ORG)

Received on Friday, 17 November 2000 08:30:21 UTC