- From: Drew McDermott <drew.mcdermott@yale.edu>
- Date: Fri, 2 Feb 2001 16:50:57 -0500 (EST)
- To: connolly@w3.org
- CC: www-rdf-logic@w3.org
You get to decide whether my evidence is compelling/persuasive/interesting. But to refer to my research as "offhand remarks" is, well, rude, no? I apologize. Let me be more constructive. Here are some issues we could talk about instead of triples. In each case, when I ask "Should the language have X?" what I probably mean is "Should there be a subset of the language that allows X?" > Should the language have types? I think the answer is a strong Yes, but many AI languages have used sets instead. The difference is that types behave more like a syntactic restriction on variables and predicates, whereas sets are objects in the domain. > What sorts of quantifiers are allowed? Do lambda-expressions appear as explicit constructs? > Should the language have functions? They are often very handy. In PDDL, for instance, we have recently added functions that denote fluents, so that volume_in(tank3) might denote the time-varying amount of fluid in tank3. > Is the language extensional or intensional? This issue has been raised in passing earlier in the discussion. If we want to be able to describe what an agent believes, then we will need a predicate believes(a, p). The second argument is generally held to be "opaque," that is, impenetrable to equality substitution. (So if Fred believes that Bush is not really President, you can't conclude "Fred believes Bush is not really Bush" from Bush = President.) You also get funny interactions with quantifiers. The issue comes up in more mundane ways. If we look at the term volume_in(tank3), do we want to think of it as a function of time? If so, what does volume_in(tank3) + 5 mean? Two choices: volume_in(tank3)(now) + 5 lambda(t) (volume_in(tank3)(t) + 5) The first is a number, the second a time-varying quantity, always 5 larger than volume_in(tank3). If the language is intensional, then presumably the second is the intended meaning of volume_in(tank3) + 5. Pat Hayes has often argued that the overhead for extensionality is low, and we should just view volume_in(tank3) + 5 as ill-formed. You must always pick one of the interpretations above and write it that way. Some of the participants in a the discussion assume that intensionality = quotation. It's true that quotation is one way to implement intensionality, but it's not the only way. The other is just to use possible-world semantics. This tends to be more compact but lets in a few too many inferences. > Don't get me wrong. I'm not arguing in favor of another concrete > syntax. I like XML for the same reasons I like Lisp: it provides a > level of hierarchical structure intermediate between characters and > syntax trees. But, like Lisp, XML imposes almost no constraints on > what actually gets expressed in it. Great! Why don't we define a > language and then find a way to embed it in XML? That's what we're doing, I think. By they way... along with XML, don't forget URIs. The value of the Web is the network of URIs. Any language disconnected from that context is totally worthless to me. Yes, you're right. URIs are an orthogonal issue to XML (and RDF, for that matter). I'm not entirely sold on URIs, but they seem like a good idea. As bad as RDF might seem, all the other languages I've seen in this design space are worse. Either (a) they don't connect to URI space, so why bother, or (b) they're even more baroque than RDF. Check out XMI, for example. http://www.oasis-open.org/cover/xmi.html http://www.google.com/search?q=XMI I took a glance at it. (Not easy; there are a lot of stale links around XMI; is it dead?) I'm not sure what makes XMI more baroque than RDF. It looks like they just took UML and XML-ified it. That's more or less what I'm advocating with respect to knowledge representation. > (Step 2 should take > about 15 minutes.) Hah! I think you display a lack of experience in consensus building. Not a complete lack. I realize that there can be infinite discussion over trivial syntactic issues. The way to settle them is to appoint a syntax czar whose decisions are final. > What exactly is the role RDF plays in all this? It's a little teeny formal system based on URIs and XML: two place predicates only, conjunctions and existentials but no negation, disjunction, universals, etc. The problem is that RDF is sometimes the small language we plan to use, and other times it's just the medium in which the actual language is going to be written. What's driving me a little crazy is that its advocates switch back and forth between these two positions. When its inadequacies as a language are pointed out, the RDFites say, "We can implement any language we like." But then the next day they're using RDF as the actual language again. I don't understand the power of "triples." Doesn't XML already have "triples"? If I say <foo u="x"> <baz v="y"/> </foo> isn't there a triple x-baz-y? What's the big deal? I feel like I must be in the presence of a mystery on a par with the Holy Trinity; mere mortals can only genuflect, not understand. Let me repeat the problem: If RDF is just a mechanism for describing the syntax of some other language, then it's irrelevant. If it is the actual language, then it's inadequate. -- Drew
Received on Friday, 2 February 2001 16:51:00 UTC