- From: Ivan Herman <ivan@w3.org>
- Date: Sun, 13 May 2012 12:46:31 +0200
- To: Pat Hayes <phayes@ihmc.us>
- Cc: David Wood <david@3roundstones.com>, Richard Cyganiak <richard@cyganiak.de>, Peter F. Patel-Schneider <pfpschneider@gmail.com>, public-rdf-wg WG <public-rdf-wg@w3.org>
Pat, I see your point to keep the model theory part as normative. And I have no problem with this, as a means to give a clear mathematical definition of what is going on. However, I am much less dismissive about the rules as you are, and please do not regret having added them to the document:-) They are not the only and probably not the most efficient way of implementing RDF(S) semantics. Some of them (like the lg/gl rules) need at least some explanation why they are there. However, I persist in saying that they are much more didactic to the casual RDF user in explaining what is happening in the semantics (and, in that, they are *extremely* valuable). As for implementers, let us not forget that what you need is not always a highly efficient, top-of-the-class reasoner: In many cases the quick-and-dirty approach, with a forward chaining on those rules, is the best way of implementing the necessary semantics, and the good thing about this is that anybody with a programming background can do that (I will give you an example below). Also, if we get to the point (which I would love to get to) where a simple rule language is available and used for RDF (ie, some sort of a RIF-downsized-to-RF) then those rules can be fed into such a rule engine and do the trick. Much like RIF has created a document on how OWL 2 RL can be implemented using the rule set in the OWL 2 document using a RIF engine. So, let us *not* downplay the role and importance of those rules. (An example where they are useful: there are some options of using an partial RDF(S) reasoner in RDFa, as an optional feature with vocabularies. An RDFa extractor can easily implement those by using those rules, or a subset thereof; in view of the size of the RDF graph at hand, ie, the graph extracted from an HTML file, efficiency of that reasoner is simply not a real issue. But that means any RDFa distiller implementer can do that easily, without any prior knowledge in model theory. This is exactly what I did...) My original idea was to reorganize the semantics document by putting the rules on the forefront for the reader; I do not mind if those are kept non-normative, with the model theory being the normative one. Putting the rules into the test case document is not really a good idea in my view: the test cases are really used by hard core implementers, and a casual RDF user, who wants to understand things, will not have the idea of reading that document. We could put them into concepts, but I am afraid of concepts becoming a bit too large and, besides, concepts does not really talk about RDFS. Maybe in RDF Schemas? In any case: let us not hide them! Cheers Ivan On May 13, 2012, at 08:45 , Pat Hayes wrote: > > Apologies for not getting involved with this thread earlier, I somehow missed it while travelling. > > I agree that people who know nothing about reasoning and logics may find model theory a bit opaque at first. It may be a way of thinking that they are not used to. On the other hand, it can be reasonably claimed that without a basic grasp of at least the basic ideas of interpretation and satisfaction, they will never be able to understand how to implement a modern reasoning engine. And I would suggest that without this basic grasp, they will never be competent ontology engineers. And also that it is not exactly rocket science. > > The problem with making the rules normative is that these rules are NOT in fact a good way to implement a reasoner. Any sensible reasoner will not use rules like se1 or se2, which (as the text explains) will generate all kinds of redundant and pointless conclusions, or lg and gl, which are much better handled by allowing literals into the subject position. But in any case, the whole approach which is suggested by these rules and the entailment lemmas, of checking entailment by applying rules to exhaustion, is extremely naive and cannot even be used for more expressive languages like OWL. Encouraging implementors to use this as a viable approach is leading them into a dead end. (I now regret even mentioning rules in the semantics document, and especially suggesting that they could be the basis of an implementation. I had no idea people would take them this seriously. I think they should be in a separate doument entirely, perhaps as part of the test cases, and no claims should be made as to their completeness, and no long and extremely opaque (and flawed) completeness proofs should be included, even in an appendix. Nobody gives a damn about completeness in any case.) > > I am sympathetic to the idea that RDF should simply not have a formally defined semantics at all. This would solve all of these (and many other) problems at a stroke, and I could get on with other things in my life. However, if it does have a semantics, then I don't think anything other than a model theory can work. There are too many alternative ways to implement a reasoning engine for any one of them to be taken as normative; and in any case, model-theoretic semantics has been the accepted norm for semantic specifications in linguistics, logic, database theory and the theory of computation now for about 40 years, and for very good reasons; it seems crazy and close to irresponsible to reject it for the foundational language of something called the *semantic* web. > > For example, who or what determines that a given rule is valid or correct? If we put a typo into an inference rule, or simply forget some special case, and a later reader notices this and publicises the error (as has indeed happened), then what basis do they have for claiming that the rule is wrong? If the rule itself is normative, then it CANNOT be wrong, even if it sanctions invalid inferences. This very notion of validity is a model-theoretic notion (it is that the antecedents can be satisfied by an interpretation which makes the conclusion false). Without this, we really do not have a *semantic* basis for judging the correctness of entailments. > > Further detailed comments in-line below. > > On May 4, 2012, at 7:27 AM, David Wood wrote: > >> On May 4, 2012, at 07:53, Richard Cyganiak wrote: >> >>> Hi Peter, >>> >>> On 4 May 2012, at 09:52, Peter F. Patel-Schneider wrote: >>>> Well I think that it would be a horrible idea to deemphasize the semantics. >>>> >>>> I'm also completely unsure as to what name could be any better than RDF Semantics. >>> >>> Let's consider who reads the RDF Semantics document, and for what reasons. From what I gather, we can identify a number of different cases. I'm sure there are many more: >>> >>> 1) Spec writers read it, in order to understand how to make their specifications compatible with other specifications in the RDF stack. For example, neither the RDB2RDF WG nor the SPARQL WG could have done its work without knowing the things formally specified in RDF Semantics. > > OWL could have, but then OWL would have been entirely disconnected from RDF. > >>> >>> 2) Implementers of various specs (incl. RDF, RDF Schema, SPARQL) read it, in order to understand how their systems should behave, especially with regard to datatypes and RDFS inference. > > If they are seeking a guide to how any system should *behave*, then they need to understand that semantics is not about behavior but rather about truth, satisfaction and consistency, and these ideas relate to inference-making only indirectly. They need to grasp the relationship between inference and semantics (eg the notions of validity and entailment) in order to relate inference behavior to a semantic description. If they do not understand this, then they probably shouldnt be trying to implement a reasoner. If semantics is too opaque, the many cases of entailment and non-entailment in the test cases document give a pretty good idea of most of what they need. > >>> >>> 3) Authors of RDF Schema vocabularies read it, in order to understand the consequences of declaring domains, ranges, subproperties and so on. >>> >>> 4) RDF newbies read it, because this is where they happened to end up after some googling or link-clicking and they don't understand the big scheme of things yet. > > The second paragraph of the document starts "This is one document in a set of six (Primer, Concepts, Syntax, Semantics, Vocabulary, and Test Cases) ..." and they might then hazard a wild guess that the one called "Primer" might possibly be a better place to start. > > If they habitually read documents without checking the first page, then I really don't think we have any responsibility for what kind of a mess they get into, frankly. > >>> >>> How well does the current document serve these needs? >>> >>> For 1), I think it works well. >>> >>> For 2) and 3), I think the document as it stands does not serve these readers well, and it could do a *much* better job. We have reports that such readers tend to find the informative entailment rules in Section 7 extremely useful, and much of the rest of the document rather impenetrable. It has thus been suggested that the entailment rules should be given more prominence. One minimally invasive way of achieving this would be to just move the words “normative” and “informative” around a bit. I suppose this is what Ivan refers to when he says “reorganize to make the rules normative and deemphasize the model-theoretic semantics”. >> >> *Personally*, I agree with this as an implementer of specs and author of vocabularies. > > What would it mean to make those rules normative? Would an efficient tableax-based reasoner be then illegal? What about an modified resolution-based FO reasoner adapted to RDF? What about a rule engine which used a different suite of rules (there are many other rules that could be used and would give similar results.) What about an implementation based on Prolog? It is crazy to try to make one (flawed and inefficient) implementation technique be the normative definition of a semantic standard. > >>> For 4), the document as it stands doesn't work at all, and it can't, because that's not its purpose. In fact, when newbies try reading this document, it's pretty much guaranteed to end in disaster. > > That depends entirely on the background that the newbie happens to have. > >>> I think we all agree that this is *not* the document you should be looking at in your first encounter with RDF. > > If you know nothing about logical methods, inference engines, machine inference? Yes, it might not be a good starting point if you are this ignorant, indeed. I did try to write some introductory, almost tutorial, material in the first sections, but no doubt these are not often read. > >>> There isn't *too* much we can do about this, but I think that a title that is a bit scarier to newbies could help. Can we put something like “model theory” or “formal representation logic” into the title? >> >> This problem could be solved easily with the insertion of some language in the introduction pointing to the Primer in the first paragraph (instead of just the Vocab and Concepts, as it does now). > > See above. It refers to the primer in the second paragraph of the document. > >> >> Regards, >> Dave >> >> >>> >>>> Of course, if the WG wants to make RDF no longer be a formal representational logic, then .... >>> >>> I thought RDF is a data model? > > It is both. Data models ARE formal representational logics (ref. Codd.) > > Pat > >>> >>> Best, >>> Richard >>> >>> >>> >>>> >>>> peter >>>> >>>> >>>> On 04/25/2012 11:27 AM, David Wood wrote: >>>>> Hi Peter and Pat, >>>>> >>>>> The RDF WG briefly discussed the need for an RDF Semantics editors draft at today's telecon. I am aware that there are a lot of open issues and therefore hard to produce a draft, but perhaps it makes sense to have a single document that lists the issues in one place. >>>>> >>>>> In any event, we would like to discuss this at next week's telecon if you can make it. Thanks. >>>>> >>>>> Relevant comments from IRC (no log published yet since the meeting isn't over): >>>>> [[ >>>>> ivan: one thing that came up early was discussion to change title of RDF Semantics document, reorganize to make the rules normative and deemphasize the model-theoretic semantics AlexHall @ 11:20 >>>>> ... think it's a good thing to do but huge amount of editorial work AlexHall @ 11:20 >>>>> cygri: is there an editors draft of RDF Semantics yet? 11:21 >>>>> [no] 11:21 >>>>> cygri: given that there are larger changes to the doc, would feel better if there were an editors draft by now. 11:21 >>>>> guus: suggest we should put it on the agenda for next week >>>>> ]] >>>>> >>>>> Regards, >>>>> Dave >>>>> >>>>> >>>>> >>>>> >>>> >>> >> >> >> > > ------------------------------------------------------------ > IHMC (850)434 8903 or (650)494 3973 > 40 South Alcaniz St. (850)202 4416 office > Pensacola (850)202 4440 fax > FL 32502 (850)291 0667 mobile > phayesAT-SIGNihmc.us http://www.ihmc.us/users/phayes > > > > > > ---- Ivan Herman, W3C Semantic Web Activity Lead Home: http://www.w3.org/People/Ivan/ mobile: +31-641044153 FOAF: http://www.ivan-herman.net/foaf.rdf
Received on Sunday, 13 May 2012 10:43:32 UTC