- From: Dan Brickley <danbri@w3.org>
- Date: Thu, 18 Jan 2001 07:56:06 -0500 (EST)
- To: "McBride, Brian" <bwm@hplb.hpl.hp.com>
- cc: Tim Berners-Lee <timbl@w3.org>, <www-rdf-logic@w3.org>
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