RDF -- what does it involve?

This message is a follow-on to my introductory comments.  It contains some 
thoughts about the nature of the beast we are dealing with.


At various times, I have found it useful to think of RDF as:
- a generalization of hyperlinks for describing relationships between 
resources on and off the web -- this can be seen as a renewal of TimBL's 
early visions for the web.
- a restricted use of XML to regularize common application data formats 
(there are many ways to use XML to describe some data content;  in some 
ways (at least at the graph syntax level) RDF reduces the number of options 
to choose between.
- a generalization of XML, allowing arbitrary relationships between data 
items as well as hierarchical structures.
- a representation of conceptual graphs as directed labelled graphs, 
leveraging ideas of knowledge representation.
- a very simple underlying structure for encoding all sorts of data -- at 
its simplest level, RDF consists of URI-triples (+ literals) which are very 
easy to store in (say) an RDB.

The point here is that there are several views of the utility of RDF, and 
we should probably not assume that any one has primacy.


Over the past few days, I have been catching up on some discussion on the 
RDF-logic mailing list that makes me concerned that RDF might not be 
sufficiently logically sound to live up to all its publicity.  It is 
claimed (by some) that RDF conveys semantics.  I recall similar claims 
being made for XML (not in the XML spec), though I think it is now 
generally accepted that XML does not, of itself, convey semantics.  I 
wonder if RDF is in danger of creating similar inflated expectations -- I 
think we need to be very clear about what RDF can and cannot do of itself, 
and how other capabilities may be introduced.  (As a corollary, I think we 
need to work to keep individual specifications as small as possible so we 
can move quickly toward consensus on each, with a fair degree of confidence 
that the essential points are covered.)

Over the past week or so, I have formed a tentative hypothesis about how 
much capability might be reasonable to incorporate into various aspects of 
RDF.  I'm taking some cues from:

(1) RDF abstract syntax (aka "model"):  just that -- an abstract graph 
syntax that can be used to encode a variety of other ideas.

(2) RDF XML syntax:  a particular rendering of the abstract syntax in XML.

(3) RDF schema:  this may be controversial, but I am thinking that this 
would embody no more than a primitive theory of classes for RDF.  Some 
vocabulary, some axioms and some rules of inference, but no attempt to 
define full semantics:  no concept of truth and falsity, and no attempt to 
define an "interpretation" (in the model theoretic sense).

I think that (1) and (2) together should be sufficient to support simple 
stand-alone RDF/XML applications like RSS, DC, CC/PP, etc.

(3) defines some basic mechanisms for introducing new vocabularies, per 
current RDFS, but really doesn't create a lot of expressive power.

To provide means to introduce greater expressive power, we might need 
mechanisms for:
(a) designating axioms (and possibly axiom schemata)
(b) defining rules of inference (as relations on RDF statements)

These seem to provide the basic building blocks for defining new 'theories'.

Everything I've described above works at a purely symbolic level on RDF 
statements;  I've stopped short of introducing model-theoretic 
"interpretation", which seems to be where things start to get complex.  I 
think this means that framework does not supply any real "semantics" for 
RDF, just a symbolic framework to hang semantics onto [**].  It's not clear 
to me whether one interpretation would be adequate for semantics of all 
expected uses of RDF.

[**] I'm not sure about this:  I'd like to see a proper, generally accepted 
definition of "semantics".  It seems my previous ideas about this may have 
been inadequate.


Graham Klyne

Received on Wednesday, 11 April 2001 18:21:47 UTC