- From: Sandro Hawke <sandro@w3.org>
- Date: Fri, 31 Jan 2014 15:32:25 -0500
- CC: RDF WG <public-rdf-wg@w3.org>
- Message-ID: <52EC0859.7000007@w3.org>
I recently had a chance to read through the Primer, and mostly it's great but there were a few things that bugged me. Hopefully they're not to hard to fix. 1. The use of the word "informative" in the first paragraph is a problem. I don't think most people have any idea that in standards-speak "informative" has a different meaning than in normal English. So to most people, that bit will just sound kind of dumb. (I think it's a bad idea to ever use that word when we have a perfectly good alternative in "non-normative", but it's particularly problematic in the beginning of a primer. I was thinking something like, "This document is a companion to a set of W3C standard, which are listed at the end of this introduction. This document itself is not a standard, though." 2. With my naive reader hat on, I was still feeling pretty confused at the end of 3.5, badly wanting a diagram. Maybe move the one from later up to this point? Not a show-stopper. 3. Typo in 5.1, "habe" 4. In 5.2 I think it's important to introduce N-Triples with saying it's a subset of Turtle. That's the most important thing about it. 5. In 5.2 I think we have a chance to push back against the biggest problem in RDF deployment. Under RDF/XML I suggest: delete: RDF/XML was the only normative syntax for RDF when RDF 1.0 was published in 2004. add: When RDF was original developed in the late 1990s, this was its only syntax, and some people still call this syntax "RDF". In 2001, a precursor to Turtle called "N3" was proposed, and gradually the other syntaxes listed here have been adopted and standardized. The main point is that for many years, all the way back to 1997 (I think, 1999 at least), it wasn't so much the "only normative syntax", it was the ONLY syntax. .rdf files are RDF/XML. Professionals in this field still call RDF/XML "RDF". We need to help newcomers understand this happens and what it means when it does. 6. This is the hard one. I was eagerly reading the document up to section 6. Semantics, just thinking like a programmer, and nodding in agreement as everything up to this point made perfect sense. Then I got hit with this stuff about "formal model-theoretic semantics" and "truth-preserving conditions", and it suddenly just seemed like handwaving and obscure "semantics" stuff I'd never care about. I think this is a great place to explain to the RDF community WHY there are formal semantics and who might want to read rdf11-mt. As the text is now I'm afraid it just feeds the feeling that rdf-mt is gobbledegook no one needs to pay attention to, unless they're working on a PhD. Here's a strawman to show the kind of text I think we need: An overarching goal in the use of RDF is to be able to automatically merge useful information from multiple sources to form a larger collection that is still coherent and useful. As a starting point for this merging, all the information is conveyed in the same simple style, subject-predicate-object triples, as described above. To keep the information coherent, however, we need more than just a standard syntax; we also need agreement about the semantics of these triples. By this point in the Primer, the reader is likely to have an intuitive grasp of the semantics of RDF. (1) The IRIs used to name the subject, predicate, and object are "global" in scope, naming the same thing each time they are used. (2) Each triple is "true" exactly when the predicate relation actually exists between the subject and the predicate. (3) An RDF graph is "true" exactly when all the triples in it are "true". These notions, and others, are specified with mathematical precision in the RDF Semantics document [RDF11-MT <https://dvcs.w3.org/hg/rdf/raw-file/default/rdf-primer/index.html#bib-RDF11-MT>]. One of the benefits of RDF having these declarative semantics is that systems can make logical inferences. That is, given a certain set of input triples which they accept as true, systems can in some circumstances deduce that other triples must, logically, also be true. We say the first set of triples "entails" the additional triples. These systems, called Reasoners, can also sometimes deduce that the given input triples contradict each other. Given the flexibility of RDF, where new vocabularies can be created when people want to use new concepts, there are many different kinds of reasoning one might want to do. When a specific kind of reasoning seems to be useful in many different applications, it can be documented as an "entailment regimes". Several entailment regimes are specified in RDF Semantics. For technical description of some other entailment regimes and how to use them with SPARQL, see SPARQL 1.1 Entailment Regimes http://www.w3.org/TR/sparql11-entailment/ . Note that some entailment regimes are fairly easy to implement and reasoning can be done quickly, while others require a very sophistical techniques to implement efficiently. Some entailment regimes have been proven to be intractable, but they might still be useful for small data sets. ... then go into the rdfs:domain example ... I'm not attached to any of that wording -- I hope someone else can do better -- but hopefully you see how I'm trying to convey things people really need to know to operate in the RDF space without making a lot of assumptions about what they already know. I think we have to do something like that. With these changes, the document will be perfect. :-) Keep up the good work. -- Sandro
Received on Friday, 31 January 2014 20:32:26 UTC