rdf as a base for other languages

From: "Geoff Chappell" <geoff@sover.net>
Subject: Re: Predicates and Arcs vs Triples RE: use/mention and   reification: rdf:predicate/subject/object
Date: Thu, 31 May 2001 21:33:07 +1000
> 
> Isn't that because rdf is just the first step/layer? RDF has no mechanisms
> to handle variables, quantification, implications, etc. (and so as a
> knowledge representation language it's not particulary expressive.) But
> wasn't that always the plan? My understanding of the rdf roadmap is that RDF
> will serve as a triple-based data model for storage of facts -- with
> reification just a convention to store "preparsed metafacts" that will only
> be given meaning by a processor/logic system higher up in the chain (i.e.a
> system might have a rule:  infer {?a ?b ?c} from {say john {?a ?b ?c}}). So
> much of the argument/confusion about reification seems to stem from the fact
> that it's pretty useless without another layer (and the fact that it tries
> to do too much/has overloaded meaning - with bags, etc.).
> 
> Do others see it differently? is rdf trying to become a fully expressive
> knowledge representation language -- a la kif -- in and of itself ?  There
> seems to be so much blurring at times between the rdf triple model, its xml
> serialization, and the logic layer(s) that act upon it. I worry that if
> those layers aren't kept distinct (at least conceptually) poor decisions
> will be made about where functionality belongs.
> 
> Geoff Chappell

My view is that RDF is trying to have it both ways.  Although RDF has none
of the mechanisms to really do anything besides represent triples, the
definition of RDF talks about reification and containers as if RDF really
could do reification and represent bags, sequences, and alternatives.  The RDF
documents also talk about using RDF to store ground facts from the domain
and at the same time store more-complex information, such as collections, 
beliefs, and contexts.  Other people have added negations, disjunctions, and
quantifications to this list. 

Unfortunately RDF only has triples, so triples end up being used for both
the ground facts and the more-complex information.  RDF has no way of
distinguishing between these differing uses of triples, so any triples that
are used to store the more-complex information are also asserted as facts
by RDF.  Worse, any added meaning for the more-complex information, such as
what a disjunction really means, is not definable within RDF, so users have
to have side understandings that are not part of RDF.

If RDF wanted to do one or the other, i.e.,
	store only ground facts (triples)
or
	store encodings of more-complex information interpreted using 
	standardized extensions,
then I would not have a problem.  However, the two are, in my mind,
completely incompatible.

Peter F. Patel-Schneider
Bell Labs Research
 

Received on Friday, 1 June 2001 11:52:53 UTC