- From: Graham Klyne <GK@ninebynine.org>
- Date: Thu, 31 May 2001 12:56:31 +0100
- To: pat hayes <phayes@ai.uwf.edu>
- Cc: www-rdf-logic@w3.org
I've been mulling your response, on and off, for a couple of days. I think I'd like to take your points out of order, as the second part may shed light on the first... >>I view "arcs and nodes" (as in directed labelled graphs) and "triples" as >>different presentations of what is fundamentally the same syntax. > >I would respectfully suggest that you might want to re-think this >identification; or at least, that you distinguish *syntax* from >*structure*. A single structure can encode a variety of different >syntaxes, but the logical semantics needs to have the actual syntax to >attach to, not its implementation structure. You are right that I have not been clear about "syntax" vs "structure": I had been treating syntax as a kind of structure. If I interpret you correctly, "structure" refers to some way of constructing information composites from component parts (lists, arrays, sequences, tuples... even triples). Syntax, on the other hand, describes a a set of rules for construction of valid sentences; thus, a syntactically valid sentence has not only some surface form, but an associated parse tree - to which the semantics might be attached. Am I on track so far? I had thought I was treating graphs and triples in the syntactic sense when I made the claim above. But I'm beginning to see that the syntactic structure of just triples is too simple to provide hooks for meaningful semantics. I think you may be saying that, in order to attach meaningful semantics, certain values or sets of values that appear within the triple structure must be recognized as distinguished symbols in the syntax, in order to be able to say that they have specific associated semantics. For example, for "reification" to be at all workable as a mechanism for attaching new semantics to RDF graphs, the properties and classes that are used by reification must be recognized as distinct syntactic symbols with specific syntax productions governing their use. So, to defend my original statement above about the equivalence of "arcs and nodes" and "triples", I should have described them has "fundamentally the same structure". Or I could choose to view them as the same syntax, but that would be a syntax that is fundamentally too primitive to serve as a basis for any useful semantics. At 11:41 AM 5/29/01 -0500, pat hayes wrote: >>At 01:52 PM 5/27/01 -0400, Jonathan Borden wrote: >>>This argument is oft stated. And in the early days of software, similar >>>arguments were made regading the lack of ability of a high level language to >>>express anything beyond what is expressed in machine language. >> >>That is very different from the argument I am advancing. I am saying >>that triples are something in which the various "high level languages" of >>resource description might be grounded, and (assuming adequate semantics) >>through which the various forms of "high language may" be related. > >Let me home in on this. A problem, I think, with a lot of this discussion, >is that words like 'grounded' and 'related' are used without being clearly >defined. There is certainly one sense in which any notation can be >'grounded' in triples, or represented as triples, since any graph can be >encoded as a collection of triples. OK, let us agree on that. And these >structures can be used to encode all of the syntactic forms of various >"high-level" languages, which can be provided with suitable semantics, >presumably. All of that is uncontroversial. Yes. But I had hoped that "grounded" might be a stronger idea. See my final comments below. > The heat is generated when one tries to fit these together. The RDF > model tries to attach the semantics directly at the triples level, which > forces it to use reification as a kind of universal syntactic solvent. Aha! In consideration of the first part above, I think I see a chink of light here. > That is what some of us find an unacceptable trade-off, as it uses a > huge burden of semantic expressivity (KIF is probably the only formalism > on the planet with a fully defined truth predicate, and even that has > never been used in practice by anyone, as far as I know, and is likely to > be eliminated from the new KIF standard) to purchase a tiny advantage in > interoperability (the property that any set of triples is well-formed.) > Also, we are pretty sure it is going to lead to problems later: it is > notoriously easy to produce paradoxes if used casually, it renders any > 'genuine' usage of reification semantically suspect, and so on. ... but now you've lost me. In other messages, I've tried to explore the possibility of using "reification" to achieve some stated goals *without* requiring a truth predicate. What I'm taking from this exchange is the possible idea that this cannot be done based on the syntax(sic) of triples alone. For this one needs (at least) a richer syntax that, if encoded in triples, recognizes special combinations of triples, such as "reification" and others, as distinct syntactic constructs. >>[...] >>> > >>> > I think their is a fair community investment in the triple form, and that >>> > it should not be discarded unless we are certain that it is fundamentally >>> > inadequate. >>> >>>I submit that the community investment is in _arcs and nodes_ not triples >>>per se. I think the investment is in both. In view of the above comments, I would suggest that the "interesting" challenge here may be to devise an abstract syntax for RDF that *can* be encoded in arcs+nodes/triples/XML in a way that is consistent with current implementations of RDF applications. ... I don't think I've said anything significant above that hasn't already been said by you or others. But something that exercises me is the possibility that there might be a "basic RDF", complete with model theoretic semantics, that corresponds approximately to Existential-Conjunctive (EC) logic [1], and one or more "extended RDF"s that share the same EC-based semantic foundation, even though they add different semantics on top. Roughly, this would mean that any RDF expression that used only the EC subset would be interpreted equivalently by different "extended RDF" systems. Why do I think this is an interesting, maybe useful idea? (a) it provides a common, simple basis for representing ground facts, and exchanging them between systems. (b) it is very simple to implement for applications that don't need to do any more than interpret ground facts. (c) I have a hunch that it is compatible with the use of RDF by many current applications. #g -- [1] There are several references to Existential Conjunctive logic on John Sowa's book "Knowledge Representation". ------------ Graham Klyne GK@NineByNine.org
Received on Thursday, 31 May 2001 08:14:31 UTC