- From: Frank Manola <fmanola@mitre.org>
- Date: Mon, 04 Nov 2002 21:24:16 -0500
- To: Frank Manola <fmanola@mitre.org>
- CC: Brian McBride <bwm@hplb.hpl.hp.com>, RDF Core <w3c-rdfcore-wg@w3.org>
Brian-- Some comments on your comments (I'm not going to comment on all of them, just the ones where I either question the call, would like some more input, or otherwise feel like wrangling about): Section 1: [[If you were to allow me one silver bullet, one stylistic change you made just because I asked for it, it would be this one(he says not having read the rest of the document yet.) The first time a reader sees RDF they should see a graph, not RDF/XML. For me, it is very important to get the reader thinking about graphs, not XML, right from the get go.]] (Brian's comments are deliminted by [[ ]] ) I understand your point. The problem is that we've just got through talking about how useful RDF is for expressing information so it can be exchanged between applications, and so on. While the model/abstract syntax is a graph, the only way the graph can be exchanged between applications is to write them down, and the normative syntax for doing that is RDF/XML. I really do understand that the graph is the "essence" of RDF; but it seems to me that at this point (where we say we're going to be "concrete"), we want to show folks how they're actually going to be writing stuff down. "http://www.example.org/index.html has a creator whose value is John Smith" [[The "whose value is" grates. Suggest: http://... has creator ...]] I know "whose value is" grates; the problem is trying to construct an English sentence that has a roughly parallel structure with the triple we want to write later (and also has the same structure no matter how many different properties we use in examples later). Any such English is going to sound odd; we've tried several different variants on this theme; none of them is really ideal. I'm prepared to use "has creator", but "has" ought to be a "noise word" as far as the property name is concerned; the property name ought to be "creator", it seems to me. [[I think you can assume that the reader knows what an identifier is]] I think so too; the question is whether what the reader knows is what I'm trying to talk about here! [[This section on URI's seems like a big barrier to the reader early on. I'd expect a primer to introduce stuff more gradually. In style, this is beginning to feel more like a text book than a primer]] I understand. The problem is that: a. URIs are really fundamental; if they don't understand that, it's hard to make a number of subsequent points in sec. 2.3 (e.g., about shared references and stuff) b. without having introduced fragments, and without having introduced namespaces (in the maybe-to-be-deleted XML section), it's hard to introduce the QName abbreviation for triples, which means we have to write them all out (and the Primer was supposed to introduce this abbreviation). [[Do we really need this about XML? Is a basic understanding of XML a requirement on the reader?]] Maybe not, and DanC complained about that too. On the other hand, it's only a page, and as I said, I need (or at least I think I do) to introduce the namespace stuff somewhere, and that's half of the XML section. What do you suggest? "* a predicate http://purl.org/dc/elements/1.1/creator" [[Is that spelt correctly. I seem to recall dc properties had an initial capital letter.]] They do have an initial captial letter. But the DC Recommendation "Expressing Simple Dublin Core in RDF/XML" recommends using lowercase for everything. [[The mathematicians are having a lot of trouble deciding exactly what sort of graph and RDF graph is and Pat is staying away from having to get that "right". ]] I'm taking your advice on this one. NB: The basic problem, IMO, which I've not heard mentioned, is that the "graph" in mathematics is typically described as modeling *one* relation, not an arbitrary number, as we do. What we're really doing is plunking a bunch of separate graphs on top of each other (using a common set of nodes). I don't relish trying to explain that, however. "These examples also illustrate that RDF uses URIrefs as predicates [[no they name predicates]] in RDF statements" Actually, I think the URIrefs *are* predicates; what they name is *properties*. However, I'm going to try to avoid that somehow. "* rows in a simple [[doesn't work for complicated ones then?]] relational database" Remember that I'm talking about formats that correspond to RDF statements, not the information content of a collection of RDF statements. The row that corresponds to an RDF statement (or triple) has three columns, which is pretty simple. [["Bedford" is not the city, its the name of the city. Similarly for state. Suggest rename properties to cityName, and stateName. Not sure what to rename street to.]] I'm commenting on this because it's listed as an "error". If I gave a URI for the city instead of the literal "Bedford", that wouldn't be the city either, that's another name for the city. Would you have me say "cityName" then too? "cityURI"? I understand the distinction you're making, but I really am trying to indicate the city; the only way I can do that is by using a name. [[Thinking about it, do we really need to keep giving triples representations for everything. Won't the picture of the graph suffice?]] Well, do I need to discuss nodeIDs in RDF/XML? If I do, I think I need this sort of material. One of the reasons that triples are used so frequently (you'll see a lot more of them as you go further) is that for illustrating a quick example, it's easier to write the triples than to draw the graph (however, if you want pictures of graphs for everything, I can certainly draw them). Also, lots of people seem to find triples rather straightforward; I know I do. Perhaps more could be made of the point (which I really do try to make) that what is essential is the *graph*, and that *pictures* and sets of *triples* are merely different *representations* ("depictions"?) of the graph. [[There is confusion here about what a triple is. Is it the abstraction (subject, predicate, object) or is it a line of N-Triples?]] The intention was that a triple is a specific *instance* of a subject, predicate, object triple; i.e., a "stating" as opposed to a "statement" (to rehash that old debate). "it would be unwise [[wrong]] to assume that blank nodes from different graphs having the same node identifiers referred to the same resource [[suggests blank nodes refer to a specific resource, which in general they do not.]]". Would it be better to substitute "thing" for "resource"? "and RDF would not see anything wrong with this." [[No, strongly disagree. We are talking about what an RDF procesor would do here, and an RDF processor that is datatype aware would barf. We need to describe the different behaviour to expect between software that understands the datatype and software that does not.]] What I was talking about was what was visible to *RDF*, and *RDF* knows nothing about any datatypes, as far as I know. I agree that we probably need to distinguish this from what a datatype-aware processor would do (assuming DanC lets us talk about "processors"), but my understanding is that such a processor would need to know *both* (a) what RDF defines, and (b) what a specific collection of datatypes defines. Moreover, I don't imagine there would be "generic" datatype-aware RDF processors, but rather RDF processors aware of specific collections of datatypes (like XML Schema datatypes). If you gave one of those processors a datatype that it wasn't "aware" of, I wouldn't expect it to barf if it got a mismatched (datatype,lexical form) pair as in this example; or at least not to barf in the same way. It might say "this isn't a datatype I'm able to natively process", but it wouldn't (because it couldn't) say "this pair makes no sense" according to this datatype. --Frank -- Frank Manola The MITRE Corporation 202 Burlington Road, MS A345 Bedford, MA 01730-1420 mailto:fmanola@mitre.org voice: 781-271-8147 FAX: 781-271-875
Received on Monday, 4 November 2002 21:11:36 UTC