- From: Geoff Chappell <geoff@sover.net>
- Date: Sun, 17 Jun 2001 13:21:02 -0400
- To: "Sean B. Palmer" <sean@mysterylights.com>
- Cc: <www-archive@w3.org>, "Seth Russell" <seth@robustai.net>
----- Original Message ----- From: "Sean B. Palmer" <sean@mysterylights.com> To: "Geoff Chappell" <geoff@sover.net> Cc: <www-archive@w3.org>; "Seth Russell" <seth@robustai.net> Sent: Monday, June 18, 2001 9:35 AM Subject: Re: Inference in daml > > I guess that's what I'm trying to figure out - whether it really > > does lack the terms required to become a full FOL language. > > If it has implication, universal and existential quantification (via > > toClass and hasClass), > > How are toClass and hasClass universal and existential qualifiers? > DAML doesn't have the notion of a variable; they're parts of a > restriction, not a logical construct. In http://www.daml.org/2001/03/reference.html it says "Notice that a toClass restriction is analogous to the universal (for-all) quantifier of Predicate logic...." In other words (I think) - if you have a toClass c property restriction on property p then for all y where p(x,y), y is class c. And hasClass - if you have a hasClass c property restriction on property p then for some y where p(x,y), y is class c It's a stretch to say that the language has quantification in general - this seems to be quantification over the object only. > > > boolean operations and negation, > > You can have the cardinality constraints, but where's the negation? > How do you assert that a statement is false in DAML? For a start, to > make logical expressions in DAML, you would need an "AND", and to do > that you'd need to group reified statements, i.e. a context. Negation through complementOf; And through intersectionOf; Or through unionOf > > > (BTW, I don't know the answer to that question - either > > whether it truly has those features or if they are sufficient > > to claim FOL-ness). > > Neither do I, but my gut feeling tells me that it's just an ontology > and inference language, not a full first order logic language. For > that, you need truths, implications, a universal/existensial > qualification, and you need those as first class predicates and > classes, not as things that are just inferrable from the language. > > For example, how would you do the following in DAML:- > > { { :x :a [ :b :c; :d :h ] } log:implies { :b :c :d }} > a log:Truth; log:forAll :b , :d . > > I don't think it can be done. Not up on n3 but I assume this is dereifying statements? I don't think it can be done in daml either - becuase I don't see any way to quantify over the predicate. > > [...] > > I'm more interested in understanding if daml can provide a > > firm semantic base for rule interchange between different > > systems. So rules in prolog,datalog,etc can be serialized in > > daml and reliably, predictably and without loss of meaning > > be deserialized by n3/cwm or some other logic system. Not > > sure it would really make sense to do so - just exploring the > > possibility... > > It would be neat to have some kind of universal logic language for the > Semantic Web, so that some of the terms in DAML could, for example, be > expressed properly rather than in prose, and so that we could build > proper conversion machines, but I don't think it's going to happen > soon. I keep hearing the word "SWeLL" in the air, but I don't know > where that's going. The SW actually moves quite slowly at the moment. Well now that the hard part is done (the acronym is worked out) perhaps things can move forward at a greater pace. My personal take is that many different logic systems will make up the semantic web - with ground facts exchanged through rdf and rules through (??kif/n3/daml/swell??) you name it. Geoff
Received on Monday, 18 June 2001 10:42:19 UTC