Reification quoting in RDF/N3 was: A note comparing Conceptual Graphs and RDF/Semantic Web

Drew says (full message appended)
>This is the first I've heard about "quotation" in RDF.  Is this a
>synonym for reification, or something else?

Reification seems to me to be a mechanism for quotation.
That is, it is a mapping from a system with quotation (like the N3 syntax)
to a system which only allows only triples.
I introduced the {} in N3 to be able to scribble about quoted RDF
conventiently. RDF, unlike many languages,
produces an abstract syntax  (the triple model) to help different
implementations agree on what something means.
This is a bit like defining LISPs in terms of car and cdr.

>If it's a synonym for
>reification, then I don't think that's what Sowa intended (although I
>am no expert on conceptual graphs).
I can't say what he intended either, as neither am I am expert on Conceptual
Graphs. I just found that what he had written seemed to make sense to my way
of thinking, which does not of course imply the referse at all.

> If it means the ability to
> include statements inside statements, then I'd like to know how that
< works.

I understood that is we want to say in RDF, s1: "Mary wants to marry a
sailor"; s2: "John believes s1" that reification is provided for that
purpose. Note there we are asserting both ourselves.

Looking in general at the difference between besting subexpressions as
quoted expressions, the convert from one to the other faily easily.

>How do we avoid asserting that "Mary wants to marry a sailor"
> when we produce the subgraph capturing that meaning?

In the subgraph there is no problem, in that the triples asserting that
"Mary wants to marry a sailor" never appear at the top level.   Depending on
how you represent the quotation, the reification of the n triples (4n
triples) appear, or else you have a separate names set of triples which is
refered to in the top level set.

However, in the RDF syntax there is a known problem there.  You can't quote
something without asserting it. (There is hack Dan Connolly invented of
<rdf:description aboutEachPrefix=" " bagID="subexpression1"> because
aboutEachPrefix means it is asserted about anything with a URI which starts
with a space which is no URIs.)
This is a known bug and one which I hoped will be fixed in a later release
of the spec. But I can't find it now I look for it in
http://www.w3.org/2000/03/rdf-tracking/.

In N3, the braces are used to quote something -- if you want it assert it as
well, you have to state that it is a log:Truth (for example). The reverse
limitation.

tim

_________________________________________

Date: Mon, 15 Jan 2001 11:57:13 -0500 (EST)
Message-Id: <200101151657.LAA02118@mr1.its.yale.edu>
From: Drew McDermott <drew.mcdermott@yale.edu>
To: Jerome.Euzenat@inrialpes.fr
CC: timbl@w3.org, www-rdf-logic@w3.org
Subject: Re: A note comparing Conceptual Graphs and RDF/Semantic Web & N3


I took a look at Tim's comparison of conceptual graphs and RDF.  The
following puzzles me:

   The concept of "context" occurs very equivalently in CGs and N3, where
   in both cases a formula is built using quotation.
      In N3, the braces were introduced to encapsulate a set of
   information and talk about it as a set. Using an example from
      [1], "Tom believes that Mary wants to marry a sailor"

      [Person: Tom]<-(Expr)<-[Believe]->(Thme)-
  [Proposition:  [Person: Mary *x]<-(Expr)<-[Want]->(Thme)-
     [Situation:  [?x]<-(Agnt)<-[Marry]->(Thme)->[Sailor] ]].

      Which in N3 would be (ignoring the type assignments which in
   N3 can be omitted onluess this is really where you want to
      state that Tom is a person)

      <#Tom> a :Person; :believes [a :Proposition; = {
   <#Mary> a :Person; :wants [ a :Situation; = {
       <#Mary> :marriedTo [ a :Sailor ]
   ]}
      ]}.

This is the first I've heard about "quotation" in RDF.  Is this a
synonym for reification, or something else?  If it's a synonym for
reification, then I don't think that's what Sowa intended (although I
am no expert on conceptual graphs).  If it means the ability to
include statements inside statements, then I'd like to know how that
works.  How do we avoid asserting that "Mary wants to marry a sailor"
when we produce the subgraph capturing that meaning?

                                             -- Drew McDermott

Received on Wednesday, 17 January 2001 16:12:49 UTC