Re: universal languages

Drew McDermott wrote:
>
> The problem is that RDF is sometimes the small language we plan to
> use, and other times it's just the medium in which the actual language
> is going to be written.  What's driving me a little crazy is that its
> advocates switch back and forth between these two positions.  When its
> inadequacies as a language are pointed out, the RDFites say, "We can
> implement any language we like."  But then the next day they're using
> RDF as the actual language again.

I view RDF as simply a mechanism to represent directed graphs whose nodes
and arcs are labelled with URIs -- no more -- no less. As a language naked
RDF is capable of describing such labelled directed graphs.

On top of that, the presumption is that one can layer logical statements.

>
> I don't understand the power of "triples."  Doesn't XML already have
> "triples"?  If I say
>
> <foo u="x">
>    <baz v="y"/>
> </foo>
>
> isn't there a triple x-baz-y?  What's the big deal?  I feel like I
> must be in the presence of a mystery on a par with the Holy Trinity;
> mere mortals can only genuflect, not understand.

By what rule have you constructed the triple ('x','baz','y')?

The RDF model is not much more than

    model := (predicate,subject,object) where predicate subject and object
are URI references.

The RDF syntax is a set of rules for converting a piece of XML into a set of
RDF triples. Perhaps the big mystery arises from the fact that this set of
rules is not obvious but if you try to create an alternate set of rules
(e.g. an alternate RDF syntax) you may come to better appreciate RDF.

>
> Let me repeat the problem: If RDF is just a mechanism for describing
> the syntax of some other language, then it's irrelevant.  If it is the
> actual language, then it's inadequate.

It is adequate only for the purpose of describing a URI labelled directed
graph. Perhaps that's not much but if the problem domain is best expressed
as a URI labelled directed graph then it is a useful convention.

The RDF Schema (RDFS) language is little more than a convention creating
triples of the form [URIx rdf:type URIy] and [URIa rdfs:subClassOf URIb] as
well as a minimal set of restrictions on which arcs may arise from a
particular URI. RDFS is a language for describing other languages whose
uniqueness in this regard is solely that it is itself based upon RDF.

It is from RDFS, not directly RDF, that other languages such as DAML+OIL
arise. You may reasonably argue that RDFS is inadequate for your purposes,
that you cannot express the constraints or constructs you desire on a URI
labelled directed graph. Yet if you are able to use RDFS to describe the
syntax of some other language (e.g. DAML+OIL) which does have the properties
you desire, then RDFS is not irrelevent: Its use allows such a derived
language to inherit the property of describing a URI labelled directed
graph, and having its constraints and constructs (such as logical
statements) apply to a URI labelled directed graph.

Jonathan Borden
The Open Healthcare Group
http://www.openhealth.org

Received on Friday, 2 February 2001 19:17:25 UTC