RE: Reification quoting in RDF/N3 was: A note comparing Conceptu al Graphs and RDF/Semantic Web

On Thu, 18 Jan 2001, McBride, Brian wrote:

> [snip]
>
> > However, in the RDF syntax there is a known problem there.
> > You can't quote
> > something without asserting it.
>
> I'm not sure I understand the problem.  Simplifying your
> example for clarity:
>
>   <rdf:RDF>
>     <rdf:Statement>
>       <rdf:subject    rdf:about="mary"/>
>       <rdf:predicate  rdf:about="wants to marry"/>
>       <rdf:object     rdf:about="Fred"/>
>       <foo:believedBy rdf:about="John"/>
>     </rdf:Statement>
>   </rdf:RDF>
>
> as I understand things, the above quotes
> (wants to marry, mary, Fred) without asserting it, if
> I understand correctly what you mean by 'quotes'.
>
> Please could you give a concrete example of the bug you
> had in mind?

While you're right to point out this option, what we really want is a way
of writing down quoted RDF statements using the main features of our
much-loved RDF  serialisation syntax. It's a bit goofy to spend so much
effort writing RDF parsers, serialisers etc that attempt to make RDF
statements reasonably  readable as XML, only to have to abandon our
mostly readable RDF syntax when  quoting bits of RDF. The above example
is barely readable even for an RDF geek; if the toy-world nature of the
example were fleshed out, you'd soon find the syntax unreadable. Most
problematically, try using anonymous nodes for the people, since people
in practice don't seem to have URIs.

This syntax problem bites hard when working with distrustful applications
that want to  use XML to exchange messages about various RDF claims. All those
discussions about making RDF syntax more like 'colloqial' XML go out the
window. I would hope to see 'better mechanism for syntactic representation
of quoted RDF' on the must-have list for any effort attempting to produce
a radically improved RDF in XML syntax. Along with syntactic sugar for
inverse arcs, qualified names in attribute etc. Tim's non-XML N3 syntax
sets us a high target for improved XML-based syntaxes to aim for. All the
more reason IMHO to draw a distinction between a bugfix/errata for RDF 1.0
syntax and more ambitious efforts such as the ambition to harmonise with
ISO topic maps.

Anyway,  there's a related, far deeper problem with all this. Perhaps I
should've made this a separate thread... But here goes:

Revisiting your example,

>   <rdf:RDF>
>     <rdf:Statement>
>       <rdf:subject    rdf:about="mary"/>
>       <rdf:predicate  rdf:about="wants to marry"/>
>       <rdf:object     rdf:about="Fred"/>
>       <foo:believedBy rdf:about="John"/>
>     </rdf:Statement>
>   </rdf:RDF>

Suppose we wanted to do this for real. 'Fred' is not a URI. Worse, Fred
doesn't have a URI name on the Web. Fortunately he is related to many
things that do. So lets go the route recently discussed of saying "let's
pick Fred out as an indivual through description; he is the Person whose
personalEmailbox is fred@example.com".


rewriting your example (only doing the object of the statement, Fred, for
simplicity) we get:

>   <rdf:RDF>
>     <rdf:Statement>
>       <rdf:subject    rdf:about="mary"/>
>       <rdf:predicate  rdf:about="wants to marry"/>

       <rdf:object>
          <wn:Person>
             <foaf:mbox rdf:about="mailto:fred@example.com"/>
           </wn:Person>
       </rdf:object>

>       <foo:believedBy rdf:about="John"/>
>     </rdf:Statement>
>   </rdf:RDF>


Assuming we know the semantics of foaf:mbox are that there can be at most
one thing with that value, this is a trick that works reasonably well for
simple Web data aggregation when you're faced with URI-less data.

Unless you're being pedantic and/or logical. In which case, you might well
ask for more precision about the semantics. We're in the business of
propositional attitude ascription here; saying that John believes
_something_. Syntax aside, it is far from clear what exactly we are
ascribing to Mary. The example (perhaps unfortunately) is doubly complex
because the claim concerning Mary's desire is itself a propositional
attitude, ie. that she wants to marry the individual John. But let's set
that aside and simplify further: change wants-to-marry to lives-with,
since the latter makes no psychological belief-desire claim to confuse the
issue.

Now, where are we at.

   <rdf:RDF>
     <rdf:Statement>
       <rdf:subject    rdf:about="mary"/>
       <rdf:predicate  rdf:about="http://foaf.example.com/livesWith"/>
       <rdf:object>
          <wn:Person>
             <foaf:mbox rdf:about="mailto:fred@example.com"/>
           </wn:Person>
       </rdf:object>
       <foo:believedBy rdf:about="John"/>
     </rdf:Statement>
   </rdf:RDF>

Colloquially:

(1)
	John believes that mary liveswith fred

or not quote the same...

(2)
	John believes that mary liveswith (the/a) Person whose mailbox is
						 fred@example.com


Our original intent was (1). However, by working around the anonymous
nodes / unknown name problem,  we smack into a rather old philosophical
chestnut.

question 1:
Does John know the email address of the person he believes Mary to live  with?

question 2:
Is the answer to Q1 determined by the semantics of the 'believedBy'
relation we're using? ie. could we have 'believedby-transparent' vs
'believedby-opaque' flavours of this relation to capture this distinction.

question 3:
Whether reading (2) above is read as '...the person', or '...a person'
depends on knowing that foaf:mbox is a unique property. However John (or
mary, or the first person narrator) may not know (or believe) this. Might
John then believe that Mary livesWith any/all persons with that mail
address?

IMHO RDF as-is lacks precision in this area; but I stick by my story that
this is a problem for the Web at large. One that it would be nice to see
folk on this list have a crack at...

Dan

--
mailto:danbri@w3.org
http://rdfweb.org/rweb/who?mbox=mailto:daniel.brickley@bristol.ac.uk

Received on Thursday, 18 January 2001 07:57:09 UTC