Re: Semantic Layers (Was Interpretation of RDF reification)

Dan and Harry,

HH>> Again, I'm not sure if a Semantic-Web interest list is the place
 >> to be arguing against the Semantic Web per se, but John brings up
 >> some interesting points.

DB> It's a fine place, so long as the debate is reasoned and polite.

Thanks for not being upset about my comments, but I'd like to
emphasize that I'm definitely in favor of the Semantic Web, but
I do have some serious concerns about some of the design choices.

Let me point out some things I like:

  1. The use of Unicode and URIs.

  2. The use of XML for marking up documents.

  3. The use of logic-based languages such as RDF and OWL, which are
     semantically compatible with subsets of the draft proposed ISO
     standard for Common Logic.

Some things I'm not happy with:

  1. The limitation of RDF to just triples.  There is no reason
     why they can't support full n-ary relations.  That would
     certainly simplify the mapping to and from relational DBs.

  2. The bloated syntax of RDF & OWL. (Yes, I've heard all
     the arguments for compression, for better human factored
     tools, etc.   I've heard similar apologies for other design
     mistakes over the past 40 years, and they've always turned
     out to be wrong.)

Suggestion:  I propose an alternate notation for RDF-like triples
(with the option of n-tuples), which would be an XML tag that
encloses a list of tuples defined by the following two BNF rules:

     TupleList  ::=  Tuple*

     Tuple  ::=  "(" Relation Argument* ")"

The first rule says that a tuple list consists of zero or more tuples.
The second rule says that a tuple has a left paren followed by a
relation followed by zero or more arguments followed by a right paren.

The syntax for the relation and arguments would be identical to the
RDF syntax so that any list of RDF triples could be mapped into such
a list.  It would also provide a convenient way of representing the
data in a relational DB.  A relation with no arguments would represent
a named assertion -- i.e., a proposition in propositional logic.

This would just be an option.  If the RDF tools are sufficiently easy
to use, nobody might ever feel the desire to use a tuple list.  But it
would also provide a convenient method for representing data from RDBs
and other similar systems.  It could also serve as a humanly-readable
compression algorithm for RDF.  (And tuple lists could, of course,
be compressed further, if desired.)

John Sowa

Received on Wednesday, 29 March 2006 04:22:12 UTC