RE: RDF specifications

From: Graham Klyne <GK@ninebynine.org>
Subject: RE: RDF specifications
Date: Tue, 18 Dec 2001 21:36:47 +0000

> At 09:21 AM 12/17/01 -0500, Peter F. Patel-Schneider wrote:
> >Also, I don't understand how the interface between RDF and applications is
> >considered to be outside of RDF.  If you don't have a standard interface
> >then how can anyone consider RDF to be a standard?
> 
> That's easy.  Standards are about interoperability between pieces of 
> software.  RDF specifies a format for exchange of information between 
> applications.  It is quite possible for different applications to have very 
> different interfaces to the RDF generation/parsing processes, yet still be 
> perfectly well capable of interoperating.
>
> This is not to say that there is no value in having a standard application 
> interface for RDF (for such would address another kind of interoperability, 
> viz between application code and support libraries), just that a standard 
> API is not necessary for RDF to be a standard form of information interchange.

Standards are not necessarily about interoperability between pieces of
software.  Standards may instead be about the behaviour of individual
pieces of software when presented with a task to perform.  For example, the
HTML standard is not really about getting applications to exchange
information, it is about getting browsers to put pixels on display devices
or, perhaps, getting some other interface software to present content in
some other human-accessible manner.

If RDF was only a format for exchange of information between applications,
then two pieces of software that (only) checked RDF documents for syntactic
validity and could echo their input would be sufficient to meet the W3C
expectation that candidate recommendations have two implementations.  The
pieces of software would not have to generate any internal data structures
corresponding to the RDF data model or do any other RDF-related processing
of the RDF documents.

I find it instructive to liken RDFS to a programming language.  A standard
for a programming language specifies more than a way of exchanging
information between pieces of software, say an editor and a syntax checker.
A standard for a programming language also specifies what an interpreter
for the language is supposed to do.  That is an interpreter is supposed to
take a source program and somehow perform the instructions in the source
program.  Similarly an RDFS system has to somehow determine the
consequences of an RDFS document, perhaps by constructing and elaborating
an RDF graph.  If a system does not provide an interface for accessing the
consequences of an RDFS document, then it is not an implementation of the
RDFS specification.

I want this interface to meet the interoperability requirement of
standards.  If this interface is not standardized then applications will be
stuck with one particular implementation of RDF.

> Actually, I think you had it about right when you said (if I recall 
> correctly) that the RDF standard should define what constitutes valid 
> entailment.

I think that what I stated is that the RDF standard should require that RDF
implementations be able to determine entailment.  (Which is, I think,
roughly equivalent to what you said.)

> #g

Peter F. Patel-Schneider
Bell Labs Research

Received on Wednesday, 19 December 2001 13:23:21 UTC