00:00:49 Er...no idea ;) 00:02:37 I suppose it depends partially on what you mean by "grok KIF quoting". Presumably parsing KIF assertions with quotation isn't too hard. 00:04:42 Hmm. And i don' think KIF specifies anything particular about KIF quoted statements, aside from their quotedness. 00:05:13 I mean: does it grok the wtr axiom 00:05:23 Ah! 00:05:57 (<=> (wtr 'p) p) 00:06:01 -- http://logic.stanford.edu/kif/dpans.html#10.3 00:06:17 er... axiom schema, that is. 00:06:26 * DanC gotta go now 00:06:32 That i can't tell you. 00:07:12 SethR has quit 00:21:06 GabeW has quit 00:21:07 GabeW has joined #rdfig 00:22:18 excellent! Sometimes I forget Python's actual capabilities. 00:28:56 What did it do surprisingly well? 00:29:09 Hmm. Id on't know if it did it surprisingly well. 00:29:24 something that I thought was going to be a royal pain turned out to be simple. 00:29:52 tokenize.tokenize takes a readline *callable object*, as opposed to an IO object. 00:29:55 Which seemed daft. 00:30:05 And I was gearing up to emulate and stuff, blargh. 00:30:28 But then you can just anyOldIOObject.readline to yank out and pass that method. 00:30:32 WOrks dandy. 00:30:50 Too bad the documentation didn't mention it. :) 00:30:53 Thank god for source. 00:43:10 tobych has joined #rdfig 00:43:26 tobych has quit 01:00:36 sbp has quit 01:00:43 sbp has joined #rdfig 01:13:40 * DanC reviews http://www.w3.org/2001/Talks/0505-perl-RDF-lib/ 01:15:15 * DanC tries to find source... 01:18:20 hmm... 'implement processQuerySets to move join work to SQL' is still in the TODO pile 01:18:26 in http://dev.w3.org/cvsweb/perl/modules/W3C/Rdf/SqlDB.pm?rev=1.2&content-type=text/x-cvsweb-markup 01:20:19 sbp has quit 01:20:31 sbp has joined #rdfig 01:20:31 sbp has quit 01:21:32 sbp has joined #rdfig 01:22:41 sbp has quit 01:22:58 sbp has joined #rdfig 01:43:55 GabeW has quit 02:03:11 tav` has quit 02:05:05 tav` has joined #rdfig 02:05:48 jah-home has joined #rdfig 02:07:24 tav` has quit 02:09:09 tav` has joined #rdfig 02:16:06 Any n3ers around? 02:17:56 me 02:18:22 Are you familiar with rdfn3-gram.html? 02:18:56 * bijan thinks he's finding bugs, but wants someone familiar with n3's grammar to double check. 02:19:23 socheattttttttt has joined #rdfig 02:19:26 Of course, it might just be that the grammar's permissive and CWM catches stuff :( 02:19:29 the Yapps grammar? fairly 02:19:39 socheattttttttt has quit 02:19:44 e.g., it defines a verb as a term, but a term can be a strlit. 02:19:55 (since a term is a name or an expr) 02:19:57 That seem wrong. 02:20:00 literal-as-predicate 02:20:00 seems 02:20:08 it's under debate in RDF Core 02:20:17 er... 02:20:29 Ok, but that clearly breaks *all* RDF :) 02:20:50 And regardless of RDF core, I'm dealing with n3 :) 02:20:59 Well, NTriples doesn't allow it 02:21:08 *RDF* doesn't allow it. 02:21:15 RDF1.0 at least. 02:22:26 (oh good, DrScheme v200 comes with what looks like enough XML libs to support SXML etc. Groovey) 02:22:39 (Not as groovy as including SXML etc. :)) 02:22:49 Hmm... CWM appears to barf on it too 02:23:22 tav` has quit 02:24:23 The BNF in DesignIssues doesn't allow it. 02:25:01 node 02:25:02 uri-ref2 02:25:02 anonnode 02:25:03 this 02:26:11 chihchun_ has joined #rdfig 02:27:40 then I would make the case that N3 does not allow literals as predicates 02:31:00 Hmm. that doesn't tell my if rdfn3.g is actaully buggy... 02:31:05 It just means that the grammar doesn't contain all of the grammatical restrictions. 02:31:58 [GlobalNotice] Hi all. Not sure who reads the wallops these days. We've reduced the length of our ping frequency for clients. When people ping out, they will start to have shorter timeouts. But the question is, are more of them pinging out, or less? ;) Let us know. :) 02:36:38 Hmm. Maybe CWM throws an error. 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) 02:45:46 tav has joined #rdfig 02:47:45 tav has left #rdfig 02:52:05 tav` has joined #rdfig 02:53:44 jah-home has quit 02:59:18 tav` has quit 03:01:58 sbp has quit 03:03:07 tav` has joined #rdfig 03:08:13 tav` has quit 03:10:52 tav` has joined #rdfig 03:13:40 Disconnected from irc.openprojects.net (Connection reset by peer) 03:14:04 logger has joined #rdfig 03:14:04 topic is: Semantic Web Hackery 03:14:04 Users on #rdfig: logger deltab tav` chihchun_ lasDesk em xover dmiles oierw` tim-lurk chihchun DanC_lap bijan sandro xena dc_rdfig AaronSw gerald 03:14:04 [#rdfig] This channel is logged and blogged: http://logicerror.com/rdfIRCWelcome 03:14:32 DanC has joined #rdfig 03:17:31 chihchun_ has quit 03:17:31 bijan has quit 03:19:50 Lithium has joined #rdfig 03:20:26 Lithium has left #rdfig 03:21:30 chihchun_ has joined #rdfig 03:21:30 bijan has joined #rdfig 03:29:05 chihchun_ has quit 03:47:07 sbp has joined #rdfig 03:53:43 Hmm. Sandro's n3.bnf forces space between subject/v/o. is this correct? 03:54:03 . isn't legal n3? 03:58:06 Hmm. I must be reading space+ wrong. 03:59:16 Hmm, and I don't know what to make of: 03:59:18 node ::= uri_ref2 03:59:18 | anonnode 03:59:18 | "this" 03:59:18 | node 03:59:20 ; 03:59:45 What's that last 'node' doing there! 04:03:29 heh, heh 04:04:21 :) 04:04:36 This is why I don't release code...All Bugs Are Shallow. 04:12:57 * AaronSw disconnects 04:12:58 Ah! Confusiion averted. 04:16:17 * AaronSw reconnects 04:21:33 sbp has quit 04:23:58 Hmm. Can anonymous nodes be dropped in anywhere? Or are they statements? 04:25:24 [ a rss:item] dc:title "Something". ? 04:25:32 *And*. 04:25:46 [ a rss:item]. 04:26:06 It seems so. 04:26:42 That's odd. 04:27:33 Is the first like [ a rss:item; dc:title "something"].? 04:33:37 Hrm. 04:34:12 Seems ambiguous. In a subject/predicate position, it acts like {}. 04:34:22 I'm pretty sure Tim wants . to be illegal, although the language parses fine either way. I made it space+ because he wanted it that way (as I recall, in distant memory). 04:34:23 Or, maybe not. 04:34:37 Heh. Catching up :) 04:35:14 Anonymous nodes can appear practically anywhere, yes, as a a sort of "oh, by the way, this thing exists" 04:35:34 Which of my n3 grammars are you looking at -- the bindfold one I started, or the yacc one? 04:35:42 blindfold. 04:36:42 Hm. I'm not sure if that compiles, and I know it hasn't been tested. (although it's clearly better than Tim's BNF.) 04:37:00 Well, you recurse on node without a base case that I've seen :) 04:37:53 I think I was in the process of trying to get Tim's grammar to compile. 04:38:00 Ok, a:b [rdfs:subPropertyOf dc:title] "something". That's two statements? 04:39:51 so *within* a statement, you splice the subject of anony node into the statement at the appropraite position, and then add the anonymously subjected statement itself. 04:40:09 But as a statement, you just add the anon. subj. statement itself? 04:40:23 Yes. 04:40:50 Yick. Oh well. Context dependancy! 04:40:58 ;) 04:41:27 Hmm. something like [%identifier] would be cooler. 04:41:31 Tim was trying for some kind of intuitiveness. 04:41:39 What would that mean? 04:41:58 %id is the gen_id. 04:42:31 My favorite is for [ ... ] to be an "aside" which drops out like whitespace, except if it's like [= ....] in which case it leaves the value in its place. Or something like that. 04:43:09 There's some construction like that that we use in natural speech all the time. Hard to see exactly how to do it here though. 04:43:14 So [%foo] rdfs:subPropertyOf dc:title. a:b %foo "something". 04:43:46 Or just if same ide same node. 04:44:13 [foo] rdfs:subPropertyOf dc:title. a:b [foo] "something". 04:44:17 That's prolly robuster. 04:45:05 The part that annoys me is that {...} is a uri ref. 04:45:16 [] is *sometimes* a bit like a uriref, but not only. 04:46:58 how about { local foo. foo rdfs:subPropertyOf dc:title. a:b foo "something". } 04:47:23 Er...but that quotes the contained statements. 04:47:57 Is it the scope thing? You want to restrict the scope of the gen_id? 04:48:06 I'd say { } appearing as a statement is unquoted again. 04:48:14 Replace your {} with[] and I'm happy. 04:48:17 yes, scoping. 04:48:20 Can {} be a statement? 04:48:46 I think { } is a set of statements. 04:48:59 Quoted set, i thought. 04:49:40 Oh damn. You can have {a:b a:b a:c}. Foo! 04:49:42 That sucks! 04:49:56 ok, they're consistent, but consistently annoying :) 04:49:56 Quoted in the sense of not asserted, yes. x={the sky is blue} says nothing about the sky being blue, just some things about x. 04:50:39 WHat's wrong with {a:b a:b a:c}? That's a singleton set of statements. 04:51:08 Is it the same as a:b a:b a:c.? 04:51:18 I mean, what gets asserted in the parent context? 04:51:54 As a subject or object (faugh, or predicate?!) I can replace that with a uri to the context. 04:52:15 But if it's a statement I should get an error. 04:52:18 Hey -- WSDL doesn't put their properties in a namespace. Hrmph. Are people supposed to? 04:52:36 Since I would have a single-uri statement. 04:54:38 Both [] and {} generate uris. [] generates a subject uri and {} a uri representing the set (or the context, or whatever the heck it is :)) 04:55:16 What bugs me is that they don't scope "properly". 04:55:38 {} should be a kind of singular term, thus it can't be a statement. 04:56:00 [] seems like a statment, so it shouldn't appear inside a statement. 04:56:47 The uri generated by {} represents the quotation of the contained statements. 04:57:09 The uri generated by [] is the subject term of the contained predicate_phrases. 04:57:52 I just find this divergences sorta confusing and don't see that they're particularly handy. 04:58:45 I basically agree. It reminds me of perl's many ways to do things (to a lesser degree, of course) 05:00:20 So, exert your massive influence and fix it! After getting the tricycle, of course :) 05:01:23 My tactic is to get blindfold grammars working well enough that anyone can easily change around these languages, so we can have some real experimenting with these features. 05:01:39 (but it's hard, of course) 05:01:49 Hmm. it seems annoying that [] doesn't let you make "free and clear" anony predicates or objects. 05:01:49 btyacc: 393 shift/reduce conflicts, 564 reduce/reduce conflicts. 05:02:08 Well, I don't see how. A tough grammar is a tough grammar :) 05:02:18 I suspect Tim would like that but just didnt think of it. 05:02:50 Designing the grammar is trivial compared to deploying it. 05:02:55 (I think.) 05:03:08 [foo | a:a foo a:b] 05:03:11 Like smalltalk ;) 05:03:24 "|" 05:03:31 "|" == "such that" ? 05:04:02 With that operator, you could use parens instead of [ ] 05:04:07 In smalltalk a block is spelt [:param1 :param2... | code body] 05:04:28 lambda! 05:04:32 so I jsut grabbed it as a separator :) 05:04:33 yes. 05:04:50 [formal params | locals | code body] 05:05:31 not quite sure of the mapping -- the n3 [ ] thing does not return a function. Maybe it doesnt matter. 05:05:52 The only mapping is using | to separate the locals :) 05:06:24 [genids local to this scope | genid1 genid1 'foo']. :) 05:06:57 And what does it "return"? 05:07:05 nothing. It's a statement. 05:07:20 I.e., generatedID generatedID 'foo'. 05:08:07 [foo | foo dc:title "ha"; dc:author people:bijan] == 05:08:23 [dc:title "ha"...] in current n3 05:08:32 hm. i better head for bed. you should be having this dicsussion with Tim, too. :-) 05:08:40 Heh. 05:08:55 No, YOU have the POWER OF INFLUENCE! 05:09:29 And get *me* a tricycle while you're at it! :) 05:09:33 Hardly. :-) He listens to anyone with a good argument. 05:10:23 No no. I sense that you're the real power behind the throne! :) 05:10:50 RaSandroPutin! :) 05:10:57 what throne? it's a swamp! 05:11:22 Very good. Very good. Nice disembling :) 05:35:08 Hmm. I think you grammer lets' . be legal, not sure. 05:45:55 Woo hoo! Third time! 05:45:57 Charm. 06:12:18 mnot has joined #rdfig 06:20:22 Oh bother. 06:31:57 hey mnot 06:32:03 Hey aaron. 06:32:07 hey bijan 06:32:09 * bijan speaks for all who lurk. 06:33:34 tav has joined #rdfig 06:33:41 * bijan trying to figure out his triple mapping. 08:12:44 larsbot has joined #rdfig 08:46:24 Disconnected from irc.openprojects.net (ERROR :Closing Link: logger[~rdfig-log@137.222.34.230] (Ping timeout: 47 seconds)) 08:47:06 logger has joined #rdfig 08:47:06 topic is: Semantic Web Hackery 08:47:06 Users on #rdfig: logger larsbot tav mnot bijan DanC deltab tav` lasDesk em xover dmiles oierw` tim-lurk chihchun DanC_lap sandro dc_rdfig AaronSw gerald xena 08:47:06 [#rdfig] This channel is logged and blogged: http://logicerror.com/rdfIRCWelcome 08:50:48 larsbot has quit 09:43:19 chihchun_ has joined #rdfig 09:51:39 dajobe has joined #rdfig 10:01:32 libby has joined #rdfig 10:03:15 danbri has joined #rdfig 10:03:25 xover has quit 10:03:34 xover has joined #rdfig 10:05:47 sandro has quit 10:06:26 sandro has joined #rdfig 10:07:02 chihchun_ has quit 11:51:03 sbp has joined #rdfig 11:51:16 sbp has quit 11:51:22 sbp has joined #rdfig 11:52:10 chihchun_ has joined #rdfig 11:55:57 larsbot has joined #rdfig 11:58:53 sbp has quit 12:52:16 ambient has joined #rdfig 13:34:46 ambient has quit 13:47:31 tav has quit 13:47:31 mnot has quit 13:47:31 tav` has quit 13:47:31 DanC_lap has quit 13:47:31 dc_rdfig has quit 13:47:31 gerald has quit 13:47:31 AaronSw has quit 13:47:31 xena has quit 13:49:06 tav has joined #rdfig 13:49:06 mnot has joined #rdfig 13:49:06 tav` has joined #rdfig 13:49:06 DanC_lap has joined #rdfig 13:49:06 xena has joined #rdfig 13:49:06 dc_rdfig has joined #rdfig 13:49:06 AaronSw has joined #rdfig 13:49:06 gerald has joined #rdfig 13:49:09 tav` has quit 14:01:12 tav` has joined #rdfig 14:23:36 DanC has quit 14:24:42 DanC has joined #rdfig 15:19:28 chihchun_ has quit 15:37:33 http://rdfweb.org/people/danbri/2001/11/semanticwebclub/ 15:37:34 A: http://rdfweb.org/people/danbri/2001/11/semanticwebclub/ from danbri 15:37:41 A:|Rules of Semantic Web Club 15:37:41 titled item A 15:38:02 AaronSw: 1. You do not talk about Semantic Web Club 15:38:04 A:1. You do not talk about Semantic Web Club 15:38:06 commented item A 15:38:13 sorry, obscure joke :) 15:41:41 seen fight club again recently? :-) 15:43:29 :) 15:47:47 timbl has joined #rdfig 15:56:37 sbp has joined #rdfig 16:18:50 Azaroth has joined #rdfig 16:19:03 * Azaroth waves 16:19:38 hiya! 16:19:53 hi 16:20:57 Hi. 16:21:07 danbri: How'd the EU application go? 16:21:32 dajobe: Got your email, looking into it now... 16:21:39 rather well, it seems 16:21:47 yours? 16:21:48 danbri: Cool :) 16:23:10 Not sure, pretty well I think, but I expect that we're more likely to get the next batch of DLI funding. 16:31:49 libby has quit 16:40:02 sbp has quit 16:53:17 oierw` has quit 16:55:44 oierw` has joined #rdfig 16:57:53 timbl has quit 17:04:38 timbl has joined #rdfig 17:12:08 larsbot has quit 17:17:05 timbl has quit 17:20:19 timbl has joined #rdfig 17:20:30 deltab has quit 17:26:40 oierw` has quit 17:27:32 deltab has joined #rdfig 17:29:26 timbl has quit 17:31:35 sbp has joined #rdfig 17:31:42 GabeW has joined #rdfig 17:32:46 bwm has joined #rdfig 17:38:39 lasDesk has quit 17:40:59 sbp has quit 17:42:31 lasDesk has joined #rdfig 17:46:55 sbp has joined #rdfig 17:50:06 em-mit has joined #rdfig 17:55:32 mnot has quit 18:01:01 larsbot has joined #rdfig 18:01:12 sbp has quit 18:02:42 sbp has joined #rdfig 18:09:23 timbl has joined #rdfig 18:09:55 tim has joined #rdfig 18:11:22 * Azaroth heads back to PhD work 18:11:24 Azaroth has left #rdfig 18:12:25 timbl has quit 18:21:22 dajobe has quit 18:31:36 sbp has quit 18:35:56 danbri has left #rdfig 18:39:29 jhendler has joined #rdfig 18:51:21 * AaronSw refrains from talking about Semantic Web Club 18:52:06 sbp has joined #rdfig 18:56:24 Blargh. That's annoying. 18:58:41 Er...nothing to do with Aaron's refrainings :) 18:59:56 sbp has quit 19:15:27 http://www.cs.auckland.ac.nz/~j-hamer/07.363/prolog-for-se.html#case2 19:15:28 B: http://www.cs.auckland.ac.nz/~j-hamer/07.363/prolog-for-se.html#case2 from bijan 19:15:48 B:|MULTI/PLEX: A Tool for Formal Languages 19:15:48 titled item B 19:16:00 B:Seems a bit like what Sandro's after with Blindfold. 19:16:01 commented item B 19:32:54 Disconnected from irc.openprojects.net (Connection reset by peer) 19:33:02 logger has joined #rdfig 19:33:02 topic is: Semantic Web Hackery 19:33:02 Users on #rdfig: logger deltab jhendler larsbot em-mit lasDesk bwm GabeW tav` gerald AaronSw dc_rdfig xena DanC_lap tav xover bijan em dmiles 19:33:30 [#rdfig] This channel is logged and blogged: http://logicerror.com/rdfIRCWelcome 19:33:31 DanC has joined #rdfig 19:35:31 bijan has quit 19:36:48 larsbot has quit 19:36:48 xover has quit 19:36:48 em has quit 19:36:48 dmiles has quit 19:36:51 sandro has joined #rdfig 19:47:48 bijan has joined #rdfig 19:53:25 larsbot has joined #rdfig 19:54:03 em has joined #rdfig 19:57:41 [GlobalSpam] We return you to your regular scheduled programming. 19:57:59 xover has joined #rdfig 20:08:39 Excellent! My N3 reader is entering triples into rdf_db. 20:11:25 nephLAB has joined #rdfig 20:42:39 bwm has quit 20:45:16 em-mit has quit 20:57:29 xover has quit 21:03:47 sbp has joined #rdfig 21:10:03 jhendler has quit 21:23:45 sbp has quit 21:24:21 sbp has joined #rdfig 21:28:57 hmm. 21:35:15 chihchun has joined #rdfig 21:38:34 yay! 21:39:56 sbp has quit 21:40:20 sbp has joined #rdfig 21:41:59 lol! 21:41:59 [[[ 21:42:01 But don't say <> a :Person, because 21:42:01 is a web page 21:42:01 and web pages are not people. (I could give examples of how they differ) 21:42:02 ]]] - TimBL 21:42:24 Hey sean. 21:42:34 Hi there 21:42:48 I'm reading in n3 to rdf_db triples from the SWI-Prolog REPL. 21:43:10 (For a slight subset of N3, i.e., no a, this, or "/""" lits, but otherwise...) 21:47:05 dajobe has joined #rdfig 21:54:26 'k did my first log:implies (sorta) 21:54:26 sbp has quit 21:55:12 sbp has joined #rdfig 22:09:37 xena has quit 22:10:13 tav` has quit 22:11:06 mnot has joined #rdfig 22:11:47 hey mnot 22:11:48 Iron_SpermWhale has joined #rdfig 22:13:31 hi 22:13:36 thanks for the Python changes 22:13:39 haven't had a chance to test 22:14:26 thanks for checking it out and the changes! 22:14:27 tav has quit 22:15:00 I guess I should check it out with python 2.0, 2.1, 2.2 or whatever it is up to these days 22:15:19 tav` has joined #rdfig 22:15:24 2.1 is latest stable 22:15:41 my debian seems to have 3 versions 22:15:52 this is nearly as bad as getting Berkeley/sleepcat DB working 22:16:01 yeah, I regularly use 1.5.2, 2.0 and 2.1 22:16:44 I used the Distutils so required 2.something; made packaging relatively straighforward if docs rather absent 22:17:06 the interface still looks rather odd to me; sure I can do better e.g. URI creation 22:17:10 they're a big help; apparently, they also work for 1.x, but the user needs to download distutils separately 22:17:19 mnot: yes, I note that in python install doc 22:17:46 Hm... Has Hendler popped in recently? 22:17:55 I think I should be able to improve on uri=RDF.uri(string="uri-string-goes-here") 22:19:58 hmm, what's exposing .as_string in class uri? AFAIK "Python URIs" are just 9-tuples... 22:20:27 as_string shouldn't be around/needed anymore, the __str__ thing does it on demaind 22:20:55 ah good, I was just about to point that out 22:21:07 it was a perl-interface hangover 22:21:10 ah 22:21:13 yes, I converted the perl->python 22:21:22 which might explain a lot :) 22:21:25 I did that about four years ago ;) 22:21:49 was any of this generated by SWIG? 22:21:56 nope 22:22:16 xena has joined #rdfig 22:22:17 swig generates the Redland_wrap.c 22:22:36 ah, OK. 22:22:44 swig rocks 22:23:28 I've only used it a few times, but it's truely amazing. 22:23:31 having got the basic swig stuff, I then can add the script(or whatever) language metaphors 22:23:45 yeah, I'm not even using a small part of its power 22:24:40 so mnot, what were you working on with this? 22:35:30 timbl has joined #rdfig 22:36:22 well, in the short term I'm playing with different ways to store RSS 22:36:42 but in the longer term (and more work-related), I'm looking at metadata-driven Web servers. 22:37:08 and Python is my poison of choice ;) 22:37:10 ah; you should look at redfoot 22:37:18 and 4suite possibly 22:37:36 yes, I'm familiar with 4suite; using it now for quite a few things 22:37:52 to improve my python, I was going to do a rss syndication demo with redland & python since it can now store/retract statement sets 22:37:55 had a quick look at redfoot; looks interesting, but not exactly what I want 22:38:14 that's my short(er) term project ;) 22:38:22 AaronSw has seen it 22:38:26 4suite: interesting. I've only heard things from the developers, not tried it myself, but recommended it 22:38:55 Oo, yes. 22:38:57 The RDF component isn't too bad for slinging statements around 22:41:42 * DanC tunes in... 22:41:53 * dajobe wonders if zvon.org has a python reference ... looks ... 22:41:59 Hey DanC. 22:42:10 Have a pretty working N3-->rdf_db reader. 22:42:28 which rdfdb? 22:42:32 Experimenting with Very Simple Interfaces. 22:42:38 er...rdf_db.pl 22:42:42 I.e., SWI Prolog. 22:42:45 simple_imply(Antecedent, Consequent) :- 22:42:45 rdf(Antecedent, log:implies, Consequent), 22:42:45 forall(rdf(X, Y, Z, Antecedent),rdf(X, Y, Z)), 22:42:46 forall(rdf(X1,Y1,Z1,Consequent), write_ln([X1, Y1, Z1])). 22:42:50 not Guha's rdfdb 22:43:09 No no. rdf_db.pl is a SWI Prolog module. 22:43:32 Sorry, didn't mean to get hopes up :) 22:43:56 rdfdb is a bit too generic 22:43:59 like XML RPC 22:44:07 Well, I did say rdf_db :) 22:44:36 I will endeavor to say rdf_db.pl in the future, though. 22:44:49 looks like Perl to me 22:45:12 :) 22:45:15 Hmm. Yes, I don't use rdfdb, nor do I use perl. You don't use Prolog, nor rdf_db.... 22:45:17 hi bijan; I don't grok those prolog snippets. rdf/4? 22:45:36 docs here: http://gollem.swi.psy.uva.nl/twiki/pl/bin/view/Code/RdfDB 22:45:52 but rdf(Sub, Verb, Obj, Context) roughly. 22:46:19 the swi folks made up this rdf/4 idiom with Context? 22:46:33 Basically, that says if all the antecent statments are in the current DB, then return all the consequent context. 22:46:36 i.e. they ended up with the same 4-ple structure as timbl, independently? 22:46:36 Er... 22:46:43 No. 22:46:53 http://gollem.swi.psy.uva.nl/twiki/pl/bin/view/Code/RdfDB 22:46:54 C: http://gollem.swi.psy.uva.nl/twiki/pl/bin/view/Code/RdfDB from dajobe 22:47:14 C:|SWI-Prolog simple RDF Database 22:47:14 titled item C 22:47:15 the rdf_db module can have statements in multiple "databases". 22:47:26 So you can read two documents into distinct databases. 22:47:44 * DanC can't read the forAll/2 thingies 22:47:49 The databases are implemented by having rdf/4 22:48:04 forall(test, action) 22:48:37 first one says forall(statements_in_antecedent, is_in_current_db) 22:48:42 action? is forall magic? 22:48:56 huh? 22:49:12 i.e. is forall a normal prolog predicate? or something special? 22:49:27 it's forall is more like foreach, except across backtract results rather than a list. 22:49:41 http://www.swi.psy.uva.nl/projects/SWI-Prolog/Manual/sec-3.34.html 22:49:42 D: http://www.swi.psy.uva.nl/projects/SWI-Prolog/Manual/sec-3.34.html from bijan 22:50:00 D:|SWI-Prolog docs for forall/2. 22:50:00 titled item D 22:50:41 ah... so it is magic. 22:50:46 Huh? 22:50:59 it's not a normal prolog predicate. 22:51:03 How so? 22:51:05 i.e. you didn't make it up. 22:51:16 it's part of the interpreter/runtime. It's a built-in. 22:51:23 Oh I doubt that. 22:51:32 doubt which? 22:51:33 Standard lib thing. 22:51:46 i mean, it's a built in in the sense that I didn't write it. 22:51:55 you can implement forall without mucking with the interpreter? 22:51:58 But the implemenation is straightforward, I'd imagine. 22:52:01 Definitely. 22:52:05 it's extra-logical, no? 22:52:31 Hmm. Ok, it prolly devolves to findall or some such. 22:52:55 finall? that's also extra-logical, no? i.e. we're not talking about pure prolog here. 22:53:09 Ah, ok. No we're not talking pure prolog. 22:53:21 We are talking *standard* prolog. 22:53:24 Which is what was confusing me. 22:53:33 danc:magic = "not pure prolog". 22:54:00 Hmm. I think O'Keefe has a logical reading of it though. 22:54:08 I don't keep the standard prolog library in my head. But I know a non-horn-clause when I see one, I think. 22:54:22 well, it's closed-world, at any rate. 22:54:25 erp, Ok he says there's no first-order logical reading to findall/3 22:54:36 I suspect my use, however, could be made pure. 22:54:38 i.e. findall really means "find all the ones you know about" 22:55:00 *Definitely*. 22:55:52 er... what's write_ln([X1, Y1, Z1] for? 22:56:00 To display the results. 22:56:03 your program writes out conclusions of rules? 22:56:10 Yep. 22:56:25 Properly, it prolly should assert them in the parent context. 22:56:33 I suppose. 22:56:52 do you substitute variable bindings in conclusions? 22:56:54 yet? 22:56:54 I'm still somewhat unclear on how log:implies is supposed to work. This is jsut initial fiddling. 22:57:04 I do no variables. Yet. 22:57:11 This is just proposistional. 22:57:26 ok. 22:57:40 I think I can read the prolog snippet now. 22:57:42 * bijan notes that he's only been working on it for under a week :) 22:57:56 * DanC wanders off... 23:00:21 * timbl found yesterday's logs with {sandro,bihan}'s comments on N3 syntax but didn't understand them 23:00:29 * timbl found yesterday's logs with {sandro,bijan}'s comments on N3 syntax but didn't understand them 23:00:48 Which parts didn't you understand? 23:02:16 sbp has quit 23:04:55 sbp has joined #rdfig 23:06:01 * timbl looks .... some compains about where [] could be used... 23:06:16 Yep. 23:07:34 Mostly I find that [dc:title 'foo'] dc:author person:bijan. is the same as 23:07:55 [dc:title 'foo'; dc:author person:bijan], just plain odd. 23:08:05 * timbl darn may have been anohte rday... 23:08:42 Would you prefer [] dc:title 'foo'; dc:author person:bijan. ? 23:08:48 Yes. 23:08:56 Then write it. 23:09:03 ANd we talked about having named anonymous nodes. 23:09:07 er..write what? 23:09:18 N3 has named anonymous nodes: _:x 23:09:19 [] dc:title 'foo'; dc:author person:bijan. 23:09:30 wite that. 23:09:52 [] dc:title 'foo'; dc:author person:bijan. 23:09:56 The [ propertylist ] form you need when you have a tree of anonymous nodes, which is a very common case. 23:10:29 or a path, which is pretty common to: :Dan [ :wife [ :sister [ :dog :Rex]]]. 23:10:30 DanC, Hmm. Is that documented anywhere? 23:10:56 yes, _:x is in the ntriples spec (i.e. WD-rdf-testcases or whatever) 23:11:11 * sbp finds Dan's path thing invalid N3, surely: only two terms 23:11:12 You don't need properties inside the brackets you don't need when the anonymous node is only a subject of the statement. 23:11:39 oops... :Dan :wife [ :sister [ :dog :rex]]. 23:11:41 * bijan isn't sure he understands DanCs path example. 23:11:46 Ah! 23:11:56 Read [ ... ] as "that which" 23:12:34 Dan's has a wife which has a sister which has doc :Rex. 23:12:48 dajobe has quit 23:12:59 the new example makes sense, but does not resolve the question: why allow property/object pairs outside the [] node rather than just inside for simplicity? 23:13:18 :me contact:works for [ a :organization; address [ :road "Mass Av"; :no "77"; .... 23:13:27 * mnot wonders if n3-to-english exists somewhere... 23:14:08 it's not a matter of inside/outside. you start with: S V O. as the grammar, then you allow noun phrases as terms: [ V O; V O; ...] 23:14:15 It is cleaner, I thought, to allow the [] to occur wherever a node can occur. 23:14:55 * bijan likes these examples. 23:15:06 But why the "[ V O ]/[] V O" ambiguity? 23:15:07 The N3 grammar (http://www.w3.org/2000/10/swap/rdfn3-gram.html) follows english grammar quite closely: independent clauses, dependent clauses, phrases, etc. 23:15:08 It is true that you end up with >1 representation of the same thing. But lots of langauges have that. 23:15:22 it's not ambiguous, sean. 23:15:48 and if you only allows [] V O, you couldn't write the path example (wife/sister/dog) 23:16:11 s/ambiguity/choice/ 23:16:13 It wasn't the multiple representations that bugged me. 23:16:23 I'm saying that most people use [ V O ] 23:16:24 er...more than one way to say it.... 23:16:54 timbl has quit 23:16:55 tim has joined #rdfig 23:17:26 I think it was taht {} gives you sorta a lexically scoped node, where as [] doesn't. 23:17:58 it might be necessary for these to diverge to get the convenience. 23:18:00 timbl has joined #rdfig 23:18:19 Last night, I was looking at it from the "trying to map the triples in a parser" POV :) 23:18:27 GabeW has quit 23:19:41 Now, what do you mean by a lexically scoped node? 23:19:53 Scoping I think of to do with the binding of symbols. 23:19:57 I think he means a new lexical scope. 23:20:02 tim has quit 23:20:06 {} does not give you that. 23:20:06 Roughly, in the parent context, {} is just a uri 23:20:10 Isn't it? 23:20:11 yes. 23:20:14 A node. 23:20:17 Right. 23:20:27 So is [] 23:20:33 But [] is both a uri and a statment in the parent context. 23:20:33 Just a node. 23:20:44 {} doesn't give a new scope? it sure seems like it does. 23:20:57 What do you mean by scope? 23:21:02 (and what does, {...}. mean) 23:21:27 a new scope, i.e. a new hunk of text where variable bindings live. 23:21:41 what does ", {....} ." mean? 23:22:00 I.e., {:a :b :c}.? 23:22:12 In all the grammars, it's legal. 23:22:24 But, to my eyes, that's malformed. 23:22:24 {:a :b :c}. means "there's a statement :a :b :c } 23:22:25 { :a :b :c } is a formula. It is what some people in the RDF world call a model. 23:22:32 er... means "there's a statement :a :b :c." 23:22:51 I think his question is: what does it mean if you take a {} thingy and put a period after it. 23:22:57 Yes. 23:23:12 in general, T. means "T exists" 23:23:15 It is a noun phrase, "the formula consiting of one statement, :a :b :c. 23:23:45 So , genid rdf:type rdf:Statment ? 23:23:54 is the formula { :a :b :c } in one document daml:equivalentTo another { :a :b :c } ? In the same document/another? 23:24:13 yup, { :a :b :c } = { :a :b :c } everywhere 23:24:21 Like strings ... or lists. 23:24:23 It does? Damn. 23:24:40 Er...wait, that's equivalence. 23:24:45 thanks. There were some discussions about that a while ago (on #rdfig), and we weren't sure 23:24:46 and yes, {} can be implemented (in fact: is implemented, twice) ala genid. 23:24:51 Are they pointer equivalent? 23:24:52 Ah, no. 23:24:59 DanC: three times :) 23:25:17 pointer-equivalent: in recent cwm/llyn versions, yes. i.e. formulas are interned. (so I gather) 23:25:53 Ok, does {...} log:implies {..}. put three statements in the document context? 23:25:57 Well, actually thy should be and the code is there to do it but they aren't. 23:26:02 ... interned. 23:26:20 an implication of formulas being the same everywhere is that this idiom is bogus: { { :x ... } log:implies { :x ...} } log:forAll :x. 23:26:22 DanC, pointer-equivalence seems to rule out a GenID implementation? 23:26:42 oops. quite, bijan. 23:27:10 So, which is wrong? :) 23:27:13 no, that just puts one statement in the document context. 23:27:50 either pointer-equivalence or genid could be a correct implementation. I thought there was an interning implementation, but it turns out there isn't. 23:27:53 would it solve the problem to have "forAll" as a keyword on its own in N£; as a part of the language? 23:28:03 s/N£/N3/ 23:28:04 Ok, that's kinda odd. 23:28:15 how so? 23:28:20 It should be interened. 23:28:56 [] always (whether it's a statment or expression) produces a current scope statement. 23:29:01 Whereas {} doesn't. 23:29:19 huh? [] is a term, not a statement. 23:29:43 [a :foo]. is legal, yes? 23:29:47 yes. 23:29:56 That's [] as a statement. 23:29:58 [a :foo] is a term, with a sort of side-effect statement. 23:30:20 I think I see what you're saying, bijan. 23:30:26 it's the sort of I'm working on :) 23:30:29 yes, whatever statements come out of [] are in the current scope. 23:30:30 think of it in terms of _:foo a :foo . 23:31:09 have you seen the semantic actions in http://www.w3.org/2000/10/swap/rdfn3.g ? 23:31:18 Yes. 23:31:30 interesting. 23:32:05 There is a confusion between statement as output and a statement in the language grammar. 23:32:14 yep. 23:32:30 Generally, I'd like one to be pretty close to the other, if possible :) 23:33:01 Well, when the language has nesting and the RDF output is flat, then they can't be exactly the same. 23:33:04 That or the documentation to make less of the close mapping of (some parts) of N3 to rdf. 23:33:13 Indeed. 23:33:19 I can see your discomfort with []... but it really goes right to the very motivation for []: to avoid having to name things that we get away without naming in natural language. 23:33:35 The nice thing about nesting is that allows anonymous nodes in lots (not all) cases to be anonymous. 23:33:46 snap 23:33:53 Yes, I completely see the advantages of that. 23:34:22 In that sense it reduces the arbitrariness of the output. 23:34:25 * DanC thinks if there were a sound track to this channel, it would have just come to great resolultion 23:35:02 DanC, in your rdfn3.g, doens't your production for expr allow string literals in subject and predicate positions? 23:35:03 [standing ovation] 23:35:25 :) 23:35:26 yup; rdfn3.g allows { "this" "is" "fun" }. 23:35:46 in the subject spot that's on purpose. 23:35:55 not sure if string predicates are bug or feature. 23:35:57 Er...ok. Is that legal n3? 23:36:04 Heh. Ok. 23:36:08 cwm allows { "abc" log:lessThan "xyz" } and I use it. 23:36:10 "legal" n3? what juisdiction? ;-) 23:36:19 That's what I'm asking :) 23:36:50 The only thing you could claim is definitive is the desig issues note which doens't parse I am told. 23:36:59 string predicates are a tested (i.e. "supported") feature of N3. 23:37:05 oops... string subjects. 23:37:24 I thought we agreed the test cases were definitive, inasmuch as anything is. 23:37:41 what is RDF Core's position (if any; general consensus if not) on string predicates? 23:37:50 "definitive", what juristiction? :) 23:38:10 test cases are agreed by TimBL and DanC as definitive. 23:38:19 Yes. 23:38:29 Hmm. My grammar isn't too far off the desingIssues grammar, but who knows at this point :) 23:38:37 BNF in http://www.w3.org/DesignIssues/Notation3.html agrees as it happens. 23:38:40 RDF Core's position is that string predicates are syntax errors in ntriples. 23:39:19 I've argued that string predicates should be allowed in the syntax, but always false. But I don't feel strongly about it. 23:39:48 NTriples also appears to disallow literals as subjects... 23:39:51 What about RDF Core on strings as subjects? 23:39:58 my argument is just symmetry. I want the core syntax to be S V O. where each of S, V, and O is a term. 23:40:32 I find it impossible to do without, for example axioms of inverse properties will generate them unless yo put little traps to stop them. 23:40:40 "subject ::= uriref | namedNode" - http://www.w3.org/2001/sw/RDFCore/ntriples/ 23:40:41 RDF Core is all over the map as far as strings as subject. ntriples spec doesn't allow them, but the discussion of literals and datatypes includes proposals to allow them. 23:41:27 yeah, I found you get "xyz" a rdfs:Literal a lot if you have range sniffing rules 23:41:35 :x string:greaterThan "20011025" . string:graeterThan daml:inverse string:NotGreaterThan. 23:41:38 * bijan was never clear on the design rationale for limiting literals to objects. 23:42:02 well, try writing a literal subject in RDF/xml. hurts. 23:42:25 Heh. 23:42:33 maybe not too hard, now that I think about it: just rdf:aboutLit="abc" 23:43:04 Hmm. Serialization driving the model...not the best idea. 23:43:05 23:43:22 absoluetly not the best idea! 23:43:42 I feel we have a consensus on the channel for literals as subjects. 23:44:07 Hmm. No. 23:44:12 Well, maybe. 23:44:39 oops.. bug: cwm turns "abc" a <#String>. into: 23:44:39 Ok, no consensus. 23:45:02 I do value backward compat to some degree. 23:45:36 One day, we should add conversion into XML and back for every .n3 file in the test suite as part of the regression test. 23:46:05 * sbp values neat design decisions in the first place more :-) 23:46:11 n3bugbot, note that please. 23:46:34 We could end up with subset definitions. 23:46:42 send it to yourself CC www-archive+n3bugs... :-) 23:46:46 As KIF does. 23:46:50 Yes. 23:46:54 profiles. 23:47:00 I like that a lot. 23:47:00 * DanC files bug report by checking in strsubj.n3 ; doesn't add it to retest.sh, though 23:47:09 One of my favorite bits of the KIF spec. 23:47:38 I wondered about pulling some out in the BNF. 23:48:18 tav has joined #rdfig 23:48:43 (strsubj.n3 - should i generate an rdf:aboutLit=""?) 23:48:48 BLURB:swap/cwm turns string subjects in to bogus RDF/xML (n3bug) 23:48:49 E: swap/cwm turns string subjects in to bogus RDF/xML (n3bug) from DanC 23:49:18 E:see [strsubj.n3|http://www.w3.org/2000/10/swap/test/strsubj.n3] test case 23:49:19 commented item E 23:49:48 I'd throw an exception for strsubj.n3 23:50:27 bijan, mail that code to www-archive and chump it? 23:50:28 For {} I just invented new syntax ;-) 23:50:53 Theer is something to be said for roundtripping it ... and seeing what the damage would be. 23:50:59 true. 23:51:01 DanC, er...I'd rather wait until its a bit more complete before annoucing it. 23:51:20 but use a new namespace. so rdf-experimental:aboutLit 23:51:50 n3extensions:aboutLit 23:51:52 I'm not asking you to announce it. or... hmm... I guess chump is an announcement mechanism, isn't it? 23:51:56 That or at least until I peter out with this particular push, whichever comes first :) 23:51:58 Yep. 23:52:05 and what's www-archive? 23:52:11 n3ext:... 23:52:14 www-archive is an SMTP-to-HTTP service. 23:52:19 bijan - any other grumbles/bugs about n3 syntax? 23:52:54 www-archive archives things only. publically. 23:52:54 hm... archive cover page for http://lists.w3.org/Archives/Public/www-archive/ doesn't explain at all 23:53:17 Hmm. I don't think so off hand. 23:53:26 ok. 23:54:10 I've not dealt with variables or lists...hmm. I don't know if there's any other corners. 23:54:23 All the >- stuff is a closed book to me. 23:54:27 from the Design Issues document: "Everything in _ namespace is implictly existentially qualified at the outermost scope" - surely that should be "local scope"? 23:54:30 Lists I'm not very happy with. 23:54:48 The >- -> was syntac deisgned to look like circles and arrows on a whiteboard. 23:54:54 People kept doing it in IRC. 23:55:03 So N3 was first a syntax for that. 23:55:05 AHA! 23:55:14 >-label->!!! 23:55:21 I *never* got that until *just now*! 23:55:37 I thought it was two operators! 23:55:40 :) ooops Then everyone found the version without the >- ..-> was actually readable too. 23:55:43 * DanC goes www-archive surfing... discovers a gem: Tab/Chors in RDF http://lists.w3.org/Archives/Public/www-archive/2001Nov/0033.html 23:55:50 So they kinda dropped out of use. 23:56:06 Indeed. I found it painfully *unreadable*. 23:56:17 aha. they're kind of confusing, because they still exist in some docs, etc. 23:56:18 heh, a good grubby Python RegExp hack 23:56:29 I'd look at that part and and wait for another day :) 23:56:33 In fact, I am inclined to deprecate them to get the punctuation back for future use. 23:56:39 YES! 23:56:47 yes, death to >-/-> 23:56:54 *Please*! Kill them kill them killthem! 23:57:01 I should at least rewrite the comments to explain them in terms of s p o rather than the other way around. 23:57:25 Hmmmm ... I sense we have a consensus on the channel to kill the arrow heads nd tails. 23:57:31 .. and then SAY they're dead (perhaps in DesignIssues/Notation3 and/or the tutorial?) 23:57:40 indeed! Purify the Grammar! 23:57:48 I also did the CSS2 properties: http://lists.w3.org/Archives/Public/w3c-wai-gl/2001OctDec/att-0321/02-result.n3 23:57:57 GabeW has joined #rdfig 23:59:05 obsoleted in DesignIssues/Notation3 23:59:32 * bijan does the happy hedgehog dance of victory and joy 23:59:44 * sbp waves goodbye to heads/tails 23:59:51 $Id: Notation3.html,v 1.49 2001/11/27 23:59:33 timbl Exp $