This is an automatically generated IRC chat log made by the logger bot from the Semantic Web Interest Group IRC chat at irc://irc.freenode.net/rdfig (also known as server irc.freenode.net channel #rdfig if that URI does not work for you).
NOTICE: #rdfig logs are being turned off 2004-12-03. Please
switch to the new and
shiny #swig channel for Semantic Web Interest Group chat.
Change your client to #swig and enjoy the new experience.
Or read the latest #swig logs
to see what you've been missing :)
Semantic Web Interest Group Logs > 2003 > 2003-03 > 2003-03-02 (Latest) (Search)
00:00:04 * dmiles hopes spelling is still readable
00:00:28 <dmiles> so Bijan has made the reasoner work of foaf right?
00:00:41 <DanC> ?
00:00:57 <dmiles> Bijan has made a reasoner for RDF tripples
00:01:11 * JosD_ would like to give DanC a snip; it't a Leffe (though not a triple, just a double)
00:01:16 <dmiles> and i was guessing he was up agaist some looping problems
00:01:40 <dmiles> then beyond looping.. there also identity problems
00:02:14 <dmiles> some software it looks to exist that deals with both of these things.. but separately
00:02:15 * JosD_ 's loopings problems started in 86 with Tutbo Prolog...
00:02:29 <DanC> interesting!
00:03:06 * JosD_ meant Turbo Prolog
00:03:15 <dmiles> there are 3 ways i know to solve looping: 1) creating a unlooped flat space
00:03:29 <DanC> I gather Bijan's recent work is on OWL Lite. rather on the 'neat' end of the spectrum. foaf is rather scruffy. I'd be quite surprised if these foaf data made any sense in OWL Lite.
00:03:34 <dmiles> (forward chain and cache universe)
00:04:24 <dmiles> did OWL start out with a reasoner?
00:04:28 * JosD_ finds the lack of #'s in http://xmlns.com/foaf/0.1/index.rdf quite unacceptable
00:04:46 <DanC> see A:, jos. ;-)
00:04:58 <eikeon> A:
00:04:58 <dc_rdfig>http://rdfweb.org/issues/show_bug.cgi?id=9
00:04:59 <dc_rdfig> looking up foaf properties fails/misleads
00:05:00 <dc_rdfig> (1:DanC) on the use of # vs / in foaf
00:05:01 <dc_rdfig> (2:danbri) Yeah, I spent an afternoon trying to get Apache httpd.conf to redirect all those URIs to http://xmlns.com/foaf/0.1/
00:05:02 <dc_rdfig> (3:DanC) then you'd run into httpRange-14, and I still wouldn't be happy.
00:05:03 <dc_rdfig> (4:danbri) But I didn't manage it with regexes etc., I forget why now. I might have to do it by hand, ie. a separate moved-temporarily for each property and class.
00:05:04 <dc_rdfig> (5:danbri) Re httpRange-14, I'm in the same boat as Dublin Core, RSS 1.0, my wordnet-in-rdf vocab, Adobe (http://ns.adobe.com/iX/1.0/), ...
00:05:06 <dc_rdfig> (6:DanC) same boat... yes... but those others haven't bitten me as hard yet. ouch... adobe too? sigh.
00:05:08 <dc_rdfig> (7:danbri) Can you give an example of a system that thinks "that documents and properties are disjoint", and has proved useful? (Note that the 'error-finding diagnostic' case is only compelling for those that believe they're disjoint, so I'm not gonna change to seeing them as disjoint solely because it'll then create a new class of errors to detect!)
00:05:13 <dc_rdfig> (8:DanC) not yet. but the future is longer than the past, and you can decide later that two names mean the same thing. if you ever agree that you're using the same name for two different things, you're hosed.
00:05:16 <dc_rdfig> (9:danbri) I buy that argument. Strangely enough it is why I steered clear of '#' in my ns names. I was worried that http://www.w3.org/Icons/w3c_main#foo denoted at least two things, depending on context.
00:05:19 <dc_rdfig> (10:danbri) I've closed this [http://rdfweb.org/issues/show_bug.cgi?id=9|issue]: property names such as [http://xmlns.com/foaf/0.1/name|foaf:name] should now dereference OK (by tmp redirects). See issue text for details.
00:05:22 * JosD_ Oh you were actually stronger...
00:06:22 <dmiles> future is longer than the past, and you can decide later that two names mean the same thing.
00:06:45 <dmiles> yeah meaning the same thing is very much a delve into the future
00:07:16 <dmiles> deskolemization is what i have heard this called once
00:07:20 * JosD_ thinks that code can be tolerant w.r.t. lack of #, but it's leading to ambiguity
00:07:36 <dmiles> you are unengineering the meaning of the names
00:07:59 <dmiles> until now you identity riddles are solved via meanings intersection
00:08:20 <dmiles> errm your identity riddles are solved via meanings intersection
00:08:44 <DanC> A:he closed this bug after fixing the bug, and opened [a new issue on # vs /|http://rdfweb.org/issues/show_bug.cgi?id=10]
00:08:45 <dc_rdfig> Added comment A11.
00:08:54 <dmiles> one of the first ways to get there is to allow open-world reasoning i think
00:08:59 <DanC> A11:he closed this bug after fixing the 404 part of the bug, and opened [a new issue on # vs /|http://rdfweb.org/issues/show_bug.cgi?id=10]
00:08:59 <dc_rdfig> Replaced comment A11.
00:09:28 <dmiles> if one can be sound in an openworld then its much easier to do soundness for the rest of the project
00:10:37 <dmiles> i think i am looking for a way to contributer now that things take prolog bends
00:11:54 <dmiles> i think i need to install the current things and see what they do.. and if in prolog maybe add extra interfaces
00:12:25 <DanC> 'did OWL start with a reasoner?' ... er... no? yes? several? hmm... not sure what you meant. Many WG members implement reasoners.
00:13:26 * JosD_ likes that "open-world reasoning3
00:13:28 <dmiles> oh yeahj i was asking if there was any particualr reasoner to use
00:13:33 * DanC really underestimated the size of the job when he agreed to co-chair http://www.w3.org/2001/sw/meetings/tech-200303/ . 52 people are registered!
00:13:43 <dmiles> but sounds like thats still open for developement
00:14:05 * JosD_ thinks that DanC can manage that
00:14:27 <dmiles> JosD_: if one canonicalizes logic to explicit negation it becomes open-world
00:14:52 <dmiles> just sometimes this level of completeness can get very hairy
00:15:19 <JosD_> OK, what would you do with log:complementOf
00:15:20 <dmiles> and i found that 2 differnt prolog balckboards handle the problem better
00:16:18 <dmiles> that is a symetric binary predicate to inverted arguments?
00:16:28 <JosD_> that n different stuff is indeed the way to go I think
00:16:39 <dmiles> ok i see the question now..
00:16:56 <dmiles> (a log:complementOf b) in prolog would be:
00:16:58 <DanC> jos, I don't understand your issue with log:complementOf. You can't completely axiomatize it in horn rules, but that's not news, is it?
00:17:14 <dmiles> it can be yes turned to horne
00:17:16 <JosD_> oops dmiles, I meant owl:complementOf
00:17:18 * DanC thinks it's owl:complementOf, no?
00:17:32 <dmiles> but only in openworld reasoner does it stay sound
00:17:59 <dmiles> well its not iself unsound in closed world ;P
00:18:08 <JosD_> DanC, it contains the rest of the world!
00:18:09 <DanC> { ?X a ?C1. ?Y a ?C2. ?C1 owl:complementOf ?C2 } => { ?X owl:differentFrom ?Y } . #one theorem about complementOf
00:18:48 <dmiles> allows us to NOT a single class, i.e. designates the class of instances that are not instances of that class
00:18:50 <DanC> complementOf assumes the law of excluded middle, yes, jos. makes me uneasy. but LEM is all thru OWL.
00:19:30 <JosD_> well, we had about 5 of such theorems; USELESS
00:19:30 * dmiles is sure he can Horne clasue it out but needs an example
00:20:04 * DanC doubts dmiles can axiomatize complement in horn clauses
00:20:05 <dmiles> complient of is an example of good explicit negation
00:20:32 <JosD_> dmiles, even your fingernail is in that class ;-)
00:21:09 <dmiles> well i add one wrapper that destinguishes the type of negation
00:21:10 * danbri wanders past, catches up
00:21:19 <JosD_> ... and I think even unicorns...
00:21:20 <danbri> JosD, sorry you dissaprove of the lack of #
00:21:22 <dmiles> ~a is very definert then the literal not a
00:22:11 <JosD_> yes danbri, on the grounds that the page is different from the formula written on it
00:22:13 <DanC> (forall (?C1 ?C2) (<=> (owl:complementOf ?C1 ?C2) (forall (?X) (<=> (rdf:type ?X ?C1) (not (rdf:type ?X ?C2)))))) # a specification of owl:complementOf in terms of rdf:type, in KIF
00:22:41 <dmiles> ok 3 minites to canonicalize to horne clause
00:22:58 <dmiles> me thanks for the KIF version :)
00:22:59 <JosD_> DanC, would that work for OWL Full, I don't think so...
00:23:09 <DanC> why not, jos?
00:23:36 <danbri> JosD, works are also different from the representations you can HTTP GET / negotiatiate of them from HTTP servers
00:24:33 <danbri> try
00:24:34 <danbri> HEAD -H 'Accept: image/bogus' http://www.w3.org/Icons/w3c_main
00:24:40 <danbri> 406 Not Acceptable
00:24:40 <danbri> Connection: close
00:24:40 <danbri> Date: Sun, 02 Mar 2003 00:24:25 GMT
00:24:40 <danbri> Server: Apache/1.3.27 (Unix) PHP/3.0.18
00:24:40 <danbri> Vary: negotiate,accept
00:24:41 <danbri> Content-Type: text/html; charset=iso-8859-1
00:24:43 <danbri> Alternates: {"w3c_main.png" 0.7 {type image/png} {length 5904}}, {"w3c_main.gif" 0.5 {type image/gif} {length 5684}}
00:24:46 <danbri> Client-Date: Sun, 02 Mar 2003 00:24:29 GMT
00:24:50 <danbri> Client-Response-Num: 1
00:24:52 <danbri> TCN: list
00:24:52 <dc_rdfig> Label TCN not found.
00:24:54 <danbri> one thing, two representations
00:25:43 <danbri> I'm prepared to be persuaded on this. We could just about move FOAF over to using http://xmlns.com/foaf/1.0/# if we act quick...
00:26:14 <JosD_> DanC, can you entail that your broken finger is in owl:complementOf (rdf:Class)?
00:26:38 * danbri muses on possible compromises...
00:27:03 <eikeon> "Strangely enough it is why I steered clear of '#' in my ns names. I was worried that http://www.w3.org/Icons/w3c_main#foo denoted at least two things, depending on context."
00:27:11 <danbri> we might agree that no things with http: names are SpatialThings
00:27:23 <danbri> which covers classes and properties as well as abstract works
00:27:25 <JosD_> DanBri, so you think that CONNEG solves the ambiguity?
00:27:27 * eikeon is curious if there are any examples of the clashes that come up when using #
00:27:47 <danbri> No, I think conneg + rfc2396 is part of the confusion
00:28:03 <danbri>http://www.ietf.org/rfc/rfc2396.txt
00:28:03 <dc_rdfig> A: http://www.ietf.org/rfc/rfc2396.txt from danbri
00:28:13 <danbri> A:|RFC2396 - Uniform Resource Identifiers (URI): Generic Syntax
00:28:13 <dc_rdfig> Titled item A.
00:29:17 <JosD_> OK DanBri, but being explicit e.g. with log:semantics isn't that great?
00:29:19 <danbri> A:section 4.1. Fragment Identifier, "The semantics of a fragment identifier is a property of the data
00:29:19 <danbri> resulting from a retrieval action, regardless of the type of URI used
00:29:19 <danbri> in the reference."
00:29:19 <dc_rdfig> Added comment A1.
00:29:40 <danbri> A:section 4.1. Fragment Identifier, "The semantics of a fragment identifier is a property of the data resulting from a retrieval action, regardless of the type of URI used in the reference."
00:29:40 <dc_rdfig> Added comment A2.
00:29:48 <danbri> A2=""
00:29:52 <danbri> A2:""
00:29:52 <dc_rdfig> Deleted comment A2.
00:29:56 <danbri> A1:section 4.1. Fragment Identifier, "The semantics of a fragment identifier is a property of the data resulting from a retrieval action, regardless of the type of URI used in the reference."
00:29:56 <dc_rdfig> Replaced comment A1.
00:30:12 <danbri> JosD, I'm not sure what you mean.
00:30:38 <danbri> I prefer to use URI(refs) that have a single denotation, rather than ones that RFC2396 suggests may have context-specific denotation/meaning
00:30:43 <DanC> woah... new Z-day?
00:31:00 <danbri> z-day?
00:31:18 <dmiles> ok canicialized
00:31:21 <DanC> did we cross 0000Z?
00:31:38 <eikeon> 32 mins ago.
00:31:47 <DanC> the chump rolled over like it's a new day
00:31:53 <danbri> yup, good point. I should be packing for Boston!
00:31:53 <danbri> And soldering the power connector back on my laptop...
00:32:03 <danbri> it _is_ a new day, yankees
00:32:17 <dmiles> (entails((not type(C, A)and type(C, A)or not type(C, A))and (type(C, A)or not type(C, A)and type(C, A)), type(C, B))and entails((type(C, B)and not type(C, B)or type(C, B))and (not type(C, B)and type(C, B)or not type(C, B)), not type(C, A))and entails((type(C, B)and not type(C, B)or not type(C, B))and (not type(C, B)and type(C, B)or type(C, B)), type(C, A))and entails((type(C, A)or not type(C, A)and type(C, A))and (not type(C, A)and type(C, A)
00:32:40 * eikeon needs to fix power connector on vaio... wonder if danbri has any advice.
00:32:45 <dmiles> erm i'll post it to a webpage ;(
00:32:47 <danbri> bummer, I can't comment on 'yesterdays' chumpings any more
00:33:02 <danbri> eikeon, my advise: don't let me near it with a soldering iron!
00:33:12 <eikeon> danbri: lol
00:33:26 <danbri> you'll thank me for it when you see mine...
00:33:34 <JosD_> DanBri, the uri log:semantics ?f is the case where ?f denotes the rdf formula and not the web page
00:33:50 * DanC dons 'will solder for beer' sign
00:34:05 <eikeon> Yet to see how mine is going to turn out... have been putting off hacking on it out of fear... but it needs fixing.
00:34:35 <danbri> JosD, thats a handy approximation, but HTTP takes a bunch of arguments and context etc to model properly (DanC had some nice stuff in Larch to that end, a while ago...)
00:34:50 <LTjake> Hello all.
00:34:55 <mortenf> nn.
00:34:56 * danbri waves
00:35:00 <danbri> cu mortenf
00:36:17 <DanC> JosD_, the argument about document vs. formulas is actually not compelling. cwm worked fine before we 'fixed' that. The argument becomes convincing (to me anyway) if you can zoom out, but it's not compelling in any one local case.
00:36:55 <JosD_> I understand DanBri, it's just that an appropriate level of explicitness seems to be in place
00:38:06 <danbri> I'd be more convinced/concerned if there were a library of useful knowledge about 'Document' in the HTTP sense, one that encompassed everything that can have a non-#-http-name, and not just stereotypical Web 'page' (eg. HTTP SOAP services; streaming media, 404s, ...).
00:38:15 <JosD_> That's right DanC (our Euler code also worked well) and I think Tim said that very well in a mail
00:39:28 <DanC> timbl's gift is for seeing the effect of the "gas laws" at scale when the rest of us are just getting the first 10 or 20 molecules bouncing off each other.
00:40:13 <dmiles> DanC: i horned claused that definating
00:40:19 <dmiles> there are 14 clauses
00:40:23 <DanC> do tell, dmiles
00:40:33 <dmiles> here is the first
00:40:34 <dmiles> entails((not type(C, A)and type(C, A)or not type(C, A))and (type(C, A)or not type(C, A)and type(C, A)), type(C, B))
00:40:54 <DanC> or?
00:40:56 <dmiles> this means that type(C, B) may be proven if (not type(C, A)and type(C, A)or not type(C, A))and (type(C, A)or not type(C, A)and type(C, A))
00:41:08 <dmiles> i can list all 14
00:41:13 <DanC> there's no or in a horn clause, is there?
00:41:27 * JosD_ agrees
00:41:40 <dmiles> the not/1 is meta predicate thats used for a DB.. NOT negation
00:41:55 <dmiles> ok well you can create two worlds
00:42:00 <DanC> no not/1 in a horn clause either.
00:42:03 <dmiles> one world everything is proven false
00:42:13 <dmiles> the otehr can only prove things truie
00:42:38 <dmiles> in the true world it produced 7 clauses
00:42:43 * DanC isn't quite clear on what a horn clause is, actually; any pointers to canonical/consensus definitions?
00:42:45 <dmiles> in the false wiorld the other 7
00:43:02 <dmiles> so to do open world infernce you must use all 7
00:43:07 <dmiles> err all 14
00:43:28 <DanC> dmiles, we don't seem to be using "horn clause" the same way.
00:43:29 <dmiles> basicly i create two horn DBs.. the accessorFn for the other db is not(_)
00:43:54 <dmiles> yes a little defiernt but your defination subsumes mine
00:44:09 <DanC> ?
00:44:15 <dmiles> horn cluase is a list of entailments corect?
00:44:17 <dmiles> Lemmes
00:44:49 <dmiles> basicly a horne clause is a rule you cannot use Modus Tollens on
00:44:51 * JosD_ is living with disjunction with at most 1 positive literal
00:44:55 <DanC> it's Q <- P, P2, P3... where the Q and P are positive literals.
00:45:16 <DanC> i.e. no not, no or.
00:45:43 <dmiles> ok i will skolem the negs :)
00:45:49 <DanC> and no forall in the P's. (only an implicit forall around the whole set of clauses)
00:45:53 <dmiles> (will make it easier for you to read)
00:46:09 <JosD_> which is ~P v ~P2 v ... Q
00:46:13 <DanC> yes.
00:46:57 <dmiles> let me show you how i turn P->Q into horne clauses
00:47:14 <dmiles> Q:-P , ~P:-~Q
00:47:14 <dc_rdfig> Label Q not found.
00:47:20 <DanC> "A set of atomic literals with at most one positive literal." -- http://wombat.doc.ic.ac.uk/foldoc/foldoc.cgi?Horn+clause
00:47:45 <dmiles> or Q:-P , not(P):-not(Q)
00:47:58 <dmiles> is this correct?
00:48:11 * DanC isn't following
00:48:35 <dmiles> can you conver P->Q into a Horne?
00:48:39 <dmiles> err convert
00:48:58 <DanC> er... yeah: Q<-P. trivial, no?
00:49:18 <dmiles> i would think that is incoect
00:49:24 <dmiles> incorrect
00:49:27 <JosD_> no, not(P) V Q
00:49:42 <dmiles> ok thats conjuctive normal form
00:50:03 <JosD_> I think so
00:50:10 <dmiles> not(P) V Q converted to horne clauses would be?
00:50:23 <DanC> it is a horn clause.
00:50:32 * DanC looked it up... no 'e' on the end. horn
00:50:38 * JosD_ takes another beer
00:51:17 <DanC> and not(P) V Q is the same thing as Q<-P. just different ways to write the same horn clause
00:51:18 <dmiles> ok :) no "e".. but your saying conjuctive normal form is horn clause.. i say clausual normal form is horn clause
00:51:32 <dmiles> clausual normal form = horn clause?
00:52:11 <dmiles> thats prenix normal form: "P->Q"
00:52:25 <DanC> I dunno what clausual normal form is. But I take google+foldoc as authoritative: http://wombat.doc.ic.ac.uk/foldoc/foldoc.cgi?Horn+clause
00:52:27 <dmiles> converted to conjunctive normal form is "not(P) V Q"
00:52:40 <dmiles> ok looking at that
00:54:05 <dmiles> so would "Q <- P" be a horn clause?
00:54:10 <DanC> yes
00:54:17 <JosD__> yes
00:54:25 <dmiles> what about "Q -> P"
00:54:38 <DanC> um... sorta... if it means P <- Q
00:54:49 * JosD__ looses ADSL connection eveytime he takes a beer
00:54:59 <dmiles> but it doesnt just mean that (what about the rules of modus tollens?)
00:55:25 <dmiles> horn clauses can only denote modus ponens relations
00:55:54 <dmiles> so one has to create two horn clauses for "P->Q"
00:56:18 <DanC> ?
00:56:36 <DanC> P->Q and Q<-P mean the same thing, to me.
00:56:40 <dmiles> the first is: Q<-P
00:57:02 <dmiles> the sencond: not(P)<-not(Q)
00:57:21 <dmiles> -> is implication, <- is entailment
00:57:26 * JosD__ thinks modus tollens is just p=>c & ~c |= ~p
00:57:36 <dmiles> yes
00:57:52 <JosD__> ... which is a kind of resolution
00:58:19 <dmiles> i am producing horn clauses compatible with resolution
00:58:23 <JosD__> they indeed mean the same DanC
00:58:27 <dmiles> (propositional resolution)
00:58:45 <DanC> P->Q, Q<-P, and not(P)<-not(Q) all mean the same thing. the latter is not a horn clause because the literals are not all positive.
00:59:17 <JosD__> :me agrees
00:59:26 <dmiles> so we actuallyu have to produce two special entities
00:59:45 <dmiles> ~P and ~Q
00:59:46 <DanC> why?
00:59:50 <dmiles> those are positive
01:00:03 <DanC> are you assuming some particular proof theory?
01:00:09 <dmiles> yes
01:00:16 <dmiles> propositional resulation
01:00:30 <dmiles> that the entire world consits of only positive literals
01:00:42 <dmiles> not(_) is an index into another world
01:00:50 <DanC> hmm.
01:00:53 <dmiles> but we can ~P and pretend it's possivive
01:01:17 * eikeon is curious why JosD__ loses asdl connection upon taking a beer.
01:01:20 <DanC> is this a textbook technique?
01:01:48 <dmiles> yes.. i'll get two links
01:02:08 * JosD__ has no idea eikeon...
01:02:35 <dmiles> .google Propositional resolution
01:02:37 <danbri> anyone know of an 'rss wishlist' page?
01:02:37 <datum> Propositional resolution: http://logic.stanford.edu/classes/cs157/2003/notes/chap05.pdf
01:02:50 <danbri> eg. I'd love to have http://www.un.org/apps/news/search.asp as an RSS feed...
01:03:08 <dmiles> here is the text book way to produce horn clauses from FOL
01:03:38 <dmiles> (looking)
01:04:22 <dmiles> at: http://cs.wwc.edu/~aabyan/Logic/Horn.html
01:05:04 <JosD__> dmiles, how is owl:complementOf [ owl:oneOf (rdfs:Class)] positive?
01:05:25 <eikeon> ri: no, but I wish that it did not use rdf:Seq for items... and that the schema qualified the domain and range for the properties.
01:05:50 <dmiles> JosD__: owl:complementOf definition produces 14 horn clauses
01:06:11 <DanC> BLURB: making horn clauses from FOL
01:06:12 <dc_rdfig> B: making horn clauses from FOL from DanC
01:06:37 <DanC> B:cf [Propositional resolution|http://logic.stanford.edu/classes/cs157/2003/notes/chap05.pdf]
01:06:38 <dc_rdfig> Added comment B1.
01:06:57 <dmiles> 7 live in the possitive universe 7 in the negation (which is a possitive univase about impossibities)
01:06:59 <DanC> B:and [the text book way to produce horn clauses from FOL|http://cs.wwc.edu/~aabyan/Logic/Horn.html], per dmiles
01:06:59 <dc_rdfig> Added comment B2.
01:07:33 <dmiles> mean i dont really mean 'not' i mean 'absolutely_possitively_impossible' :)
01:07:56 <dmiles> meaning P->Q
01:08:17 <dmiles> 'absolutely_possitively_impossible'(Q) :- 'absolutely_possitively_impossible'(P)
01:08:34 <dmiles> eeks
01:08:43 <DanC> B:gotta noodle on this
01:08:43 <dc_rdfig> Added comment B3.
01:08:45 <dmiles> 'absolutely_possitively_impossible'(P) :- 'absolutely_possitively_impossible'(Q)
01:08:51 <DanC> logger, pointer?
01:08:56 <DanC> logger_1 , pointer?
01:09:00 <DanC> logger_1, pointer?
01:09:00 <DanC> See http://ilrt.org/discovery/chatlogs/rdfig/2003-03-02#T01-09-00
01:09:19 <dmiles> so if you proved 'absolutely_possitively_impossible'(Q) you have also proved (entailed) 'absolutely_possitively_impossible'(P)
01:09:22 <DanC> B:also: [discussion|http://ilrt.org/discovery/chatlogs/rdfig/2003-03-02#T01-09-00]
01:09:22 <dc_rdfig> Added comment B4.
01:09:41 <dmiles> using this system allows a open-world infernce
01:09:50 <sbp`> reg
01:10:03 <JosD__> dmiles, will definitely look into that, I have a belief in log:notIncludes and some such where documents are finite, but still
01:10:05 <dmiles> it just the database is huge and ugly.. but its !00% and 100% complete
01:10:25 <dmiles> err 100% sound and 100% complete
01:10:40 <dmiles> no other system can do that
01:10:45 <dmiles> (that i know of)
01:11:15 <dmiles> so: (forall (?C1 ?C2) (<=> (owl:complementOf ?C1 ?C2) (forall (?X) (<=> (rdf:type ?X ?C1) (not (rdf:type ?X ?C2))))))
01:11:23 <dmiles> compiles into 14 prolog statements
01:11:49 <dmiles> (and two tautolgies that i removed)
01:12:29 <dmiles> (which didnt mean the origianl statement conatied tautolgy)
01:13:03 <dmiles> <JosD__> dmiles, how is owl:complementOf [ owl:oneOf (rdfs:Class)] positive?
01:13:15 <dmiles> i dont understand about the oneOf: part
01:13:33 <dmiles> but i can treat it as thereExistsAtLeastOne
01:14:00 <JosD__> it's a way to define a class by enumerating its elements
01:14:28 <dmiles> for each existential that is used it creates a special function (sometimes called skollems) but not always nescisary
01:14:35 <DanC> dmiles, can you mail those 14 prolog statements to www-archive@w3.org?
01:14:44 <dmiles> yes
01:14:54 <JosD__> very good idea!
01:14:58 <dmiles> :P
01:15:24 <dmiles> KIF or Prolog form?
01:15:33 <DanC> both, if you've got them
01:15:39 <dmiles> yup
01:16:00 <JosD__> we could then try again the DL tests in http://www.w3.org/2002/03owlt/editors-draft/snapshot
01:17:53 * DanC is glad he only said "I doubt it" and not "it cannot be done" when dmiles offered to convert my KIF formula to horn clause form
01:18:00 <DanC> this could be a breakthru
01:18:10 <DanC> for my own personal understanding, anywya
01:20:09 <JosD__> dmiles, could you tackle e.g. tests starting at http://www.w3.org/2002/03owlt/description-logic/Manifest001
01:21:24 <dmiles> yes
01:21:40 <dmiles> still getting my term writer to produce kif
01:21:48 <JosD__> i.e. that http://www.w3.org/2002/03owlt/description-logic/premises001 entails http://www.w3.org/2002/03owlt/description-logic/conclusions001
01:21:55 <dmiles> errm well be a few more minutes
01:26:58 <dmiles> note .. i work arround existentials (so every varible in the resulting prolog form is universal (like the languages))
01:27:24 <DanC> yes, I'd expec that
01:28:17 <JosD__> that's better dmiles
01:29:05 * danbri postpones packing til the morning
01:29:18 <danbri> this owl testing stuff looks interesting
01:30:11 * danbri tries to browse http://www.w3.org/2002/03owlt/ -- finds a bunch of 'forbiddens'
01:30:55 <danbri> DanC, could we set the default ACL to public?
01:31:14 <dmiles> preview at: http://12-212-75-114.client.attbi.com/root/opt/sourceforge/logicmoo/openmodality/iso-prolog/complientOf.pl.txt
01:31:21 <JosD__> well, danbri, click on the links in http://www.w3.org/2002/03owlt/editors-draft/snapshot
01:32:28 <danbri> nice :)
01:32:34 <danbri> i'd not looked at that properly before...
01:34:44 <DanC> ACL: be my guest, danbei
01:34:45 <dc_rdfig> Label ACL not found.
01:35:09 <JosD__> dmiles, just to make sure ; means or isn't it and 'negDB' means?
01:36:04 <dmiles> yes ; = or
01:36:18 <dmiles> and negDB(_) is a dynamic predicate
01:37:26 <dmiles> and op(400,fy,'negDB')
01:38:09 <dmiles> i am not sure of the status on the caniclaizer.. i created an opimizer that may not have taken out the reducancies
01:39:27 <dmiles> the execution order is important on ;
01:39:28 <JosD__> not sure how to write ('negDB' type(C, A), type(C, A); 'negDB' type(C, A)) in N3...
01:39:56 <dmiles> negDB is like a new snamespace
01:40:05 <dmiles> posDB would say be the default
01:40:43 <dmiles> 'negDB' type(C, A) means got over to page negDB and loojk up type(C,A)
01:41:21 <dmiles> which when you look at it 'negDB' you see pointers back to posDB
01:41:45 <dmiles> i really should have put better specifiers on it
01:42:20 <dmiles> looking at complementOf(C1, C2) :- 'negDB' type(X, C2), type(X, C2); 'negDB' type(X, C2), type(X, C1); 'negDB' type(X, C1), type(X, C1); 'negDB' type(X, C1), type(X, C2).
01:42:26 * JosD__ is afraid he either had too much beer, or is just not understanding it...
01:42:27 <dmiles> for instance
01:43:12 <dmiles> on page 1 you can prove complementOf(C1, C2) if
01:43:42 <dmiles> if one page 2 type(X, C2) and.. and so on
01:44:10 <JosD__> dmiles, namespace and page n?
01:44:10 <dmiles> hrrm boy the email is goign to be wuired to line wrap
01:44:51 <dmiles> i made that confussing
01:45:06 <dmiles> forget i said namespace for amoment
01:45:15 <JosD__> ok
01:45:38 <dmiles> and pretend that forAll ?page thereExists ?negDb
01:45:57 <JosD__> ok
01:46:24 <dmiles> while proving something in the context of negDb if its not there its in the origianl Db
01:46:54 <dmiles> i mean unles negDB is wrapped on a litteral then its in the orignal page
01:48:04 <JosD__> wait, is negDB is in the scope of some universals, so its a skolem function, no?
01:48:53 <dmiles> actualy yes in a twisted way :P .. i double negate the skolems to keep them from never apearing
01:49:10 <dmiles> like you know how some people say not exists -> foall not
01:49:35 <JosD__> OK, that I understand
01:49:51 <dmiles> yeah i stay in the universal mode
01:49:57 <dmiles> i avoided making skolems :P
01:50:22 <dmiles> its pretty crazy system.. i have some test results
01:50:59 <dmiles> that show it proving bunch of theoems
01:51:19 <dmiles> the problem is this is 100% and complete.. therefore blows up in real world use
01:53:34 <JosD__> how would you write ('negDB' type(C, A), type(C, A); 'negDB' type(C, A)) in Cloksin Mellish Prolog?
01:54:38 <JosD__> or ISO Prolog?
01:54:52 <dmiles> almost have your answer
01:55:01 <dmiles> negDB(type(_G157, _G158)), type(_G157, _G158);negDB(type(_G157, _G158))
01:55:11 <dmiles> oops lost my varibles
01:55:42 <JosD__> sound terible
01:55:49 <dmiles> :P
01:55:54 <dmiles> it feature of prolog
01:56:15 <dmiles> :-op(400,fy,'negDB').
01:56:25 <dmiles> then it will be able to read it
01:56:34 <JosD__> documented bug
01:57:04 * JosD__ feels it's coming
01:58:21 <dmiles> which prolog are you using?
01:59:26 <JosD__> XSB, SWI, ISO Prolog Executable Specification, ...
01:59:28 * dmiles is trying to find that email to send it to
02:00:02 <dmiles> ok i will have it write canonically
02:00:10 <dmiles> so that it works in all prologs
02:00:29 <dmiles> (canonical means even ; , ops are not special)
02:00:38 <JosD__> that's very nice of yoy :-)
02:01:39 <JosD__> these days I'm mostly using N3, which is really great!
02:03:25 <JosD__> e-mailing to www-archive@w3.org ?
02:04:10 <dmiles> i am rewiting the printer so i dont have to tranliterate
02:04:18 <dmiles> for KIF vs PRolog
02:05:08 <dmiles> this would be very easy for me to trun back on the webpage that you enter log in and combox to the form you want
02:05:42 <dmiles> it output in DNF,CNF,KIF,CLF,Prolog etc
02:06:31 <JosD__> that sounds indeed very interesting
02:08:51 <dmiles> heh it took me 18 months to write it
02:09:04 <dmiles> (the engine) not that part
02:13:26 <JosD__> I can understand that, and I think that you must have had deep feelings in writing that engine
02:14:03 <JosD__> I mean a graet time
02:14:55 <dmiles> yeah.. so i ran it trough most of the constancy tests .. but many people at work fought the whole time ;P
02:15:01 <dmiles> the type of logic choosen
02:15:27 <dmiles> but propositional resolution on horn clasue is greate
02:17:04 <JosD__> I fully agree with that, more than agree
02:17:13 <dmiles> d http://12-212-75-114.client.attbi.com/root/opt/sourceforge/logicmoo/openmodality/iso-prolog/complementOf.pl.txt
02:17:28 <dmiles> that is easier to load maybe
02:18:10 <dmiles> hrrm if i put that into email without explaination.. i dont know
02:18:20 <DanC> what do we do with negDb(complementOf(A, B)) ?
02:18:34 <dmiles> run that over the shawdow DB
02:18:41 <DanC> 'run'?
02:18:48 <dmiles> its a possitive litteral
02:18:48 <DanC> DB?
02:19:23 <dmiles> ah well works as an open-world logic
02:19:25 <DanC> can we just sorta make up a complementOf-not for each relation?
02:19:45 <dmiles> yes
02:19:48 <dmiles> that would work
02:19:58 <DanC> does that make sense, jos?
02:20:21 <DanC> complementOf-not aux:converse complementOf.
02:20:22 <dmiles> rel + rel-not
02:20:51 <dmiles> oh.. this will though you for a sec...
02:20:59 <dmiles> err throw
02:21:41 <dmiles> they actually have a failure relation from each other
02:22:31 <JosD__> oops... lost my connection again, this time without beer (guess it's because they upgraded to 3 MBit/sec)
02:22:48 <dmiles> becaseu you cant prove complementOf-not means you have a legal complementOf
02:22:51 <JosD__> OK, that is perfect dmiles, I sleep over it (it's 3:21 at night here) and try in N3
02:23:30 <dmiles> aux:converse probibly is correct
02:23:37 <dmiles> what is the defination of aux:converse ?
02:24:59 <DanC> I made it up... if P aux:converse Q then P(x,y) <=> not Q(x,y)
02:25:03 <JosD__> DanC (checked weblog) not sure at the moment, I take dmiles for his word and I'm looking forward to test it in N3
02:25:28 <DanC> e.g. owl:sameAs aux:converse owl:differentFrom
02:25:35 <dmiles> ok ./. i forget what am i going to do again?
02:25:46 <dmiles> run a test suite and set up a webpage
02:26:00 <DanC> sigh... more identity glitches...
02:26:02 <DanC> <itin-ij2.n3#feb5> a :Wednesday;
02:26:02 <DanC> dt:date "2003-02-05" .
02:26:04 <DanC> vs.
02:26:09 <dmiles> the suite is at: http://www.w3.org/2002/03owlt/editors-draft/snapshot
02:26:10 <DanC> <itin1.n3#_gdayWEDNESDAY05_2> a :Wednesday;
02:26:10 <DanC> dt:date "2003-02-05" .
02:27:23 <dmiles> oh and the w3 email ;P
02:28:18 <dmiles> well hrrm that webpage complimentOf.pl.txt ddi you see that DanC?
02:28:57 <JosD__>http://12-212-75-114.client.attbi.com/root/opt/sourceforge/logicmoo/openmodality/iso-prolog/complementOf.pl.txt
02:28:57 <dc_rdfig> C: http://12-212-75-114.client.attbi.com/root/opt/sourceforge/logicmoo/openmodality/iso-prolog/complementOf.pl.txt from JosD__
02:29:25 <dmiles> negDb(type(C, B)) is the same as 'type-not'(C,B)
02:29:29 <DanC> yes, complementOf.pl.txt fills much of my screen
02:29:36 <DanC> type-not... yes.
02:30:16 <dmiles> 'type-not'(C,B) you notice uses no negation by failure
02:30:40 <DanC> I didn't notice, but I'm pleased to hear
02:31:12 <dmiles> the idea is that nothing is proved by failure .. (why it's openworld)
02:31:47 <dmiles> but there is very much it cant prove
02:32:00 <JosD__> C:| Prolog clause for owl:complementOf
02:32:00 <dc_rdfig> Titled item C.
02:32:45 <JosD__> looks very promising; propositional resolution; by dmiles
02:32:57 <JosD__> C: looks very promising; propositional resolution; by dmiles
02:32:57 <dc_rdfig> Added comment C1.
02:34:32 <dmiles> well i am hoping to see what could be intergrated.. Bijan has been workinbg on an Owl prover
02:34:55 <dmiles> i have been writting a planner that uses a prop resolution db
02:35:22 <DanC> ah... cool... cwm learned something I didn't mean to tell it...
02:35:40 <dmiles> ?
02:35:46 <DanC> I told it "if you take a trip somewhere, there's a cyc:subAbs of you while you're there"
02:36:15 <DanC> and I told it about my trip to SNA, and it learned about 'me in the SNA area', as expected...
02:36:37 <dmiles> ah created a functional you
02:36:38 <DanC> but it also discovered 'me in DFW', cuz I stopped there along the way.
02:36:50 <DanC> [[[------
02:36:51 <DanC> <http://www.w3.org/People/Connolly/home-smart#me> :subAbs [
02:36:52 <DanC> :endingDate <itin1.n3#_gdaySATURDAY08_6>;
02:36:52 <DanC> :myEntity <http://www.w3.org/People/Connolly/home-smart#me>;
02:36:52 <DanC> :objectFoundInLocation <#_g2>;
02:36:52 <DanC> :startingDate <itin1.n3#_gdaySATURDAY08_6> ],
02:36:53 <DanC> [
02:36:55 <DanC> :endingDate <itin1.n3#_gdaySATURDAY08_6>;
02:36:57 <DanC> :myEntity <http://www.w3.org/People/Connolly/home-smart#me>;
02:36:59 <DanC> :objectFoundInLocation <#_g3>;
02:37:03 <DanC> :startingDate <itin1.n3#_gdayWEDNESDAY05_2> ] .
02:37:05 <DanC> ]]]
02:37:57 <DanC> g2 is the/a cyc:UrbanArea aound DFW. g2 is around Sna
02:39:00 <JosD__> that's cool DanC
02:39:37 * DanC is gonna get everybody putting their travel schedules on the semweb yet!
02:40:04 <DanC> some of the foaf guys have tackled PGP-encrypted distribution
02:40:18 <DanC> so you don't even have to take huge privacy risks.
02:41:00 * DanC tends to domestic stuff for a bit..
02:41:46 <JosD__> well indeed and cwm-crypto is TODO
02:43:04 <dmiles> % API server started on port 3677.
02:43:04 <dmiles> [PROLOG SYSTEM ERROR: Thread 3
02:43:13 <dmiles> hrrm almost have it
02:43:26 <JosD__> dmiles, that was an amazing trip, thanks a thousand times and have a great time
02:43:51 <dmiles> DanC you meant
02:45:18 <dmiles> ok http://12-212-75-114.client.attbi.com:3766/ night work
02:46:45 <dmiles> adding a link next to Tests: _infernce_ _canonicalizer_
02:47:04 <dmiles> _canonicalizer_ will be the Log form veiwer
04:58:43 <dmiles> hrrm
05:51:02 <dmiles>http://12-212-75-114.client.attbi.com:3677/canonicalizer.moo?formula=%28forall+%28%3FC1+%3FC2%29+%28%3C%3D%3E+%28owl%3AcomplementOf+%3FC1+%3FC2%29+%28forall+%28%3FX%29+%28%3C%3D%3E+%28rdf%3Atype+%3FX+%3FC1%29+%28not+%28rdf%3Atype+%3FX+%3FC2%29%29%29%29%29%29&submit=Convert
05:51:02 <dc_rdfig> D: http://12-212-75-114.client.attbi.com:3677/canonicalizer.moo?formula=%28forall+%28%3FC1+%3FC2%29+%28%3C%3D%3E+%28owl%3AcomplementOf+%3FC1+%3FC2%29+%28forall+%28%3FX%29+%28%3C%3D%3E+%28rdf%3Atype+%3FX+%3FC1%29+%28not+%28rdf%3Atype+%3FX+%3FC2%29%29%29%29%29%29&submit=Convert from dmiles
05:51:40 <dmiles> D|: Canonicalizer that converts KIF froms to Entailments for Resolution
05:51:47 <dmiles> D:| Canonicalizer that converts KIF froms to Entailments for Resolution
05:51:48 <dc_rdfig> Titled item D.
05:52:26 <dmiles> D:| Canonicalizer that converts KIF forms to Entailments for Resolution Proving
05:52:26 <dc_rdfig> Titled item D.
05:53:24 <dmiles> D: The output can be a little anoying in that it defines a new operator "entails"
05:53:25 <dc_rdfig> Added comment D1.
05:55:10 <dmiles> D: Easier to read and understand [http://12-212-75-114.client.attbi.com:3677/canonicalizer.moo?formula=%28forall+%3Fx+%28%3D%3E+%28p+%3Fx%29%28q+%3Fx%29%29%29&submit=Convert]
05:55:10 <dc_rdfig> Added comment D2.
05:55:14 <dmiles> d:
05:55:18 <dmiles> D:
05:55:18 <dc_rdfig>http://12-212-75-114.client.attbi.com:3677/canonicalizer.moo?formula=%28forall+%28%3FC1+%3FC2%29+%28%3C%3D%3E+%28owl%3AcomplementOf+%3FC1+%3FC2%29+%28forall+%28%3FX%29+%28%3C%3D%3E+%28rdf%3Atype+%3FX+%3FC1%29+%28not+%28rdf%3Atype+%3FX+%3FC2%29%29%29%29%29%29&submit=Convert
05:55:19 <dc_rdfig> Canonicalizer that converts KIF forms to Entailments for Resolution Proving
05:55:20 <dc_rdfig> (1:dmiles) The output can be a little anoying in that it defines a new operator "entails"
05:55:21 <dc_rdfig> (2:dmiles) Easier to read and understand [http://12-212-75-114.client.attbi.com:3677/canonicalizer.moo?formula=%28forall+%3Fx+%28%3D%3E+%28p+%3Fx%29%28q+%3Fx%29%29%29&submit=Convert]
05:55:39 <dmiles> D: "(forall (?x) (=> (p ?x) (q ?x)))"
05:55:40 <dc_rdfig> Added comment D3.
05:55:52 <dmiles> D: converts to:
05:55:52 <dc_rdfig> Added comment D4.
05:56:02 <dmiles> D: "(entails (not (q ?x)) (not (p ?x)))"
05:56:02 <dc_rdfig> Added comment D5.
05:56:12 <dmiles> D: "(entails (p ?x) (q ?x))"
05:56:13 <dc_rdfig> Added comment D6.
05:56:49 <dmiles> D: the form of (not (q ?x)) is virtually (q-not ?x)
05:56:50 <dc_rdfig> Added comment D7.
05:58:10 <dmiles> D: under this form, there are two universes positive and negative KB.. a much better form will be the 4 universe form which will soon be put on page
05:58:10 <dc_rdfig> Added comment D8.
05:58:50 <dmiles> D8: under this form, there are two universes positive and negative KB.. but a much better form will be in 4 universes form which will soon be put on page
05:58:50 <dc_rdfig> Replaced comment D8.
06:00:19 <dmiles> D: First 2 Universes - positive universally quantified literals,negative universally quantified literals
06:00:19 <dc_rdfig> Added comment D9.
06:00:52 <dmiles> D: Last 2 Universes - positive existentually quantified literals,negative existentually quantified literals
06:00:52 <dc_rdfig> Added comment D10.
06:01:35 <dmiles> D: In the last two, every variable that appears in literal can only be bound once
06:01:35 <dc_rdfig> Added comment D11.
06:20:39 <DanC> whoohoo! http://www.w3.org/2001/sw/meetings/tech-200303/tpreg.rdf
06:21:11 <DanC> that went SQL->RDF via dbview.py , then got formatted, client-side, using whoFmt.xsl
06:21:26 <dmiles> excelent
06:21:48 <dmiles> so you can make a DB source into something we can do RDFish infernce on
06:22:04 <dmiles> (is what i am gathering)
06:22:22 <DanC> yup
06:23:04 <DanC> dbview.py is pretty dumb, but EricP and I are working with timbl to do some pretty cool N3/SQL stuff.
06:23:31 <dmiles> well dbview.py is a good tool for what its intended ;P
06:23:33 <DanC> i.e. pushing as much of the N3 query down into SQL as we can
06:24:09 <dmiles> well .. question i have about that: once you have pushed some N3 to SQL and not others..
06:24:29 <dmiles> the engine that leverages the data would need to cache it
06:24:47 <dmiles> meaing you dont want to take the same trip to SQL over and over
06:24:51 <dmiles> err
06:24:53 <dmiles> meaning you dont want to take the same trip to SQL over and over
06:25:16 <dmiles> anyways one interesting area is how to make the total query optimized
06:25:41 <dmiles> so that if there is a cool JOIN one can prefactor it
06:26:21 <DanC> ah... better formatting now... http://www.w3.org/2001/sw/meetings/tech-200303/tpreg.rdf
06:26:44 <dmiles> still getting "Keyword xsl:stylesheet may not contain PCDATA nodes.
06:26:49 <DanC> hmm... XSLT sort didn't work.
06:27:09 <dmiles> but source is more balanced
06:27:31 <dmiles> hrrm wait i got the same
06:28:37 <DanC> sigh... so many people left the http:// out of the URI when they registered
06:30:08 <dmiles> the http://12-212-75-114.client.attbi.com:3677/canonicalizer.moo is the page i was talking abnout earlier that shows the logical forms of statements
06:30:51 <dmiles> but i see it was left off hiding the skolems from sures.. still have to fix that
06:30:59 <dmiles> from users
06:32:44 <dmiles> (forall ?x (exists ?y (=> (isa ?x human) (and (isa ?y heart) (has ?x ?y)))))
06:32:55 <dmiles> is a good thing to do on that page
06:35:54 <DanC> try once more? http://www.w3.org/2001/sw/meetings/tech-200303/tpreg.rdf
06:36:18 <dmiles> Keyword xsl:stylesheet may not contain PCDATA nodes.
06:36:31 <DanC> dunno what that's about
06:37:52 <dmiles> seems like it's cached.. will dump it
06:38:49 <dmiles> Cannot view XML input using XSL style sheet
06:39:00 <dmiles> ok IE thong
06:39:04 <dmiles> thing
06:42:20 <DanC> aha! sorted, now. http://www.w3.org/2001/sw/meetings/tech-200303/tpreg.rdf
06:46:51 <dmiles> nice .. is that tux.w3.org:7000/administraton special to the DB software?
06:47:19 <DanC> er... yeah...
06:47:31 <dmiles> oops i asked that wrong
06:47:44 * DanC shuts down dbview on tux:7000
06:47:45 <dmiles> xmlns:tables= for al tables in SQL?
06:48:24 <DanC> yes, that's a namespace of the tables in the administraton DB
06:48:43 <dmiles> ok so each DB server should try to export their pown tales=
06:48:59 <dmiles> there own tables=
06:49:20 <DanC> yup
06:49:42 <dmiles> pretty cool.. you are getting together a system that i dont have to know anything about RDF yet i can publish my data
06:49:52 <DanC> yup!
06:51:38 <dmiles> :)
06:52:18 * DanC noodles on rules to make foaf data out of http://www.w3.org/2001/sw/meetings/tech-200303/tpreg.rdf
06:53:13 <DanC> hm... but I'm not exporting the email addresses, for privacy (ha!) reasons
06:54:28 <DanC> hm...
06:54:30 <DanC> com.jclark.xsl.om.XSLException: illegal data characters inside xsl:stylesheet
06:56:47 <dmiles> (same error as i got)
06:58:09 <dmiles> might be header on whoFmt.xsl
06:58:31 <dmiles> (or not finding)
06:58:43 <DanC> I just moved the comment from inside the xsl:stylesheet to outside/before
06:59:33 <DanC> aha! found it...
07:00:04 <dmiles> you just updated it?
07:00:23 <DanC> now I did
07:00:30 <dmiles> refering to http://www.w3.org/2001/sw/meetings/tech-200303/whoFmt.xsl
07:00:38 <dmiles> works now
07:00:44 <DanC> whoFmt.xsl,v 1.13 2003/03/02 07:00:20
07:00:48 <DanC> good.
07:01:04 <DanC> it was an extra >
07:01:15 <dmiles> *nod*
07:01:42 <DanC> output, via xsltproc: http://www.w3.org/2001/sw/meetings/tech-200303/tpreg-out.html
07:02:08 <dmiles> yup looks the same
07:07:17 <mdupont-ZZZZ> mdupont-ZZZZ is now known as mdupont
07:13:41 <DanC> added "Aside: Fun with Relational Databases on the Semantic Web" to http://www.w3.org/2001/sw/meetings/tech-200303/#who
07:14:58 <mdupont> dmiles: you still awake?
07:20:21 <dmiles> yes
07:20:28 <dmiles> putting babyto bed
07:20:41 <dmiles> will be back in 30 minutes
07:30:04 <dmiles> baby pics: http://home.attbi.com/~chanpigface/zaltana.htm
07:33:26 <dmiles> ok ten more minutes
07:33:50 * dmiles can only accasionally reach for keyboard
07:58:15 <dmiles> mdupont: the infernce engine part of the code is under new work but i am happy to leverage other engines ..
07:58:35 <mdupont> dmiles: i am just looking into mercury
07:58:40 <mdupont> it has a dotgnu backend
07:58:43 <mdupont> that i am testing
07:59:18 <dmiles> the planning codebase is what i am still working on
07:59:40 <dmiles> pilot knows: isa(pilot, Pilot)
07:59:40 <dmiles> guest knows: isa(airplane666, Airplane)
07:59:40 <dmiles> pilot remembers: Walking
07:59:40 <dmiles> pilot knows: [isa(airplane666, Airplane), at(airplane666, GateFn(seatac_wa))] makes true: pathTraversal(Walking, GateFn(seatac_wa), CabinFn(airplane666))
07:59:40 <dmiles> From GateFn(seatac_wa), pilot does Walking to CabinFn(airplane666)
07:59:41 <dmiles> pilot knows: [isa(airplane666, Airplane)] makes true: pathTraversal(Walking, CabinFn(airplane666), CockpitFn(airplane666))
07:59:44 <dmiles> From CabinFn(airplane666), pilot does Walking to CockpitFn(airplane666)
07:59:46 <dmiles> pilot knows: [isa(pilot, Pilot), isa(airplane666, Airplane), in(pilot, CockpitFn(airplane666))] makes true: doesPilot(pilot, airplane666)
07:59:49 <dmiles> pilot taxiied airplane666 to the runway at seatac_wa
07:59:51 <dmiles> airplane666 took off from seatac_wa.
07:59:53 <dmiles> airplane666 raised landing gear
07:59:55 <dmiles> pilot knows: flight_path(seatac_wa, fort_worth_tx)
07:59:57 <dmiles> airplane666 cruised towards fort_worth_tx.
07:59:59 <dmiles> thats an example of the planner so far
08:00:06 <dmiles> i am making sure each agent is in control though of their tasks
08:00:42 <dmiles> alot of this depends on the performance of testing facts
08:01:28 <dmiles> each cyc microtheory has a scope.. and so do the agents.. so i reuse that system
08:03:39 <dmiles> eariler you mentioned packaging up the code
08:03:45 <mdupont> dmiles: you are working on planes?
08:03:47 <mdupont> cool
08:03:48 <dmiles> ( mdupont ) but i forgot which feature
08:04:00 <dmiles> thats one of it's test cases
08:04:06 <dmiles> (airplane databases)
08:04:13 <mdupont> do you have a copy of the IATA SSIS file format spec?
08:04:38 <dmiles> ?
08:04:48 <dmiles> .google IATA SSIS
08:04:48 <datum> IATA SSIS: http://www.blonnet.com/2002/02/21/99hdline.htm
08:05:30 <mdupont> wait
08:05:35 <mdupont> my spelling is bad
08:05:57 <mdupont> .google IATA Standard Scheduling Information
08:05:57 <datum> IATA Standard Scheduling Information: http://www.iata.org/sked/sisc
08:06:50 <mdupont> .google IATA Standard Scheduling Information Manual (SSIM)
08:06:51 <datum> IATA Standard Scheduling Information Manual (SSIM): http://www1.iata.org/atdi/courses/talm13_03.htm
08:07:08 <mdupont> dmiles: SSIM
08:07:08 <dmiles> well excellecnt
08:07:12 <mdupont> that is it
08:07:21 <mdupont> i am learning all about this for my new job
08:07:30 <dmiles> i also working on PDDL input data..
08:07:35 <mdupont> (will be working indirectly for lufthansa)
08:07:41 <mdupont> PDDL?
08:07:41 * danbri wakes up
08:07:45 <mdupont> dmiles: PDDL
08:07:46 <danbri> my god, you guys still going? :)
08:07:54 <dmiles> i am back to 24/7
08:07:55 <mdupont> .google PDDL
08:07:56 <datum> PDDL: http://www.dur.ac.uk/d.p.long/IPC/pddl.html
08:07:56 <dc_rdfig> Label PDDL not found.
08:08:10 <mdupont> danbri: i was off for 8 hours sleeping
08:08:35 <mdupont> dmiles is taking care of the baby, i dont think that he wants to be up for that long!
08:09:01 <dmiles> yeah.. will be going to sleep in 2 hours
08:09:08 * danbri grins, good morning anyway
08:09:12 <dmiles> so.. the PDDL gives me axioms for planning
08:09:30 <dmiles> and looks like SSIM will make it seem more real-world
08:09:55 <dmiles> i just picked ut airplanes becasue it leads to good planning and agent to agnt excite,mnt
08:09:58 <mdupont> dmiles: looks good
08:10:32 <dmiles> i can do airport scheduling, pilot fatigue and hijackings
08:10:51 <dmiles> things that will make the simulator interesting
08:11:37 <dmiles> so defenately going to be .gnu-ing the prolog parts
08:11:49 <dmiles> dotgnu-ing
08:12:35 <mdupont> ok
08:12:42 <mdupont> and what about mercury?
08:12:50 <dmiles> so your doing a contract that lufthansa is paying for?
08:13:14 <dmiles> well i am affrade to use mercury until i can write a prolog in mercury
08:13:26 <dmiles> meaning to write prolog in prolog is easy
08:13:27 <mdupont> well, i am joining a company that contracts to lufthansa
08:13:42 <dmiles> (writing a prolog complier/evalator in prolog is easy)
08:13:49 <mdupont> dmiles: that is cool
08:13:57 <dmiles> but i need to be good enough to write prolog compiler in Merc
08:14:03 <mdupont> I have not learned merc
08:14:06 <dmiles> (at Mercury)
08:14:14 <mdupont> but got now the Art of Prolog
08:14:18 <dmiles> i studied it one day
08:14:29 <mdupont> so i should be learning something
08:14:34 <mdupont> from it
08:14:38 <mdupont> i will need some weeks
08:14:40 <dmiles> i think you will
08:14:46 <mdupont> i was reading about the MOP
08:14:48 <dmiles> also this: http://www.amzi.com/AdventureInProlog/
08:14:53 <mdupont> it seems to be pretty weak
08:14:55 <dmiles> thats a great tutorial
08:15:02 <mdupont> thks
08:15:10 <dmiles> MOP ?
08:15:20 <dmiles> merc object programming?>
08:15:31 <mdupont> Meta Object Predicates in Prolog
08:16:36 <mdupont> like value
08:16:54 <mdupont> or ground
08:17:00 * mdupont gets his book
08:17:20 <dmiles> ah yeah i remember those now
08:17:32 <dmiles> it sorta codegens a bit
08:17:58 <dmiles> its actually a cool system.. i wrote a runtime to emulate it i think last year
08:18:19 <dmiles> becasue i got handed very cool MOP code i couldnt do anything with
08:18:22 <dmiles> (in SWI)
08:18:33 <mdupont> Var, nonvar, integer, ground, constant, compound, functor, arg
08:18:46 <dmiles> *nod*
08:18:59 <dmiles> those are type testing predicates
08:19:01 <mdupont> these are related to the introspector
08:19:14 <mdupont> becuase i extract similar data from the gcc
08:19:25 <mdupont> functor, arg etc
08:19:38 <mdupont> basically all that type of data is there
08:19:50 <mdupont> i just want to find the similarities
08:20:35 <dmiles> between prolog object systems and other systems
08:20:57 <dmiles> well the nice thing is whatever is in prolog is completely veiwable as data even though it is ocde
08:21:00 <dmiles> err code
08:21:11 <mdupont> that is why it is interesting
08:21:32 <mdupont> so the idea is that i can load the data from the gcc into the same set of predicates
08:21:38 <mdupont> as in prolog
08:21:48 <dmiles> yeah so i'd imagine MOP proxies for the original objects could be abductive
08:22:13 <mdupont> abductive? you mean abducted?
08:22:15 <dmiles> well i think they should rewrite gcc in prolog anyways;P
08:22:21 <mdupont> well
08:22:25 <mdupont> that would be a good step
08:22:36 <mdupont> mrlc has build a prolog backend for the gcc
08:22:38 <dmiles> that would definetly show you the universe
08:22:40 <mdupont> using the introspector
08:23:06 <dmiles> then you can reuse and understand the universe by abductive reasoner
08:23:24 <dmiles> (the universe of programs/programming)
08:23:27 <mdupont> what is the abductive reasoner exactly?
08:23:46 <mdupont> sure, the universe of programming, as expressed in c code
08:23:53 <dmiles> it resolves analogy between scripts
08:24:07 <mdupont> ahh
08:24:10 <mdupont> that is interesting
08:24:13 <mdupont> tell me more?
08:24:33 <dmiles> the man is to the woman as penutbutter to chocolate
08:24:45 <dmiles> err is to chocolate
08:25:16 <dmiles> so it can make an axiom that transitions both
08:25:21 <dmiles> (under the same rules)
08:25:27 <mdupont> ok
08:25:30 <mdupont> that is what i need
08:25:38 <mdupont> that is how i think
08:25:49 <mdupont> how can i get started with this in prolog
08:25:55 <dmiles> that is why the planner code become more important then infernce code
08:26:09 <mdupont> i want to make a set of translations between different object models
08:26:24 <mdupont> so you can link modules with each other without layering
08:26:30 <dmiles> well first you decompose them (in the tokens you use)
08:26:32 <mdupont> just by transforming them
08:26:35 <mdupont> i have that
08:26:44 <mdupont> the introspector decomposes already
08:26:49 <dmiles> *nod*
08:26:51 <mdupont> it can take any c code
08:26:58 <mdupont> and turn it into a graph
08:27:27 <dmiles> so it would seem you are trying to find a graph A-> graphB Dif
08:27:56 <dmiles> i seen code for that in prolog.. written by Richard O'Keefe
08:27:59 <mdupont> yes
08:28:05 <mdupont> i think so
08:28:16 <dmiles> you give it two graphs and it outputs a dif
08:28:17 <mdupont> two graphs connected by a set of translations
08:28:26 <mdupont> i guess it would be a unification of them
08:28:31 <dmiles> the dif can be later applied to a new graph
08:28:34 <dmiles> yes
08:28:45 <mdupont> take two equivalent graphs with different terms
08:28:46 <dmiles> well all the places they didnt unify
08:28:48 <mdupont> and unify them
08:28:52 <mdupont> sure the diff
08:28:53 <mdupont> ok
08:28:56 <mdupont> sounds good
08:29:00 * mdupont googles
08:29:05 <dmiles> then you just transpose onto one or the other
08:29:13 <mdupont> yeah
08:29:17 <mdupont> that sounds good
08:29:17 <dmiles> .google ugraph wgraph prolog
08:29:20 <datum> ugraph wgraph prolog: http://clip.dia.fi.upm.es/Software/Ciao/ciao_html/ciao_117.html
08:29:29 <dmiles> theres the oce
08:29:30 <dmiles> code
08:30:29 <dmiles> hrrm ok its in their libtrary
08:30:51 <dmiles> you need more of ugraph
08:31:40 <dmiles> like at: http://www.sics.se/~alf/prolog/akl/library/ugraph.pl
08:32:37 <dmiles> oh my yeah that code would let you write an abducer of tree's
08:32:57 <mdupont> thanks
08:33:04 <mdupont> i think i will start there!
08:35:17 <mdupont> dmiles: thanks for the tips
08:35:25 <mdupont> i am going to start looking into this
08:36:30 <dmiles> yeah the AMZI tutorial will make you feel strong at prolog in less then an afternoon
08:36:39 <mdupont> hehe
08:44:11 * danbri heads to boston, bye all
08:44:50 <mdupont> dmiles: ok thanks again dude
08:44:56 <mdupont> you are very helpful!
08:44:57 <dmiles> you bet
09:11:54 <dmiles> B:
09:11:54 <dc_rdfig> blurb
09:11:55 <dc_rdfig> making horn clauses from FOL
09:11:57 <dc_rdfig> (1:DanC) cf [Propositional resolution|http://logic.stanford.edu/classes/cs157/2003/notes/chap05.pdf]
09:11:57 <dc_rdfig> (2:DanC) and [the text book way to produce horn clauses from FOL|http://cs.wwc.edu/~aabyan/Logic/Horn.html], per dmiles
09:11:58 <dc_rdfig> (3:DanC) gotta noodle on this
09:11:59 <dc_rdfig> (4:DanC) also: [discussion|http://ilrt.org/discovery/chatlogs/rdfig/2003-03-02#T01-09-00]
09:12:04 <dmiles> A:
09:12:04 <dc_rdfig>http://www.ietf.org/rfc/rfc2396.txt
09:12:05 <dc_rdfig> RFC2396 - Uniform Resource Identifiers (URI): Generic Syntax
09:12:06 <dc_rdfig> (1:danbri) section 4.1. Fragment Identifier, "The semantics of a fragment identifier is a property of the data resulting from a retrieval action, regardless of the type of URI used in the reference."
09:12:24 <dmiles> maybe it was yesterday.. hrrm
09:12:26 <dmiles> C:
09:12:26 <dc_rdfig>http://12-212-75-114.client.attbi.com/root/opt/sourceforge/logicmoo/openmodality/iso-prolog/complementOf.pl.txt
09:12:27 <dc_rdfig> Prolog clause for owl:complementOf
09:12:28 <dc_rdfig> (1:JosD__) looks very promising; propositional resolution; by dmiles
09:12:47 <dmiles> how do i call yesterday C: ?
09:13:43 <mortenf> no can do (they roll over at 0000Z)... :(
09:14:02 <dmiles> hrrm looing for Bijan's PDF
09:15:10 <mortenf> there are archives at http://rdfig.xmlhack.com/ (not updatable)
10:43:29 <mdupont> mdupont is now known as mdupont-away3h
12:13:33 <mdupont-away3h> mdupont-away3h is now known as mdupont
12:45:20 <arnarl-home> hi
12:50:02 <mdupont> arnarl-home: hey whats new?
12:51:54 <arnarl-home> mdupont: well, since you ask :-) http://www.hoyre.no
12:52:02 <arnarl-home> That is a topicmap driven website
12:54:15 <mdupont> you working on that?
12:55:02 <arnarl-home> yeah, for the last three months
12:55:13 <mdupont> is that you? the pic?
12:55:17 <arnarl-home> that is our 8th TopicMap driven portal
12:55:22 <arnarl-home> heh, no
12:55:28 <arnarl-home> some politician
12:55:39 <mdupont> nye - does that mean neu? new?
12:55:51 <arnarl-home> jepp
12:55:52 <mdupont> neue?
12:56:00 <arnarl-home> They launched on friday
12:56:13 <mdupont> Wilkomman auf unser neue Webseite?
12:56:19 <arnarl-home> jepp
12:56:21 <mdupont> Willkommen auf unser neue Webseite?
12:56:24 <mdupont> cool
12:56:38 <mdupont> a little Deutch goes along way
12:56:43 <mdupont> a little Deutsch goes along way
12:57:38 <arnarl-home> heh. We built the portal on commision for a political party here in Norway.
12:58:22 <arnarl-home> The cool part is how we use scope to share topics between the various sub-comitees and local organisasions of that party.
12:58:47 <mdupont> interesting
12:59:03 <mdupont> why does searching for RDF Topic map return
12:59:05 <mdupont>http://www.hoyre.no/Hoyre/Sentralt/Import/personer/1045216682.75
12:59:05 <dc_rdfig> E: http://www.hoyre.no/Hoyre/Sentralt/Import/personer/1045216682.75 from mdupont
12:59:16 <mdupont> oops
12:59:20 <arnarl-home> probably a coincidence
12:59:32 <mdupont> try searching for xml, rdf or topicmaps
12:59:38 <mdupont> 2800 hits
12:59:41 <mdupont> very strange
13:00:11 <arnarl-home> actually, looks like you found a bug :-)
13:00:16 <arnarl-home> how embarassing :-)
13:00:41 <mdupont> ;(
13:00:43 <mdupont> sorry
13:01:06 <arnarl-home> he he, np
13:39:41 <mdupont> hey dmiles, good sleep?
17:08:43 <mdupont> mdupont is now known as mdupont-away
17:12:12 * dmiles back
17:19:15 <mdupont-away> hey dmiles
17:19:35 <mdupont-away> i cannot get mercury running without java :(
17:19:46 <dmiles> [09:19] <dmiles> yeah. the ability to move graph blocks arround and costumize is good
17:19:46 <dmiles> [09:20] <ham[let]> all programms are also graphs
17:19:46 <dmiles> [09:20] <dmiles> like for example member/2
17:20:02 <dmiles> thats going on in #ai right now ;P
17:20:04 <mdupont-away> hmm
17:20:07 <mdupont-away> oh
17:20:09 <mdupont-away> thanks
17:20:19 <dmiles> a guy is working on a graph editor for program editor
17:20:33 <mdupont-away> cool
17:20:37 <mdupont-away> i will log it
17:20:40 <mdupont-away> can you tell me a link?
17:21:54 <dmiles> at http://tunes.org/~nef/logs/ai/03.03.02
17:22:29 <dmiles> 4k under a flush though
17:22:54 <mdupont-away> tahnks
17:23:03 <mdupont-away> tunes
17:23:03 <mdupont-away> ?
17:23:46 <dmiles> the bot 'clog'
17:24:02 <mdupont-away> thanks
17:24:06 <dmiles> he logs a few channels to http://tunes.org/~nef/logs/
17:26:30 <mdupont-away> ok
17:26:31 <mdupont-away> thanks
17:26:36 <mdupont-away> cu l8ter
19:04:31 <AaronSw-SF> AaronSw-SF is now known as AaronSF
19:18:04 <dmiles> whats up with DAML now? seems its heard about less andless
20:00:22 <eikeon> re: [[[
20:00:26 <eikeon> <dajobe> simple test really. Can you parse this:[[
20:00:26 <eikeon> <dajobe> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
20:00:26 <eikeon> <dajobe> <rdf:_1 rdf:about="http://example.org/node"/>
20:00:26 <eikeon> <dajobe> </rdf:RDF>
20:00:26 <eikeon> <dajobe> ]]
20:00:26 <eikeon> ]]]
20:00:40 <eikeon> Yep... rdflib parses it.
20:00:54 <dajobe> ok
20:01:11 <dajobe> now I have to wonder whether to call arp2's generation of a warning for it a problem
20:01:14 <eikeon> re: [[[
20:01:16 <eikeon> <dajobe> if you grab ex-46.rdf & ex-47.rdf from http://cvs.ilrt.org/cvsweb/redland/raptor/tests/
20:01:16 <eikeon> <dajobe> should parse without errors
20:01:16 <eikeon> ]]]
20:01:27 <eikeon> <dajobe> 53 & 24 triples
20:01:46 <dajobe> that was to bijan, IIRC
20:01:50 <dajobe> but what did you get?
20:01:52 <eikeon> I get 52 and 24... but pass the test case...
20:01:58 <dajobe> hmm!
20:02:05 <eikeon> Two of the triples are the same.
20:02:08 <dajobe> did you diff ex-46.out and what you got?
20:02:09 <dajobe> ah
20:02:15 <dajobe> I forgot that
20:02:38 <dajobe> I should change the XML literal contents to be different
20:02:41 <eikeon> Line 31 and 32 in the expected output.
20:03:20 <eikeon> Namely: [[[<http://example.org/node1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#_1> <http://example.org/node2> .
20:03:20 <eikeon> <http://example.org/node1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#_1> <http://example.org/node2> .
20:03:20 <eikeon> ]]]
20:03:41 <dajobe> argh
20:04:22 <dajobe> this is why I test my parse with other parsers
20:04:28 <dajobe> s/my parse/my parser/
20:04:48 <MysticOne> :[FreenodeRadio] Hi All! This is just a notice to let everyone know that WOPN has emerged from alpha testing and is now a beta project, and we're exclusively known as Freenode Radio. We're on the air right now, with new music, new artists, and me! So tune in. Join #FNR to take part in the show, or point your ogg vorbis decoder to http://stream.radio.freenode.net:10000/modem.ogg (or broadband.ogg). Further announcements will be made via wallops
20:05:16 <dajobe> I'll change the rdf:_1 to rdf:_2
20:05:48 <dajobe> arp and raptor emit the triples at the parser level - streaming - whereas I guess you are dumping the resulting graph, a different thing
20:06:33 <eikeon> Yeah... my test harness compares the resulting graphs.
20:10:08 <dajobe> hmm, I've got a bug in my code somewhere
20:10:10 <dajobe> so this was useful
20:10:43 <dajobe> ah, no I understand now
20:13:45 <eikeon> Another thing I noticed this morning... ARP issues a warning and not an error for: http://www.w3.org/TR/rdf-syntax-grammar/#rdf-id
20:13:46 <dajobe> so now the triples will be different so a dumb triple compare vs graph compare mostly works (depends on how you name/rename bnodes)
20:14:05 <dajobe> for what?
20:14:35 <dajobe> for "rdf:id"? - not allowed
20:14:43 <dajobe> or for illegal rdf:ID attribute values?
20:15:21 <eikeon> For example: http://www.ecademy.com/module.php?mod=network&op=foafrdf&uid=22259
20:15:35 <eikeon> The space... unless that is an rdflib bug.
20:15:45 <dajobe> and which arp? the w3c's validator? that's broken (out of date)
20:16:11 <dajobe> yes, you can't have spaces in RDF (XML) ID values
20:16:18 <dajobe> just doesn't match the grammar
20:16:33 <dajobe> i.e. fails to match http://www.w3.org/TR/REC-xml-names/#NT-NCName
20:17:26 <eikeon> Yep... was thinking http://www.w3.org/RDF/Validator/ should flag it as an error instead of warning
20:18:36 <dajobe> [[rapper: Error - URI file:ecademy.rdf:8 - Illegal rdf:ID value 'Deon Erwee]]
20:18:46 <eikeon> Cool :)
20:19:25 <dajobe> aren't there some error tests?
20:19:35 <dajobe> I see some below rdfms-rdf-id
20:19:35 <eikeon> That is what I am doing... finally got around to adding an error page for the rdf I am spidering: http://eikeon.com/2003/02/errors
20:19:51 <dajobe> hmm "PENDING"
20:20:10 <dajobe> if you look in the manifest
20:20:19 <eikeon> I think there were approved test cases that covered the NCName bits of rdf/xml.
20:20:55 <dajobe> yes, above should be
20:21:21 <dajobe> i.e. these: http://www.w3.org/2000/10/rdf-tests/rdfcore/rdfms-rdf-id/
20:21:33 <dajobe> ah, I was out of date re CVS
20:21:36 <dajobe> they are approved now
20:23:25 <eikeon> The validator, http://www.w3.org/RDF/Validator/ is listed as being up to date with the lastest working draft I thought.
20:23:31 <dajobe> no
20:23:34 <dajobe> it doesn't do datatypes
20:24:37 <eikeon> Ah... feedback re: parsing to Jeremy Carroll... I should fire off an email.
20:26:32 <dajobe> so your errors lists shows lots of striping issues, parsing non-rdf/xml docs, non-XML even
20:26:55 <dajobe> then the rdf:ID one seems next
20:27:14 <dajobe> but that ecademy stuff is all generated I guess, so just need to contact Julian(?)
20:28:38 <eikeon> I try to parse all the rdfs:seeAlso as if they are RDF... need to start paying attention to mime-types. Have not checked lately to see where things stand re: mime-type for rdf.
20:28:59 <dajobe> aaron sent out a req for a new draft
20:29:06 <dajobe> but IIRC he forgot to update the WD references
20:30:09 <eikeon> My spider is now capturing more metadata and so I will be able to see how many people are using which mime-types etc.
20:37:36 <dajobe> D2:
20:37:36 <dc_rdfig> (dmiles) Easier to read and understand [http://12-212-75-114.client.attbi.com:3677/canonicalizer.moo?formula=%28forall+%3Fx+%28%3D%3E+%28p+%3Fx%29%28q+%3Fx%29%29%29&submit=Convert]
20:37:58 <dajobe> D2:[Easier to read and understand|http://12-212-75-114.client.attbi.com:3677/canonicalizer.moo?formula=%28forall+%3Fx+%28%3D%3E+%28p+%3Fx%29%28q+%3Fx%29%29%29&submit=Convert]
20:37:58 <dc_rdfig> Replaced comment D2.
20:38:14 <dajobe> although that url looks like it won't last long dmiles ;)
The IRC chat here was automatically logged without editing and contains content written by the chat participants identified by their IRC nick. No other identity is recorded.
Alternate versions:
and
Text
Provided by Dave Beckett. Hosted by Useful Information Company.