Re: Semantic Layers (Was Interpretation of RDF reification)

Leonid and Henry,

I am very much in sympathy with Leonid's comments,
*especially* with the point that pragmatics comes first
in any kind of design, semantics comes next, and syntax
should be tailored to the semantics and the pragmatics.

> Let me add some more items to the things you like .
> - To extend the Triples approach by the Classificaton Theory
> integrated with Measurment Theory ;
> - To use the Pragmatics above the Semantics ;
> - To use the Pragmatism "relativity" between Ontology and
> Epistemology(Cognitology);
> - To add the VSM of Stafford Beer
> (
> to Upper Ontology ;
> - To add the "metasystem transition" as "natural generalization" way.
> ---------------------------
> See some more details in -

The details of the systems Leonid cites are very interesting
and should be considered, but there are also a lot of other
interesting systems that should be considered.  I don't want
to obscure the important principle above by quibbling over
the other details.

The following comment by Henry illustrates the difficulty:

 > OWL and RDF are not a syntax. They are a semantics. If you want
 > to make your life easier just use Turtle, or if you want more
 > power than what has yet been standardized, use N3. Here is an
 > atom feed rewritten using N3 (turtle) syntax with the AtomOwl
 > ontology [2]

In politics, statements like the first two sentences above are
technically known as "spin".  Although I was not involved in the
design of RDF and OWL, I have read and heard enough about the
process to know that the designers went through enormously
complex contortions to shoehorn the finally agreed semantics
into the syntax policy that was edicted a priori.

Any syntax that is so difficult to use that it requires all the
effort that Tim Bray and others expended on it just to express
triples (and which Tim admits was a mistake) has something
seriously wrong with it.  And if it requires tools as powerful
as Turtle and N3 to make it humanly usable, that is further
evidence that something is very seriously wrong.  And if the
result is so bloated that it requires compression algorithms
to reduce storage space and transmission time, that is
abundant evidence that something is horribly wrong.

The *only* argument that makes the slightest amount of sense
is that the RDF and OWL syntax enables the reuse of parsers
designed for XML.   That argument is undermined by the very
simple observation that the notation (R arg1 arg2 ... argN)
can be parsed with two functions built into many languages.

In many commonly used languages, the two functions are called
Head and Tail.  But whatever they are called, they provide
a two-operator parser that comes for free with the language:

  1. For any tuple list L, Head(L) is the first tuple, and
     Tail(L) is the remaining list.

  2. For any tuple T, Head(T) is the relation name, and
     Tail(T) is the list of arguments.

Henry's example (copy below) illustrates the kind of metalevel
notation that is valuable for large documents (and in some cases
even for a single tuple).  But in many applications, it is
counterproductive for the metalevel to overwhelm the content.
If you have a billion tuples (as many systems do), you don't
want to annotate every last one of them individually.

Recommendation:  Allow RDF and OWL to remain as they are, but
provide an optional form along the lines of the tuple list I
suggested in my previous note.  If you want to annotate a single
tuple in the form Henry suggested, then use the following notation.
But if you have a billion tuples (or even just a dozen), factor
out the metanotation and put the content in a simple tuple list.

As Tim Bray commented about the mistakes in the design of RDF:

    It's the syntax, stupid!

John Sowa

[ a :Feed, :Version;

    :title [ :value "Example Feed";
             :type "text/plain" ];
    :link  [ :href <>;
             :rel iana:alternate ];
    :updated "2003-12-13T18:30:02Z"^^xsd:dateTime;
    :author [ :name "John Doe" ];
    :id <urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6>;

    :entry [ a :Entry, :Version;
             :title [ :value "Atom-Powered Robots Run Amok";
                      :type "text/plain" ];
             :link [  :href <>;
                      :rel iana:alternate ];
             :id <urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a>;
             :updated "2003-12-13T18:30:02Z"^^xsd:dateTime;
             :summary [  :value "some text";
                         :type "text/plain" ]
] .

Received on Wednesday, 29 March 2006 16:39:31 UTC