This email is the result of a search by nick sbp /msg logger grep -i cwm W3C RDF Interest Group IRC - This channel is logged at 1113 results follow: 2001-03-11 17:04:24 To get sem:whatever to be processed by CWM when I vanced upon it in IE5.5 2001-03-11 20:54:44 But it would be nice to click a link in NS6 and have CWM process lots of information on the SW and give me a result 2001-03-14 18:22:59 D:Doesn't quite parse on CWM yet... but is a vast imporvement over last nights attempt 2001-03-15 04:57:23 let's see now... I should be able to use cwm -filter to do stuff like "show me all the authors", shouldn't I? 2001-03-15 05:33:36 cwm is chewing on the version with " changed to '. taking forever. 2001-03-15 05:38:15 hmmm... just using notation3.py on this rfc-index data didn't take long at all; I wonder if cwm is in an infinite loop. 2001-03-15 05:54:52 wish me luck: python ../../2000/10/swap/cwm.py ,ri.n3 damlLists.n3 -think -filter=wroteRFC.n3 2001-03-15 06:02:05 man... cwm is hopeless on any realistic data set. I chopped rfc-index.n3 down to about 20 entries, and it's still taking forever. 2001-03-15 06:08:24 oh yeah... cwm doesn't know to match anonymous nodes in the if part of a rule 2001-03-15 06:17:53 cwm said "ouch" when I asked it to pretty-print statements with strings as subjects, but it was happy to -ugly print them. 2001-03-15 06:20:42 you know what... debugging in the semantic web is hard. Cuz when you make a typo, it's not flagged as an "error". cwm just goes "sky is red? ok by me." 2001-03-15 06:23:54 dangit... cwm finished, and I wasn't paying attention while all the results scrolled away; gotta run it again, with output to a file... 2001-03-15 18:32:41 SeanP wonders if cwm SeansAB.n3 SethsAB.n3 -think would work... 2001-03-17 18:20:28 Like cwm myn3.n3 -rdf 2001-03-20 23:26:15 why not: well, partly because cwm takes forever to deal with non-trivial datasets. 2001-03-20 23:26:21 Are you using CWM => XSLT => XHTML? 2001-03-20 23:27:15 Well, it parses into RDF O.K. with the latest version of CWM (one of the old ones had a bug on bag) 2001-03-21 18:21:19 The way it's been done is :x rdfs:seeAlso :y . :y dc:title :z . Somehow, you need to get CWM to squish that up into :x rdfs:seeAlso [ rdf:resource :y; dc:title :z ] . or something 2001-03-21 18:24:30 oh... using cwm is a nicer approach; but cwm churns forever on this dataset. 2001-03-21 18:25:42 really? have you tried to compute the rdfs-deductive-closure of schemes.n3 using cwm? (i.e. find all the subPropertyOf and subClassOf implied stuff) 2001-03-21 21:52:41 K:[interesting to compare with cwm, ruleml, XSB as a way forward??] 2001-03-22 15:05:47 danbri - I saw that, but any opportunity to plug DAML (actually, if inverseOF is in the ontology, I would expect most applications to use it to create a rule - e.g in cwm would be trivial to do this -- of course, how we apply rules opens up another can of worms...) 2001-03-22 22:27:21 hmm... cwm.py is spewing chunks over rdfs.rdf: # Strings should not match if not same object 2001-03-22 22:48:31 interesting... cwm concluded: "Properties that can be used in a schema to provide constraints" a :Liter 2001-03-23 23:11:59 timbl scribbled in his swap/cwm stuff that an RDF schema verifier could take each of the terms used, split doc#term, fetch doc, and see that term is mentioned there. 2001-03-25 23:20:18 the only way i can do n3 now is to use the python cwm 2001-03-25 23:20:38 but that would mean that somebody would need to install python and cwm before they could use it 2001-03-25 23:41:34 Hmm, I could run the N3 original through CWM, convert to RDF 2001-03-25 23:43:30 Oh great, here is what CWM gave me for the RDF output:- 2001-03-25 23:45:43 actually, i just noticed a small error in my N3 file, on running it through again, it gives a CWM error 2001-03-25 23:48:27 Hey, CWM 1.30 is out... what version do I have? 2001-03-25 23:50:27 Ask him for some old versions of CWM to be released as well couldya... 2001-03-25 23:53:01 $Id: cwm.py,v 1.30 2001/03/22 16:41:03 timbl Exp $ is the latest 2001-03-26 17:51:20 I'm trying to re-create the figures from the RDF schema spec using cwm and dot. 2001-03-28 20:15:06 dajobe: bySubject: see the -bySubject option in cwm.py 2001-03-28 20:19:27 is this another cwm.py bug? "python cwm.py schemes.n3 -rdf" dies with internal error, appending " -bySubject" works fine. This is cwm.py 1.30 2001-03-28 22:05:49 most SW stuff? Well, CWM is... but what else? 2001-03-28 22:06:09 CWM for me is the best SW program out there 2001-03-28 22:42:32 asking TimBL about exploiting daml:UnambiguousProperty in cwm... 2001-03-29 20:16:39 Hmm, also, shouldn't CWM print out the list of schemes in alphabetical order? 2001-03-30 01:16:44 DanC, Tim, anyone there? I've got what I think is a bug in CWM (1.30)... basically, when you put context brackets in a multiple anonymous node, and convert to RDF, it puts these context brackets outside of the anonymous node for some reason (I think...) 2001-03-30 01:39:35 After checking that bug and thinking it through, I'm convinced CWM is doing something weird, rather than I 2001-03-30 01:39:56 cwm is? 2001-03-30 01:47:02 - is the input Notation3 2001-03-30 01:47:19 - is the (incorrect?) output that CWM gives 2001-03-30 01:47:34 - is my (corrected?) version 2001-03-30 16:24:22 * dajobe sighs. cp.n3 can't be read by cwm.py V1.30 - hunts for a new one 2001-03-30 16:27:48 cwm chokes on danc's dashes 2001-03-30 16:32:53 * DanC tries to commit cwm.py, hoping my checkout is still current... 2001-03-30 16:33:04 nope. cvs server: Up-to-date check failed for `cwm.py' 2001-03-30 16:35:33 yeah, but my notation3.py has changes I'm not ready to commit; I am ready to commit my one change to cwm.py 2001-03-30 16:39:46 cwm.py works with 2.0, just tried it 2001-03-30 17:56:11 DanC: what changes in CWM 1.31? 2001-03-31 22:21:07 Tim: is the "?" groked by CWM? 2001-03-31 22:23:21 cwm foo.n3 -filter=bar.n3 where bar.n3 has { <> dc:title :x}log:implies{:x a :result }. <> log:forAll :x . 2001-03-31 22:25:50 Yeah, a CWM list would be great, I wolsn't have to keep cheacking for updates :-) 2001-03-31 22:26:32 Tim: Here we are, 2001-03-31 22:26:52 in.n3 is the N3 in, out1.rdf is what CWM gives, out2.rdf is the corrected RDF 2001-03-31 22:43:46 the CWM namespace uses log.n3, but the schema is at logic.n3 2001-03-31 22:44:18 s/CWM namespace/CWM uses log.n3 as the logic namespace 2001-03-31 23:07:27 Eek, that is a problem... does CWM do that every time that it converts from N3 to RDF? Could you make it automatically convert that to a :XMLRDFDocument? 2001-03-31 23:08:26 From cwm.py:- 2001-03-31 23:08:36 - 2001-03-31 23:11:15 Some of that stuff in the top blurb looks great, and I still wonder how many more things CWM can do that I'm not aware of... I really should learn Python 2001-03-31 23:12:04 Then I could help Seth make a version of CWM with semEnglish support... that's be fun 2001-03-31 23:23:20 Yes: CWM! 2001-03-31 23:23:43 - 2001-03-31 23:25:06 V:Thanks to the SWAG interface for TimBLs CWM 2001-03-31 23:29:21 can you do it whth cwm? 2001-03-31 23:29:38 yeah, that's what I'm using: the SWAG interface to CWM 2001-03-31 23:31:17 I'll run it through CWM and upload it to the Web 2001-03-31 23:35:39 Well, go to "#cwmpaste" then, he he he 2001-03-31 23:50:51 CWM bungs it in automatically 2001-04-01 00:12:34 but there is not a definition there, and it is not a primitive for CWM 2001-04-01 04:55:19 suppose I had my email indexed in cwm or some database... or suppose I connect cwm (or my AlgyKB engine) to an IMAP server... 2001-04-02 22:56:35 I find it strange that CWM has logic primitives, but no ontological primities 2001-04-02 23:03:30 Exactly. CIP: CWM 2001-04-02 23:04:11 does cwm remember anything? 2001-04-02 23:16:07 I suppose it all depends on how good your identity system is: CWM obviously can't do equivalences as a primite, and I think it should 2001-04-03 23:13:10 Dan, in CWM there is a namespace for meta that I don't quite understand, and it's wrong anyway: # what's the deal with that? 2001-04-06 17:17:55 * timbl is trying to focus on adding built-in functions to cwm 2001-04-06 18:28:42 anonymous resources in n3/cwm exist for some context 2001-04-12 03:48:50 let's try cwm... 2001-04-12 03:50:38 hmm, cwm spits it out but won't eat it back 2001-04-19 03:52:07 * DanC removes dependency on cwm.py from palmagent... 2001-04-19 20:53:09 * DanC and tim look at cwm.py... 2001-04-20 21:03:11 I assume he used cwm.py to do converting 2001-04-20 21:31:44 Yep, I used CWM to convert it over (cwm.py,v 1.32 2001/04/05 21:33:55 timbl Exp), it's a lot quicker than doing it by hand 2001-04-20 21:33:06 Anyway, the RDF output given by CWM doesn't matter too much here: and RDF model is an RDF model 2001-04-20 21:53:52 Currently, some people seem to be put off by Notation3 because it's not a recommendation. With EARL we have a choice of N3/XRDF... and I'm not sure which way to develop. IF CWM could do N3 <=> XRDF perfectly... 2001-04-24 01:01:10 good demo of cwm, i'd say 2001-04-25 22:42:16 cwm just outputs it that way for clarity (and perhaps laziness ;)) 2001-04-25 23:21:41 The log: namespace, a primitve for CWM, is very useful 2001-04-25 23:28:10 no, cwm does 2001-04-25 23:28:19 CWM 2001-04-25 23:28:32 Close World Machine - 2001-04-25 23:29:19 {CWM has CWA} ? 2001-04-25 23:29:57 xwn can be the next generation cwm 2001-04-25 23:30:59 Aaron: how would you have CWM convert { :a :b :c } then? 2001-04-25 23:59:14 hey could you put that throw cwm and show me the triples ? 2001-05-02 23:25:02 I think maybe CWM can 2001-05-04 20:25:47 Well, I don't care about contexts all that much. The fact that CWM serialzes them weirdly is annoying, but I can cope with it 2001-05-05 02:29:19 refers to timbl's cwm 2001-05-05 02:33:36 shows that cwm can be run with daml rules to show contradictions 2001-05-05 21:55:43 Hmm... when filtering through CWM, it puts the :d and :e into the anonymous node. Yuck 2001-05-06 23:56:32 * sbp also waits for a new version of CWM... where are those built-ins?! 2001-05-07 00:01:48 Is that a swipe at my asking for CWM? 2001-05-07 00:01:55 sbp: What is CWM? 2001-05-07 00:02:12 Closed World Machine - 2001-05-07 00:02:52 Well, if you tell me exactly what you're doing for the next version of CWM, and I can be assured that there aren't going to be stupid versioning conflicts, I'd be more than happy to leanr Py. 2001-05-07 00:03:38 if I would tell you exactly what's going to be in the next version of cwm, I think i'd take my talent for telling the future and apply it to the stock market. 2001-05-07 00:03:58 "stupid vesioning conflicts": when I get the next version of CWM from the W3C site, it's incompatable with changes that I make to it... 2001-05-07 00:04:45 Dan: Does CWM now use the..er..kwparsing/buckets stuf? 2001-05-07 00:07:08 Oh BTW, that DAML lists thing worked in CWM the other day 2001-05-07 00:12:51 here's a cwm puzzle: 2001-05-07 00:13:30 I don't think cwm quantification works over formulas. 2001-05-07 00:18:04 one explanation for why it doesn't work is: by design; cwm just does horn logic, and that's not horn logic. But cwm does do some other non-horn stuff. I hope to reach cwm-enlightenment eventually, but I'm not holding my breath. 2001-05-07 00:26:36 Like CWM... 2001-05-07 00:27:06 like cwm, sbp? you've gotten it to work? 2001-05-07 00:27:21 Like CWM; potentially :-) 2001-05-07 00:46:26 * sbp bets that the problem with { :P l:means :Q } l:implies { :P l:implies :Q }. is that a context is being used for P or Q, and CWM does'nt grok contexts being used as variables, AFAICT 2001-05-07 00:52:10 Maybe this is what TimBL refers to by "BUG: {} is a context but that is lost on output!!!" in the CWM source code... 2001-05-07 19:26:01 I coulcn't get CWM to do DAML RDF => DAML N3 2001-05-07 19:27:10 I've done DAML RDF-> DAML N3 many times with cwm; what symptoms did you see, sbp? 2001-05-07 19:29:24 "python cwm.py -rdf daml+oil.rdf -n3 > daml+oil.n3" gives:- 2001-05-08 04:59:32 hmm, cwm is not faring well on these tests 2001-05-08 04:59:51 or the tests aren't faring well against cwm 2001-05-08 05:01:58 cwm does run, though, no? 2001-05-08 05:11:33 hmm... some of the ref/* data seems to predate some of the sorting cwm does on output. 2001-05-08 05:15:26 wierd! cwm doesn't reset prefixes when it switches files. I thought that was a bug. But TimBL seems to have used it in several of the tests... see daml-pref.n3 2001-05-08 22:06:30 btw... TimBL checked in a v. broken version of cwm.py. look out! 2001-05-09 13:43:27 File "../cwm.py", line 376, in intern 2001-05-09 18:21:39 tim, is there a combination of cwm args for copying RDF files from one place to another and getting relative URIs right? 2001-05-09 18:22:17 cwm can't get relative uris wrong ;-) 2001-05-09 18:22:55 try cwm -outfile=http://foo...; should work. 2001-05-09 19:22:54 it wasn't easy to do! notation3.py and cwm really, really know about relative URIs. 2001-05-09 19:22:56 cwm foo.n3 -rdf -base=junk: 2001-05-09 19:27:12 * DanC_ is afraid of debugging the command-line-arg-parsing part of cwm. 2001-05-09 19:32:33 * DanC_ see it was actually cwm.py that he hacked... 2001-05-10 06:33:27 crud, tim, you broke RDF/xml generation in cwm.py v1.40 2001-05-10 07:11:08 cwm seems to be looping on attribute properties... 2001-05-10 13:14:22 cwm built-ins are starting to work. 2001-05-10 13:39:34 You broke RDF generation in cwm 1.40, btw. 2001-05-10 14:46:05 * DanC_ tries cwm log:includes stuff.. 2001-05-10 15:09:54 * DanC_ checks whether RDF generation from cwm has been repaired... 2001-05-10 19:44:26 * sbp wonders if someone can chACL the CWM built in tests 2001-05-10 19:45:38 * sru thinks that cwm might become the inference engine for the sembrowser 2001-05-10 19:50:53 i wonder if one could make a COM interface for cwm 2001-05-10 19:52:56 I guess it doesn't matter... but still, I couldn't get CWM 1.41 to grok it, so it can't be right 2001-05-10 19:55:14 Yeah seems O.K. - but it doesn't work. log:implies [ a rdf:Alt; rdf:_1 { :CWM :is :Broken }; rdf:_2 { :Example :is :Broken } ] . 2001-05-10 22:51:27 DAnC finally catching up w/todays chat - when you say you can write a particular rule in N3, are you implying that the cwm stuff is now built in, or just that this is how the rule is expressed? 2001-05-13 16:38:16 there's a web interface to cwm at: 2001-05-15 03:37:07 cwm reduces 2001-05-15 13:33:09 recently, TimBL added a few string-handling built-ins to cwm, so I should be able to check consistency of calendar info. 2001-05-17 22:47:25 Well, in the DesignIssues doc, and in CWM 2001-05-17 22:47:44 - 2001-05-17 22:49:29 n3 changes when cwm.py etc. does (often!) and is a useful scribbly rdf; if I was impl. it I would do statements, [] and nothing more. 2001-05-18 17:16:05 * DanC works on specification/implementation of aboutEach in terms of horn/cwm logic... 2001-05-18 22:09:50 * DanC tries feeding the 2000/03/13/dces to cwm.... 2001-05-18 22:10:42 cwm's xml support doesn't grok doctype gunk. 2001-05-18 22:16:42 I'm building a cwm filter for dc... i.e. a filter that picks out all the dublin core knowledge out of a knowledge-base... 2001-05-18 22:17:31 Neat... can you do it with an about each prefix mechanism in the latest CWM? 2001-05-18 22:18:03 the latest cwm is broken pretty badly. I can't get it to do much of anything. 2001-05-18 22:38:35 * AaronSw prints out a copy of cwm to study on the plane 2001-05-18 22:38:49 although if danc can't reach cwm enlightenment, there's probably no hope for me! 2001-05-18 22:40:29 cwm enlightenment is, fortunately, not required for cwm enjoyment. Nor cwm utility. 2001-05-20 21:13:25 Sorry, was flicking through the latest versions of CWM/N3.py to see if anything major had improved 2001-05-21 14:37:18 testing the new cwm.py ... updated a few tests... 2001-05-21 14:40:07 indeed, new cwm.py seems to be working. 2001-05-21 15:23:20 umm... I'm trying to build on tux with cwm... updated the cwm.py on tux, which, of course, renders uses of log.n3 in 04/roadmap out of date. 2001-05-21 15:34:59 Nope. Does cwm grok them? 2001-05-21 15:38:58 yes, cwm groks relative URI references intimately. 2001-05-21 15:55:06 File "cwm.py", line 1743, in doCommand 2001-05-21 20:24:28 So reading file:/x/bar, cwm reads as if it were ? 2001-05-21 20:46:09 I'm still kind of waiting for an answer from Tim over whether xsb or cwm was right in some inferences. 2001-05-21 20:48:36 I think that cwm -think should give the same results as asking xsb property(P, S, O), no? 2001-05-21 21:42:31 well, one goal is to obsolete cwm.py altogether. 2001-05-21 21:43:44 Yeah, but that's more long term -- and very complicated. Eliminating cwm is more about finding other experimental test beds that work well for Tim and maybe you than it is about speed, I think. 2001-05-22 22:05:55 But of course we're hoping that it'll turn out to be a stable enough base for any future versions. The changes between 0.9 and 0.95 should be small enough that CWM can convert from one to t'other 2001-05-23 02:05:15 I can't make sense of cwm rules unless they're special syntax. 2001-05-23 02:20:54 A:maybe possible worlds semantics is a way of explaining what cwm is doing. 2001-05-23 02:21:09 A:I'm trying to fit cwm rules into FOPC and losing. 2001-05-23 04:37:20 B:I might have figured out cwm rules in regular FOPL; I'm trying to code it up. 2001-05-24 20:15:46 * sbp beams at being able to convert a 0.9 version language to 0.95 thanks to CWM... er, the SW 2001-05-24 20:18:32 0.95: cool! I should play with cwm more... 2001-05-24 20:21:00 CWM - try 2001-05-29 22:17:54 Using CWM to convert from a earlier version of a language into a newer one, using the schemata 2001-05-29 22:18:43 No, just using a triples database, in CWM 2001-05-29 22:28:56 CWM just stores everything as quads (s,p,o,ctx) 2001-05-29 22:36:26 Yeah... N3 is mostly defined in CWM, so it's hard to get a perfect understanding of what TimBL's up to 2001-05-29 22:36:55 I mean what command do I put in for a new line in a .bat file... I'm writing an interface for CWM, as it happens 2001-05-29 23:20:55 Here, you can laugh at now 2001-05-30 22:57:31 CWM doesn't ignore it :-) 2001-05-31 01:44:57 DanC: in CWM, how does one know that a quad is asserted vs. quoted? 2001-05-31 03:32:22 now that cwm has built-ins for string comparison, it's starting to be useful for calendaring. 2001-05-31 03:34:47 danc, is there some way i can just get a list of triples out of a cwm store? 2001-05-31 04:05:05 I'm in the middle of something else just now; I'd have to pore over the cwm code to figure it out. Look in the Engine or Store classes. 2001-05-31 13:54:22 s/it/cwm/ 2001-05-31 18:39:11 python2 ~/w3ccvs/WWW/2000/10/swap/cwm.py --quiet --n3=spart --bySubject 2001-05-31 19:42:24 B:found this starting with a TODO comment in cwm, which led me to daveb's redland parser testing stuff, which uses this stuff. 2001-06-01 05:46:39 B:I'm debugging some unicode stuff in python/cwm, and this looks handy. 2001-06-01 07:55:40 C:cwm now uses sax2rdf, which has expat underneath, rather than xml2rdf, which used a locally hacked xmllib.py 2001-06-01 08:11:51 oops... cwm bug: 2001-06-01 12:45:15 DanC, my Python inexperience will show :-). I just checked out the latest stuff from and when I run cwm.py I get an error "InportError: No module named codecs". Perhaps I need a newer Python installation and/or some library(s) are missing? 2001-06-01 13:27:11 DanC? What do I need to get for the sax parser for the new cwm (under Cygwin?) 2001-06-01 15:05:21 Dan, you said you were looking at CWM-style semantics -- modal rather than EC? 2001-06-01 15:16:04 yes, I think I have to use a modal/possible-worlds interpretation in order to make sense of what cwm's doing. 2001-06-01 15:17:52 hm... that means all false statements are equal; not sure that's consistent with what cwm does. 2001-06-01 15:19:01 anyway... the part I'm still noodling on is quantification in cwm. 2001-06-01 15:44:11 handwave: yes, I think I have to use a modal/possible-worlds interpretation in order to make sense of what cwm's doing. 2001-06-01 15:48:09 in cwm, variables are not syntactic gizmos. It makese sense to say: :x = { :sky :is :blue }. :x log:forAll :sky. 2001-06-01 15:48:51 This seems very stretching... is it purely an desire to formalize what cwm does, or is there a deeper idea you're trying to capture? 2001-06-01 18:47:15 hmm... I just introduced a dependency from cwm to PyXML; I wonder if PyXML is available on the Mac platform. Aaron? 2001-06-01 18:53:55 the (denotation ...) trick was a suggestion TimBL kept making, and it wasn't until yesterday that I convinced myself it was bogus. I guess I should send mail with my notes. Anyway... that's what's got me noodling on possible-worlds explanations of cwm. 2001-06-03 16:53:36 because CWM does not assume that the presence of a statement is an assertion of the statement 2001-06-03 16:56:01 run that through cwm and you'll get xml/rdf 2001-06-03 16:58:13 jonb, cwm does -- not n3 2001-06-03 17:12:06 that is how cwm has chosen to store reification 2001-06-04 16:44:44 * DanC goes back to writing a proof-checker for cwm's logic... in prolog... 2001-06-04 16:46:03 DanC does that mean you have cwm outputing proofs? (sorry if I missed the announcement) 2001-06-04 16:46:55 i.e. I'm trying to figure out what cwm's logic is. 2001-06-04 16:48:59 or maybe just a list, since cwm wont know what of its ordering is arbitrary. 2001-06-04 16:50:32 cwm also knows how to conclude A from A AND B. 2001-06-04 17:03:03 hmm, must be one of those recent cwm overhauls 2001-06-05 17:23:30 I just wanna see if I can use cwm rules to go from palmpilot to any other RDF calendaring schema. 2001-06-06 01:17:02 CMM? CWM... 2001-06-06 01:17:37 hmm, cwm could probably call out to some python wrapper for pgp 2001-06-06 01:56:17 That, and my cwm-alike, which needs tabling (XSB), since log:implies does not define order of evaluation. 2001-06-06 01:57:28 I'd be interested in looking at your cwm-alike. 2001-06-08 02:35:09 * Dan_C continues wrestling with cwm logic, trying to work out proof rules. 2001-06-08 02:36:10 Is there a document detailing cwm logic anywhere? 2001-06-08 02:37:35 > Is there a document detailing cwm logic anywhere? 2001-06-08 14:13:48 Does cwm have a working way to name a context, for when you want to used the same context many times without having to textually repeat it? 2001-06-08 14:16:56 seems like cwm sort of has it 2001-06-11 19:38:48 XSLT - Extensible Stlyesheet Language Transformations, er... CWM - Closed World Machine 2001-06-11 19:50:58 btw... "closed world machine" is now a misnomer; cwm can read RDF on-the-fly during a query (see the log:resolvesTo code) 2001-06-11 19:52:22 CWM: come what may? 2001-06-11 19:52:22 Label CWM not found. 2001-06-12 03:55:30 n-triples is, as of recent cwm revisions, a subset of N3. 2001-06-12 04:12:01 well, you can't have loops in the nesting of contexts, for example. (i.e. cwm.py assumes there are no loops, and never creates them when parsing N3) 2001-06-12 04:22:52 is an artifact of N3's implementation (err CWM)? 2001-06-12 22:28:57 * DanC fidgets with getting cwm to do "node merging" ... wins 2001-06-13 01:17:02 When you merge tw nodes in cwm, you can deduce that they are equal, and then deduce that everything said 2001-06-13 14:28:54 let's spit that in cwm... 2001-06-13 14:30:00 I bet cwm will go into an infinite loop or something if you feed it the above. er... no, it doesn't really understand =. 2001-06-13 14:34:46 none of the self-referential statements i can construct phase cwm 2001-06-13 14:37:23 if i tell cwm that this sentence is false, it happily decides that that is true 2001-06-13 20:25:49 as some folks know, I have a "one trip per moth" rule at work... I'm *this close* to formalizing it with cwm rules. This is kinda fun. 2001-06-13 20:32:53 er... datastructure? it's a rule. The datastructure is an RDF graph (or rather: a cwm quad-store) 2001-06-13 20:45:12 Not to interrupt, but what is a "cwm quad-store" (a phrase DanC used a while back) 2001-06-13 20:45:14 er... actually, I think cwm rules are turing-complete too, so I shouldn't say too much. (i.e. horn rules with existentials in the conclusions.) 2001-06-13 20:45:50 a cwm quad-store is a datastructure in TimBL's inference/rules engine. It's what he uses for a KB. 2001-06-13 20:46:24 drew, python isn't too hard to read: 2001-06-13 20:49:20 * DanC_ thinks cwm.py has grown so much stuff that perhaps it's not so easy to read any more. :-{ 2001-06-13 20:50:51 drew, if you're interested, all the old versions of cwm.py are available at 2001-06-13 20:52:39 * DanC_ chuckles at the cwm.py log entries... "untested". "sigh". etc. 2001-06-13 20:55:29 Drew, the cwm quad-store is kind of a strange way of storing s-expressions. It's like using an array to store a linked list, in a way. 2001-06-13 20:57:23 Does cwm.py build on notation3.py? 2001-06-13 21:00:16 am i right in thinking cwm does forward chaining only? 2001-06-13 21:05:18 the performance of cwm is highly non-linear ;-) 2001-06-14 15:17:58 DanC, can you answer a question or two about cwm? 2001-06-14 15:21:04 Okay. Question 2: Does cwm use unification or a simpler notion of matching? 2001-06-14 15:21:16 since then, it's become a misnomer! cwm can learn stuff on the fly. 2001-06-14 15:21:43 I think cwm's matching is simpler than unification, but I'm not sure. 2001-06-14 15:25:35 Question 3: Does cwm do backward chaining, forward chaining, or both? 2001-06-14 15:25:55 yes, SICP p. 459 explains unification ala simultaneous equasions. TimBL talks about simultaneous equasions when he explains cwm to me a lot. I usually don't follow. 2001-06-14 15:31:48 And I have an implementation that takes the same input as cwm and translates it to tabled prolog for xsb. Some issues in comparision, since cwm has the different operating modes (eg --rules, --think, ...). 2001-06-14 15:39:29 C:it would be nice to see the [swap/cwm rules engine|http://www.w3.org/2000/10/swap/] explained relative to the terms from this widely-read source. 2001-06-14 22:57:13 cwm can't [read: I didn't make it] do anything with { ?x uri [startswith "..." ] } log:implies because ... 2001-06-14 23:04:36 ummm... when looking for x log:equalTo y, cwm will strip it out and merge x and y. 2001-06-14 23:06:15 cwm does not understand = 2001-06-14 23:15:41 The stuff I say it parses to means the same thing iff you build axioms about "=" into cwm. 2001-06-14 23:16:16 you don't need to build axioms about = into cwm; you just need to avoid a gensym in notation3.py 2001-06-14 23:17:00 in general, cwm isn't capable of simplifying logical formulas. that's life. I'm just saying: optimize away one complexity at parse time. 2001-06-14 23:20:02 it's quite clear that you can avoid generating _g1 *without touching cwm.py at all*, no? 2001-06-14 23:21:50 btw... adding more constraints to the premise didn't stop uri-startswith.n3 from making cwm.py crash. 2001-06-14 23:22:04 File "../../cwm.py", line 376, in intern 2001-06-15 01:42:35 It has been up and down. I have synchd cwm. 2001-06-15 21:17:40 i.e. in CWM do any of the URI refs or URIs being discussed _ever_ get resolved? 2001-06-15 21:17:47 cwm: yes, sometimes 2001-06-20 03:46:52 CWM should support the existence of resources with no statements about them in a context. 2001-06-25 05:58:44 along with bind(). I've copied that API from cwm.py into several little perl ditties. Horrible engineering -- I re-implement makeStatement ever time -- but gets the job done in an afternoon. 2001-06-25 06:08:25 File "/home/connolly/w3ccvs/WWW/2000/10/swap/cwm.py", line 396, in intern 2001-06-25 06:08:57 no that comes from loading an rdf file into cwm when it expects n3 2001-06-25 06:09:14 * AaronSw wishes cwm was smarter about that... it gets me every time 2001-06-25 06:15:23 hmm... I use cwm with lots of http: documents without running into the relative URI bug. 2001-06-25 06:19:53 cwm -rdf 2001-06-25 20:16:30 And doesn't cwm do this with a vocab -- isn't that what forSome is for? 2001-06-26 03:33:25 hmm... I wonder how much of the "director assures..." scenario from can be done with cwm now. 2001-06-26 03:33:41 hmm... I don't think cwm can handle 2001-06-26 03:48:48 cwm is --think ing. 2001-06-26 04:12:02 what is cwm? 2001-06-26 04:28:57 luck: no, no luck. a brute-force transcription sent cwm into an infinite loop. 2001-06-26 04:35:52 hm... cwm doesn't have a log:entails built-in, does it? 2001-06-26 04:48:48 not sure I understand your question. when it comes to cwm.py, I'm mostly a user. I tweak the odd detail here or there, but I don't get into the guts. 2001-06-26 04:56:08 everything is related to everything? that doesn't look like something cwm can handle 2001-07-01 18:50:13 I'm pretty sure that I could use my own term for log:implies in CWM, and get it to transform ove 2001-07-02 21:47:38 you run cwm as an xml/n3 conversion service, don't you, AaronSw? Could I interest you in adding an interface to cwm's --think and --filter stuff to your service? 2001-07-02 21:52:22 F:esp $([PYTHON|http://www.python.org]) $([CWM|http://www.w3.org/2000/10/swap/]) --rdf [tr.rdf|http://www.w3.org/2000/04/mem-news/tr.rdf] [trleg.rdf|http://www.w3.org/2000/04/mem-news/trleg.rdf] --filter=[tr-merge.n3|http://www.w3.org/2000/04/mem-news/tr-merge.n3] --rdf >$@ 2001-07-02 21:54:03 $(PYTHON) $(CWM) --rdf tr.rdf trleg.rdf --filter=tr-merge.n3 2001-07-02 21:54:37 note that cwm can run for a long time, so you'd proably have to implement some sort of limit. 2001-07-02 22:08:07 what char encoding does cwm output in? 2001-07-02 22:14:18 the problem could be that cwm expects utf-8 on input, and it's getting iso9959-1 2001-07-03 22:03:55 CWM does it, and SWAG just has a Web interface to that 2001-07-03 22:04:03 Aaron: what version of CWM are you running? 2001-07-03 22:19:17 makes reasoning a bear (and can break cwm) 2001-07-03 22:36:16 (actually, Tim and I were trying to figure out whether you could cause infinite loops for cwm without this, I think we figured out you could, but it would take a lot of work) 2001-07-03 22:37:08 Getting CWM to do things it's never going to solve... that's messy 2001-07-03 22:39:07 yes, hard to avoid - cwm has a clever mechanism to break some of the obvious problems and simple loops - but it is easy to break most forward chainers 2001-07-03 22:51:18 yes, rules like "every person has a parent" send cwm off into the weeds. 2001-07-06 08:23:09 So I like the way cwm has gone; people are using it in large part because of the commandline interface 2001-07-06 23:50:39 Um, I'm talking about CWM now, not Dan's TFC thing 2001-07-06 23:51:31 I've never seen that from CWM. 2001-07-06 23:52:08 It also says it's not implemented in CWM in 2001/03, but I've seen it in some code that I've outputted from CWM 2001-07-09 19:07:13 the travel folks have proposed two itineraries; I'm trying to use cwm and RDF/n3 rules to choose between them... 2001-07-09 22:18:30 Yeah. CWM for CTL, please 2001-07-09 22:56:20 sure, as arrays, as cons cells, as quads (ala CWM) 2001-07-10 03:44:12 We already have some running query languages (Algae, Squish) and inference engines (CWM) to do this kind of stuff. 2001-07-10 15:22:24 i'm looking for information on some of the log: semantics in cwm... log:startsWith, log:lessThan, etc. can't seem to find these 2001-07-10 15:24:20 or... how eric learns cwm 2001-07-10 15:28:53 "how close to cwm is Jos's Euler work?" ... back-burner this dicussion for time being... want to focus on cwm rules for now 2001-07-10 15:31:24 You do not have permission to delete cwm.py... 2001-07-11 14:47:49 forward chaining: ala cwm's --think 2001-07-11 15:52:40 Hmmph, how do I give cwm a new base URI? 2001-07-11 15:53:00 i.e. python cwm.py --base=blort: 2001-07-11 15:54:48 hmm, -base causes cwm to spit stuff out in stderror. 2001-07-11 16:02:56 I'd really like to write the "you can't be at two places at one time" rule and have cwm find all violations of that rule among the data I provide it about SWWS. 2001-07-11 17:48:39 Hmm, cwm rules don't really have URIs 2001-07-12 06:07:05 I did some cwm hacking at the airport... 2001-07-12 06:16:47 fragnamrpabajoapfdoiwej! TimBL keeps putting ^Ms in the cwm.py source. 2001-07-12 06:30:11 cwm.py 1.60 checked in. 2001-07-12 06:33:33 B:|ef1.n3: test case/example for new log:n3ExprFor cwm built-in 2001-07-12 06:34:17 B:implemented in [cwm.py|http://www.w3.org/2000/10/swap/cwm.py] r1.60 2001-07-12 06:43:51 It might be nice to implement xml:parsesTo in cwm, as an example for rdfms-literal-is-xml-structure 2001-07-12 21:45:21 lots of cwmy goodnes 2001-07-16 22:01:22 re re-serialization: that can be done heuristically; cwm demonstrates that convincingly, to me. 2001-07-16 22:01:52 if only cwm would follow namespaces that end in / 2001-07-16 22:04:47 there's an inconsistency between what cwm's willing to read and what it's willing to write, granted. 2001-07-17 20:44:06 timbl, danc, cwm writes out qnames with hyphens in them but won't read them 2001-07-17 20:45:20 see namechars= or some such in notation3.py and cwm.py, AaronSw 2001-07-17 20:49:56 hmm, cwm doesn't like your schema for some reason... 2001-07-20 00:35:06 If CWM had a few more built-ins, it could probably be done 2001-07-20 00:48:13 A:sameThing.n3 -- whee! cwm can merge nodes 2001-07-20 00:48:39 A:|sameThing.n3 -- whee! cwm can merge nodes 2001-07-20 00:49:00 cwm can merge nodes? awesome! 2001-07-20 00:52:21 umm, so cwm doesn't really merge nodes? 2001-07-20 00:53:58 and no, cwm doesn't really merge nodes. but sameThin.n3 and forgetDups.n3 accomplish what folks want when they talk about "merging nodes" 2001-07-20 00:55:17 Can we get cwm to memorize somehow? 2001-07-20 00:55:32 hmm, i suppose i'll have to edit my cwm command line tool 2001-07-20 00:56:36 python cwm.py srules.n3 drules.n3 > rules.n3 2001-07-20 00:57:06 python cwm.py x.n3 -rules > y.n3 = python cwm.py x.n3 rules.n3 > y.n3 2001-07-20 00:57:36 python cwm.py x.n3 -apply=rules.n3 > y.n3 2001-07-20 01:05:16 worked: my little cwm commandline tool now does deductions. 2001-07-20 01:11:15 Hmm, your rules keep making cwm deduce everything is equal to itself... guess that's not so bad... 2001-07-20 01:15:46 * AaronSw wonders if he can get cwm to do his geometry proofs... 2001-07-20 01:18:37 really? cwm.py is pretty sloppy about those. 2001-07-20 03:19:08 File "../../../2000/10/swap/cwm.py", line 1526, in query 2001-07-20 04:06:16 * DanC_tst works around cwm bug... 2001-07-20 15:22:15 danbri? speaking of anonymous nodes... I had something of a breakthru yesterday with cwm and anonymous nodes... I figured out how to deal with contact:mailbox being unambiguous 2001-07-20 15:25:41 re cwm, I saw your note on this, haven't dug into detail yet. 2001-07-20 15:26:36 if you've got any particular node-merging puzzle, I'm willing to show you how to do it with cwm 2001-07-20 15:28:57 wow, your example data makes cwm explode wildly! 2001-07-20 15:32:17 I've built them into my copy of CWM 2001-07-20 15:37:54 er... AaronSw, can you see why cwm is blowing up on these data? (after fixing the XML WF bug) 2001-07-20 15:49:31 How's it going? are we waiting for cwm to terminate? 2001-07-20 15:54:23 time python2 ../cwm.py --rdf smush-examples.rdf --n3 smush-schema.n3 sameThing.n3 --think --apply=forgetDups.n3 2001-07-20 15:55:44 feel free to checkin my example data for cwm tests 2001-07-20 15:57:50 is that a cwm bug? 2001-07-20 15:58:43 note that this merging stuff is not a new cwm feature. cwm hasn't changed substantially. 2001-07-20 16:02:52 Hmmph, I want cwm to be able to do this stuff seeminglt natively 2001-07-20 16:07:41 G: command line: python2 ../cwm.py --rdf smush-examples.rdf --n3 smush-schema.n3 sameThing.n3 --think --apply=forgetDups.n3 2001-07-20 17:38:36 I've been using local #names and daml properties, as we cwmed earlier this morning 2001-07-20 17:42:23 you could even use cwm rules on it... 2001-07-20 17:51:51 * danbri installs python; goes to fetch cwm goodies 2001-07-20 18:50:00 cwm fans: where do I get sax2rdf ? 2001-07-20 18:57:15 * danbri gets cwm working on his win98 laptop with danc's rdfweb aggregation code 2001-07-20 20:10:42 * danbri updates to point to #rdfig logs and cwm code 2001-07-20 20:33:52 squish, cwm, n-triples2kif, all the existing tools I know of. 2001-07-20 20:34:08 cwm doesn't -- it uses generated IDs and log:forSome. 2001-07-20 20:35:29 ok, so then cwm doesn't count either, apparently 2001-07-20 20:35:43 yes, cwm does count. The inferences it draws are valid. 2001-07-20 21:21:42 * DanCon finds debugging non-trivial cwm rules/filter apps a nightmare. 2001-07-20 23:36:18 aaron, got a minute to chat about cwm? 2001-07-20 23:37:10 I'm here, but I don't know anything about CWM 2001-07-20 23:44:26 Just include it as a flag in the command line: python cwm.py myfile.n3 -spart > outfile.n3 2001-07-22 05:17:03 danbri (who is not here, but hopefully will see the logs) to get CWM to do queryish stuff, you need to give it an inpuy file, as well as a query file written using log:implies statements 2001-07-22 05:18:12 python cwm.py example.n3 --filter=query.n3 2001-07-22 14:42:10 Does CWM do that? ie. preserve the grouping? 2001-07-22 14:47:27 current n3 output is 2001-07-22 15:01:50 I suspect that's how you'd need to do it in cwm/n3, yes 2001-07-22 15:02:15 yes, cwm (to my knowledge) only does graphs right now 2001-07-22 15:03:33 well i'm trying to deterimine whether i'd need to hack the python or just do it in N3/cwm rules 2001-07-22 15:04:36 I mean cwm only deals in graphs, it doesn't export any other way. 2001-07-22 15:06:34 You can write cwm rules to do that kind of "re-query" if that's what you're asking 2001-07-22 15:07:06 but you've then still got to get the tabular view of the results _out of cwm_ somehow! 2001-07-22 15:08:51 I just got cwm to give: 2001-07-22 15:08:52 "Bob Bobby" > . 2001-07-22 15:08:52 <> > . 2001-07-22 15:13:17 go look at squish/inkling, at guha's rdfdb, or for that matter at commandline interfaces to prolog. All have a tabular style of interaction. I want to wrap that JDBC style interface around cwm too. 2001-07-22 15:16:56 so cwm would sit behind the same interface, it would just (sometimes) give more results to the same question, as rules allow it to conclude additional facts. it'd also take longer to answer questions ;-) 2001-07-22 15:28:11 BLURB:Doing Database-style queries in CWM 2001-07-22 15:28:11 B: Doing Database-style queries in CWM from AaronSw 2001-07-23 20:19:03 danbri, on how to use cwm ala javascript-prolog: I can sketch that for you if you like. 2001-07-23 20:21:42 see 'doing database style queries in cwm' 2001-07-24 00:27:14 A:Might be useful for some cwm/web of trust integration 2001-07-24 20:11:19 For me: mention any of (:TheSimpsons :Notation3 :CWM) 2001-07-24 20:12:06 sbp - can't you do that Simpsons thing as a cwm rule in notation3? 2001-07-24 20:13:47 Instead of entering in all the titles and season information, I merged it from RDF source using CWM. Saved loads of time 2001-07-24 21:31:46 this morning, I got cwm to answer one of those calendaring questions that I hate to compute manually... 2001-07-24 21:33:01 I got cwm to figure out: 2001-07-24 21:53:56 using CWM? :-)) 2001-07-24 21:54:25 cwm's name is the great misnomer of our time. 2001-07-24 21:55:27 so cwm should be owm ? 2001-07-24 21:56:01 cwm is the name of a valley in wales or something. We're just changing the etymology, not the name itself. 2001-07-24 22:01:26 speed up cwm? I haven't thought about it much, but I think TimBL has; I think I've seen comments that suggest optimizations. 2001-07-24 22:02:19 the Euler.java stuff has a similar command-line interface to cwm, but not exactly the same. 2001-07-24 22:54:37 danbri, has anyone read a lot of 'scrappy little pragmatic ontologies' into something like cwm and tried to get interesting inferences out of them ? 2001-07-24 22:56:09 Putting a lot of anything into cwm is rarely advisable; cwms good for getting specific small jobs done, not large scale data munging. 2001-07-25 16:30:24 * DanC_ fidgets with calendaring and cwm... 2001-07-25 16:34:20 I'm having fun playing with cwm and the palmpilot vocabulary and the cyc time ontology. 2001-07-25 17:05:01 You had some way of doing an HTTP GET while CWM's trying to prove things, didn't you? I've wondered if query services might be plugged in in that sort of context... 2001-07-25 17:06:27 danbri, do you mean a thing to watch CWM prove stuff? 2001-07-25 17:07:33 oh! yes, cwm can go to the web as part of trying to prove something. TimBL did that. log:resolvesTo 2001-07-25 17:08:22 or rather: itching to connect cwm to RDBs. 2001-07-25 17:11:14 relational. TimBL's been talking about cwm built-ins to interface to mysql etc. 2001-07-25 17:14:14 just noodling on how to query from cwm... 2001-07-25 17:14:55 does [is stock:name of :x] 'resolve' to a string in cwm? 2001-07-25 17:39:11 It would take a bit of cwm hacking to implement concat. But otherwise, I think it's just connecting the pieces. 2001-07-25 18:19:15 Yes, I have got cwm looking for and parsing web documents in its query/rule process. 2001-07-25 18:28:17 Rather far from the current tripley way of doing things in cwm for me. 2001-07-25 19:43:48 * timbl-iffy is wondering whether to completely change cwm's list handling to the list1 method from daml:first and daml:rest. 2001-07-26 05:45:16 * AaronSw tries to run dajobe's parser tests on cwm...loses 2001-07-26 08:10:23 maybe there's a cwm flag to not generate parsetype=Resource. 2001-07-26 16:16:47 Yeah, it's built in cwm 2001-07-26 21:01:41 AaronSw, do you have cwm running as a web service? with --think? 2001-07-26 21:05:00 ideally, I'd like this: cwm --rdf f1.rdf f2.rdf f3.rdf ... --n3 g1.n3 g2.n3 g3.ng3 ... --think --filter=f.n3 2001-07-26 21:06:02 Is there a formalish semantics/spec for cwm anywhere? 2001-07-26 21:06:17 cwm is specified by test cases. 2001-07-26 21:06:53 there's some cwm doc too. But as to formal... no, we don't really know the formal semantics behind cwm yet. 2001-07-26 21:24:03 * bijan gives up trying to figure out CWM :) 2001-07-27 00:31:12 I know! Let's go rewrite cwm. 2001-07-27 17:00:46 AaronSw, where is that online cwm service again? 2001-07-27 17:34:10 are they running different versions of cwm? 2001-07-27 17:34:12 Ahh, yes -- it's a cwm bug... 2001-07-27 17:34:27 cwm exports files with dashes in them but won't read them for some reason. 2001-07-27 17:34:48 * sandro was driving behind a car with license plate "CWM 328" today. :-) 2001-07-27 17:36:15 Does cwm have a bunch of tests that run against it? Eating its own exports should be an easy test to write... 2001-07-27 17:37:14 * em try's feeding rdf file to cwm via AaronSw's service 2001-07-27 17:37:24 can we get it via CVS yet? my cwm installations are all hand HTTP GET'd, and I've not been pulling the subdirs... 2001-07-27 17:37:54 File "/web/le-dev/www/n3/cwm.py", line 2389 2001-07-27 17:50:42 That's OK, i'm sure you can do it all with cwm. 2001-07-27 18:17:02 AaronSw, is the cwm bug you mentioned something that DanC knows about? 2001-07-27 18:23:56 * em version of cwm now works 2001-07-27 18:34:05 hmm... cwm needs some sort of HTML output support. 2001-07-27 18:36:03 * DanC_ wonders what it would take to recode cwm in javascript, so it would run client-side. 2001-07-27 18:49:32 rdfql is to rules ala cwm --think is to --filter 2001-07-27 18:50:18 rdfql is to rules ala cwm --filter is to --think 2001-07-27 19:12:03 Ah yes, CWM. 2001-07-27 19:55:54 Neat! Is a version feasible that'd work with both xsb and swi prologs? (and js-prolog, and cwm, and ... ;-) 2001-07-27 19:56:06 CWM, no :) 2001-07-27 19:56:36 I wonder how well cwm'd cope with the combinatorial explosion. I'm assuming it wouldn't... 2001-07-27 20:03:53 When I want RDF in XSB I run cwm to convert it to n3, then my yaccn3 to turn it into prolog. 2001-07-27 20:04:39 But I do use n3 that way (no need to run cwm). 2001-07-28 19:19:14 hmm... cwm is taking 10 minutes or so to do this poolGame query, so I tried Euler. 2001-07-28 19:25:20 I wonder which cwm handes more efficiently. 2001-07-28 19:49:54 * DanC_ tries the new galeon release (0.11.1) while waiting for cwm... 2001-07-29 00:47:36 * sbp guesses CWM 2001-07-29 00:53:57 A:poolGame-kb.n3 -- a whole bunch of SWWS logistics info all cwm'd together 2001-07-29 00:54:04 A:|poolGame-kb.n3 -- a whole bunch of SWWS logistics info all cwm'd together 2001-07-29 02:35:08 Rete will do it magnitudes quicker than cwm, 2001-07-29 02:35:25 cwm is no speed daemon. 2001-07-29 02:36:28 I don't follow you. Life would be nice if cwm were a speed daemon. 2001-07-29 02:38:35 ok, that'll do cwm stuff, only p'raps in linear time 2001-07-29 04:09:21 cwm together, right now, over me... 2001-07-29 21:29:32 B:bijan suggested this would run rings around cwm... 2001-07-29 21:29:49 B:but is it relevant? cwm rules are declarative, not condition/action rules 2001-07-30 02:39:04 but with cwm-style analysis 2001-07-30 16:59:46 em: tools underway at W3C include... RDF triple store, Algae, cwm, Blindfold, Annotea 2001-07-30 17:02:07 em: cwm provides RDF in XML, RDF in N3 2001-07-30 17:02:53 em: RDF/DAML capable aspects of cwm. In mem database. Simple horn rules. Rules can generate rules, queries can generate queries. 2001-07-30 17:08:17 * danbri-SWWS wonders if timbl is writing up designs of cwm for PSUM reports? 2001-07-30 17:10:11 em: DanC and I playing with data in this format in cwm. Only when we merged all this data did we realise he wouldn't be here in time for this talk ;-) 2001-07-31 17:02:36 's n3 representation and plays with in in local install of cwm 2001-08-02 18:01:54 how is CWM licensed? 2001-08-02 18:03:55 yes, the rules are under the W3C code license, as is cwm 2001-08-04 00:17:50 Plus, it's handled natively by CWM, which is a cool RDF query/inference engine in Python 2001-08-04 00:18:41 CWM - cf. 2001-08-04 00:23:14 Yeah, Python rocks! CWM is a pretty decent tool 2001-08-04 00:24:15 Python, or CWM, or what? 2001-08-04 00:24:23 CWM 2001-08-04 14:48:48 email-like interface to CWM, anyone? :-) 2001-08-05 23:02:05 C:now also with [CWM 1.61|http://www.w3.org/2000/10/swap/cwm.py] thanks to Aaron again 2001-08-05 23:05:29 Wow, CWM really smegged up badly 2001-08-05 23:07:11 sbp, that sounds like a good project for you: fix cwm's rdf parser 2001-08-05 23:10:36 and CWM 2001-08-06 19:48:50 All you'd need to do is replace lynx with 'cwm -rdf $file -n3' 2001-08-06 21:26:09 E:[output from 1.4, converted to RDF/xml via cwm|http://www.w3.org/2001/02pd/rfc-index-scraped.rdf] 2001-08-06 23:48:39 Well, I can't understand it or CWM, so I don't really judge on that basis 2001-08-06 23:49:46 one of these days i want to refactor cwm... 2001-08-07 03:43:39 (DanC_) [output from 1.4, converted to RDF/xml via cwm|http://www.w3.org/2001/02pd/rfc-index-scraped.rdf] 2001-08-07 15:48:35 G:SOAP wrapped around Cwm would be fun; as would SOAP-based externally defined predicates 2001-08-07 15:56:11 cwm is more and more about being able to argue about who said what 2001-08-08 17:27:26 The idea is that you don't write it, you write it in N3 and run cwm -n3=spartan 2001-08-08 17:27:57 or write it in RDF/xml and run cwm -n3=spartan 2001-08-09 10:56:46 have you heard of CWM, Euler? tools that use rdf and do inferenceing 2001-08-09 10:57:40 cwm is at 2001-08-09 16:25:16 Get CWM to flatten some N3 2001-08-09 16:27:30 I think python cwm.py somen3.n3 -flat -spart > out.nt should do it 2001-08-09 16:31:27 It's funny, last night I tried to write the beginings of an inference engine. And now CWM scares the crap out of me 2001-08-09 17:50:17 Re NTriples and cwm -n3=spart 2001-08-09 17:53:34 spart are not cwm flags they are n3 formatting subflags. 2001-08-09 17:54:01 there is a shorthand "-triples" which is cwm flag 2001-08-09 17:55:12 I can add this to the ntriples doc - N-Triples is a subset of N3 output as used by cwm invoked as "python cwm.py -n3=spart" 2001-08-09 17:55:18 The quiet turns off the comments generatefd by cwm 2001-08-09 17:55:43 I'd prefer you refer to "cwm -triples" 2001-08-09 18:00:09 * dajobe adds the cwm -triples note to 2001-08-10 23:50:24 guys, anyone there know about cwm? 2001-08-10 23:53:47 python cwm.py test/t1.n3 2001-08-10 23:53:52 can be online - probably all wrong though....that's why I wanted to try cwm 2001-08-10 23:57:53 aaron - 2001-08-11 00:12:02 But stuff like the N3 rules files have contexts everywhere. For them, it is very useful to assign URIs to the contexts. TimBL commented in the CWM code that perhaps he should allow IDs for contexts, but for now to simply say that a URI is daml:equivalentTo a context 2001-08-11 00:21:14 CWM can actually flatten it into triples 2001-08-13 01:55:08 Based on a programming issue. It's just damn difficult to program. TimBL did it with CWM, though 2001-08-13 01:55:31 CWM - 2001-08-14 02:53:08 * sbp notes that the latest version of CWM can take the command line flag "-ntriples" now 2001-08-16 22:36:39 F:see esp [rules for collecting IANA endorsement info|http://www.w3.org/Addressing/scheme-registry-rules.n3] which illustrate cwm's ability to handle provenance 2001-08-17 02:29:37 Umm, I mostly use CWM for that kind of stuff, these days 2001-08-17 02:30:56 where can i obtain CWM ? 2001-08-17 02:31:26 at 2001-08-17 02:44:33 It's only downside is that I don't think it currently has all the features CWM has 2001-08-20 04:04:07 A:next step: a module to connect ircAsync.py with cwm.py/notation3.py 2001-08-20 05:09:08 * DanC_ puzzles over how to set cwm.RDFStore's context before parsing a line from IRC... 2001-08-20 08:11:08 phtphpt. bug in cwm.py: There is no variable named 'experience' [/home/connolly/w3ccvs/WWW/2000/10/swap/cwm.py|evaluateObject2|592] 2001-08-20 17:21:34 (DanC_) next step: a module to connect ircAsync.py with cwm.py/notation3.py 2001-08-20 17:37:58 That coverted from n3 to rdf/xml by cwm? 2001-08-20 17:38:29 em, cwm supports multiple contexts, so I'm considering supporting pushing into contexts for "today", "this meeting", etc. 2001-08-20 17:39:10 well, I had to muck with cwm contexts a bit to handle questions/queries. e.g.: 2001-08-20 17:42:28 um... yeah, he's got cwm hooked up to ah HTML frms interface somewhere 2001-08-20 18:02:15 oh crud... same bug: cwm.py|evaluateObject2|592 There is no variable named 'experience' 2001-08-20 20:10:22 so... swBot is an in-memory cwm? 2001-08-20 20:10:36 cwm is in-memory too, no? 2001-08-21 19:00:00 * AaronSw tries with cwm 2001-08-21 19:56:05 yes - the error is a bug in CWM 2001-08-21 19:56:49 my page is just an interface to cwm 2001-08-21 19:57:13 And, if there's an unfixed CWM bug... 2001-08-21 22:35:23 2) Took care of integrating cwm. 2001-08-21 22:36:02 And then figuring out how to make cwm generate idiomatic rss1.0 2001-08-22 12:58:15 hmm... cwm seems to have this odd bug that when the rdf namespace is the default namespace it omits the rdf: prefix 2001-08-22 12:58:30 i.e. cwm -rdf 2001-08-22 17:44:51 is there a cwm crib sheet? Especially for queries? 2001-08-22 18:10:12 And is a general CWM write up in the works? :) 2001-08-22 18:12:24 maybe I could teach you enough about cwm to co-author an article about it? 2001-08-22 18:13:47 Indeed, something on the bot. But CWM is as good. 2001-08-22 20:03:51 OK, for that you'll need to hack the cwm stuff 2001-08-22 20:04:15 Guess I can filter the stuff cwm returns. 2001-08-22 20:05:20 * bijan is scared of the CWM internals. 2001-08-22 20:06:16 er.. ask cwm. 2001-08-22 20:06:45 Umm, I suppose there's a cwm function for it but it's not a part of the query system (i.e. it's not a triple) 2001-08-22 20:20:58 * DanC_ admits being a bit afraid of the prefix handling code in cwm, meanwhile 2001-08-22 20:24:05 no, I tread very lightly in cwm.py. If cvs suggests I wrote a bunch of it, that's only because TimBL keeps screwing up the CRLFs in the source and I have to keep changing them back to LFs. 2001-08-22 20:24:47 Is there *any* reasonable formal or informal, but completeish, description of cwm, other than the code? 2001-08-22 20:38:43 * bijan just wondering if the test stuff in cwm.py is to be ignored. 2001-08-22 21:08:37 * bijan has a better grip on cwm. Am happy. 2001-08-22 22:25:18 cwm contexts? 2001-08-22 22:27:13 But all the functions in cwm want a context. 2001-08-23 14:18:43 Can I ask a quick cwm question? 2001-08-23 14:21:24 in the cwm RDFStore, there are no "unspecified" components of triples. 2001-08-23 14:31:35 So i have a reasonable test bed that doesn't touch the cwm code. 2001-08-23 14:33:51 bijan, are you having cwm do any inference? 2001-08-23 14:35:56 So, only if the queries involve some inferencingg, will cwm inference. 2001-08-23 14:36:26 er... keep in mind that cwm doesn't do backward-chaining. 2001-08-23 14:36:48 i.e. the match() routine in cwm is just like an SQL select, not like a prolog query. 2001-08-23 14:41:44 A lot of cwm.py seems devoted to optimizing certian query's, is that right? 2001-08-23 14:56:07 Eek! cwm uses a lot of module level globals. Hard to subclass. 2001-08-23 14:57:40 * bijan adds a "from cwm import *" 2001-08-23 14:58:43 Er...aside from doing a complete clean up of cwm.py :) 2001-08-23 14:59:08 or popping my subclass into cwm.py :) 2001-08-23 15:09:33 At least in the cwm.py I have. 2001-08-23 16:49:54 Don't get me wrong, making it easier to explose this stuff is really important. I just find it (after all these years...) still a bit hard to tell folk what we do with it once they've exposed it. Basic triplestores and small scale tools like cwm for inference are great, but there are more things we could do on the consumer front... 2001-08-23 17:07:37 * DanC_ steers clear of the anon-node debate, but is happy to help process the query with cwm 2001-08-23 18:29:39 I've been thinking about a cwm module to spit out formulas in traditional s-expression form; otter reads that form, right? this would provide new motivation for that hack. 2001-08-23 18:54:59 (presumably Tim doesn't think it's important, since cwm can't do it....) 2001-08-23 19:04:05 Aaron and I were talking about Squish vs CWM query, and he showed me how to do squish-style 'table of results' query in cwm. In the logs somewhere. 2001-08-23 19:07:55 If I pass them to swbot they die on line 1046 in cwm.py 2001-08-23 19:12:14 * DanC_ still can't figure out why unprefixed names are accepted by cwm 2001-08-23 19:32:18 a really cool thing about cwm contexts is that cwm can answer queries about datasources *without* believing the contents of those sources. 2001-08-23 19:35:02 it only works for n3 input, and it references a global that isn't defined when cwm.py is used from rdfn3chat.py 2001-08-23 19:36:31 where "it" can be bound to cwm, python, or my bot :) 2001-08-23 19:38:26 I have never seem cwm go faster than I expected. 2001-08-23 19:53:08 * DanC_ thinks cwm will ping-timeout when we ask it to think, but I'll give it a try... 2001-08-23 19:54:18 and the cwm datastructures are hardly thread-safe 2001-08-23 20:01:24 I've already tried doing that for cwm 2001-08-23 20:26:15 umm... so swBot is cwm hooked to this channel. you sorta know what cwm is? 2001-08-23 20:39:55 Well, I just refreshed my cwm.py 2001-08-23 20:40:10 err, according to the cvs the latest cwm.py is broken, no? 2001-08-23 20:40:33 oh... I'm actually one or two version back on cwm.py ; tim's last log entry wasn't very happy. I think. 2001-08-23 20:41:18 Um...could someone tell me which is the known good cwm? Please. 2001-08-23 20:47:31 Moral of story: Don't use the latest cwm.py. 2001-08-23 20:59:55 * bijan now has chump like pasting of urls add an rss:item to cwm's kb. 2001-08-23 21:00:57 ok... branch gymnastics done: cwm.py 2001-08-23 21:11:56 i.e. I'm sure I can get cwm to spit out the query results without the @prefix bindings. But that's trusting that the prefixes its using are those that the reader knows/assumes. 2001-08-23 21:48:11 cwm does have a --purge feature. 2001-08-23 21:51:03 * DanC_ has an evil plan to integrate cwm into XSLT using jython 2001-08-23 21:53:45 Sorry, i did try it but it's "docs" are of the cwm level of detail. 2001-08-23 22:18:05 cwm 2001-08-23 22:20:50 * DanC_ wanders off for a break... encourages AaronSw to fix cwm's inability to write rules in RDF/xml by using McDermott's design 2001-08-23 22:27:28 Dan, it's only a small mod to cwm.py...really. 2001-08-23 22:45:31 url for cwm cvs? 2001-08-23 22:50:56 ok, ta. Was wondering about 2-way Python-Java (e.g. Jena-cwm) 2001-08-23 22:58:35 cwm, in general, is not for the casual perusal. 2001-08-24 15:49:28 At least for a cwm based system. 2001-08-24 15:51:25 hmm. Then running all CWM queries in a thread should be pretty reasonable. 2001-08-24 19:55:17 Since I'm not storing the "channel" in cwm. 2001-08-24 21:31:46 Woohoo! It's ugly, but I'm winning the war against cwm. 2001-08-24 21:36:08 * bijan worries that he just might be backing his way into a general unification algorithm, in python, for cwm. 2001-08-24 23:03:01 You need 1) not to touch the socket from the cwming thread, and 2) not to touch cwm from the socketing thread. 2001-08-24 23:28:27 ...maybe in cwm, maybe just to make the .js version work again 2001-08-24 23:33:41 Let A be the cwm thread. 2001-08-24 23:35:05 yes, but that'd sort of mean sticking yields in cwm... 2001-08-24 23:35:29 *But* cwm has not socket writes, yes? 2001-08-24 23:36:31 A is pure cwm...no sockets. 2001-08-24 23:36:43 B could munge the cwm, but refrains. 2001-08-24 23:37:07 a mixes cwm and sockets at this point 2001-08-24 23:37:34 which checks something, sends to socket, does cwm stuff, sends to socket 2001-08-24 23:40:21 random thought: could some of what you guys want to do with cwm/scribBot threading be done by having multiple bots talk to each other? 2001-08-24 23:40:46 no, cause cwmbot would keep getting disconnected 2001-08-27 19:07:25 or maybe cwm could 2001-08-27 20:23:40 Hmm. I take it that cwm doesn't dereify reifications. 2001-08-27 20:26:55 sure it does. If I load up some data which includes a bunch of things of type rdf:Statement encoding 'bijan thinks microsoft suck', I don't want cwm to believe that the loaded document endorses that claim. 2001-08-27 22:48:17 is there a simple way to take a qname, e.g., rss:title and get back the appropriate cwm object, e.g., Thing, Resource, or Fragment? 2001-08-28 02:00:36 stick it in cwm 2001-08-28 04:12:24 dunno about cwm so much... but RDF sure is flexible, and cwm helps demonstrate that. I have found it pretty easy to use cwm to apply RDF to diagramming, logic, meeting records, and all points in between. 2001-08-30 22:27:26 E:this is the namespace of magic things known to cwm. 2001-08-30 22:28:47 I wrote some IRC/http stuff on top of a cool python networking library, then glued it to timbl's cwm stuff. 2001-08-30 22:45:10 cwm can't seem to parse it's own log:Quote format for some reason 2001-08-30 22:50:25 er... model.n3 is sort of a pipedream. If you're thinking cwm does anything with that stuff, it doesn't. 2001-08-30 23:12:38 sbp, thanks - was looking to see if the reversible really worked - nice! Now I just gotta learn to talk this cwm syntax -- I'm okay for the easy ones... 2001-08-30 23:12:58 s/cwm/N3 2001-08-30 23:13:33 sbp - yes, let me rephrase - N3 syntax for the cwm rules 2001-08-30 23:24:53 now if CWM could handle checksums and digital signatures... 2001-08-30 23:25:21 sbp, set up a web service to do it and have cwm call that 2001-08-30 23:26:07 I'd like to know how to plug in special-case handler for specific properties into Cwm. Is it relatively straightforward? 2001-08-30 23:26:35 Hooking into SOAP services takes 2-3 lines of python. It's hooking that to cwm that I'm unsure about. 2001-08-30 23:26:50 And nothing is "straightforward" in cwm :) But as these things go, it should be ;) 2001-08-30 23:32:24 I don't know what you mean by adding to cwm. 2001-08-30 23:32:41 well cwm already supports GET, danbri 2001-08-30 23:33:40 This is mostly intended as an exercise in showing the web services crowd how rdf/cwm/etc can be used to compose fancies services from SOAP-accessible parts 2001-08-30 23:36:02 I noticed that CWM works really well on WinMe 2001-08-30 23:36:12 you could almost say: CWM fly with Me 2001-08-30 23:37:32 assume we have a python function that shadows this (using either SOAP or plain GET to fetch answer(s)). How do I register to cwm that questions about certain RDF properties are answered using this function? 2001-08-30 23:38:23 you mean you want to load the stockquotes into CWM and query it? automatically? 2001-08-30 23:41:02 The most straightforward solution, at the moment, barring and influx of cwm comprehension, is to do the get thing. 2001-08-30 23:43:47 but cwm's not like Prolog -- the order you write the parts of a rule shouldn't make a difference, right? 2001-08-30 23:45:07 eg. if i define a class 'cheap company' which is those companies for which the util:stocktickerValue is util:lessThan (say) 100, we want cwm to do things in a certain order. I'd assumed that gets done via Python hacking not rule writing. But may well be mistaken. 2001-08-31 00:47:38 * DanC cringes at the half-done change in list design in cwm... 2001-08-31 16:04:46 * DanC increases the priority of cleaning up code like cwm.py so that other folks have a fair chance of fixing it/extending it. 2001-08-31 16:22:27 If there were a concerted effort to clean up cwm I'd participate. 2001-08-31 19:20:53 * DanC increases the priority of cleaning up code like cwm.py so that other folks have a fair chance of fixing it/extending it. 2001-08-31 19:21:17 code-review parties sound great... i keep thinking of cleaning up cwm.py, but then get scared 2001-08-31 19:24:04 Though I had to slurp in all of cwm.py to get all the globals :( 2001-08-31 21:19:07 the n3/cwm infrastructure currently uses a kludge where the context for document foo is foo#_formula 2001-08-31 23:09:11 F:hmm... perhaps "scope" is a better term than "context" in this and other bits of swap/n3/cwm code. 2001-08-31 23:28:17 File "/Users/aaronsw/Projects/cwm/swap/rdfn3_yapps.py", line 239, in qname 2001-09-02 02:38:14 context/formula naming in cwm is a big kludge (#_formula. feh!) I'm not surprised you're running into bugs. 2001-09-02 02:39:38 actually, I think CWM had a bug in that if you use the rdf XMLNS prefix for anything other than the RDF namespace, it wold barf 2001-09-02 02:40:59 cwm, that is 2001-09-02 02:41:39 yes, cwm screws up attribute namespace prefixes badly in some cases. I know about that bug. Haven't found inspriation/energy/motivation to fix it. 2001-09-03 21:08:02 D:in notation3/cwm, implies is a predicate, ranging over formulas. i.e. formulas are objects in the domain of discourse. Possible worlds semantics is the only mechanism I've seen for making sense of this. 2001-09-03 21:12:17 G:in notation3/cwm, implies is a predicate, ranging over formulas. i.e. formulas are objects in the domain of discourse. Possible worlds semantics is the only mechanism I've seen for making sense of this. 2001-09-04 03:15:31 L:excercise for the reader: (1) implement lexical details of namespaces and such (2) implement semantic actions to feed results to some KB (e.g. cwm) ala [rdfn3.g|http://www.w3.org/2000/10/swap/rdfn3.g] 2001-09-04 21:51:55 ...including DanC's cwm-based implementation. 2001-09-04 22:41:31 S:Python and rules... Sounds like cwm territory. 2001-09-05 05:34:06 * DanC was gonna work on a proof theory for cwm's logic this evening, but is happy with the way the email modelling discussion turned out in stead. 2001-09-06 00:59:28 I got the "director assures..." example working under cwm. 2001-09-06 22:57:27 until recently, cwm implemented (:X :Y) as [ daml:first :X; daml:rest [ daml:first :Y; daml:rest daml:nil]] 2001-09-06 23:01:38 ... I'm pretty sure the rdfn3_yapps parser does the right thing with contexts, but in order to get ToN3 to print them, cwm does something other than just makeStatement() calls with the right context/scope. 2001-09-06 23:02:09 hmm, i'll take a look at cwm... 2001-09-07 20:13:59 cwm -triples 2001-09-07 20:51:57 um, cwm? 2001-09-07 23:30:09 * sbp wonders what the "weird" comment is in aid of on CWM 1.69 2001-09-09 11:55:55 Did you see the cwm/n3 swBot tricks a week or two back? It loaded some 'who is in which photo' data and answered questions... 2001-09-09 12:04:03 see for Dan's cwm / logic bot, and my SOAP-based bot answering RDF queries over the WordNet ontology 2001-09-09 12:11:07 does the resource list live in cwm or the bot? 2001-09-09 12:12:36 (w.r.t. DanC's swBot) the 'resource list'? you mean all the data? The bot is written in Python, and runs the Cwm code, whose KB (if we call it a KB) can be serialised out into RDF/XML or RDF/N3 (including rules); the bot can then save state by writing that to a page in the web, and reload it later. 2001-09-10 16:16:02 there was a session w/ swBot a while back (well, couple weeks?) where it (via Cwm) was reasoning about codepiction stuff based on loading from the rdfweb/foaf dataset 2001-09-10 19:25:29 Which n3 files are the cwm conformance tests? 2001-09-13 15:38:21 hmm, seems like cwm is b0rken on this. 2001-09-13 21:41:56 again, RDF crawling is something that doesn't rely on a server. jsprolog can do crawling, as can cwm. 2001-09-13 21:48:45 * DanC discovers swBot code is all over the floor due to recent cwm.py changes 2001-09-13 21:49:01 DanC: Beware cwm.py changes! 2001-09-13 21:51:07 Well, cwm (closed world machine) is the only current tool that gets N3 (being the testbed/exploratory implementation) 2001-09-13 21:51:09 * DanC tries cwm.py 1.66, last version I touched... 2001-09-13 22:50:36 actually, the n3tordf web page isn't working because the cwm.py it points to is broken - wanted to see if they has a quick fix. Anyone else know 2001-09-13 22:51:01 You can use cwm.py directly. 2001-09-13 22:51:41 N: seems to be broken - assume it is a cwm.py problem, but could be something else 2001-09-14 14:01:30 in CWM style 2001-09-14 14:19:30 now... to play with new log:concat support in cwm to use that page as a semantic web service... 2001-09-14 23:42:57 K:a nifty unit-testing-meets-literate-programming thingy; I wanna try this out for swap/cwm stuff 2001-09-16 21:46:55 N3 lets you use _:1 as an anon node (well, CWM does) 2001-09-16 21:47:52 that's a bit sucky though, because CWM does that on -ntriples output 2001-09-16 21:51:53 G:Heh! "Must-have book for lovers of techie autobiography - more readable than the source code to cwm." 2001-09-18 00:40:04 Eventual goal to plug it into cwm so that it can validate signatures ... 2001-09-18 22:27:06 bijan and everybody, TimBL spent some time splitting up cwm.py 2001-09-18 22:28:23 hmm... cwm can now peek into environment variables. 2001-09-18 22:33:26 Split up cwm.py python modules 2001-09-18 22:41:36 i.e. what's the interface between cwm.py-without-Formula/Literal and whatever.py-with-Formula/Literal? 2001-09-18 22:54:59 Which line wrapping? I find cwm.py mostly illegible :) 2001-09-18 22:59:43 I'm trying to see if it's feasible to get *some* of cwm.py split into separate modules that other folks can code-review. 2001-09-18 23:04:21 huh? cwm.py is proof that you don't have to import *; it imports them from notation3.py just fine. 2001-09-18 23:05:15 In my cwm.py, those constants occur at the top of the file. 2001-09-18 23:05:50 The problem occurs if you import cwm and then try to subclass someting. 2001-09-19 16:08:23 hmm... bijan, it seems timbl did separate out the representation stuff from cwm.py into thing.py 2001-09-19 16:46:07 I think I only need to change cwm.py to fix this bug. 2001-09-19 16:56:58 * DanC can't figure out why emacs is confused about indentation in cwm.py 2001-09-19 17:02:54 * DanC commits cwm.py,v 1.73 2001-09-19 17:26:51 one excuse: waiting for you to split cwm.py between command-line and other. 2001-09-19 17:45:32 * tim2 leaves fro lunch leaving notation3 and cwm.py locally modified -- error handling improvements 2001-09-19 18:48:46 cwm.py 1.74; notation3.py 1.90; sax2rdf.py 1.9; KIFSink.py 1.5; 2001-09-19 20:40:48 (There remains an issue as to why cwm was verifying the RDF schema itself, when it was supposed to be verifying documents but is my problem.) 2001-09-19 20:50:03 File "cwm.py", line 620, in storeQuad 2001-09-19 20:52:03 Object - but then you have to make the obejct. I'll do that when I actaully have parameters to pass on. I have added a coupel to cwm.py recently 2001-09-19 20:52:29 How long 'till CWM has decent croyptography built ins? 2001-09-19 20:54:53 If you want to have a go at it, then cwm_string.py is the the thing to clone into cwm_crypot.py 2001-09-19 20:55:35 cwm_string.py: I just looked at that today, and played about with string: concat. Was able to make an XHTML document out of RDF! :-) 2001-09-19 20:56:25 * dajobe notices cwm_string.n3: LITERAL_URI_prefix = "data:application/n3;" 2001-09-19 21:08:20 python2 cwm.py --rdf --n3 >,xxx 2001-09-19 21:12:47 * timbl-lap tries cwm --rdf --n3 -- crashes, in pretty printing it seems. Rats 2001-09-19 21:14:43 this still crashes, though: TARGET=http://www.daml.org/2001/03/daml+oil python2 cwm.py test/includes/check.n3 --think --purge --ugly 2001-09-19 21:14:55 File "cwm.py", line 545, in makeStatement 2001-09-19 21:14:55 File "cwm.py", line 620, in storeQuad 2001-09-20 02:14:09 * AaronSw wonders about pyunit's applicability to Clean CWM... 2001-09-20 19:53:22 rdf design: the original web browser had datastrcutures just like cwm's Thing and Fragment; they were HTAnchor and HTDocument. they were connected with URI-labelled-links, just like an RDF graph. RDF can be seen as a persistence format for that structure. 2001-09-24 03:13:24 Aaron, would you prefer anonymous nodes outputted by CWM to be identified with some unique ID type namespace, the URN-anon thing I was hacking with, or something else? 2001-09-24 03:14:20 So I am left wondering whether to build this log:forAll :x. {} log:implies { :x a rdf:Resource }. into cwm so that I can use Jos's rules directly -- or is the whole idea that you have to turn on each rule - you have control of them. I didn't notice this axiom in his list. 2001-09-26 02:20:06 hmm... cwm.py blows up on 2001-09-26 17:25:00 it's a shame that CWM doesn't have any statistical analysis built ins 2001-09-27 21:08:41 * DanC discovers STATE_LITERAL isn't implemented in cwm. 2001-09-28 10:09:13 C:First steps?: Show this data being reasoned about in CWM... ("find me paths between Pepsi and Coca-Cola?") 2001-09-28 10:17:22 C:Nearby: [RDFWeb notebook: aggregation strategies|http://rdfweb.org/2001/01/design/smush.html] shows CWM rules for identifying individuals based on their properties (name/email/etc). 2001-09-28 11:06:18 C:I took [a first pass at it|http://logicerror.com/theyRuleRDFTrial] with CWM 2001-09-28 11:12:23 and no XML for you, this is cwm-powered so deal with the N3 2001-09-28 11:13:05 Not that cwm can't export XML, but this doesn't have a very clean mapping... 2001-09-28 14:55:25 Sorry -- no rdfdump's fault -- it's cwm who is generating RDF/XML that's already been skolemized. 2001-09-28 21:11:20 Im trying to read cwm.py 2001-09-28 21:11:47 cwm.py is a bit... err... messy at the moment. 2001-09-30 02:13:00 perhaps the last two or three, Aaron: testing a .crd file on CWM shows that it prints out a few lines of code 2001-09-30 02:19:44 oh! i think i realize what the problem is - n3tordf is a TCL script, which invokes cwm - i was thinking n3tordf was in python itself and just doing method calls to stuff in cwm 2001-09-30 19:42:14 Do you happen to have the cwm tool isntalled? you can convert things on the commandline then. 2001-09-30 19:42:24 cwm -rdf -n3 2001-10-01 15:36:40 tim, latest fun-with-cwm: (also: .n3) 2001-10-01 15:49:06 C:|opksnet.n3 -- fun with swap/cwm for network/hardware diagrams 2001-10-01 20:16:04 I figured we'd make it easier for them - do it in rdf and then use cwm to map to SVg 2001-10-04 00:29:08 Is cwm.py broken? 2001-10-04 17:43:14 * DanC shudders at the thought of cwm chewing on something that big 2001-10-07 00:55:41 moment please, this is fun : # This filters out incorrect bNodes! CWM produced these... 2001-10-07 00:56:29 yeah, it kept producing stuff like _:1, which isn't valid NTriples. Probably would have been easier to fix NTriples rather than CWM, but there you go... 2001-10-10 23:46:45 danc has a version of cwm-based python bot that does HTTP PUT too 2001-10-15 19:03:29 So lars was saying that swBot was very cool and I explained to him the relationship between N3, cwm and RDF. 2001-10-15 19:10:32 this cwm thing, it's just a playground for you RDF people, right? 2001-10-15 19:10:48 cwm: Yeah, pretty much. 2001-10-15 20:58:58 But I think there are cases where it's very hard to tell the difference. I think n3 log:* means to be implication, but the cwm -think interface is very much like you'd expect for inference. Without negation, it's hard to find a test-case for the difference (or perhaps its impossible). 2001-10-16 00:41:56 e.g. the roadmap diagrams just need cwm as it is, but calendaring needs cwm with the concat feature. 2001-10-16 00:48:20 I just split cwm.py into 3 2001-10-16 00:56:11 I was just coding up log:conclusion, the builtin for cwm's --think function. This was for RDF schema validation. 2001-10-16 01:19:29 nope...not tonight. I am fidgeting with cwm 2001-10-17 01:40:39 notation3.py isn't really a decent N3 validator. it just munges the N3 as best it can, and provides a bed for CWM to operate, AFAICT 2001-10-17 01:42:00 C:"my suspicion is that it has to do with the rdf:parsetype="collection" stuff, which is a DAML extension to RDF that cwm might not know about" - it should manage to grok it, converting a collection into a list a la (:x :y :z) . perhaps the version of CWM used had a bug 2001-10-17 19:27:10 Well, the way cwm does it seems to. 2001-10-19 14:23:19 H:let's see what cwm thinks of the data... 2001-10-19 14:26:28 H:cwm finds no data in there cuz there's no rdf:RDF tag. 2001-10-19 16:28:58 whee! got it to parse with cwm... 2001-10-19 17:02:29 Does CWM use context as the fourth element of the NQuad ?? 2001-10-19 17:03:32 Yes, cwm uses the fourth bit of hte quad (actually the zeroth) as the context - a pointer to the Formula in which the triple appears. 2001-10-19 17:04:28 Does CWM also use statement ID internally to reify statements ?? 2001-10-19 17:05:21 No, cwm internally reifies nothing. It does not use statement Ids. 2001-10-19 17:06:08 so a reified statement to CWM is just a single statement context ? 2001-10-19 17:14:19 shucks .. i really did want conformation on that one point .... Is a reified statement in CWM really just a context containing a single statement ?? 2001-10-19 17:16:18 CWM doens't use reification to represent formulae internally. 2001-10-19 18:10:55 AaronSW, yes... I was going to ask about the SOAP-ntriples tests that you started. I'm thinking about making the ntriples rather than n3 versions the one that are edited/polished, to save from fixing up cwm-isms in the resulting triples. Would you be OK with that. 2001-10-19 18:11:36 so cwm was a good way for me to get them done quickly 2001-10-19 19:15:53 The diagram seems to use cwm for everything, but I should blindfolf could become a replacement in many roles. 2001-10-19 19:19:25 :remoteQuery a :FY2; dc:description """We plan to extend the cwm tool to delegate certain forms of query to remote systems, hopefully using DAML-Services and XML/Protocols."""; u:label "remote query"; rm:needs :cwm-rules; # alternatives? blindfold? rm:prototypes :DAML-S, :rdfXMLP. :DAML-S u:label "DAML-Services"; a rm:external; rm:needs : 2001-10-19 19:22:27 Tim, I'd certainly like to make blindfold serve as a backup & interoperability test for cwm; I'm not sure it makes sense for me to commit to that yet, though. 2001-10-19 19:24:16 [repeat] Tim, I'd certainly like to make blindfold serve as a backup & interoperability test for cwm; I'm not sure it makes sense for me to commit to that yet, though. 2001-10-19 19:34:08 * sbp grabs the latest CWM. Notes that many people have been confused by the refactoring... 2001-10-19 20:10:52 * sbp installs the latest CWM/notation3/llyn/thing, but gets caught out on "import RDFSink" in notation3.py... help? 2001-10-19 20:15:47 could we have "cwm.py, cwm_os.py, cwm_string.py, llyn.py, notation3.py, RDFSink.py, thing.py" linked to from /2000/10/swap/, please? 2001-10-19 20:16:39 * sbp wonders how many people come at CWM through /swap/ compared to /swap/cwm.py 2001-10-19 20:26:21 cwm doesn't actually do anything with log:Falsehood, or other negation-style reasoning, does it? 2001-10-19 20:27:07 so you can't really tell whether cwm believes in LEM or not. But TimBL and I don't. 2001-10-19 20:31:09 sbp, I have KIFSink.py cwm.py gram2html.py notation3.py rdfx2kif.py thing.py yappsrt.py 2001-10-19 20:31:09 RDFSink.py cwm_os.py kifForm.py rdf2dot.py sax2rdf.py xml2rdf.py 2001-10-19 20:31:09 SemEnglish.py cwm_string.py llyn.py rdfn3_yapps.py spark.py xmllib.py 2001-10-19 20:32:18 * AaronSw has no less than 89 files in his cwm directory 2001-10-19 21:52:49 It is in cwm. 2001-10-19 21:52:58 too bad for cwm 2001-10-19 21:55:03 CWM also has log:equalTo 2001-10-19 22:34:18 yeah, CWM can do it, why can't you? :-) 2001-10-19 22:45:16 I would guess that's the same flavour of implication used in CWM 2001-10-19 23:13:11 using -filter in CWM 2001-10-19 23:14:35 I'm afraid I really don't know enough about CWM. 2001-10-21 22:16:40 D:[http://infomesh.net/2001/06/trust/#implementation|Short trust implementation on CWM] (not all that great) 2001-10-22 19:51:59 but then, that's probably due to my OR/NAND construction in N3 rather than CWMs parsing of it 2001-10-22 19:56:47 Seth: there is a problem in that you have to establish the difference between the root context, and any subset contexts, and that can get messy. I don't know how CWM handles it 2001-10-22 21:37:42 I believe n3 is just FOL with the RDF(s,p,o) predicate. Or at least the seems to be how it's shaping up. Negation is still only used implicitely, in material implication, and the inference method implemented in cwm is imcomplete, .... 2001-10-22 22:17:28 which are statement sets, and there is a commend line option in CWM that can convert from a context to a model of that context 2001-10-23 23:01:43 does '=' parse into a Nquad in cwm ? 2001-10-23 23:06:00 so what property arc does cwm draw between nested contexts? 2001-10-23 23:17:58 there's some command line on CWM that will produce that 2001-10-23 23:19:19 if you reverse engineered CWM, I guess so, yes :-) but otherwise, you can just use that command line: -flatten, or something. Then again, I'll bet it doesn't store it like that. Who knows how it stores it 2001-10-25 03:21:43 yeah, good idea. Then you can implement it in CWM, eh? 2001-10-26 19:41:35 whereas with N3, we can hack about with CWM and Llyn 2001-10-27 01:45:14 have you tried CWM? 2001-10-27 01:46:08 whats the url again to CWM ? 2001-10-27 01:46:27 2001-10-27 01:54:07 cwm.py n3spark.py notation3.py.txt sax2rdf.py 2001-10-27 02:01:27 cwm_os.py, cwm_string.py, thing.py 2001-10-27 02:02:00 (Llyn is the query engine, refactored out of CWM) 2001-10-27 02:06:08 File "cwm.py", line 567, in ? 2001-10-27 02:06:41 [root@titan engine]# cwm.py 2001-10-27 02:07:04 #Processed by Id: cwm.py,v 1.80 2001/10/15 19:02:52 timbl Exp 2001-10-27 02:07:04 # using base file:/opt/tomcat/webapps/inference/WEB-INF/engine/cwm.py 2001-10-27 02:07:04 File "cwm.py", line 567, in ? 2001-10-27 02:07:05 File "cwm.py", line 428, in doCommand 2001-10-27 02:07:57 try: python cwm.py -rdf > output.txt 2001-10-27 02:10:38 we have CWM available as a Web service, BTW 2001-10-27 02:11:44 O.K.: python cwm.py -think -filter=http://infomesh.net/swag/n3/hackings/bmwdeeleyf.n3 > output.txt 2001-10-27 02:19:32 python cwm.py -think 2001-10-27 02:49:09 and then running: python cwm.py file.n3 -rdf > out.rdf 2001-10-27 02:53:29 CWM hacks it by adding a parseType 2001-10-29 21:23:03 it would be interesting to write the rules from TR/urispace in cwm. cwm supports log:uri; the rest is just string manipulation. 2001-10-29 21:23:38 Does cwm support string manipulation, tho? 2001-10-29 21:24:05 cwm has a limited vocabulary of string operators. 2001-10-29 21:24:44 cf 2000/10/swap/cwm_string.py 2001-10-29 21:24:57 * bijan really needs to check out the refactored cwm. 2001-10-29 21:25:30 * DanC doubts bijan will be happy, but perhaps he will be somewhat less unhappy with cwm's newer structure. 2001-10-29 22:40:33 Hmm. having a bit of trouble finding all the parts of cwm. 2001-10-29 22:44:07 Dan: Looks like a good first shot (the refactoring of cwm) 2001-10-30 01:27:52 * bijan reaches for some CWM for sanity :) 2001-10-30 01:28:38 CWM? Cold Water Machine? 2001-10-30 02:01:30 Aaron can't force you to write a longer function until he provides comprehesive documentation of cwm rdfstore.query. 2001-10-30 02:02:08 CWM? 2001-10-30 02:06:45 * sbp wonders how CWM does it 2001-10-30 02:21:40 Document CWM? Aaaah! 2001-10-30 02:22:08 CWM: heh 2001-10-30 02:22:08 Label CWM not found. 2001-10-31 03:26:49 The inference language can be whatever you want. cwm's looks like a good place to start, with a Context Node based on triples or something 2001-10-31 21:11:08 yes but now i adapted to cwm's context "flag" so the pent is {subject,property,object,context,seq} 2001-10-31 21:13:55 yes it is enough, but cwm and TimBl went the other way ... so i adapt 2001-11-05 15:30:41 hmm... there's a weekly "any upcoming appearances/presentations?" call in the W3C team... each time I get that, I want to answer it with cwm. 2001-11-08 02:51:12 well, that's just -think ni CWM 2001-11-08 02:52:25 so how would i actually ask {A r E ?} in CWM assuming that all the rules were already present in a store? 2001-11-08 02:53:19 python cwm.py store.n3 -think > store_b.n3 2001-11-08 02:54:45 python cwm store.n3 -think -filter=storef.n3 > out.n3 2001-11-08 03:00:30 %python% %cwm% store.n3 -think -filter=storef.n3 > out.n3 2001-11-08 03:03:33 CWM isn't optimised, and it's a difficult thing to do 2001-11-12 23:40:52 I must admit that I've been distracted, but as long as I can find the correct properties that CWM uses instead of first/rest, then it should be O.K. 2001-11-12 23:41:24 But I thought cwm used the anonymous arcs style nowadays 2001-11-13 16:47:27 I have a new :k log:outputString :s which relates a key to a string, so that cwm --strings will output the {:s} ordered by :k. 2001-11-14 18:01:25 dates aren't explicit in the drawing; in the RDF version, I have dates for DAML FY1, KCAP demo, Tech plenary, WWW2002, and DAML FY2, and the cwm reasoner sorts them by date. 2001-11-14 18:29:02 actually, the things I think are tasks are "cwm conjunction" and "cwm conclusion"... not directly related to this story, actually... they're connected to the "RDF schema validation" bubble 2001-11-14 18:29:42 ah... "cwm dsig module" is related to the ACL story; I think it's a task. 2001-11-14 22:45:13 it occurs to me: we've already done cwm rules. 2001-11-14 22:45:41 I'm not really prepared to defend the cwm rule design per se with a straight face in the DAML joint-commitee, but they do work. 2001-11-14 22:46:37 the log:implies design actually has two implementations: cwm and euler. maybe more? blindfold/swi-prolog? 2001-11-14 23:16:22 (Since it's hooked up to CWM.) 2001-11-14 23:17:18 I.e., you could have CWMbot add the corresponding rdf to the knowledge base in respond to each message. 2001-11-14 23:19:36 Translate to n3 and stick in CWM 2001-11-14 23:23:48 I wonder if/how the message text might be presented as both a plain string AND as special messages, if it matches certain pattersn. I guess that's just some cwm-style inference using string-matching predicates, etc, etc. 2001-11-15 00:14:03 So every thursday, I wonder if we're on or off... and every thursday, I think about whether log:implies and string:lessThan is enough to figure it out, or whether I need to add some date built-ins to cwm to figure it out. 2001-11-15 00:16:58 I did manage to get cwm to answer a query... " maybe the week of august 13th... are you around then? monday afternoon?" 2001-11-15 18:32:44 DanC, what's missing toolwise before PCA via RDF/SW is demoable? I don't really understand what's needed. Cwm-as-proofchecker? 2001-11-15 18:34:24 yeah, danbri, we need cwm to spit out proofs (though actually, euler already does, so that part's done).. then we need (a) a proof checker, and (B) the crypto integration 2001-11-15 22:12:11 * tim gets regression test passed and checks in new cwm.n3 and related stuff. 2001-11-16 14:04:49 cwm often gets used that way... 2001-11-16 14:05:18 cwm is python, right? 2001-11-16 17:44:27 But once you ahve done that, cwm can work with log:semantics as a black box, for the duration of a run,during which no document is got more than once. 2001-11-16 17:44:59 that's a HUGE design limitation for cwm; one that should be documented LOUDLY! 2001-11-16 17:45:10 it means you can't use cwm for long-running stuff like caching proxy servers. 2001-11-16 18:19:55 hmm... cwm doesn't really bother with any sort of notion like "false" or "not"; if you say { Joe a :ChocolateLover, [ ont:complimentOf :ChocolateLover ]}, it doesn't do anything special. 2001-11-16 18:20:29 You haven't give cwm the complimentOf axioms. 2001-11-16 18:20:55 is there any way to state complimentOf axioms that will cause cwm to do anything interesting? 2001-11-16 18:22:03 * DanC would mind dropping the cwm/not thread and going to the numbered list... 2001-11-16 20:23:33 In "how" I was thinking about like: python, cwm rules, XSLT, ....? 2001-11-16 22:10:05 tim? in the log.n3 schema, you wrote that log:equalTo is "A cwm built-in logical operator." I can't find the code. help? 2001-11-16 22:11:14 why do you say "Do not confuse with daml:EquivalentTo."? is log:equalTo defined in terms of cwm's implementation? 2001-11-16 22:16:07 This is what cwm shothands to "=" 2001-11-16 22:16:39 so log:equalTo means "somebody used the same URI to tell cwm about this thing in this session"? 2001-11-16 22:16:45 Is that the only notion of identity cwm undestands? 2001-11-16 22:17:22 i.e. tim, you realize log:equalTo depends on the order files are read, cwm internals, that sort of thing? 2001-11-16 22:17:26 I guess if cwm's happy dispensing its own URIs for things, that's fine. But it waters down the notion of 'being the URI of something' 2001-11-16 22:20:11 log:cwmInternalEqualTo ? 2001-11-16 22:26:32 hack: the trouble with things like log:equalTo etc is I never no if it's a cute hack to make Cwm perform handy tricks, or a proposal for some new web architectural design principle... (ie. a non-cute hack :) 2001-11-19 17:49:30 DanC or anyone using cwm - I just made bug fix release. 2001-11-19 21:21:41 ugh... difference in CPU-horsepower between laptop (400mhz) and desktop (200mhz) is v. noticeable when doing big cwm jobs 2001-11-20 22:11:28 projects using RDF, N3, cwm, DAML etc 2001-11-20 22:16:54 "cwm" (pronouned as in welsh) is a program for reading/inferring from/querying/filtering/outputting sweb information. 2001-11-20 22:17:39 class has looked at cwm, some may use in projects - 2001-11-20 22:18:09 In that case, if students use cwm, I may have to open up the cvs to write ... I expect patches! :-) 2001-11-20 22:18:30 some comments about cwm documentation as well (jimH plays censor role) 2001-11-20 22:18:56 finding all the cwm code in the CVS repository was not terribly easy either (one class member opines) 2001-11-20 22:19:04 cwm documementation? didn't think there was any 2001-11-20 22:22:13 there are some handy examples of using Cwm on Sean's site, eg. -> (simpson's episode guide :) 2001-11-20 22:36:58 (plug; cwm has a modular built-in function architectecture and a crypto module would be a cool contribution) 2001-11-20 23:06:54 Then trust? Well, all you need is a proof-exchange langauge, and add the capabilit yfor the proof checker to validate a digital signature and than just needs that crypto module in cwm and you can then boostrap a complete powerful distributed trust system. 2001-11-20 23:43:25 It'd be cool to do some demos with cwm rules. 2001-11-20 23:44:11 yes, I'm just getting comfortable with cwm, and have been playing with that. It's just rewarding enough to keep me going ;) 2001-11-20 23:45:09 I guess I should look into writing a URI parser module for cwm... 2001-11-21 05:10:06 DanC: if I want to write a cwm module, should I be looking at anything in particular besides cwm_string and cwm_os? 2001-11-21 05:10:58 if you want to add built-ins to cwm, that's the place to look, mnot. If you want to teach cwm a different syntax to import/export, I'd point you elsewhere. 2001-11-21 05:12:41 * DanC chalks another one up for The Great CWM Refactoring 2001-11-21 16:11:36 according to the Notation3 Language Specification (aka Cwm? ;-), try it and see... 2001-11-21 16:15:32 ah, on the contrary: CWM lets you change it 2001-11-21 16:15:59 CWM 1.80 doesn't seem to agree 2001-11-21 16:16:48 In general, it's best to follow CWM, because it's more up-to-date than the documentation 2001-11-21 16:47:53 catching ip ...sha1 uri scheme good idea. Multiple @prefixes for same namespace is fine, cwm picks random one on output. Multiple @prefixes for same prefix, diff namespace best avoid. May change: the rest of the file. Could forbid clashing later, or could even start using scoping to alloweasier embedding of self-contained formulae. 2001-11-21 21:15:41 So for example the builtins in cwm string:greaterThan and so on all have ngeated forms, as does log:includes. 2001-11-21 21:22:35 [ make:insuffix ".dot"; make:outsuffix ".svg" ; make:recipe ( "cwm foo.doraskasdajsh" "xslt sadhjsdfuhkj > $@" ) ] 2001-11-21 21:33:07 No, I don't have any test cases. I think you were asking for some HCF instrcution fo cwm 2001-11-21 21:33:54 You asked if there was anything "intersting" which you could make cwm do it it found something was a member of 2 disjoint classes. 2001-11-21 21:56:51 I wonder if it wouldn't be worth writing a document somewhere with some of these logical "idioms" defined in a way we could use FOL:OR, FOL:AND, etc - would allow someone to build a parser to take things in more traditional form (but still URIed) and turn into RDF easily. Can't decide if I think this would be a step forward or backward now that I'm getting to like n3/cwm syntax 2001-11-21 22:27:36 hm... does cwm's string-handling have enough oomph to say "email addresses are case insensitive"? 2001-11-21 22:43:53 e.g. cwm isn't going to notice that <> = > 2001-11-21 22:44:20 * jah-home catches up on the log - now understands why his students are having so much trouble finding some of the cwm and rule stuff (raiding cvs repositories is current method) - perhaps W3 sw, or else AaronSW could create a "definitive" page in non-member space with appropriate pointers? Perhaps such exists and I've just missed it? 2001-11-21 22:47:16 tim, let's clean up this "how do I get the cwm" code right now... 2001-11-21 22:50:59 my biggest problem these days is figuring out what cwm is capable of re: n3, rules, etc.; there's a lot of dissonance between some of the examples and the code 2001-11-21 22:58:00 it'd be cool if you note by the direct links to stuff like cwm.py that they need to grab the source, but this is good 2001-11-21 23:03:28 I don't suppose there's anything documenting the overall architecture of cwm / llyn / etc.? *crosses fingers* 2001-11-21 23:10:36 hints about hacking cwm to support it would be, of course, *very* appreciated. 2001-11-21 23:16:10 TimBL has been working on making cwm powerful enough to cut xslt out of the loop in the case of rdf2dot.xsl 2001-11-22 03:19:08 23:16:10 TimBL has been working on making cwm powerful enough to cut xslt out of the loop in the case of rdf2dot.xsl 2001-11-22 05:14:56 * DanC waits for cwm 2001-11-23 17:49:18 well, in cwm's implementation it is 2001-11-24 21:53:39 "there isn't a straightforward RDF/XML equivalent" - evidence for that comes from running { :x :y :z } :p :q . through CWM asking for an XML RDF representation, and then wading through the parseTypes 2001-11-25 02:17:13 rdfs:comment "Logical implication. Understood natively by cwm."; 2001-11-25 03:05:50 You'll have to beg Tim and convince him that it's worth using CWM as a calculator 2001-11-25 15:48:54 C:|Re: Namespaces wihtout "#" Was: Few CWM Bugs 2001-11-26 04:32:19 code to cwm. 2001-11-26 06:48:08 CWM clone. 2001-11-26 06:50:00 Not just becasue CWM is so slow. 2001-11-26 06:50:50 hmm... I wonder... cwm's strategies are quite different from prolog in a lot of ways. 2001-11-26 06:51:19 Well, I doubt CWM does indexing, for example. 2001-11-26 06:51:31 er... cwm does lots of indexing 2001-11-26 07:01:31 Somehow, I don't think CWM is up to that :) 2001-11-26 07:07:49 cwm interns strings 2001-11-26 07:15:33 cwm interns strings as Literal objects 2001-11-26 07:16:13 Does CWM use == or is? 2001-11-26 07:16:27 cwm uses == at read-time, and is after that 2001-11-26 15:51:13 B:|Re: Namespaces wihtout "#" Was: Few CWM Bugs 2001-11-27 02:19:26 Of course, it might just be that the grammar's permissive and CWM catches stuff :( 2001-11-27 02:22:49 Hmm... CWM appears to barf on it too 2001-11-27 02:36:38 Hmm. Maybe CWM throws an error. 2001-11-27 02:43:44 hmm. if at least part of the point is to have a n3 parser for others to use (e.g., for an N3 lint or pretty printer) then I would say its buggy (er...use without having to have CWM) 2001-11-27 23:25:17 pointer-equivalent: in recent cwm/llyn versions, yes. i.e. formulas are interned. (so I gather) 2001-11-27 23:36:08 cwm allows { "abc" log:lessThan "xyz" } and I use it. 2001-11-27 23:44:39 oops.. bug: cwm turns "abc" a <#String>. into: 2001-11-27 23:48:48 BLURB:swap/cwm turns string subjects in to bogus RDF/xML (n3bug) 2001-11-27 23:48:49 E: swap/cwm turns string subjects in to bogus RDF/xML (n3bug) from DanC 2001-11-28 00:01:58 I guess that'd be CWM inference, actually. 2001-11-28 00:22:26 well... CWM used to reserve #_formula 2001-11-28 00:27:20 * sbp finds the CWM verbiage for this 2001-11-28 02:07:36 when I'm bored... an implementation of CWM in Prolog :-) 2001-11-28 02:14:55 well, you need it to be better than CWM for it to be really neat 2001-11-28 02:15:14 clearer than CWM would suffice. 2001-11-28 02:15:20 Faster than CWM would do. 2001-11-28 02:15:31 yeah, CWM is not all that fast no complex queries 2001-11-28 04:05:57 plus, it means I need to deal with sameThing/forgetDups all the time, which makes cwm run dog slow. 2001-11-28 05:08:40 * DanC thought cwm was getting somewhere, but I'm getting tired of waiting. 2001-11-28 05:24:06 * DanC is suprised at the poor performance of cwm on this query; it was much faster on a very similar query 2001-11-28 05:27:27 * DanC is leaning toward giving up on cwm and using a pencil pretty soon 2001-11-28 05:29:25 at least you don't have to sharpen CWM 2001-11-28 05:40:16 but not in a way that cwm will pay much attention to. 2001-11-28 17:21:20 Hmm. Does CWM do anything more than forward chain log:implies rules? 2001-11-28 17:45:58 That's the concept, but in cwm it's indistinguishable from inference ( |- ), since there's no negation, no modus tolens, no way to test the more interesting parts of the logic. 2001-11-28 17:53:12 Interesting. My goal was to have XSB replace cwm. 2001-11-28 18:31:25 n3 should be agnostic about forward or backwards; cwm happens to implement forward. 2001-11-28 18:38:04 Well, how does CWM handle it? 2001-11-28 18:38:22 cwm watches for loops. 2001-11-28 19:13:56 * bijan thinking...almost as slowly as CWM :) 2001-11-28 19:26:12 How does CWM "check for loops". 2001-11-28 19:52:47 cwm doesn't check for loops. 2001-11-28 19:53:23 What does CWM do, such that I may implement it :) 2001-11-28 20:15:12 hmmmm.... looping. cwm does not try to subsitute expressions for variables, so generate father(father(father(x)) 2001-11-28 20:16:27 * danbri wanders past, drops in as an interesting test case for Prolog <-> N3/cwm intero 2001-11-28 20:22:29 Tim, so, what exactly is the CWM inference algo (don't make me look at the Source! :)) 2001-11-28 20:33:11 Well, the code is simple to clone and in 2001-11-28 20:45:21 I added the following to cwm_string.py:- 2001-11-28 20:49:15 Ah, and no you're the maintainer of cwm_string.py ;) - Dan wanted {notE,e}qualIgnoringCase 2001-11-28 21:13:43 * sbp flings the cwm_string additions at www-archive 2001-11-28 21:14:30 Should work on that instead of CWMclone 2001-11-28 21:41:54 * tim was distracted ... checking inb SBP's additions to cwm_string.py Thanks, Sean! 2001-11-28 21:45:03 Currently cwm can screw up if you use the same id for a variable and for a constant. 2001-11-28 21:49:11 Outside the declaring formula, it should be treated as a completely separte object. That is where cwm screws up. 2001-11-28 22:04:12 thirdly, to implement isn't to integrate. CWM is an implementation of the N3 logic langauge, but doesn't integrate the two. 2001-11-28 22:20:31 But I was bound and determined to get cwm to check the discrepancies for me. 2001-11-28 23:59:56 sbp, shouldn't you be able to hook emacs up to CWM for that? 2001-11-29 00:00:21 grab the current n3 buffer, pass to cwm.py, pop results into another buffer. 2001-11-29 04:50:00 DanC, make alist of cwm builtins we would need to implement it. .... and Cc bijan as he's clonging cwm 2001-11-29 04:50:19 cool thing is, tim, I think cwm already has all the necessary stuff. 2001-11-29 04:51:17 DanC, did you realize that spb just added stuff to cwm_string.py? Next thing is to get him to add some stuff to cwm_crypt.py 2001-11-29 06:22:44 * sbp works on some Crypto built-ins for CWM 2001-11-29 06:24:03 get CWM to think about it, and we get:- 2001-11-29 23:05:55 So, sbp, add some crypto builtins to cwm? :) 2001-11-30 01:27:59 - Cryptography In CWM: Hashes 2001-11-30 01:37:13 then again, it is verbish really... when CWM comes across a file in that class, I expect it to run and get me the hash 2001-11-30 01:38:27 "the class of things for which I want CWM to get me the hash of the file that is the representation of the resource after an HTTP GET" 2001-11-30 02:56:26 But it's blarghing my CWM clone hard. 2001-11-30 03:03:36 cwm makes sense to me, but (seeing tim is gone and danc isn't around), I'd have to wonder about scaling of cwm... 2001-11-30 03:03:52 cwm tied to a better db backend would work 2001-11-30 03:04:00 The only reason I used CWM was to get n3 parsing which I didn't have. 2001-11-30 03:04:10 And to play a bit with it. Chimp internals use cwm queries. 2001-11-30 03:04:23 jah-home, you mean cwmClone.pl! 2001-11-30 03:04:46 yes, n3 parsing makes sense. cwmClone.pl? (prolog ok with me - I know it a lot better than perl) 2001-11-30 03:05:29 Working on duplicating CWM's inference engine on that. 2001-11-30 06:58:54 Hmmm. CWM, CWM... 2001-11-30 18:40:53 But I shall probably have to study it for the cwm clone. So SWI will prolly get an n-triples parser too :) 2001-11-30 23:32:27 cwm currently incorrectly assumes tha you don't use the same identifier for a constant in the data and a variable in hte query. 2001-11-30 23:34:03 cwm looks for { :a :b ? } where ? is anything 2001-11-30 23:35:22 cwm query engine doesn't initially know c it can't serach for it. 2001-11-30 23:35:57 cwm query engine doesn't initially know c, so it can't search for it. 2001-11-30 23:46:01 Now cwm , being basically a data - SQL - engine isn't going to manipulate formulae (at this stage!) , at least not nested ones. 2001-11-30 23:46:13 (secrets of cwm revealed...) 2001-11-30 23:47:31 So cwm only has to deal with hte comboinations of qualifies at one level. 2001-12-01 00:07:07 So, cwm... has it been refactored enough for the rest of us to understand it now? 2001-12-01 00:10:13 will the interface for the built-ins change much soon? (i.e., should I wait before doing a cwm_* module?) 2001-12-01 00:11:07 * sbp thought of doing an arithmetic built-in next: cwm_math.py 2001-12-01 00:13:40 wrapping it in N3 server; cwm shouldn't know about SQL 2001-12-01 00:15:26 and the heavyness results in cwm delaying them as long as possible? 2001-12-01 00:38:15 * sbp teaches CWM to add up 2001-12-01 01:21:02 CWM can now add up:- 2001-12-01 01:32:39 sbp, cwm hacker extraordinare. 2001-12-01 01:39:42 Hmm... there's a "greaterThan" and "lessThan" in cwm_string... do I need to copy them over? 2001-12-01 02:44:11 I'm adding some built in functions to CWM so that it can do Math for me 2001-12-01 03:36:13 C:|CWM: Mathematical Built-Ins 2001-12-01 03:36:45 C:"CWM can now do addition, multiplication, subtraction, division, remainders, negation, exponentiation, count the members in a DAML list, and do the normal truth checking functions, only sub classed for numeric values" 2001-12-01 03:38:41 C:Follows on from [http://lists.w3.org/Archives/Public/www-archive/2001Nov/0091|Cryptography In CWM: Hashes], which added crypto:md5 and crypto:sha to CWM 2001-12-01 03:39:24 C:Try the module [http://lists.w3.org/Archives/Public/www-archive/2001Nov/att-0095/01-cwm_math.py|cwm_math.py], and the test [http://lists.w3.org/Archives/Public/www-archive/2001Nov/att-0095/03-math-test.n3|math-test.n3] etc., all attached 2001-12-01 05:01:36 well, cwm_string.py has /string#, cwm_os.py has /os#, cwm_crypto.py has /crypto#... 2001-12-01 05:15:03 Slow tonight, aren't we. That's what you get for hacking CWM. 2001-12-01 05:15:31 But not than CWM may -think 2001-12-01 05:15:49 hacking CWM was less gruelling than trying to compile OpenSSL on Windows 2001-12-01 20:51:57 I'm working on a cwm_uri module, but I need to be able to instantiate complex, anonymous objects based on the subject, so it's slow going 2001-12-01 21:56:07 Has anyone written a guide to using cwm? 2001-12-01 21:59:06 I gues Iron_Spork it depends on what bit of cwm you want a guide for ;) 2001-12-01 21:59:31 ./cwm.py --help 2001-12-01 22:00:45 Sandro, are you doing a CWM clone? which bits? 2001-12-01 22:02:08 And running them with CWM? 2001-12-01 22:02:49 bijan, the blindfold library overlaps cwm in a lot of functionality -- every once in a while, I get tempted to go ahead and add the peices to make it a drop-in replacement. But other times (like now) I'm working in some other directions. 2001-12-01 22:12:01 Sandro: no, since the domain of rdf:_3 is rdf:Seq, and a DAML list is a sub Class of that. As for using rdf:_3 on a daml:List, I tried it in CWM, and it had no effect 2001-12-02 00:23:19 * jah-home catches up - things the math in cwm is cool. wonders how one avoids getting permanent loops in a forward chainer given math... 2001-12-02 00:31:29 CWMclone struggles. 2001-12-02 00:32:19 how is CWMclone coming? 2001-12-02 00:36:41 sbp, what do you mean no variables in cwm? Or with quadratic (for example) how would you differentiate between solvable (quadratic) and unsolvable -- finding all the integer solutions of A^2 = b^2 +c^2 taked a while (a^n=b^n+c^n, n!=0 also a bit of a problem...) 2001-12-02 00:37:21 well, I mean that although there are variables, cwm_math.py does not attempt to resolve them 2001-12-02 00:37:59 obviously I should look at cwm_math.py before I criticize :-> 2001-12-02 00:38:43 well, cwm_math.py just has some very simply stuff: +, -, /, *, ^, ! and some truth comparisons 2001-12-02 00:40:17 but can I put those inside cwm rules? 2001-12-02 00:40:57 yes, you can put it inside a CWM rule, and get CWM to think about it... but it won't try to work out what the variables represent 2001-12-02 00:41:42 so the objects must be pre-resolved for CWM to give you an answer 2001-12-02 00:42:51 6 mo. or so ago Tim and I bashed around the question of whether cwm could loop, we didn't ever quite resolve - our suspicion was it could, but we couldn't come up with and obvious case 2001-12-02 00:44:07 cwm, when it thinks, will not use same rule on same antecedent 2001-12-02 00:46:06 problem was cwm had a few interesting features that made it not fit the standard models for which the decidability was known, and I wasn't motivated enough to try to prove it... 2001-12-02 00:46:08 * bijan guess he doesn't understand CWM well enough yet. 2001-12-02 00:46:28 Back to CWMclone :( 2001-12-02 00:46:41 * jah-home or maybe its because cwm changes often enough not to be quite able to nail down... 2001-12-02 00:46:52 I used to look at CWM and it scared the **** out of me. Now I look at it, and it's alright. Llyn scares the **** out of me... 2001-12-02 00:47:18 * jah-home clearly missed discussion of CWMclone - any pointers (Llyn??) 2001-12-02 00:47:36 Llyn is part of the cwm refactoring. 2001-12-02 00:47:40 Llyn is TimBL's new module, the query engine for CWM: 2001-12-02 00:48:33 how do you guys keep up on all this! everytime I take a few days off I feel like I'm returning from the stoneage. (seriously, is there somewhere else cwm details are discussed?) 2001-12-02 00:49:04 i.,e. archived mailing list or such? I have students working on cwm, they should be in the know... 2001-12-02 00:49:20 CWMclone is my attempt at a prolog version of cwm. 2001-12-02 00:49:37 ever tried "logger, grep cwm" -- brings you a few references... 2001-12-02 00:49:45 there's no archived mailing list for CWM, of course, but www-archive has some interesting stuff 2001-12-02 00:50:23 * sbp does "grep -i 1-50 cwm" 2001-12-02 00:50:23 Hmm. WOuld be good to have pointers to the recent discussions of cwm. 2001-12-02 00:51:19 yes, some sort of page that has some pointers would be nice -- finding the working cwm code was already a challenge - ended up having to mung through cvs libraries to find all the modules and such... 2001-12-02 00:51:36 No,you just need to point ot the start of cwm discussion in the logs ;) 2001-12-02 00:51:50 Well, I could certainly set up a CWM resource page 2001-12-02 01:05:25 also fine - but I haven't seen the sourceforge cwm, or a lot of ewnthusiasm for SWAD to go open source... 2001-12-02 01:09:47 jah-home, what are you students doing with/to cwm? 2001-12-02 01:10:53 so far mainly learning to use it and trying to get it to run correctly (they're learning python at same time). We have several things we want to do. One of them is doing a cwmbot, I didn't have the heart to tell her there already were a couple running around... 2001-12-02 01:12:27 we want to do a couple of things with cwm -- (1) put it behind RunningRDF (the RDF web scraper I chumped a week or so back) - idea is to not just generate the RDF you find, but have some rules so you can mung things into common terms and the like 2001-12-02 01:13:18 (2) is my favourite scenario for Cwm-like tools 2001-12-02 22:50:50 * bijan beating his head against CWMclone in SWI. 2001-12-02 22:53:15 Actually, I'll bet your engine could handle CWM pretty easily. 2001-12-02 23:06:22 Right. So I'm trying to add a simple CWMcloned forward chainer. 2001-12-02 23:19:40 Though i have a much better understanding of n3 and the CWM code, I will say. 2001-12-02 23:20:15 There's a prolog in python floating around, I thought I'd port the clone to it and show tim how *slow* a CWM.py can *really* be! 2001-12-03 00:17:41 bijan: i am going to write a doc on how the proof proceddure works over the 7 partitions.. i'll forward that to you as well.. i think cwm uses proving and prove and indentity 2001-12-03 00:20:58 Well, if you trust the n3-->RDF converter in cwm :) 2001-12-03 00:34:53 I presume that CWM style inference isn't the only kind one might want to do with N3. 2001-12-03 00:35:40 * sbp has managed to get key generation into CWM... with a few hacks along the way 2001-12-03 00:43:10 * sbp notes that he has key generation working in CWM, but it getting quite stuck 2001-12-03 01:07:47 This implication links two formulae@@. The cwm engine recognises implies as a primitive, and will, when asked to process a rule file, look for any top level implication and find all matches in the store with the left hand side, generating the corresponding 2001-12-03 01:08:47 CWM just forward chains on it. 2001-12-03 01:27:04 I was thinking CWM should be re-backronymed to mean CWM works magic (or maybe miracles). 2001-12-03 03:00:08 2001-12-03 03:00:09 A: from sbp 2001-12-03 03:00:21 A:|Information about CWM - TimBL's Closed World Machine 2001-12-03 03:00:37 A:An anthology of information about CWM, what you need to get to run it, related file and work, and so on 2001-12-03 03:00:48 You better watch out, sbp. Soon you'll be CWM's lead developer! 2001-12-03 03:08:32 "CWM has managed to get implemented in a few projects." sounds wrong to me... 2001-12-03 03:09:52 Yeah, the Installing CWM isn't what I thought of as "precise"... 2001-12-03 03:27:00 is cwm broken in cvs? 2001-12-03 03:27:10 [ronwalf@cerebrus test]$ cwm.py rules12.n3 --filter=filter12.n3 2001-12-03 03:29:26 of the cwm repository 2001-12-03 03:30:19 Yes, but cwm is concluding anything besides that. 2001-12-03 03:33:06 I've added a tar.gz file to the CWM info page 2001-12-03 03:34:02 and download, for people just getting into it. I remember when you only needed notation3.py, cwm.py, and sax2rdf.py... the good old days :-) 2001-12-03 03:47:59 Probably, but that's how they were named. I'm still trying to figure cwm out, so I was using an old n3 file I had around from the first project in 498