- From: Graham Klyne <GK@NineByNine.org>
- Date: Thu, 03 Jan 2002 12:19:03 +0000
- To: "Peter F. Patel-Schneider" <pfps@research.bell-labs.com>
- Cc: www-rdf-interest@w3.org
At 01:22 PM 12/19/01 -0500, Peter F. Patel-Schneider wrote:
>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.
I beg to disagree... HTML is precisely about achieving interoperability
between the tools that create content, and the tools that render content
(or, more correctly, between different tools that create and/or render
content).
>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.
Again, I disagree. I am sure we are agreed that the syntax alone is not
enough to determine entailment. In the case of RDF, I think the
interoperability that is crucial is at the level of determining
entailment: application A provides some information to application B from
which (in conjunction or otherwise with commonly available additional
information) both applications may determine the same entailments in
accordance with the rules of RDF. The determination of entailment
emphatically does not, in my view, depend upon the use of any particular
internal data structure.
>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.
A programming language is an interesting case, but I'll argue that it's
still viewable as a form of interoperability. In general, applications
don't exchange programs written in a programming language, so the standard
for a programming language doesn't (primarily) address inter-application
interoperability. Rather, it is "interoperability" between a programmer
(who writes the language) and an interpreter for the language. One should
be able to replace the interpreter with another, and still get the same result.
>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.
I did agree that an standard API could be useful, addressing as it does
interoperability between components within a single application. I just
don't see it as being essential to core RDF.
Actually, despite all the "disagreements" above, I suspect we're engaging
in violent agreement here.
#g
--------------------------
__
/\ \ Graham Klyne
/ \ \ (GK@ACM.ORG)
/ /\ \ \
/ / /\ \ \
/ / /__\_\ \
/ / /________\
\/___________/
Received on Thursday, 3 January 2002 08:18:25 UTC