00:00:03 Fri Nov 30 23:59:56 GMT 2001 00:00:08 too late :) 00:00:24 Freedom ..... 00:00:34 you bet :) 00:00:50 and I still got all my old logins... 00:01:00 * danbri grins and dave and jang, for benefit of the logs 00:01:05 The realization that he had cut his ties with Bristol University struck DanBri like a 00:01:34 ?? 00:01:48 like a pile of unsubmitted expense claims dating back to 1999? 00:02:58 congrats, Dan - your day of freedom is my day of doom; I'm 30 ;( 00:03:33 Happy Birthday :-) 00:03:37 An artifact of human physiology; if people mostly had 12 fingers, you'd be... mumble... younger? 00:03:45 congrats too, anyway! 00:04:18 * danbri rummages around www.bris.ac.uk, finds his first web pages 00:04:28 http://www.bris.ac.uk/Depts/Philosophy/CTLL/report.txt 00:04:28 A: http://www.bris.ac.uk/Depts/Philosophy/CTLL/report.txt from danbri 00:05:10 A:|Seminar on Endangered Languages, CTLL report 1995 00:05:10 titled item A 00:06:07 A:Probably mentioned this before, but doing this was the thing that convinced me about the Web. We had people contact us from all over, replying to blurbs I circulated online 00:06:08 commented item A 00:06:30 A:Note to self: do some SemWeb multilingual stuff next year (image archives; thesauri...) 00:06:31 commented item A 00:07:07 So, cwm... has it been refactored enough for the rest of us to understand it now? 00:07:25 With a tour, maybe. 00:07:30 llyn is still a bit of an oil refinery. 00:07:33 query is still a dark dark place. 00:07:38 lol 00:07:47 is there a well defined interface to the oil refinery? 00:08:12 tim, re: refactoring. t'would be great to get the inference stuff out from the pretty printing/dumping stuff. 00:08:15 The primary intreface was n3 stream. 00:08:15 I basically want to look at plugging in web services for certain predicates (though I think DanC might've recently cracked that puzzle...) 00:08:28 The interface to the built-ins is the next flex point. 00:08:35 Yes, that should be quite doable. 00:08:44 flex point? thing-to-tidyup? 00:08:50 The api for querying the db using intrened objctes is pretty straightforward. 00:09:04 No, place to lean against :) 00:09:06 The RDFSink interface for parser connections is not very nice. 00:09:47 flexability point? well-defines interface which allows you to switch things on eitherside. 00:10:11 danbri, if sbp can do it, you can do it. 00:10:13 will the interface for the built-ins change much soon? (i.e., should I wait before doing a cwm_* module?) 00:10:17 re builtins: Can it think to itself "stockTicker(X,Y) is serviced by some remote service that expects a bound 'X'; I'll delay think aboot that for a while...' 00:10:23 " 00:10:37 * danbri hopes that makes sense 00:10:40 Er.. 00:10:50 Not yet but ... 00:10:57 VeryVeryHeavyBuiltin. 00:11:02 Er: it didn't make sense... 00:11:07 * sbp thought of doing an arithmetic built-in next: cwm_math.py 00:11:21 * tim says go ahead! 00:11:21 Mixing metaphors: builtin (but builtin to something else out there in the network) 00:11:33 danbri: think "primative" 00:11:34 yes i know what you mean i think 00:12:20 We kind of had something close in javascript prolog, hacked the builtin mechanism to do HTTP GETs... but I never got it work nor convinced JanG it was interesting enough... 00:12:28 First version: xxxx is a predicate which is a column an sql table http:///sdfsdgfgf 00:12:45 First version: xxxx is a predicate which is a column an sql table served by an N3 query server at http://sdffds 00:12:58 prefer 2nd version 00:13:25 Er..the second first version? 00:13:27 might need some caching smarts to avoid same query being asked over and over 00:13:31 mnot has quit 00:13:32 tim has quit 00:13:34 timbl has joined #rdfig 00:13:40 wrapping it in N3 server; cwm shouldn't know about SQL 00:13:59 agreed 00:14:25 oierw` has quit 00:14:45 Although, if I'm right, n3 is expressive enough for SQL :) 00:15:03 Currently builtins are recognized by being python instances of a HeavyBuiltin class. 00:15:05 oierw` has joined #rdfig 00:15:26 and the heavyness results in cwm delaying them as long as possible? 00:15:46 Till after searching for the sttaement locally. 00:16:19 You can for example tell it that log:semantics {} and it will treat that like any other data. 00:16:52 Wheras things like x uri y it clculates before searching for such a statement. 00:17:02 That's a light builtin 00:17:20 There is no ordering within heavy builtins 00:17:20 right... but if I wanted: stockTicker(?CompanyCode, ?Price), shareHolderEmail(?CompanyCode, mailto:danbri@w3.org) ... and it knew locally that (shareHolderEmail(FOOCo,mailto:danbri@w3.org) I'd want it to do the substitution before consulting the service... 00:17:44 Yes. That would work. 00:18:04 StockTicker would be put on the bottom of the queue. 00:18:44 oh, cool. Simply because it's a heavy builtin? that's probably enough to build something compelling on top of... 00:19:46 Tim, did you see the schema explorer guys' stuff for defining the semantic of an rdf predicate by calling out to prolog (or whatever) 00:19:48 Anything involving internet access (like log:semantics) is considered heavy. The sort of "WAN assumption". 00:20:20 calling out to prolog -no. 00:20:34 calling out from what - an rdf schema? 00:20:40 yes. 00:20:53 here: http://wonkituck.wi-inf.uni-essen.de/extend.html 00:20:56 annotated the schema with chunks of prolog rules 00:21:04 00:21:04 00:21:04 path(S,O) :- statement(S,path,O). 00:21:04 path(X,Z) :- statement(X,path,Y), path(Y,Z). 00:21:04 00:21:05 00:21:36 treatment of namespaces is cursory, but the idea's neat 00:21:52 SeanP has joined #rdfig 00:21:55 SeanP has quit 00:22:01 rdf:parseType="Literal" ?? 00:22:04 sbp has quit 00:22:06 sbp has joined #rdfig 00:22:08 Mozillation stuff does same thing with SWI and Mozilla (http://209.198.94.130/mzpl/) 00:22:36 hmm, not quite actually; Mozillation does it via RDF APIs 00:22:50 I think the got confused about parseType="literal" and the object *being* a literal. 00:23:24 cumbersome syntax anyway. 00:23:49 and yes, cunfusing in reuse of "literal". 00:23:59 whatever happened to SwELL? 00:24:04 =N3 rules? 00:24:23 Would something like that work for Builtins? 00:24:28 Depends who you ask, I suppose. 00:24:37 (re: SWeLL) 00:25:04 I mean, s the interface regular enough? 00:25:21 that? sticking some prolon in a literal? 00:25:25 that? sticking some prolog in a literal? 00:25:34 Well, some python maybe ;) 00:26:10 parseType="literal" should be fine like that, I think. It doesn't matter unless there's XML content in there, though. 00:26:16 Well, first suppose we identify a python class as a URI, and then just say f:p python:implementedBy hjttp://asdsadf.py#myclass 00:26:41 parsetype - fine so long as n "<" signs or "&" 00:26:55 http://lists.w3.org/Archives/Public/www-archive/2001Nov/0094.html 00:26:56 B: http://lists.w3.org/Archives/Public/www-archive/2001Nov/0094.html from danbri 00:27:16 B:|Sample HTML/.js (view src) from Mozillation project (RDF rules via SWI prolog in Mozilla) 00:27:17 titled item B 00:27:19 Hmm. yes, but that pops the code out again. 00:27:28 I'm think more a literate programming style thing :) 00:27:36 Tangle, weave. 00:28:31 not quite sure what the diff twixt evaluateObject and evaluateObject2 00:28:48 The libwww code used to have the .h files extracted from the
 of html files way back then. There was a boostrap problem in that the extraction was done using libwww so it may have been dropped...
00:29:22  but anyway.   The alternative is you translate the prolog into XML  so that you can use namespaces.
00:29:36  er...
00:29:37  seems the better way
00:29:38  Or you namespaceize hte prolo as we were talking about yesterday
00:29:54  like rdf_db.pl
00:29:59  stops being prolog, after a while...
00:30:08  oh, evaluate* one for light the other heavy?
00:30:22  Which actually bit me. Seems like the namespacization is messing up queries.
00:30:28  Certain queries.
00:30:37  I suspect a conflict with the module syntax.
00:31:09  Ah, ok.
00:31:12  Hmm. Why the 2?
00:31:18  Shouldn't that be polymorphic?
00:31:37  GabeW has quit
00:31:38  You do have to pick a namespace character which is an obscure but valid identifier character
00:31:44  no
00:32:03  ....
00:32:05  2 meaning the second, bis...
00:32:09   .. primed
00:32:36  * bijan didn't catch that.
00:33:10  Ah, second evaluation? Since the first just gave a delay?
00:34:19  ?
00:34:28   2 meaning the second, bis...
00:34:28    .. primed
00:34:32  I don't understand.
00:34:48  No, the 2 has no significance apart from to distinguish from the version iwthout the 2
00:34:58  s/2/Heavy/
00:35:02  Ok, then why not make it polymorphic?
00:35:08  I.e., it's in the heavy class.
00:35:38  * danbri heads off (again)
00:35:38  cu
00:35:56  I wasn't sure whether to supply the builtins with their arguments already in python form (for ease of coding new simple builtins) or not (for speed and generality).
00:36:26  Make it polymorphic how?
00:36:32  Take a dmal list?
00:36:38  Take a daml list?
00:36:47  string:conjunction does that.
00:36:51  no, I meant Id idn't see why there were evalObj and evalObj2 :)
00:37:13  Instead of just plain jane evalObj, one for heavy, one for light.
00:37:47  Then I thought maybe evalObj to a heavy BI cause it to delay evaluation (triggered by evalObj2)
00:37:54  Now, i' don' tknow :)
00:38:15  * sbp teaches CWM to add up
00:38:33  No, evaluateObject  is the method a light built in uses to evaluate the object of  a statement when the subject is known.
00:38:50  * timbl claps
00:38:57  Ah!
00:39:53  The query code has an array ("queue" for historical reasons) of things it is workin on -- unresolved terms.
00:40:33  Each has a state, so to understand query you really need the flow chart for the FSM which each query line goes through.
00:40:44  I ha dthat on my whiteboard ... but not yet in n3.
00:41:05  Heh.
00:43:28  But basically, iyt checks for light builtins, then figures out how many ("short")  statemnts in the store it would have to search to resolve the line, and when it is left as the unresolves term whose "short" is smallest, the store is iteratively consulted for each match, and query recursively called for each. If the search fails .. or in fact even when it has succeded, then if the preciate is heavy the heavy function is ru
00:44:08  Complications are that if it is a function of a list or a foirmula, then it has to sit untill there are no variables left in that list or formula.
00:44:27  There are extra states while waiting for that.
00:44:36  That's basically it.
00:44:57  I think the list wait is a mess and can be cann be made cleaner now.
00:45:12  Sigh. I'm worried that I'll have to code up such a thing before I feel confident that I understand the inference algo :)
00:45:23  We'll see :)
00:45:53  I think the business of wating for formulae and lists to be resolved should be generalizable. 
00:46:16  Do code up the same thing... or better ignroe what I just said and approach it anew!
00:46:55  I only index the quads.  I don't index combinations of them.
00:47:06  I don't figure out in which order to call hte rules.
00:47:11  The rules should be objects.
00:47:17  Er...
00:47:37  * bijan is trying to figure out what tim is encouraging him to do :)
00:47:40  llyn.py  todo++
00:47:52  n4_implies(1, Results) :-
00:47:52  rdf(X, t:parent, Y, user),
00:47:52  \+(rdf(Y, t:child, X, Results)),
00:47:52  logimplies,
00:47:53  rdf_assert(Y, t:child, X,Results).
00:48:06  Current rough form of what I'm tring to compile rules to.
00:48:45  tim has joined #rdfig
00:48:45  timbl has quit
00:50:14  * tim sertyuivgfrhesdfr
00:50:22  Er...
00:50:37  * tim consults logs
00:52:57  Actually, i guess I'll break out hte ante and consequent. 
00:53:40  timbl has joined #rdfig
00:53:40  tim has quit
00:55:12  * timbl has to go anyway. Must figure out why wireless keeps dropping out
00:55:18  Take care.
00:55:21  c'ya
00:55:26  No wires, belike.
00:56:12  KUTGW
00:56:16  timbl has quit
00:56:28  * bijan can't figure that one out...
01:02:07  .google KUTGW
01:02:08  KUTGW: http://foldoc.doc.ic.ac.uk/foldoc/foldoc.cgi?KUTGW
01:02:08  Label KUTGW not found.
01:03:00   I'm sure there's all sorts of clever ways to do this.
01:03:17  I'm ending up building a string and essentially evaling it :)
01:20:58  hooray!
01:21:02  CWM can now add up:-
01:21:04  [[[
01:21:04      "8"     <#additionOf> "3",
01:21:04                  "5" .
01:21:05  ]]]
01:21:22  the rule: { :x math:add ("3" "5") } log:implies { :x :additionOf "3" , "5" } .
01:25:53  ooh, and it do subtraction:     "5"     <#answerTo> "8 - 3" .
01:26:03  multiplication?
01:27:59  yep:     "30"     <#answerTo> "5 * 3 * 2" .
01:28:06  and now, we just need division...
01:30:23  wonderful:     "3.5"     <#answerTo> "7 / 2" .
01:31:55  O.K., now for a property describing the number of list members
01:32:39  sbp, cwm hacker extraordinare.
01:33:21  Ok, I'm convinced that this work up the string thing is daft.
01:33:28  Useful stuff along the way though.
01:33:52  extraordinare: yeah, I can do arithmetic in Python. Go me
01:34:03  String thing?
01:34:29  I'm trying to compile n3 rules to this prolog thing.
01:34:48  ah, right
01:34:53  I suck at term maninpulation, so have basically worked up a string hacked version of the rule and then hope that prolog with read it.
01:35:27  If I'm going to do this, should work up some macros.
01:37:03  great, member count works:-
01:37:04  [[[
01:37:04        ( "x" 
01:37:04          "y" 
01:37:04          "z" 
01:37:04           )
01:37:06           a <#List>;
01:37:08           <#memberCount> "3" .
01:37:10  ]]]
01:37:27  Hm.
01:37:38  is the a <#List> part needed?
01:38:00  the "List" part is what I used to make it a triple; I put that in, but I didn't need to
01:38:11  [[[
01:38:11  { :x a :List; math:memberCount :y } log:implies { :x :memberCount :y } .
01:38:11  ("x" "y" "z") a :List .
01:38:11  ]]]
01:38:20  Ah!
01:38:26  :-)
01:39:42  Hmm... there's a "greaterThan" and "lessThan" in cwm_string... do I need to copy them over?
01:40:28  nah, what's the point...
01:40:52  but I think they're in the wrong namespace. Perhaps I can convince Tim to move them
01:43:05  I understood them to refer to the order of the encodings of the strings
01:43:50  ah, so math:greaterThan rdfs:subPropertyOf string:greaterThan .
01:43:56  it'd be useful to have sortsBefore and sortsAfter with some more intelligence too
01:44:06  example of use?
01:45:15  e.g. "a" :sortsBefore "B"
01:45:57  well, that's just less than, isn't it?
01:46:12  on the contrary
01:46:42  "a" :greaterThan "b"
01:46:47  "a" :greaterThan "B"
01:47:22  oh, so sorts ignores the case
01:47:44  just convert to lower case, and then do greaterThan
01:47:44  * deltab retracts "a" :greaterThan "b"
01:47:54  er... yeah, less than
01:48:06  [ string:lowerCaseOf "A" ] .
01:48:11  * sbp should add that
01:48:25  nesting works:-
01:48:26  [[[
01:48:26      "8"     <#answerTo> "3 + (8 - 3)",
01:48:26                  "3 + 5" .
01:48:27  ]]]
01:48:32  it's more complicated than that
01:48:52  Nice sbp.
01:49:27  I'm not sure about the property names, though... I'm using verbs "add", "take"... should I use "additionOf" and "subtractionOf"?
01:49:55  or switch them around so I can do: ("3" "5") :addition ?x .
01:50:09  :sum, perhaps
01:50:11  because at the moment they're ReverseFunctions
01:50:14  ?x :sumOf...
01:50:20  yeah... good idea
01:50:39  what about the others?
01:51:14  difference, product, quotient
01:51:15  differenceOf
01:51:17  etc.
01:51:23  what deltab said :)
01:51:26  why "of"?
01:51:26  :-)
01:51:39  because I'm doing :x :function (list) .
01:51:39  No reason :)
01:51:48  Well, except that.
01:52:13  it's better doing it that way, because then you can do nesting easily... let me show you
01:52:27  and :isResultOfAddingAllMembersOf is too awkward.
01:52:39  "5" is :sum of ("2", "3")?
01:52:46  [[[
01:52:46  { :x math:sumOf ("3" [ math:differenceOf ("8" "3") ]) } 
01:52:46     log:implies { :x :answerTo "3 + (8 - 3)" } .
01:52:47  ]]]
01:55:48  I'd prefer :valueOf to :answerTo
01:56:59  answer of a question, value of an expression
01:57:40  er... value of an expression, answer to a question
01:58:32  * sbp fixes
01:59:21  now, this is an interesting question, what should this be: ?x math:differenceOf ("8")
01:59:40  I'm not sure if it should give "8", an error, or what...
02:00:10  "is :sum of": you could do that, but I like to avoid that whenever possible :-)
02:00:25  well, how do you define subtraction between three or more items?
02:00:41  I don't. It will just explode if that happens
02:01:00  I could define it so that all items other than the first get added together
02:01:37  then no answer is needed
02:01:49  so that [ math:differenceOf ("1" "2" "3") ] = [ math:differenceOf ("1" [ math:sumOf ("2" "3") ]) ] .
02:02:22  or rather, my answer to your question is that no value is needed for the expression :-)
02:02:38  yep, I think I'll go with your suggestion, just return nothing
02:04:14  O.K., done; and it works
02:08:35  now I have > < !>= !<= == !=
02:08:38  { ?x a :List; :sum ?y } log:implies { ?x :memberCount "2" }
02:09:01  pardon me?
02:09:31  is that well-formed and true?
02:12:22  er... it means that for any list with any sum, that list has a member count of "2"
02:12:28  what is it that you're trying to say?
02:13:13  that :sum only applies to lists of length 2
02:13:38  it'd be clearer if I'd used :difference instead
02:13:42  ah, right... well, for a start, that's only true of :differenceOf and :quotientOf :-)
02:13:58  but to do that, you use range...
02:14:12  math:differenceOf rdfs:range :TwoItemedList .
02:14:43  { ?x a :TwoItemedList } log:implies { ?x a :List; math:memberCount "2" } .
02:14:54  Hmm...
02:15:27  { ?x a :TwoItemedList; math:memberCount [ math:notEqualTo "2" ] } log:implies { ?x :hasAn :Error } .
02:15:36  let's try it!
02:16:33  ooh, why haven't I heard of :hasAn before? It sounds useful
02:18:32  :-)
02:18:39  cool it worked:-
02:18:40  [[[
02:18:40        ( "p" 
02:18:40          "q"  )
02:18:40           a <#TwoItemedList> .
02:18:40        ( "p" 
02:18:41          "q" 
02:18:43          "r"  )
02:18:45           a <#TwoItemedList>;
02:18:47           <#hasAn> <#Error> .
02:18:51  ]]]
02:18:56  input:-
02:18:56  [[[
02:18:57  { :x a :TwoItemedList; math:memberCount [ math:notEqualTo "2" ] } 
02:18:59     log:implies { :x :hasAn :Error } .
02:19:01  ("p" "q") a :TwoItemedList .
02:19:03  ("p" "q" "r") a :TwoItemedList .
02:19:05  ]]]
02:22:02  sbp has quit
02:22:08  sbp has joined #rdfig
02:23:03  * sbp adds remainderOf and negationOf
02:26:26  great:-
02:26:27  [[[
02:26:28      "-3"     <#valueOf> "3 negated" .
02:26:28      
02:26:28      "1"     <#valueOf> "7 % 2" .
02:26:30  ]]]
02:29:56  ah, now to add powers...
02:30:02  2^10
02:30:49  Hmm... what property name? :pow :xToTheY
02:30:52  :powerOf
02:31:32  :theValueObtainedWhenTheFirstListMemberIsRaisedToThePowerOfTheSecondListMember
02:31:56  :)
02:32:37  I'm tempted to go with math:pow because it matches the Python function pow(x, y)
02:32:46  you can also do x ** y
02:32:58  math:powerOf
02:33:04  imho
02:33:18  or toThePowerOf
02:33:46  yeah, but people might start doing "2" :toThePowerOf "10" .
02:33:59  I want them to do ?x :power ("2" "10") .
02:34:14  :exponentiationOf
02:34:22  ooh, good one
02:34:42  you're only saying that because I put Of at the end :-)
02:35:05  true, but it was still good :-)
02:35:37  oierw has joined #rdfig
02:36:12  it worked:     "1024"     <#valueOf> "2^10" .
02:42:03  sbp: what exactly are you doing?
02:44:11  I'm adding some built in functions to CWM so that it can do Math for me
02:44:15  for example:-
02:44:16  [[[
02:44:16  { :x math:sumOf ([ math:quotientOf ("7" "2") ] 
02:44:16     [ math:exponentiationOf ([ math:remainderOf  ("7" "2")] "10000000") ]
02:44:16     [ is math:memberCount of ("a" "b" "c" "d" "e") ]) } log:implies 
02:44:17  { :x :valueOf "(7 / 2) + ((7 % 2)^10000000) + 5 [should be 9.5]" } .
02:44:18  ]]]
02:44:28  correctly gives:     "9.5"     <#valueOf> "(7 / 2) + ((7 % 2)^10000000) + 5 [should be 9.5]" .
02:45:27  hmm
03:08:46  * sbp makes a schema for all of these new terms
03:21:18  danja has joined #rdfig
03:22:20  danja has quit
03:28:49  * sbp gets ready to mail the stuff to www-archive
03:31:53  sbp has quit
03:33:55  sbp has joined #rdfig
03:35:05  * sbp sends
03:35:25  sent!
03:36:01  where?
03:36:02  http://lists.w3.org/Archives/Public/www-archive/2001Nov/0095
03:36:02  C: http://lists.w3.org/Archives/Public/www-archive/2001Nov/0095 from sbp
03:36:13  C:|CWM: Mathematical Built-Ins
03:36:13  titled item C
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"
03:36:45  commented item C
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
03:38:41  commented item C
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
03:39:25  commented item C
03:41:43  right, now what? :-)
03:43:23  actually, it would be cool to implement all of the string functions in Python to the string built-ins module. All we're effectively doing anyway is to port Python into RDF, so why not make it a bit more official?
03:43:39  Heh, you could have an NTriples parser in NTriples
03:44:51  RegExp's, anyone?
03:45:42  Of course, I could always do "import math", and add some really good functions to the module I just did...
03:45:53  but it's a case of knowing what's going to be useful, and what isn't
04:04:44  * sbp updates http://infomesh.net/2001/05/sw/
04:05:14  the Trust & Proof section is filling out quite nicely
04:10:13 <^lilo> ^lilo has joined #rdfig
04:10:17 <^lilo> * ^lilo looks in
04:10:20  hello lolo
04:10:22  lilo, even
04:10:25  * oierw` slaps his fingers
04:10:29 <^lilo> hi iierw` :)
04:10:32 <^lilo> * ^lilo grins :)
04:10:33  * sbp waves to lilo
04:10:38 <^lilo> hi sbp
04:10:55  is the network going to stay unsplitting for a bit? *hope*
04:11:05 <^lilo> I just wanted to make sure you survived our little stability problem 8)
04:11:11  just about... :-)
04:11:16 <^lilo> I hope it'll be considerably more stable
04:11:24  good
04:11:39 <^lilo> we had some problems that were fairly critical, and the fixes caused problems, etc. 8)
04:11:47  sbp: you should start by importing sin/cos/tan/arcsin/arccos/arctan
04:12:05  sbp: and then on to calculus!
04:12:14  heh, heh, heh
04:12:31 <^lilo> hmmm, sine and retributione
04:12:48  i always wanted to use a machine that can do millions of instructions a second to take the place of my calculator
04:13:01 <^lilo> oierw: I thought that was what the iPAQ was about :)
04:13:22  ^: afaik, the iPAQ doesn't help much in calc class, where a ti-89 does :)
04:13:27  * oierw slaps nickcomplete
04:13:37  i'll trust myself to type lilo
04:13:47 <^lilo> oierw: put the right OS and mini-X on it and the right applications :)
04:13:54 <^lilo> hehe oierw: thanks :)
04:13:56  hmm.
04:14:02 <^lilo> * ^lilo doesn't use nick completion on channel
04:14:26 <^lilo> just never got into it
04:15:08  mnot has joined #rdfig
04:15:28  it's just one of those things that you just can't get out of your head
04:15:42  the only problem i've had with it was Anne-Robinson/Annette
04:16:16 <^lilo> oic
04:16:22  her name's Anette
04:16:43  deltab: sorry
04:16:47  deltab: i use nick complete :)
04:17:00  so ane is enough :-)
04:17:09  but i always forgot too :p
04:18:46  ^lilo: it will be nice to not have to reconnect to the server three times a day :)
04:20:59 <^lilo> oierw: well, those pingouts still need some work....uh, I think they do anyway, I'm never quite sure whether they're in unusual numbers or if server upgrades just bring people out to complain a little 8)
04:21:00  sbp: can i assume that you break the problem into it's smallest parts, change them into triplets, then do the math on them as needed?
04:21:51  ^lilo: i haven't been pinging out except for my cable provider deciding to haphazardly unplug various routers around the us
04:22:17 <^lilo> ah
04:22:37 <^lilo> * ^lilo is waiting to see if all the *.home.com users ping out at midnight
04:22:45 <^lilo> * ^lilo is really wondering which midnight :)_
04:22:58  it was a california ruling, right?
04:24:04  oierw: what problem would that be? I guess it's possible to use N3 to model many of the things that Python can do (on a very low, string based level)
04:25:07  well... you have been giving n3 math problems
04:25:12  i was refering to those
04:25:46  * oierw really wants to get something that can solve all the math problems his ti-89 can
04:25:54  even though i'll never use it :p
04:26:55  heh, heh :-)
04:27:49 <^lilo> I guess they won't ping out at midnight US/Pacific or they'd already be gone
04:27:56  the math problems were just to test the functions... I'm not sure how much utility they'll have in the SWAP world, although we did already find use in the combination of math:memberCount and math:notEqualTo, so that was cool
04:28:03 <^lilo> hmmm, speaking of gone....you folks have a good weekend
04:28:08 <^lilo> * ^lilo waves
04:28:12 <^lilo> ^lilo has left #rdfig
04:40:13  heh, heh: "Also, nicking the namespace name... hmm..." - DanC
04:52:23  Oh dear.
04:54:05  nephLAB has joined #rdfig
04:59:22  but for consistency, you understand... :-)
04:59:28  Hmm?
05:01:36  well, cwm_string.py has /string#, cwm_os.py has /os#, cwm_crypto.py has /crypto#...
05:01:50  What's this?
05:02:12  hello?
05:02:34  er..I'm not following this /string# stuff.
05:02:47  Must have missed something :)
05:02:57  namespaces. I just kinda reserved /math#
05:03:16  For builtins?
05:03:30  exactly
05:04:00  What comes before the /?
05:04:19   http://www.w3.org/2000/10/swap
05:04:28  Ah.
05:04:41  * bijan doesn't like defining builtins in terms of Python modules.
05:05:17  heh, that is what's happening... why don't you like it?
05:06:36  Well, 1) I'm not crazy about some bits of the Python libraries, 2) I'm not completely wild about the way (some) are organized.
05:06:55  3) they often aren't really specified other than by their implementation.
05:07:00  well, we don't have to follow the organization exactly... or even at all
05:07:08  Yes, my point :)
05:07:31  Or if we do, put them in a different ns.
05:07:34  how is that a "point"?
05:07:46  Er..that supports my point.
05:07:48  sorry, I don't follow...
05:08:08  "we don't ahve to follwo the organiztion" and we shouldn't :)
05:08:11  I get that, I meant how does it support your point; what on earth is your point?
05:08:11  .time
05:08:13  2001/12/01 05:08:16.8687 Universal
05:08:26  ah... you missed the "shouldn't" bit
05:08:50  No *you* missed it :)
05:08:59  well, the builtins don't closely match the Python library: they are augmented so that they fit in with the RDF flow of things
05:09:23  All the more not to map them closely.
05:09:31  logger_1, grep -i 1-5 bijan.*shouldn't
05:09:43  I'm logging.  I found 17 answers for 'bijan.*shouldn't' (showing 1...5)
05:09:44  1) 2001-12-01 05:08:08  "we don't ahve to follwo the organiztion" and we shouldn't :)
05:09:45  2) 2001-12-01 00:31:18  Shouldn't that be polymorphic?
05:09:46  3) 2001-11-30 23:40:01  I.e., {this forSome :c. :a :b :c} shouldn't match {:a :b :c} (where :a :b :c are all...ground?)
05:09:47  4) 2001-11-30 23:39:28  Those *shouldn't* match, yes?
05:09:48  5) 2001-11-28 23:59:56  sbp, shouldn't you be able to hook emacs up to CWM for that?
05:09:56  * sbp rests his case
05:09:59  It was implicit.
05:10:13  oh go on, beg off, why don't you :-)
05:10:26  It was clear as the day is short.
05:10:27  anyway, I agree, but it's not really a hot topic of contention
05:10:41  In the northern hemisphere bout this time of year...that is.
05:11:04  yeah, not all that clear then, unless you only consider a small cultural demographic
05:11:29  s/cultural/geospatial/
05:11:44  And I discharged that unless :)
05:12:08  :-)
05:12:30  there are some cool little bits at the bottom of http://www.w3.org/2000/10/swap/Primer that must have been updated recently
05:12:38  for some value of recently
05:12:47  [[[
05:12:48  Resource 
05:12:48  That identified by a Universal Resource Identifier (without a "#"). If the URI starts "http:", then the resource is some form of generic document.
05:12:48  ]]]
05:12:56  and OTOH
05:12:59  [[[
05:12:59  Thing 
05:12:59  In DAML, a generic name for anything - abstract, animate, inanimate, whatever. The class which anything is in. (In RDF parlance, confusingly, rdf:Resource.) Idenified by a URI with or without a "#" in it.
05:12:59  ]]]
05:13:19  And then, of course,
05:13:23  there's also a bit of "you shall use namespaces that end with a '#'" pitching...
05:13:33  [[[ResourceThing
05:13:42  [[[
05:13:46  It especially helps if the email message or web page is written in RDF (in XML or in N3) and contains the schema information, as a program can associate the two easily, if it finds the mail or looks up the web page. If you do this, the namespace will be the document URI followed by a #.
05:13:46  ]]]
05:13:53  That which a Uri starting with a # doesn't name.
05:14:04  ]]]
05:14:10  starting with?
05:14:15  It a joke :)
05:14:33  There are no ResoruceThings :)
05:14:38  joke?
05:14:50  really?
05:15:03  Slow tonight, aren't we. That's what you get for hacking CWM.
05:15:16  heh, heh, I'm faster than you may think
05:15:31  But not than CWM may -think
05:15:49  hacking CWM was less gruelling than trying to compile OpenSSL on Windows
05:15:52  heh
05:16:04  Only because you're sticking to hte builtins.
05:16:13  Which are, one must grant, rather cleverly designed.
05:16:17  Extensibility wise.
05:16:24  of course. I wouldn't even touch llyn.py (except the built-ins part)
05:17:27  sbp: openssl on windows?
05:17:31  sbp: that's easy
05:17:47  although i will admit it doesn't compile out of the box
05:17:55  without CygWin, oierw :-)
05:18:02  of course.
05:18:18  well, it did compile out of the box... nearly. I only had to hack at the BAT for about an hour
05:18:33  you used a bat?
05:18:42  yeah, and Perl
05:18:46  heh
05:18:47  i didn't :p
05:18:56  and MingC++thingy
05:19:10  how did you do it?
05:19:25  msvc
05:19:32  ah
05:20:20  i'm actually working on ncurses right now
05:20:23  it's not going well :(
05:20:44  by working on, i mean 'making it compile and run properly in windows using msvc'
05:21:08  To dreeeeeeeam, the impossible dreaaaaaaaaaaaaaaammmmmmmmmmm.
05:21:13  Yucky
05:21:22  Hmm... it's quite easy to tell why TimBL would like to link in the SW to documents, and make these distinctions... but I'm not satisfied that all of the loose ends are tied up. New response codes for HTTP? Could mess the entire thing up...
05:22:43  Has www-archive just caved in, or something?
05:23:25  I'm pretty sure that I have a response from DanC in my inbox, CC'd to www-archive, and I'm quite sure that I sent a reply...
05:23:57  sbp: so you have a working libeay32.[lib|dll] and ssleay32.[lib|dll] now, right?
05:24:24  ugh:-
05:24:26  [[[
05:24:26  Final-Recipient: RFC822; 
05:24:26  Action: failed
05:24:26  Status: 5.1.1
05:24:26  Remote-MTA: dns; w3.org (18.29.0.27)
05:24:27  Diagnostic-Code: smtp; 550 Access denied
05:24:29  ]]]
05:24:32  oierw`: yes, I do
05:25:32  okay
05:25:52  if you need any other ported libs in the next week or two, just holler
05:26:12  thanks, will do :-)
05:26:22  I tried to install mxCrypto... dear oh dear
05:31:55  http://www.kb.nl/coop/donor/rapporten/URI.html
05:31:56  D: http://www.kb.nl/coop/donor/rapporten/URI.html from sbp
05:32:08  D:|Identification, location and versioning of web-resources
05:32:08  titled item D
05:32:26  D:Interesting discussion about URIs, URNs, resources, etc.
05:32:27  commented item D
05:34:43  sbp has quit
05:52:08  bijan: you here?
05:52:19  nephLAB is now known as dmiles
06:11:14  mnot has quit
06:15:52  oierw has quit
06:15:52  Disconnected from irc.openprojects.net (ERROR :Closing Link: logger_1[~rdfig-log@137.222.34.230] (Ping timeout: 181 seconds))
06:16:03  logger_1 has joined #rdfig
06:16:03  topic is: Semantic Web Hackery - http://rdfig.xmlhack.com/
06:16:03  Users on #rdfig: logger_1 dmiles oierw` xena danbri bijan tim-gone AaronSw gerald sandro dc_rdfig em deltab 
06:16:03  [#rdfig] This channel is logged and blogged: http://logicerror.com/rdfIRCWelcome
06:16:14  oierw` has quit
06:16:42  oierw` has joined #rdfig
06:18:40  oierw` has quit
06:18:41  oierw`` has joined #rdfig
06:26:57  dmiles has quit
07:00:58  nephLAB has joined #rdfig
07:02:28  nephLAB is now known as dmiles
08:12:45  oierw has joined #rdfig
08:16:48  chaals has joined #rdfig
08:27:22  what does the ig stand for?
08:27:38  interest group
08:27:42  ah
08:27:49  thanks
08:27:52  or ignatius perhaps
08:49:07  chaals has quit
14:07:51  grove has joined #rdfig
14:38:32  xena has quit
14:38:59  xena has joined #rdfig
14:39:09  * AaronSw disconnects
14:49:57  chaals has joined #rdfig
14:50:31  * chaals waves from sunny melbourne
15:31:42  chaals has quit
16:48:57  tav` has joined #rdfig
16:49:30  tav has joined #rdfig
16:54:06  sbp has joined #rdfig
18:31:56  sbp has quit
19:19:41  davb has joined #rdfig
19:51:36  davb has quit
20:11:46  sbp has joined #rdfig
20:37:03  mnot has joined #rdfig
20:39:47  * sbp waves to mnot
20:40:12  I'm just writing something about you :-) Actually, I'm drafting a letter about identifying resource characteristics using RDF
20:40:24  and I found http://ilrt.org/discovery/chatlogs/rdfig/2001-10-25.txt
20:41:45  hey
20:42:05  * sbp wonders where Sandro's formal langauge namespace is
20:43:07  * mnot reads back
20:43:10  ah: http://www.w3.org/2001/06/blindfold/langIdent
20:43:27  ah, come along a bit since then, let me see if I can rustle up something more concrete...
20:43:54  * mnot is in the middle of a power outage, may disappear...
20:44:17  O.K.
20:44:42  * sbp reading an awful lot of stuff, trying to capture an awful lot of ideas
20:49:40  http://ilrt.org/discovery/chatlogs/rdfig/2001-11-21.html - search for uri:scheme
20:49:40  E: http://ilrt.org/discovery/chatlogs/rdfig/2001-11-21.html from mnot
20:49:44  argh
20:49:58  em: another day in the life of RDFIG (oops)
20:50:09  * mnot hates IRC sometimes
20:50:18  E:another day in the life of RDFIG (oops)
20:50:18  commented item E
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
20:52:20  * mnot power returns, just in time
20:53:09  * sbp reads through this stuff
20:53:56  ah, adding import urlparse :-)
20:54:21  yeah, pretty much ;)
20:56:02  hrm...    /me doesn't know if he should try to figure out just-said things.
20:56:09  this is the right way to do URISpace. I think it might enable some really cool stuff.
20:56:39  it's just treating the log:uri of something as a non-opaque structure that you can infer things from
20:56:52  ah.
20:57:24  for example, you might say that { :x log:uri [ uri:scheme "http" } log:implies {:x :is :dereferencable }
20:57:43  * mnot forgot a close bracket in there, but you get the idea
20:58:35  v. useful for P3P policy reference files, web server configuration, etc; any time you want to make statements about something based on characteristics of the URI, instead of enumerating all of the URIs that the statement applies to.
20:59:58  Have you written out your URI ontology?   What does a URI have other than a literal-string Scheme?    
21:00:20  which should perhaps be schemeName; I dunno.
21:00:22  I've had a few stabs at it
21:00:41  DanC suggested that scheme not be a literal, but point to the list of schemes that he maintains
21:00:46  which seems like a good idea
21:00:58  I don't have any good tools for writing such things, which is frustrating.
21:01:40  yep.     esp if his list will have nice rdf about the schemes, which it might some day.
21:01:42  also: authority (which has several potential properties, depending on what it is), path (list of literal strings), query (in common usage, probably a Bag of things with names and values), and a fragment (a string literal)
21:01:48  ugh: { :x log:uri [ uri:scheme "http" } log:implies {:x :is :dereferencable }
21:02:08  why ugh?
21:02:25  more like: { ?x log:uri ?y } log:implies { ?x a :Derferencable } .
21:02:37  * mnot is still getting up to speed and appreciates "ugh"s
21:02:44  :-)
21:03:08  * sbp tries to find some relevent citations...
21:03:18  pls. Haven't found much about the ? syntax
21:04:28  I'd say:   { ?x a uri:URI; ?x uri:schemeName "http" } log:implies { ?x a uri:URIWithContent }
21:05:02  Then the brain twister is relating a URI object with an n3 identifier.
21:05:20  er, ?x is just a universally quantified variable
21:05:34  "The process of resolution and the process of naming are two different things." - RoyF.
21:05:36  ?x   is a better way to write    :x  .... log:forAll :x
21:05:40  yeah
21:06:09  ah, here we go:-
21:06:10  [[[
21:06:10  The notion of retrieval is not in any way specific to the URI scheme --
21:06:10  there is a paragraph in RFC 2396 that says exactly that, regardless of
21:06:10  whether it is a locator or a name.
21:06:11  ]]]
21:06:28  - RoyF, uri@w3.org, Thursday, September 27, 2001 1:34 AM
21:06:32  mnot has quit
21:07:17   uri:hasURI [ uri:schemeName 
21:07:22  so, to say that any HTTP URIed resource is a resource with content is an odd thing to do... It's odd anyway when you consider 404
21:07:54  anybody here used Ruby? (http://www.rubycentral.com/book/tut_classes.html etc?)
21:08:05   uri:hasURI [ uri:schemeName "http" ].               that's a true statement.   uri:hasURI is vaguely magic and unsettling and dangerous and not well named,
21:08:30  it's log:uri
21:08:48  yes, it is a bit odd... but it's great as a built-in
21:08:56  that's something Tim did?
21:09:01  yes, I believe so
21:09:16  figures; it's soooo dangerous to the logic.       :-)
21:09:18  then you can use the string built-ins on the URI
21:09:36  dangerous, perhaps, but interesting nontheless :-)
21:10:17  So log:uri maps objects to literals which are the URIs for those objects.     That's slightly different from my example where it maps to a URI object instead of a string literal.
21:11:32  The funny thing is, if you're going to have log:uri, you no longer ever need URIs (other than log:uri).   You can do everthng with literals and anon vars.
21:11:44  SeanP has joined #rdfig
21:12:06  SeanP has quit
21:12:11  sbp has quit
21:12:16  sbp has joined #rdfig
21:12:25  That is, there's no need for <...> in n3, or even x:y, other than log:uri, and for convenience.
21:12:46  just _:xxxx  and "..." and log:uri are enough.
21:12:57  "The funny thing is, if you're going to have log:uri, you no longer ever need URIs (other than log:uri).   You can do everthng with literals and anon vars.
21:13:02  " - that is funny
21:13:19  but inconvenient
21:13:33  and impossible in XML RDF (but who cares about that)
21:13:35  I argued for this approach once and got thoroughly, um, laughed at and ignored.  :-)
21:14:00  it's a valid approach, because log:uri a daml:UnambiguousProperty .
21:14:21  Yeah.     And any of those do it for you, if you have literals.
21:14:35  if you have anything, indeed
21:14:42  Myself, I would much prefer to do away with the silly redundancy that is literals.  
21:14:58  I'll bet you couldn't live without them really :-)
21:15:09  Of course I could.     
21:15:20  Say that your name is Sandro, then
21:15:32  :Sandro foaf:name ?x .
21:15:33  I like the idea of making URIs just more stringy properties... takes all that 'what is a URI' gunk out of the heart of RDF... Its just another datatype.
21:15:33  Not in practical human syntaxes, but in the RDF graph, in the model theory.
21:16:18  Yeah, danbri?    Go to just String-Literals and Anonymous-Nodes...?
21:16:20  well, all things can have URIs anyway... I've always thought literals can map onto data:, and anon nodes onto urn:anon:
21:17:20  Then again, I doubt it would lessen the confusion. Even Masinter got confused about what data:, URIs refer to...
21:18:20  yes, seems plausible... though I think there are some issues I've not gotten my head around...
21:18:23  sbp, I would build "Sandro" up from the objects numbers:0, numbers:nextInteger, unicode:charFromInt, daml:first, daml:rest, and daml:nil.
21:18:49  * danbri makes a test program in Ruby, is suitably impressed by its learnability, resolves to get around to learning it proper someday(tm)
21:18:59  (tm)
21:19:04  sandro, isn't that impractical? You'll get people doing syntax extensions such that [sandro] = (char:s char:a ...)
21:19:19  and eventually "sandro" = [sandro], and we'll be back where we started...
21:19:40  * sbp had to review Ruby once
21:19:42  It's just a model.   It should compile to computers doing the same thing they'd do with hand-coded assembler.
21:20:00  It's just there's no need for literals in the model.
21:20:18  Except they do seem to make things more comfortable for some people.  :-)
21:20:28  well, you can ask RDF Core to make the string "sandro" mean a DAML list of those characters... but literals exist in URI space
21:20:51  :Sandro foaf:name  .
21:20:53  I should do the former, shouldn't I.    Yeah.      
21:21:11  heh, heh: "Dear RDF Core..."
21:21:40  What exists in URI space is irrelevant except in letting you collapse nodes when they have the textually same URI.   And maybe for doing all sort of dynamic loading stuff.
21:21:46  sbp: re Ruby, what's the equivalent of a Perl associative array? 
21:21:53  And you can already collapse my literals for other reasons.
21:21:56  * danbri sinking to new depths of laziness here ;-)
21:22:09  danbri: dunno. I just reviewed it, didn't use it :-)
21:22:29  what's that e-mail again?      www-rdf-comments or something?
21:22:35  yes
21:22:50  mnot has joined #rdfig
21:22:59  What exists in URI space is highly relevant since it makes up all of what RDF can refer to
21:23:04  wb mnot
21:23:29  I don't see that at all.  I don't expect most RDF processors to grok most URI schemes.
21:23:44  They don't need to grok the schemes, they just associate URIs
21:24:06  well, processors can...
21:24:25  they don't need to. Parsers certainly shouldn't interepret them
21:24:30  * mnot catches up...
21:25:13  I'm sure that if we all just agreed that "blargh" in an RDF serialization is just shorthand for , we'd all be a lot more comfortable
21:25:33  and whilst we're at it, we can all use NTriples and scrap XML RDF :-)
21:25:46   What exists in URI space is highly relevant since it makes up all of what RDF can refer to
21:26:00  nah, we can talk about anything... thats what blank nodes establish...
21:26:12  URI space can contain anything
21:26:42  * danbri doesn't care; doesn't seem like an answerable question
21:26:47  URI space and blank nodes space are the same except that once in a rare while, someone will use the same URI as you and you can collapse some nodes and maybe do something useful.
21:27:02  Oops, don't want to get drawn into this; I'm sposed to be writing a talk
21:27:04  danbri is now known as danb_lurk
21:27:09  heh, heh
21:27:17  * sandro should be hacking instead, too.
21:27:28  * sbp should be finishing his email on this subject...
21:28:19  I made a test ruby script with node, statement and graph classes... might play with it some more next week, tranlate my perl rdf stuff since I found ten minutes of Ruby puts me further ahead than 5 years of Perl...
21:28:33  Perl OO does my head in...
21:28:49  anyway, have a good rest-of-weekend folks, i'm offline for a bit
21:28:50  take care
21:30:04  * sandro can;t figure oiut how to say my literals == sequence of characters thing without DAML.    You can't establish a "resource" and a'literal" being equal in plain RDF.
21:31:43  * sandro meanwhile is soooo close to having blindfold doing cool stuff.
21:33:32  Perl does my head in, period. Never look back from Python...
21:34:03  sandro: are you still looking at an XML-specific blindfold?
21:34:44  mnot, what do you mean XML-specific?    The implementation has lots of XML-friendly things.
21:35:00  * mnot hasn't looked at it for a while
21:35:27  I'm still looking to do the schema extraction thingy, but XSV is... formidable
21:38:01  have you looked at henry's work in the area?
21:38:46  no. Do you have a ref?
21:46:02  Iron_Spork has joined #rdfig
21:47:01  Hello
21:50:33  Hi there
21:56:07  Has anyone written a guide to using cwm?
21:57:20  No, but there are plenty of people to ask
21:57:29  A man page would be nice.  :-)
21:57:34  well, actually, there are some examples: http://www.w3.org/2000/10/swap/Examples
21:57:35  man page?
21:57:47  (make life a lot easier for us people trying to clone it.)
21:57:57  xena has quit
21:58:10  Hmm. There are several things one might be trying to clone.
21:58:18  "man page?"?      What's your question about my suggestion that a man page would be nice?
21:58:24  Of course, Bijan.
21:58:24  A man page would be good for documenting the various cmd line options.
21:58:27  er... sorry, just ignore me :-)
21:58:50  xena has joined #rdfig
21:58:50  * bijan working round to the point. :)
21:59:06  I gues Iron_Spork it depends on what bit of cwm you want a guide for ;)
21:59:31  ./cwm.py --help
22:00:30  there's a thought.  :-)
22:00:45  Sandro, are you doing a CWM clone? which bits?
22:01:22  Heh, I know the commands, it's just I'm not entirely sure what it can do.  
22:01:50  So you want help on writing n3 programs?
22:01:56  Iron_Spork is now known as Ron
22:02:06  Ron is now known as ronwalf
22:02:08  And running them with CWM?
22:02:29  As opposed to help with all the n3<-->ntriples<-->rdf/xml functions?
22:02:47  * bijan decides that RDF/N3 is a misnomer.
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.
22:02:51  More of, I wanted to find out if class foo is a parent of class bar.
22:03:46  Ah.
22:03:48  If you consider the "log:" namespace part of n3, then yeah, RDF/n3 is rather a misnomer.   Kind of.
22:03:56  Well, {} too, imho.
22:04:34  Yeah, I suppose that too.
22:04:50  There *is* a bit of n3 which is more than ntriples and yet no more than the RDF.
22:05:03  It woudl be grad to factor that out as an alternative authoring langauge.
22:05:10  * sandro is thinking about "foreach" as a better way to say log:implies.     Better in the sense of being truer to what it does and often means.      But not quite right either.
22:05:14  oo, but it lacks any useful reification support.
22:05:31  And I'm not sure about the bag/seq support either.
22:05:48  Unless those things are really really going away, t'would be nice to add them.
22:06:04  it has [...] for lists
22:06:12  er ( .... )
22:06:25  But are n3-lists rdf bags/seqs?
22:06:39  they're DAML lists
22:06:48  which are sub classes of RDF Seq
22:06:52  daml:List
22:06:53  no, but the dichotomy between daml and rdf lists has to go away.
22:07:17  What RDF/N3 should mean is exactly what RDF/XML means...a serialization of rdf.
22:07:24  ronwalf: try looking through the tests in CVS: http://dev.w3.org/cvsweb/2000/10/swap/test/ There's a multitude of stuff
22:07:26  And nothing more.
22:07:29  But nothing less.
22:07:45  Both N3 and XML have ways to extend and that's ok.
22:07:48  interesting point.    do any implementations transparentkly convert between rdf:_3 and the third element of a daml:list?
22:07:50  Um... well, that's what it is
22:08:07  sbp, what is?
22:08:16  "What RDF/N3 should mean is exactly what RDF/XML means...a serialization of rdf."
22:08:21  No.
22:08:58  RDF/N3 and RDF/XML are both serializations of RDF
22:09:02  But n3 is more and one doesn't necessarily expect it to be.
22:09:18  Yes yes, i see.
22:09:25  ah, I see what you mean... yeah, it has that pseudo logic stuff...
22:09:38  but it's still a serializtion of RDF :-)
22:09:54  You could mean by RDF/N3 "The bits of n3 which are nothing more than a serialization of RDF", but that's non-obvious :)
22:10:25  Just pointing out that that confused me for aeons.
22:11:16  RDF/XMl isn't the greatest name either :)
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
22:12:25  good point, bijan
22:12:35  s/point/points/
22:13:15  Does n triples have anyway to represent "once only" unnamed anonymous nodes?
22:13:27  no
22:13:28  hmm, where does it say that the domain of the container membership properties is rdf:Seq? 
22:13:33  Bummer.
22:14:12  Hmm. would _: with nothing after it work ok?
22:14:22  erm... heh, I guess it's [ daml:unionOf (rdf:Seq rdf:Alt rdf:Bag) ] .
22:14:25  I mean, you can't have _: as a definted namespace, yes?
22:14:32  which makes it even worse :-)
22:14:40  _: is not a valid NTriples term, according to the BNF
22:14:47  Good.
22:14:49  So it's free.
22:14:56  yep, it could be used
22:14:57  or maybe we didn't include such a constraint, so that _2 etc can be used in other contexts
22:15:01  Hmm. But would it be actually useful?
22:15:14  other contexts: such as?
22:15:20  since each n-triple is explicit, it wouldn't actually help in serializing [].
22:15:27  house numbers
22:15:38  bijan: yeah, you're right
22:15:50  house numbers???
22:16:44  You could have a Street object, with _2 pointing to the second house. I see no value in asserting that the Street must also be a Seq/Bag/Alt; and less value in having other folk define _n namespaces. So best to leave rdf:_n unconstrained.
22:16:58  Its ugly enough that there should only be one set of properties like it ;-)
22:18:56  Hmm... I think that it's clearly one of Seq/Bag/Alt
22:19:04  heh, heh
22:19:28  well, my real point should have been that the domain of rdf:_n is a super class of daml:List...
22:20:22  So every daml:List with >=1 element should have a rdf:_1 of the first element.
22:23:43  To be quite honest, I've not really worked out how a DAML list is a sub class of rdf:Seq
22:30:57  perhaps [ a daml:List; daml:first :x; daml:rest [ daml:first :y; daml:rest daml:Nil ] ] :isSynonymousWith [ a rdf:Seq; rdf:_1 :x; rdf:_2 [ rdf:_1 :y; rdf:_2 daml:Nil ] ] .
22:31:33  in which case, I should go to the DAML schema and find daml:first rdfs:subPropertyOf rdf:_1 . daml:rest rdfs:subProeprtyOf rdf:_2 .
22:32:03  nope, just:-
22:32:04  [[[
22:32:04  
22:32:04    
22:32:04  
22:32:07  
22:32:08    
22:32:10    
22:32:12  
22:32:14  ]]]
22:32:17  s/Nil/nil/
22:39:15  * sbp sends his message
22:39:59  not sure if it makes much sense: I got a bit tired of it
22:40:00  http://lists.w3.org/Archives/Public/uri/2001Dec/0000
22:40:01  F: http://lists.w3.org/Archives/Public/uri/2001Dec/0000 from sbp
22:40:08  F:|Being Clear [was: Re: Namespaces Without "#"]
22:40:09  titled item F
22:40:36  F:Discusses all sorts of stuff relating to URIs and URI references, what they denote, how to say what they denote, and how to be clear about content types
22:40:36  commented item F
22:47:10  jah-home has joined #rdfig
22:49:26  where'd that n3 tutorial run off to...
22:49:38   http://www.w3.org/2000/10/swap/Primer
22:50:01  Yay, thanks
22:50:08  Sitting right under my nose
22:50:10  cf. http://www.w3.org/DesignIssues/Notation3 http://infomesh.net/2001/swintro/
22:51:07  http://groups.google.com/groups?hl=de&threadm=3AF256D9.503%40netscape.com&rnum=2&prev=/groups%3Fq%3Drdf%2Bserialize%2Bmozilla%2Bdump%26hl%3Dde%26btnG%3DGoogle-Suche
22:51:08  G: http://groups.google.com/groups?hl=de&threadm=3AF256D9.503%40netscape.com&rnum=2&prev=/groups%3Fq%3Drdf%2Bserialize%2Bmozilla%2Bdump%26hl%3Dde%26btnG%3DGoogle-Suche from danb_lurk
22:51:31  G:|Utilities for parsing and serialising RDF/XML in the Mozilla APIs 
22:51:31  titled item G
22:52:50  oh crap, I forgot to talk about IDs in RDDL. damnit!
22:53:01  [insert more cursing here]
22:55:24  IDs in RDDL (rddl:resource[@id]) are dissimilar to those in the rest of HTML in that they can apparently identify anything... I wonder how and whether they conflict with those in the rest of the HTML
22:55:47  [[[
22:55:47     id            ID       #IMPLIED
22:55:48  ]]]
22:55:59  - http://www.rddl.org/
22:56:08  so it's an ID... clashes!
22:56:35  Hmm... also: "The id attribute value may be used to give the resource description a unique identifier."
22:56:35  bijan has quit
22:58:10  so it just identifes the resource description... odd. If you have some RDDL at http://example.org/ and are using the term http://example.org/#MyClass as a class in RDF, then you expect the id in  to point to the actual resource itself, rather than a description of the resource. Otherwise, RDDL is a bit of an oddity
22:59:53  mnot has quit
23:00:49  jah-home has left #rdfig
23:03:08  sbp has quit
23:03:12  sbp has joined #rdfig
23:04:17  bijan has joined #rdfig
23:18:28  jah-home has joined #rdfig
23:23:46  it'd be good if the lists at the W3C had a correction facility, so that you could send corrections that show up in the archives appended to the email, but that don't necessarily get sent to the ist
23:23:51  s/ist/list/
23:24:07  annotea?
23:24:43  was my second thought, but then you'd have to arrange for everyone to use the same server. I'd like it linked to from the definitive logs
23:26:17  Hmm... www-rdf-interest is quite a bit slower than uri. Must have a lot more people subscribed
23:27:39  ~500 I think
23:27:53  xena has quit
23:28:19  quite a good count
23:28:58  xena has joined #rdfig
23:29:01  It's a bit scary actually... I don't tend to think that I'm sending a message to 500 people when I send to RDF IG, because there are only ever a few active members
23:31:20  We discuss your missives on a separate list. More open and free that way :)
23:31:51  I try to imagine them all there sitting there hitting 'D' before I write anything... (stony faced, frowning... ;-)
23:32:56  I send first and then worry about what people may think when they moan at me later on :-)
23:41:13  * sbp finds http://www.w3.org/DesignIssues/Meaning again; interesting stuff in there
23:41:34  http://www.w3.org/DesignIssues/Meaning
23:41:35  H: http://www.w3.org/DesignIssues/Meaning from sbp
23:41:51  H:|Meaning - Grounding the meaning of a document in URI space
23:41:52  titled item H
23:42:06  H:"On the Web, important things are identified by URIs. This should clearly apply both to the document itself and to the language."
23:42:06  commented item H
23:42:54  "[...] it clearly mekes sense to allow any language which has the concept of a sentence -- maybe any language at all - to allow sentences from other languages to be included anywhere where a sentence of its own could go. This should be a generic feature of XML schemas."
23:42:57  ugh
23:42:59  H:"[...] it clearly mekes sense to allow any language which has the concept of a sentence -- maybe any language at all - to allow sentences from other languages to be included anywhere where a sentence of its own could go. This should be a generic feature of XML schemas."
23:42:59  commented item H
23:43:40  H:"There is currently (1999/9) much debate in the XML world over exactly what defines a language, [...] If this debate resolves itself such that athe identity of a language is not clearly defined. In that case the XML namespace mechanism may prove an insufficiently firm foundation for the semantic web, or any application of data on the web."
23:43:40  commented item H
23:44:31  I realized the other day (writing it up now) one of the key technical XML vs. RDF issues is in this idea of moving sentences 
23:45:37  given two trees, when merged the result may not be a tree - so merging two XML docs one to another is arbitrarily hard if result must be in XML.  graph to graph guarantees a graph - so RDF allows this kind ofg merging 
23:46:33  yeah... discussed a bit in http://www.w3.org/DesignIssues/RDF-XML
23:47:15  the ordering of statements is unimportant in XML RDF, which is what makes it different
23:48:04  dang, this Berners-Lee guy is a sharp cookie!
23:48:11  heh, heh, heh
23:48:54  F:Kinda proposes a mix between Tim's [http://www.w3.org/DesignIssues/Generic|Generic] and [http://www.w3.org/2000/10/swap/pim/doc.n3|Doc] vocabularies
23:48:54  commented item F
23:50:25  but it isn't just ordering - the graph to graph vs. tree to tree is actually more complex than that.  
23:51:36  * AaronSw reconnects
23:52:24  yeah...
23:52:38  ugh: "If the URI of this page is used as a namespace name then it refers to the namespace which contains these classes and properties (prefixed by "u" above)." - http://www.w3.org/DesignIssues/Generic
23:54:45  * sbp waves to Aaron
23:59:59  * AaronSw disconnects