IRC log of swhack on 2002-02-27

Timestamps are in UTC.

00:04:52 [GabeW]
GabeW has quit ("Client Exiting")
00:22:55 [bijan]
Ouch.
00:23:44 [bijan]
Hm. If I go with your interpretation of query...my life becomes vastly easier.
00:29:05 [bijan]
Sean, are you around?
00:29:12 [bijan]
* bijan askes again.
00:29:40 [sbp]
yes, I am
00:29:54 [sbp]
I'm getting bored driving up and down the same old strip
00:30:29 [bijan]
Hmm?
00:30:56 [sbp]
you asked if I was around...
00:31:21 [bijan]
driving up and down?
00:31:27 [bijan]
Anyway, if I have the following:
00:31:28 [bijan]
:bob :parent :jane.
00:31:28 [bijan]
:jane :parent :janeII.
00:31:28 [bijan]
this log:forAll :x, :y. :z.
00:31:28 [bijan]
{:x :parent :y} log:implies {:y :child [:parent :y].}.
00:31:30 [bijan]
{:x :parent :y. :y :parent :z} log:implies {[a :gParent]. [a :gChild].}.
00:31:58 [bijan]
would you expect a filter to generate 6 triples with 4 bnodes?
00:33:02 [sbp]
sorry had to pop out again - the midnight hour is my "busy hour"
00:33:12 [sbp]
heh, that didn't come out right, did it?
00:33:15 [sbp]
anyway...
00:33:16 [bijan]
Heh.
00:33:30 [bijan]
* bijan feels close.
00:33:48 [bijan]
I have some forms for builtins, and now for bnodes.
00:33:57 [bijan]
Lists will be pretty much all that's left.
00:34:04 [bijan]
That and implementing all the builtins :(
00:34:07 [sbp]
O.K., for the first rule we get: :jane :child [ :parent :jane ] . :janeII :child [ :parent :janeII ] .
00:34:25 [bijan]
X = 'document#jane'
00:34:25 [bijan]
Y = 'document#child'
00:34:25 [bijan]
Z = anon_61 ;
00:34:26 [bijan]
X = anon_61
00:34:26 [bijan]
Y = 'document#parent'
00:34:26 [bijan]
Z = 'document#jane' ;
00:34:28 [sbp]
ugh, I should label those bNodes: call them _:x and _:y
00:34:28 [bijan]
X = 'document#janeII'
00:34:30 [bijan]
Y = 'document#child'
00:34:32 [bijan]
Z = anon_62 ;
00:34:34 [bijan]
X = anon_62
00:34:36 [bijan]
Y = 'document#parent'
00:34:38 [bijan]
Z = 'document#janeII'
00:34:40 [bijan]
Ooh, an bnode syntax.
00:34:48 [bijan]
But that's not a fundemental bit.
00:35:07 [bijan]
Of the inference engine.
00:35:43 [sbp]
then we have 2 bNodes for the second bit, surely
00:35:58 [bijan]
Yep.
00:35:59 [bijan]
Ok.
00:35:59 [sbp]
so four bNodes, I agree
00:36:49 [sbp]
and six triples...
00:36:50 [bijan]
now, you think that the first :jane :child anon_61 would be blocked by :jane :child :bob.
00:36:56 [sbp]
no, wait, more than six
00:37:05 [sbp]
nope... six
00:37:17 [sbp]
blocked?
00:37:29 [bijan]
If I had :jane :child :bob in the target context.
00:37:40 [bijan]
And given the principle that we don't add duplicates if we can help it.
00:37:58 [bijan]
Should I nevertheless add a :jane :child anon_61?
00:38:15 [sbp]
you don't have :jane :child :bob in there at all
00:38:20 [bijan]
I know.
00:38:24 [bijan]
*Suppose*.
00:38:27 [sbp]
oh, sorry: if
00:38:28 [sbp]
got it
00:38:29 [bijan]
Contray to the expresssed facts ;)
00:38:36 [bijan]
That in the *target* context...
00:38:52 [bijan]
So, e.g., if I were applying rules and the kb had :jane :child :bob.
00:38:55 [sbp]
I think you should add it
00:39:00 [bijan]
Me too.
00:39:05 [bijan]
<sigh/>
00:39:32 [bijan]
Could you check cwm on this?
00:39:36 [sbp]
I could
00:39:42 [bijan]
Would you?
00:39:42 [bijan]
:)
00:39:48 [sbp]
I would
00:39:55 [sbp]
just the rule that you pasted in above, yes?
00:40:04 [bijan]
Yes.
00:40:57 [sbp]
:bob :parent :jane .
00:40:58 [sbp]
00:40:58 [sbp]
:jane :child [
00:40:58 [sbp]
:parent :jane ];
00:40:58 [sbp]
:parent :janeII .
00:40:58 [sbp]
00:41:01 [sbp]
:janeII :child [
00:41:02 [sbp]
:parent :janeII ] .
00:41:27 [sbp]
6 triples, two bNodes
00:41:45 [sbp]
not what we expected... ugh
00:41:46 [bijan]
This is with :jane :child :bob?
00:41:58 [sbp]
input:-
00:41:59 [sbp]
@prefix : <#> .
00:41:59 [sbp]
@prefix log: <http://www.w3.org/2000/10/swap/log#> .
00:41:59 [sbp]
:bob :parent :jane.
00:41:59 [sbp]
:jane :parent :janeII.
00:41:59 [sbp]
this log:forAll :x, :y. :z.
00:42:01 [sbp]
{:x :parent :y} log:implies {:y :child [:parent :y].}.
00:42:03 [sbp]
{:x :parent :y. :y :parent :z} log:implies {[a :gParent]. [a :gChild].}.
00:42:09 [sbp]
oh, heh. you borked that
00:42:15 [bijan]
You need a :jane :child :bob.
00:42:19 [bijan]
In the input.
00:42:30 [sbp]
that's better, now it gives:-
00:42:31 [sbp]
[ a :gChild ].
00:42:31 [sbp]
00:42:31 [sbp]
[ a :gParent ].
00:42:32 [sbp]
too
00:42:38 [sbp]
you want to add that triple? O.K.
00:42:43 [bijan]
Wait.
00:42:45 [bijan]
I'm confused.
00:42:54 [sbp]
you had: this log:forAll :x, :y. :z.
00:43:04 [sbp]
so it didn't recognize the :z as being universally quantified
00:43:13 [bijan]
Oops.
00:43:26 [sbp]
I added :jane :child :bob. to the document
00:43:31 [sbp]
and now it gives... [big paste]
00:43:40 [sbp]
[ a :gParent ].
00:43:41 [sbp]
00:43:41 [sbp]
[ a :gChild ].
00:43:41 [sbp]
00:43:41 [sbp]
:bob :parent :jane .
00:43:46 [sbp]
00:43:46 [sbp]
:jane :child [
00:43:46 [sbp]
:parent :jane ],
00:43:47 [sbp]
:bob;
00:43:49 [sbp]
:parent :janeII .
00:43:51 [sbp]
00:43:53 [sbp]
:janeII :child [
00:43:55 [sbp]
:parent :janeII ] .
00:43:57 [sbp]
[EOF]
00:44:25 [bijan]
Ok, so we're right.
00:44:28 [sbp]
yep
00:44:47 [bijan]
Ugh, that complicates things a bit.
00:51:28 [bijan]
Ok, y'know something really cool?
00:51:38 [sbp]
what?
00:51:53 [sbp]
[ a :CoolThingKnownBySean ] .
00:52:01 [bijan]
By compiling n3 to prolog I get an *exact* specification of the semantics of the rules.
00:52:11 [bijan]
In fairly transparent terms.
00:52:24 [sbp]
that's a good point. DanC tried ot express N3 in terms of KIF once before...
00:52:38 [bijan]
Yes, but in prolog, it becomes executable :)
00:52:52 [bijan]
For example:
00:52:54 [bijan]
n3implies(1, id(user, user32, user33), _G412):-
00:52:54 [bijan]
rdf(_G413, 'document#parent', _G415, user),
00:52:54 [bijan]
\+ rdf(_G415, 'document#child', Anon_4, _G412),
00:52:54 [bijan]
\+ rdf(Anon_4, 'document#parent', _G415, _G412),
00:52:54 [bijan]
catch(\+ atom_prefix(Anon_4, anon_),_, fail), %this will *NOT* work! Literals.
00:52:54 [bijan]
write_ln(ho),
00:52:57 [bijan]
logimplies,
00:52:58 [bijan]
rdf_gen_id('anon_', New_anon_1),
00:53:00 [bijan]
rdf_assert(_G415, 'document#child', New_anon_1, _G412),
00:53:02 [bijan]
rdf_assert(New_anon_1, 'document#parent', _G415, _G412).
00:53:18 [bijan]
Ignore the head, it's just infrastructure.
00:53:26 [bijan]
The first line checks that the premise holds.
00:53:46 [bijan]
2-3 check that the conclusion doesn't
00:53:56 [bijan]
2-5
00:54:03 [bijan]
6 is debugging :)
00:54:11 [bijan]
the logimplies is just a marker.
00:54:18 [bijan]
The last three lines add the triples.
00:54:32 [sbp]
excellent
00:54:40 [bijan]
But it's also pretty logical.
00:54:56 [bijan]
(the catch is wart. atom_prefix throws exceptions...)
00:55:17 [sbp]
what's the thing about literals for?
00:55:26 [bijan]
Oh, because of atom_prefix
00:55:29 [bijan]
It will work *now*.
00:55:35 [bijan]
Since I'm catching the exceptions.
00:55:39 [sbp]
* sbp eats some lovely garlic bread meanwhile
00:55:45 [sbp]
ah, got it
00:55:54 [bijan]
atom_prefix(literal(foo), X) will hork and exception rather than failing.
00:56:27 [bijan]
Alas, they arent' working :)
00:56:49 [bijan]
Duh.
00:56:56 [bijan]
Becasue I want an exception to == true :)
00:57:12 [bijan]
there we go.
00:57:48 [bijan]
Ugh.
00:58:00 [bijan]
Well, it will be interesting to see what optimization opportunities there are.
00:58:05 [bijan]
On real N3 code.
00:58:14 [bijan]
Right now I just query the crap out of everything.
00:58:26 [sbp]
yeah, CWM has a real problem with that
00:58:49 [bijan]
I still don't have good performance testers.
00:59:01 [bijan]
Oh, and between each application, i recompile *all* the rules.
00:59:22 [bijan]
As compiling gets more compilicated, and iterations get larger, it's going to make sense not to do that.
00:59:31 [bijan]
I.e., only compile new rules.
01:01:42 [sbp]
sbp has changed the topic to: Coming soon: "Swhack - the movie"
01:02:17 [sbp]
we could get Lucy Lawless to play xena
01:03:04 [bijan]
Ooo, scopt of the negations is wrong wrong wrong.
01:03:33 [sbp]
negations? in N3?
01:04:17 [sbp]
heh... just wait 'till you have to implement log:notIncludes. You're going to explode in a kind of critical frenzy. I can't wait
01:04:30 [bijan]
I'm NOT looking forward to it.
01:04:48 [sbp]
CWM's implementation of it *really* confuses me. It makes no sense
01:05:17 [bijan]
Well, I don't see that I need to implement all the log built-ins.
01:05:22 [bijan]
They seem sorta shady to me.
01:05:37 [sbp]
yep, but they're the meat on the N3 bone
01:05:59 [bijan]
Eh.
01:06:07 [bijan]
At SOME point someone else has to join in and help :)
01:06:13 [bijan]
Mustn't they?
01:06:23 [sbp]
well, most of the things that are done with N3 require builtins...
01:06:26 [sbp]
someone else?!
01:06:35 [bijan]
Sure, but not *all* the log built-ins
01:06:44 [sbp]
not just all, but more!
01:06:56 [bijan]
Er...
01:06:58 [sbp]
what's the point of making a CWM clone if you can't extend it :-)
01:07:00 [bijan]
* bijan doesn't parse that.
01:07:02 [bijan]
Oh sure!
01:07:06 [sbp]
that's why I added the crypto stuff to Eep
01:07:17 [bijan]
But *I* don't have to implement *all* the log built-ins.
01:07:22 [sbp]
sure you do
01:07:26 [bijan]
Nope.
01:07:32 [bijan]
Part of my point is to have a proof of concept.
01:07:33 [sbp]
otherwise, it's not much of a clone, is it? A sub-clone, perhaps :-)
01:07:51 [bijan]
And mostly on the inference engine.
01:08:04 [bijan]
I've still not seen a supposedly tough n3 file.
01:08:09 [bijan]
I.e., one that cwm grinds on forever.
01:08:17 [sbp]
er... the pool stuff is goo
01:08:25 [bijan]
Hmm.
01:08:43 [sbp]
[but it requires built-ins]
01:08:52 [bijan]
Sure.
01:09:05 [bijan]
I'll, perhaps, implement all the builtins necessary to run soemthing liek that.
01:09:31 [sbp]
in http://www.w3.org/2001/08swws67/
01:09:39 [sbp]
the poolGame* stuff
01:09:45 [bijan]
If I had a good example of an N3 program that took CWM 1/2 hour to run on a fast machine, I'd focus on getting it running.
01:10:22 [bijan]
Good god.
01:10:26 [bijan]
3 files?
01:10:32 [sbp]
yeah?
01:10:45 [sbp]
what were you expecting?
01:11:01 [bijan]
I dotn' know, I just want to make sure I understand it.
01:11:06 [sbp]
oh!
01:11:10 [sbp]
rules.n3!
01:11:15 [bijan]
Hmm/
01:11:23 [sbp]
that doesn't have any builtins, but when you apply it to data, it'll grind for quite a while
01:11:32 [bijan]
Pointer?
01:11:48 [bijan]
Ah. you think on that?
01:11:57 [sbp]
http://infomesh.net/2001/05/rdflint/rules.n3
01:12:11 [bijan]
Yes, got it.
01:13:25 [sbp]
try it on http://www.w3.org/2001/03/earl/0.95.n3
01:13:35 [sbp]
I'll run it locally, to see how long it takes...
01:14:35 [sbp]
* sbp sets it off
01:15:00 [newhak]
newhak (djflsdkjfl@ACA5AC4E.ipt.aol.com) has joined #swhack
01:15:02 [sbp]
it's getting files from the Web too... you should add that functionality (if you haven't got it already)
01:15:06 [sbp]
Hi there newhak
01:15:11 [bijan]
Argh. No I don't
01:15:27 [sbp]
this channel is publically logged etc., to make an off-log comment, prefix your junk with "# "
01:15:30 [Morbus]
hey there newhak.
01:15:34 [Morbus]
got any good 0 day?
01:15:48 [bijan]
Which is getting files from the web?
01:15:54 [sbp]
CWM
01:15:58 [newhak]
hi
01:16:07 [sbp]
ooh, CWM barfed:-
01:16:09 [sbp]
RuntimeError: ('Should only see first and rest in list mode', ((1, 'file:/home/#0_work'), (0, 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type'), (0, 'http://infomesh.net/2001/05/rdflint/rules.n3#_g35'), (0, 'http://www.w3.org/2000/01/rdf-schema#Resource')))
01:16:16 [bijan]
I mean, which file is making it get stuff from the web?
01:16:26 [sbp]
file? it's from command line...
01:16:29 [bijan]
eek, if cwm can't run them ...
01:16:38 [sbp]
CWM used to be able to
01:16:41 [newhak]
newhak has left #swhack
01:16:50 [bijan]
I want to load up a KB
01:16:51 [Morbus]
damn
01:16:52 [bijan]
Think.
01:16:54 [bijan]
Time
01:16:55 [Morbus]
i really wanted 0 day.
01:17:13 [bijan]
If possible, solely from local data.
01:17:24 [bijan]
I don't want to test my network latency or bandwidth :)
01:18:25 [bijan]
Why would rules.n3 and the eral thing fetch stuff fromthe net?
01:18:26 [sbp]
Tim's validation thing can also take a while, but that uses mega-builtins
01:18:37 [sbp]
rules.n3 doesn't take anything from the Web
01:18:48 [bijan]
* bijan is lost as why you said it would :)
01:19:23 [sbp]
I didn't say that it would. I meant that I just put the URIS in the command line, and CWM slurped the files from the Web. It can also take them using log:semantics
01:19:32 [bijan]
Ah, yes.
01:19:39 [bijan]
That's not a benchmarking feature though.
01:19:43 [bijan]
it is a feature I need to add.
01:19:43 [sbp]
nope
01:19:54 [bijan]
It's not?
01:19:58 [bijan]
Whew, then.
01:21:43 [bijan]
Oh bugger, the earl things has triple quoted stuff.
01:22:01 [bijan]
Definitely somethign to add soon :)
01:22:40 [sbp]
it's not a benchmarking feature, that is... it *is* a feature you need to add :-)
01:22:45 [sbp]
* sbp is running more CWM tests
01:22:54 [sbp]
ugh, it barfed again
01:23:12 [bijan]
Heheheh.
01:23:42 [sbp]
the debug information certainly isn't very helpful, either
01:24:36 [bijan]
heh.
01:24:44 [bijan]
Right now I have no good error messages.
01:24:50 [bijan]
I hope eventually to add some.
01:25:02 [bijan]
But being able to inspect and query the dbs is pretty helpful.
01:25:24 [bijan]
Weird.
01:27:02 [bijan]
Oops. lists.
01:27:05 [bijan]
no can do.
01:27:51 [sbp]
argh, it fucked up again?! what the smeg is wrong with it? it's like it can't handle any damn lists at all
01:28:11 [Morbus]
where the hell is AaronSw?
01:28:13 [bijan]
Well, I *know* I can't :)
01:28:55 [sbp]
* sbp tries an old version of the CWM thing
01:30:55 [sbp]
Pff:-
01:30:57 [sbp]
$ u timenow; python cwm/cwm.py http://infomesh.net/2001/05/rdflint/rules.n3 http://www.w3.org/2001/03/earl/0.95.n3 --think > earl`u timenow`.n3; u timenow
01:31:00 [sbp]
20020227-013010
01:31:02 [sbp]
20020227-013029
01:31:04 [sbp]
works almost instantly, given that it has to get the files off of the Web
01:31:10 [sbp]
it's so much better than the new CWM. The new one seems quite broken
01:31:13 [bijan]
So not a good test.
01:31:38 [bijan]
Heh. /me is proud to have a CWM that is almost merely as broken as teh current CWM!
01:32:12 [sbp]
it *is* a good test, it's just that the latest CWM is buggy
01:32:22 [sbp]
well, it's not a good test in that it runs fast...
01:32:25 [bijan]
Yes.
01:32:28 [sbp]
heh, let's try the pool stuff
01:32:30 [bijan]
Sorry, that's all I meant.
01:33:39 [sbp]
cool
01:33:58 [sbp]
* sbp tries feeding it all of the pool stuff, and getting it to filter, using the *-filter* file
01:34:54 [Morbus]
Morbus has quit ("http://www.disobey.com/")
01:35:06 [sbp]
a minute and a half-ish
01:35:07 [sbp]
$ u timenow; python cwm/cwm.py http://www.w3.org/2001/08swws67/poolGame-kb.n3 http://www.w3.org/2001/08swws67/poolGame.n3 --think --filter=http://www.w3.org/2001/08swws67/poolGame-filter.n3 > pool`u timenow`.n3; u timenow
01:35:08 [sbp]
20020227-013328
01:35:08 [sbp]
20020227-013452
01:35:23 [bijan]
I can't read your timestamps :)
01:35:38 [bijan]
130 some seconds?
01:36:04 [sbp]
HH:MM:SS
01:36:20 [sbp]
1 minute, 34 seconds
01:36:29 [sbp]
90-ish seconds...
01:36:38 [sbp]
that's pretty efficient, actually
01:36:42 [bijan]
That's a reasonable test.
01:36:46 [bijan]
No, you mean that's pretty quick.
01:36:56 [bijan]
We have no idea if it's efficient.
01:37:03 [sbp]
no, I mean efficient compared to the new CWM
01:37:08 [bijan]
Ah!
01:37:10 [bijan]
Yes. well.
01:37:13 [sbp]
which would take a year if it could do it at all! :-)
01:37:18 [bijan]
New CWM sucks. :)
01:37:29 [sbp]
good ol' 1.82
01:43:05 [AaronSw]
what is he on now?
01:43:08 [AaronSw]
* AaronSw waves
01:43:58 [AaronSw]
Morbus, I took the day off.
01:45:30 [AaronSw]
* AaronSw plays "Spanish Lady" again, in preparation for the RDF Core singalong
01:46:08 [sbp]
ooh, very neat: http://www.w3.org/2000/10/swap/pim/usPlace2LatLong.n3
01:47:28 [sbp]
erk: 80-ish seconds
01:48:58 [AaronSw]
lol: http://www.ftrain.com/robot_exclusion_protocol.html
01:49:24 [AaronSw]
.google aaron
01:49:24 [sbp]
been there, done that. Stop reading our logs! they're private
01:49:25 [xena]
aaron: http://www.rall.com
01:49:33 [sbp]
heh. that's baffling, that
01:50:10 [sbp]
aha: "These terms only appear in links pointing to this page: aaron" - http://www.google.com/search?q=cache:krhpLrSaHI8C:www.rall.com/+Aaron&hl=en
01:50:18 [sbp]
that is unbelievably weird
01:50:28 [AaronSw]
.google link:www.rall.com aaron
01:50:29 [xena]
no results found.
01:51:50 [AaronSw]
* AaronSw reports this using the quality_form
01:53:33 [bitsko]
bitsko (~ken@kmacleod.static.iaxs.net) has joined #swhack
01:53:51 [sbp]
* sbp waves
01:53:56 [bijan]
Ken returns.
01:54:28 [bitsko]
hey. know anybody who has an RSS generating toolkit (more than just one website) that'd be willing to put out an update that includes admin:generatorAgent?
01:54:40 [bijan]
Rael?
01:54:51 [bitsko]
heh, I was just about to say that!
01:55:04 [bitsko]
he also has privs for Perl's XML::RSS
01:55:04 [bijan]
You mean something used by more than one *person*?
01:55:13 [bijan]
Or a big old site?
01:55:59 [bitsko]
generatorAgent is particularly for the software used to generate the RSS, different person that the website owner
01:56:38 [bijan]
right, but an aggregator could collect 0.91 files, and genreate rss1.0
01:56:44 [bijan]
Aaron! Arron might do that.
01:56:48 [bijan]
he's a tool guy.
01:57:25 [sbp]
you'll never get his attention that way.
01:57:30 [sbp]
You need to say, "Aaron, someone using a namespace with a hash on the end!"
01:57:37 [bitsko]
heh
01:58:00 [AaronSw]
sorry, i'm reading the logs, but i hear lines with "aaron" in them and no periods with characters following them
01:58:05 [bitsko]
btw, I just chatted with Jeff Barr and explained the idea and he's cool with it
01:58:14 [AaronSw]
and my name is not Arron
01:58:25 [bijan]
Sorry, a simple arror on my part.
01:58:42 [sbp]
heh. You make me sic
01:59:13 [bijan]
This is a comma typo banter on swhack?
01:59:25 [bitsko]
Aaron: I need some RSS 1.0 toolkit authors to incorporate admin:generatorAgent
01:59:45 [AaronSw]
oh yeah, i sort of started that mess like that didn't i...
02:00:52 [bitsko]
* bitsko holds breath: this may be the first widely used community-driven extension to RSS (of any flavour)
02:01:06 [bijan]
Oookay, I've got a working and perhaps feasible target for compiling bnoded rules.
02:01:24 [bitsko]
bnoded?
02:01:29 [AaronSw]
sbp, have you met the unix time command?
02:01:34 [bitsko]
* bitsko wonders what Bijan is cooking...
02:01:35 [sbp]
he means "bNoded"
02:01:41 [AaronSw]
$ time python somelongfile.py
02:01:46 [sbp]
unix time: that sucks
02:01:54 [bijan]
{[: a :child]} log:implies {[ a :parent]}
02:02:01 [bijan]
Ken: CWMclone!
02:02:10 [sbp]
wow! the new CWM had been going for 20 minutes
02:02:14 [sbp]
* sbp stops it
02:02:18 [bijan]
See: http://www.unc.edu/~bparsia/sw/cwmclone/cwmclone.html
02:02:38 [bijan]
Hmm. To which I've just added some grovely stuff about sean.
02:02:55 [sbp]
ooh, grovely stuff!
02:03:14 [AaronSw]
why does unix time suck?
02:03:37 [bijan]
* bijan is reminded of the excellent "Long Painful History of Time"
02:03:38 [bijan]
On the web.
02:03:46 [sbp]
* sbp would slave for Bijan if he hadn't mentioned Eep crapping out :-)
02:03:50 [bitsko]
* bitsko wonders if he means Unix time(3) or time(1)
02:03:56 [bijan]
No you wouldn't :)
02:03:57 [bitsko]
or is that time(2)?
02:04:00 [AaronSw]
.google "Long Painful History of Time"
02:04:00 [xena]
"Long Painful History of Time": http://www.stud.ifi.uio.no/~enag/lugm-time.html
02:04:07 [sbp]
ah: http://www.stud.ifi.uio.no/~enag/lugm-time.html
02:04:08 [AaronSw]
i mean the one that times programs for you
02:04:10 [sbp]
Pff
02:04:14 [AaronSw]
instead of this crazy u timenow stuff
02:04:25 [AaronSw]
Ooh, Naggum.no!
02:04:36 [AaronSw]
I know him.
02:04:40 [bijan]
Personally?
02:04:51 [AaronSw]
No.
02:05:02 [AaronSw]
I should say that I know of him.
02:05:13 [AaronSw]
bitsko, so what exactly do I add to my generator?
02:05:13 [bijan]
Hmm. Actually, sean, you could do worse than try to implement builtins. As a prolog learning task.
02:05:21 [bitsko]
I knew (of) him before he shot SGML in the back ;)
02:06:06 [Morbus]
Morbus (~Morbus@s108.terminal3.totalnetnh.net) has joined #swhack
02:06:14 [bitsko]
Naggum was a huge fan/supporter of SGML when it should have been doing RDF things, but HyTime didn't come soon enough before he bailed.
02:06:18 [jeremiah]
hello
02:06:22 [AaronSw]
hey j
02:06:29 [jeremiah]
AaronSw: I was looking for the plex docs today
02:06:34 [jeremiah]
and I found a newer version
02:06:35 [jeremiah]
it seems
02:06:37 [bijan]
Er...
02:06:39 [bitsko]
* bitsko bugs out for dinner. brb.
02:06:40 [jeremiah]
check the old site, I think they've been republished
02:06:47 [AaronSw]
huh? of what? where?
02:06:49 [bijan]
How tdoes that translate into shooting it in the back?
02:06:54 [bitsko]
Aaron: just add admin:generatorAgent as described
02:07:00 [AaronSw]
described where?
02:07:18 [AaronSw]
BLURB:RDF Core Official Song
02:07:20 [chumpster]
A: RDF Core Official Song from AaronSw
02:07:39 [AaronSw]
A::Golden Triples (trad.)
02:07:40 [chumpster]
commented item A
02:07:45 [AaronSw]
A::[Lyrics from Pat Hayes]
02:07:47 [chumpster]
commented item A
02:07:52 [jeremiah]
one sec
02:07:52 [jeremiah]
chord docs
02:07:52 [jeremiah]
not plex
02:07:52 [jeremiah]
sorry
02:08:03 [bitsko]
http://groups.yahoo.com/group/rss-dev/files/Modules/Proposed/mod_admin.html
02:08:07 [AaronSw]
A::[Chords of Spanish Lady|http://ils.student.utwente.nl/main/r/reilly_paddy/spanish_lady.crd]
02:08:08 [chumpster]
commented item A
02:08:21 [AaronSw]
A::[MP3 from Paddy and the Pale Boys|http://www.thepaleboys.com/Paddy%20and%20the%20Pale%20Boys%20-%20Spanish%20Lady.mp3]
02:08:22 [chumpster]
commented item A
02:08:39 [AaronSw]
jeremiah, yeah, i got them to post a WIP draft
02:08:47 [AaronSw]
but nothing so exciting has changed
02:09:06 [Morbus]
hey AaronSw. good to see you.
02:09:16 [jeremiah]
ok
02:09:17 [AaronSw]
Hi there. I took the day off as it seemed you noticed.
02:09:29 [Morbus]
yes... i was wondering where your rhetoric was.
02:09:34 [AaronSw]
Feeling pretty down this morning, but some Ken MacLeod (the other one) cheered me up.
02:09:42 [AaronSw]
Ken (the this one) changes affiliations weekly it seems.
02:10:35 [Morbus]
i'm working through some reviisons on part 5
02:10:36 [sbp]
* sbp likes coding builtins
02:10:38 [sbp]
just give me the lowdown, a couple of simple examples, and set me to my task :-)
02:10:40 [sbp]
* sbp has a borky connection
02:10:46 [Morbus]
sbp: open a file, for me.
02:11:17 [sbp]
which one?
02:11:24 [bijan]
it shoudl be pretty easy.
02:11:48 [bijan]
Once I have the details figured out :)
02:11:56 [AaronSw]
"First she washed them, then she dried them, over a fire of amber coals."
02:12:01 [bijan]
built_in(literal(S), 'http://www.w3.org/2000/10/swap/string#startsWith', literal(O), Context) :-
02:12:03 [bijan]
atom_concat(O, _, S).
02:12:14 [bijan]
The head will be pretty much boiler plate.
02:12:51 [bijan]
Then the rest is figureing out what predicates the built-in maps to, or just implementing it.
02:13:04 [bijan]
I'm unclear on type testing, failure modes, and the like.
02:13:40 [sbp]
if you can get a builtin to return a list, that'd be tremendous
02:13:44 [sbp]
that's a big goal
02:14:05 [bijan]
Ah, yeah. Lists in general.
02:14:16 [bijan]
I'm not sure if I'm going to condense lists.
02:14:19 [bijan]
Certainly not yet.
02:14:34 [bijan]
In which case, returning them is trivial.
02:14:42 [sbp]
e.g. ("http://example.org/#blargh" "#") string:split ?x .
02:14:59 [sbp]
?x : ("http://example.org/" "blargh")
02:15:08 [bijan]
Yeah, that will be read in as:
02:15:26 [bijan]
user4545 string:split ?x.
02:15:43 [bijan]
the builtin body will walk the list.
02:15:56 [bijan]
And then do a bunch of asserts.
02:16:37 [sbp]
returning mutiple triples would be good, too...
02:16:46 [bijan]
What do you mean?
02:17:28 [sbp]
("http://example.org/blargh" "#") string:split ?x . => ?x = _:Error . _:Error a cwm:Error . _:Error rdfs:label "no freaking # in the string, you dipstick!" .
02:17:32 [bijan]
Whta's that list look like.
02:17:35 [bijan]
In triples?
02:17:55 [bijan]
"http:..." daml:first...
02:18:01 [sbp]
[ a daml:List; daml:first "http://example.org/#blargh"; daml:rest [ daml:first "#"; daml:rest daml:nil ] ] .
02:21:59 [bitsko]
bijan: re Naggum and SGML, maybe "kicked it on the way down" is a better description ;)
02:22:14 [bijan]
Ok, that I believe.
02:22:23 [bijan]
He did come to loathe it, from what i've read/heard.
02:22:44 [AaronSw]
bitsko, how's this: http://rss.blogspace.com/bbcNews/world ?
02:22:52 [AaronSw]
I've added it to all rss.blogspace.com feeds
02:23:12 [AaronSw]
* AaronSw listens to Bicycle Race
02:23:31 [bijan]
Sean, I have a straw implementation of string:split.
02:23:51 [bijan]
built_in(S, 'http://www.w3.org/2000/10/swap/string#split', O, Context) :-
02:23:51 [bijan]
rdf(S, rdf:type, daml:list),
02:23:51 [bijan]
rdf(S, daml:first, String),
02:23:51 [bijan]
rdf(S, daml:rest, Second),
02:23:51 [bijan]
rdf(Second, daml:first, Delim),
02:23:52 [bijan]
%Could have a check for only two elements
02:23:54 [bijan]
split(String, Delim, O). %not a real predicate, but you get the idea
02:23:54 [sbp]
excellent
02:24:21 [sbp]
wow, that was quick
02:24:28 [bitsko]
AaronSw: do you happen to know the Syndic8 ids for these feeds?
02:24:28 [sbp]
does it return a list?
02:24:40 [bijan]
Depends on what split does
02:24:46 [AaronSw]
bitsko, there are a zillion, can't you use the grep function?
02:24:55 [bitsko]
heh, ok
02:25:00 [bijan]
What I'm *expecting* is that it will return a reference.
02:25:14 [bijan]
And that split will do all the proper assertions.
02:25:28 [bijan]
That's for a pure RDF approach.
02:25:38 [bitsko]
AaronSw: ah, can you add a version# in that URI?
02:25:46 [AaronSw]
Hm.
02:25:53 [AaronSw]
I don't really have versions
02:26:18 [bitsko]
then how will they know when bugs get fixed, hmm? ;)
02:26:39 [AaronSw]
hey, i'm centralized, boy
02:26:44 [AaronSw]
they're fixed when i say they're fixed
02:26:47 [bitsko]
you could just put a date in it, as in "this is the date I last thought I had everything fixed"
02:26:57 [AaronSw]
that's good
02:27:22 [AaronSw]
whoa, i screwed up that page...
02:28:18 [AaronSw]
tav's on the phone
02:28:34 [sbp]
say hi for me
02:28:43 [Morbus]
tell tav I miss his oppression.
02:28:48 [Morbus]
:)
02:28:58 [AaronSw]
* AaronSw says so
02:29:14 [Morbus]
* Morbus ear's start burning.
02:29:34 [sbp]
ear's?
02:29:37 [AaronSw]
tav: "don't mean to be rude but he tends to fill the channel with a lot noise"
02:29:54 [sbp]
yeah, like stray apostrophies
02:29:59 [Morbus]
yeah, we've had the discussion before.
02:39:30 [bijan]
Ohhh, sean, this will be *so* slow!
02:39:49 [bitsko]
AaronSw: if we end up using a purl.net URI for modules/admin, who's got privs to point that to the module?
02:40:07 [AaronSw]
I think I do, as does Rael
02:40:08 [bijan]
But I have an implementation.
02:40:28 [sbp]
slow: well, there's a trick
02:40:47 [bijan]
Well, it's slow because I'm asserting things left right and center.
02:41:05 [sbp]
[for builtin optimization] what you do is make a list of all the builtin namespaces. Then you match the namespaces first, and the URIs later
02:41:22 [bijan]
Huh?
02:41:56 [bijan]
No, what makes this slow is at least 3 rdf_asserts per list item.
02:42:07 [bijan]
"consing" with a vengence.
02:42:44 [bijan]
I'd be interested to know how quick *reading* or *walking* alist is, though.
02:42:49 [bijan]
That might be reasonably nippy.
02:43:09 [bitsko]
heh, I see Aaron's cheating with the version URI...
02:43:18 [AaronSw]
:)
02:43:44 [bitsko]
AaronSw: the RSS I just pulled is empty, is that intentional
02:43:47 [bitsko]
?
02:43:49 [bijan]
Sean, I uploaded it. Check it out.
02:44:07 [AaronSw]
on the phone
02:44:18 [AaronSw]
what file?
02:44:35 [sbp]
* sbp slurps it off of the Web
02:44:45 [bijan]
it's not tested.
02:44:48 [deltab]
"off of"?
02:44:58 [bijan]
For it to work you need to declare the right namespaces.
02:45:09 [bijan]
And manually enter the triples.
02:45:16 [sbp]
yes, deltab, and Americanism. So what
02:45:19 [bitsko]
http://rss.blogspace.com/bbcNews/world
02:45:21 [sbp]
I say "color" too
02:45:25 [sbp]
a/and/an/
02:45:28 [sbp]
argh
02:48:47 [bijan]
heh. didnt' work.
02:49:23 [bijan]
Ahh buger. screwed up the prefix.
02:49:34 [sbp]
@stop. won't work
02:50:02 [bijan]
Really?
02:50:11 [bijan]
What did you enter?
02:50:16 [bijan]
ctrl-c will escape.
02:51:03 [sbp]
argh:-
02:51:03 [sbp]
?- compile_rules(user).
02:51:04 [sbp]
Yes
02:51:04 [sbp]
?- filter(user, test).
02:51:04 [sbp]
[]
02:51:04 [sbp]
No
02:51:05 [sbp]
?- apply_rules(user).
02:51:07 [sbp]
[]
02:51:09 [sbp]
No
02:51:11 [bijan]
That will not work.
02:51:13 [bijan]
What are you trying?
02:51:17 [sbp]
I entered...
02:51:17 [sbp]
?- n3_repl.
02:51:18 [sbp]
n3:- @prefix : <#> .
02:51:19 [sbp]
done read: [@, prefix, :, <, #, >, .]
02:51:21 [sbp]
n3:- @prefix string: <http://www.w3.org/2000/10/swap/string#> .
02:51:23 [sbp]
done read: [@, prefix, string:, <, http://www.w3.org/2000/10/swap/string#, >, .]
02:51:25 [sbp]
n3:- @prefix log: <http://www.w3.org/2000/10/swap/log#> .
02:51:27 [sbp]
done read: [@, prefix, log:, <, http://www.w3.org/2000/10/swap/log#, >, .]
02:51:29 [bijan]
oh oh oh
02:51:29 [sbp]
n3:- this log:forAll :x .
02:51:30 [bijan]
Stop.
02:51:31 [sbp]
done read: [this, log:forAll, :x, .]
02:51:33 [sbp]
S: this V: log:forAll O: default_:x C: user
02:51:35 [sbp]
n3:- { ("http://example.org/#blargh" "#") string:split :x } log:implies { :x :the :Result } .
02:51:36 [bijan]
Builtin's don't compile.
02:51:37 [bijan]
Yet.
02:51:37 [sbp]
n3:- @stop.
02:51:52 [bijan]
And list syntax doesn't work yet.
02:52:16 [bijan]
I pasted in to n3_repl the expanded list sytnax you gave me.
02:52:19 [bijan]
That's yoru list.
02:52:26 [bijan]
then you can use the built_in directly
02:52:42 [bijan]
via: built_in(anon_105, 'http://www.w3.org/2000/10/swap/string#split',O, user).
02:52:51 [bijan]
(Or whatever anon_ your list is)
02:53:01 [bijan]
Thought I'm still debugging the bulitin
02:53:36 [sbp]
O.K.
02:53:52 [sbp]
Hmm... I should have known about the list thing :-)
02:53:53 [bijan]
One minute.
02:53:58 [sbp]
* sbp is multitasking...
02:55:01 [bijan]
oops. lowercase List.
02:55:12 [bijan]
I put a new version.
02:55:32 [bijan]
Works.
02:55:46 [bijan]
I'm going to need a pretty printer RSN.
02:56:37 [bijan]
* bijan is pretty pleased.
02:56:59 [bitsko]
gotta run. tty'all later. Thanks Aaron!
02:57:00 [bitsko]
bitsko has quit ("Leaving")
02:57:09 [bijan]
Time to hack the compiler, sigh.
03:08:52 [AaronSw]
hey dudes and dudettes
03:09:11 [Morbus]
* Morbus grunts
03:09:13 [AaronSw]
tav's going to take an espian vote on whether we should be kicked off the cvs server
03:09:15 [Morbus]
hey AaronSw, you got soemtime
03:09:55 [AaronSw]
so if anyone feels a sudden urge to become an espian
03:09:58 [AaronSw]
i suggest you do so asap
03:11:29 [AaronSw]
Morbus, time for what?
03:11:43 [Morbus]
to look over this unfinished, but nearly done, draft and lemme know what you think
03:12:22 [AaronSw]
Hm. I sorta have to do some lobbying and other annoying political tasks right now.
03:12:42 [Morbus]
np
03:13:56 [sbp]
heh: "sorry, I can't: lobbying"
03:15:18 [AaronSw]
Heh, heh.
03:21:05 [Morbus]
i need some junk food.
03:21:11 [Morbus]
what do you guy's eat?
03:21:13 [Morbus]
at the computer?
03:21:26 [bijan]
Sean, did the built-in work for you?
03:21:42 [sbp]
* sbp downloads the latest version
03:21:50 [AaronSw]
Pizza seems popular, not exactly my taste.
03:24:58 [sbp]
O.K., I've entered the stuff... now what shall I do to make the rule work?
03:26:09 [Morbus]
does this make any sense to anyone:
03:26:10 [Morbus]
"<Morbus> "we've got just enough time to chow down the last remnants of our "Salt and Vinegar" potato chips. We'll be sure to enunciate our words properly and with much weight.
03:26:10 [Morbus]
<Morbus> ""
03:26:12 [sbp]
compile_rules worked...
03:26:31 [bijan]
But it won't help :)
03:26:41 [BenSw]
BenSw has quit ("Client Exiting")
03:26:46 [AaronSw]
I get no sense from it
03:26:54 [Morbus]
yeah, didn't think so
03:27:03 [sbp]
Morbus: with a little bit of context...
03:27:09 [bijan]
I.e., the current compile won't detect builtins.
03:27:15 [Morbus]
i'm having difficulty saing "we got stinky breath and we're gonna blow it all over the people at the meeting"
03:27:24 [AaronSw]
Aha.
03:27:29 [BenSw]
BenSw (~yoda@12-249-96-16.client.attbi.com) has joined #swhack
03:27:31 [bijan]
But you can test the bi manually.
03:27:40 [sbp]
bijan: what shall I enter?
03:27:58 [bijan]
First, do you know the anon_FOO that names your list?
03:28:16 [sbp]
yep
03:28:18 [bijan]
rdf(X, rdf:type, daml:'List').
03:28:18 [sbp]
anon_11
03:28:20 [bijan]
Ok.
03:28:43 [bijan]
built_in(anon_11, 'http://www.w3.org/2000/10/swap/string#split', O, user).
03:28:58 [sbp]
oh crap, I didn't put the daml prefix in...
03:29:05 [bijan]
That's fine.
03:29:07 [bijan]
Don't worry about it.
03:29:12 [bijan]
It should still work.
03:29:14 [sbp]
?- built_in(anon_11, 'http://www.w3.org/2000/10/swap/string#split', O, user).
03:29:14 [sbp]
No
03:29:34 [bijan]
Hmm.
03:29:52 [bijan]
rdf(anon_11, X,Y).?
03:30:11 [sbp]
No
03:30:27 [sbp]
I had: n3implies(1, id(user, user11, user14), _G473):- (rdf(anon_11, damlfirst, literal(http://example.org/#blargh), user), rdf(anon_11, damlrest, anon_12, user), rdf(anon_11, http://www.w3.org/1999/02/22-rdf-syntax-ns#type, damlList, user), rdf(anon_11, http://www.w3.org/2000/10/swap/string#split, _G341, user), rdf(anon_12, damlfirst, literal(#), user), [...]
03:30:48 [bijan]
Right, that won't help you.
03:30:56 [bijan]
Ah, are you using list syntax?
03:31:18 [sbp]
yep [ a daml:List; daml:first [...]
03:31:32 [bijan]
That's the *only* thing you should put in user.
03:31:39 [bijan]
it looks like you did the rule.
03:31:59 [bijan]
Ok, try this.
03:32:11 [bijan]
the built_in, but with the last paran being user11
03:32:15 [bijan]
param
03:32:34 [bijan]
Basically, when you tucked it into that context, it isn't visible to the user context.
03:32:36 [sbp]
?- built_in(anon_11, 'http://www.w3.org/2000/10/swap/string#split', O, user11).
03:32:36 [sbp]
No
03:32:36 [sbp]
?-
03:32:41 [sbp]
ah...
03:32:49 [bijan]
rdf(X,Y,Z, user11).
03:32:50 [sbp]
so you have to put the rules in separately?
03:33:18 [sbp]
?- rdf(X,Y,Z, user11).
03:33:19 [sbp]
X = anon_11
03:33:19 [sbp]
Y = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type'
03:33:19 [sbp]
Z = damlList ;
03:33:19 [sbp]
X = anon_11
03:33:19 [sbp]
Y = damlfirst
03:33:21 [sbp]
Z = literal('http://example.org/#blargh') ;
03:33:23 [sbp]
[...]
03:33:25 [bijan]
Ok.
03:34:06 [bijan]
Hmm.
03:34:13 [bijan]
That's odd.
03:34:34 [bijan]
What's the first few lines of the built_in source
03:34:40 [bijan]
(for string#split)
03:34:47 [bijan]
built_in(S, 'http://www.w3.org/2000/10/swap/string#split', O, Context) :-
03:34:47 [bijan]
rdf(S, rdf:type, daml:'List'),
03:34:47 [bijan]
rdf(S, daml:first, String),
03:34:48 [bijan]
rdf(S, daml:rest, Second),
03:34:51 [bijan]
Does it look like that?
03:35:17 [sbp]
Hmm... yep
03:35:25 [bijan]
Ok, try this.
03:35:27 [bijan]
rdf_clean.
03:35:31 [bijan]
n3_repl.
03:35:41 [bijan]
declare the daml prefix
03:35:57 [bijan]
enter the expanded form of the list
03:35:59 [bijan]
@stop.
03:36:09 [bijan]
built_in(...., user).
03:36:55 [sbp]
just the list?
03:37:08 [sbp]
or the whole implication?
03:37:16 [bijan]
Just the list.
03:37:32 [sbp]
done
03:37:39 [bijan]
Now @stop.
03:37:42 [bijan]
Then the built_in
03:37:46 [sbp]
?- built_in(anon_11, 'http://www.w3.org/2000/10/swap/string#split', O, user).
03:37:46 [sbp]
No
03:37:46 [sbp]
?-
03:37:51 [bijan]
Hmm.
03:37:56 [bijan]
Oopo!
03:37:59 [bijan]
not anon_ll.
03:38:10 [bijan]
you need to find what the list is named *now*.
03:38:31 [bijan]
rdf(X, Y, daml:'List').
03:38:38 [sbp]
?- built_in(anon_14, 'http://www.w3.org/2000/10/swap/string#split', O, user).
03:38:38 [sbp]
O = anon_17 ;
03:38:38 [sbp]
No
03:38:38 [sbp]
?-
03:38:45 [bijan]
Yes!
03:38:48 [bijan]
it worked.
03:38:51 [sbp]
* sbp was one step ahead there
03:38:55 [bijan]
rdf(X,Y,Z).
03:38:56 [sbp]
how do I find the result?
03:39:03 [bijan]
And you'll see the results.
03:39:08 [bijan]
And the non-results :)
03:39:17 [bijan]
but anon_17 will be the head pointer.
03:39:21 [sbp]
ooh:-
03:39:22 [sbp]
X = anon_17
03:39:22 [sbp]
Y = 'http://www.daml.org/2001/03/daml+oil#first'
03:39:22 [sbp]
Z = 'http://example.org/' ;
03:39:22 [sbp]
X = anon_17
03:39:22 [sbp]
Y = 'http://www.daml.org/2001/03/daml+oil#rest'
03:39:23 [sbp]
Z = anon_18 ;
03:39:25 [sbp]
X = anon_18
03:39:27 [sbp]
Y = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type'
03:39:29 [sbp]
Z = 'http://www.daml.org/2001/03/daml+oil#List' ;
03:39:31 [sbp]
X = anon_18
03:39:33 [sbp]
Y = 'http://www.daml.org/2001/03/daml+oil#first'
03:39:35 [sbp]
Z = blargh ;
03:39:37 [sbp]
[...]
03:39:39 [sbp]
great stuff!
03:39:40 [bijan]
There you go.
03:39:59 [bijan]
Note that that's all done in raw rdf.
03:40:04 [bijan]
no prolog list code invoked.
03:40:08 [sbp]
why is example.org quoted, but blargh isn't?
03:40:17 [sbp]
I guess Prolog needs to quote the /?
03:40:21 [bijan]
Yes.
03:40:32 [bijan]
Ah, that's prolly a bug, too.
03:40:39 [bijan]
they shoudl be literals
03:40:46 [sbp]
yeah
03:44:59 [bijan]
Ok, got a fix.
03:46:25 [bijan]
literalize_list([],[]).
03:46:25 [bijan]
literalize_list([H|T], [literal(H)|New_t]) :-
03:46:26 [bijan]
literalize_list(T, New_t).
03:46:45 [bijan]
If I move to using prolog strings for literals, some of that will disappear.
03:46:49 [bijan]
Or be a tad easier.
03:46:59 [sbp]
ooh. Prolog is the balls
03:47:17 [sbp]
* sbp really should pick up a manual...
03:47:21 [bijan]
Yep.
03:47:45 [bijan]
Or get ORA to hire me to write "Learning Prolog (with web applications)
03:47:46 [AaronSw]
jeremiah, want to become a "community member"?
03:48:06 [sbp]
* sbp mails Derrick
03:48:18 [AaronSw]
heh
03:48:28 [bijan]
Actually, CWMClone would be a great learning project.
03:48:29 [AaronSw]
Derrick just does Mac stuff, dude/
03:48:34 [sbp]
Pff
03:48:39 [sbp]
[at Aaron]
03:48:44 [sbp]
and pff
03:48:48 [sbp]
[at bijan] :-)
03:48:51 [bijan]
I was thinking of trying to write up a "literate" version focused on teaching prolog and cwm.
03:48:57 [bijan]
and n3 etc.
03:49:14 [sbp]
that would make for an incredible article series
03:49:20 [sbp]
"Roll your own CWM"
03:49:21 [bijan]
...that no one would pay for ;)
03:49:25 [MorbusIff]
MorbusIff (~Morbus@s126.terminal3.totalnetnh.net) has joined #swhack
03:49:28 [sbp]
heh, true
03:49:40 [sbp]
Morbus! have a peanut
03:49:40 [bijan]
Not even teh w3c.
03:49:49 [sbp]
well, I'd pay for it
03:49:54 [bijan]
But not very much :)
03:49:55 [sbp]
but I'm odd like that
03:50:01 [sbp]
I might manage a dollar
03:50:02 [bijan]
You're means limited.
03:50:07 [sbp]
indeed
03:50:13 [MorbusIff]
* MorbusIff munches.
03:50:15 [MorbusIff]
MMmMm!
03:57:09 [Morbus]
Morbus has quit (No route to host)
04:10:29 [MorbusIff]
MorbusIff is now known as Morbus
04:22:18 [Morbus]
Morbus has quit ("http://www.disobey.com/")
04:40:44 [bijan]
bijan has quit ("Leaving")
04:48:42 [AaronSw]
jeremiah, are you around?
05:49:33 [redmonk]
redmonk (sid@ip68-2-179-170.ph.ph.cox.net) has joined #swhack
05:50:24 [redmonk]
redmonk is now known as rm
05:52:49 [rm]
rm is now known as rm_lrkr
05:57:00 [AaronSw]
* AaronSw downloads "We Can Work it Out"
06:30:04 [rm_lrkr]
rm_lrkr has quit ("i think you all need to grow up. nighty night folks.")
06:45:24 [AaronSw]
* AaronSw is away: sleep
06:46:51 [sbp]
Gotta run
08:31:03 [deltab]
deltab has quit (carter.openprojects.net irc.openprojects.net)
08:33:58 [deltab]
deltab (deltab@mewtwo.espnow.com) has joined #swhack
09:20:07 [tansaku]
tansaku has quit (Read error: 110 (Connection timed out))
13:51:14 [Morbus]
Morbus (~morbus@morbus.totalnetnh.net) has joined #swhack
14:16:28 [redmonk]
redmonk (sid@ip68-2-179-170.ph.ph.cox.net) has joined #swhack
14:16:59 [redmonk]
redmonk is now known as rm
14:25:30 [rm]
rm has quit ("Snak 4.8.3 - http://www.snak.com")
15:33:18 [Rooth4ckus]
Rooth4ckus (Rooth4ckus@211.225.231.14) has joined #swhack
15:39:19 [tansaku23]
tansaku23 (~sam@n145-141.tokyu-net.catv.ne.jp) has joined #swhack
16:33:03 [tansaku23]
tansaku23 has quit (Read error: 110 (Connection timed out))
16:49:16 [tansaku23]
tansaku23 (~sam@h131-241.tokyu-net.catv.ne.jp) has joined #swhack
17:22:12 [hazmat]
hazmat (~ender@adsl-66-123-57-58.dsl.lsan03.pacbell.net) has joined #swhack
17:42:35 [hazmat]
.time est
17:42:35 [xena]
Feb. 27, 2002 12:44 pm US/Eastern
17:42:47 [AaronSw]
howdy, hazmat
17:42:54 [AaronSw]
tav told me you wanted to become an espian
17:42:56 [hazmat]
good morning AaronSw
17:43:11 [hazmat]
its been a while, but yes. i want to change the world ;)
17:43:18 [AaronSw]
Heh, heh
17:44:07 [hazmat]
i'm still not clear on what it means to be an espian..
17:44:45 [AaronSw]
yeah, i wasn't either...
17:45:22 [AaronSw]
and it got me into trouble
17:47:28 [hazmat]
ic
17:48:08 [hazmat]
a leap of faith then?
17:48:32 [AaronSw]
since it's not really written down, tav seems to take it as a license to tell you what to do :-(
17:48:56 [AaronSw]
when i disagree with things he says, he just responds "why didn't you speak up when you first became an espian?"
17:50:38 [hazmat]
ok, so what does tav want to do?
17:52:48 [AaronSw]
well, he wants the plex to be espian controlled
17:56:12 [Morbus]
whee, i'm loved.
17:56:38 [Morbus]
.email root@mobile.totalnetnh.net
17:56:38 [xena]
email successfully sent.
17:56:46 [AaronSw]
heh!
17:57:00 [Morbus]
just testing a new server
17:57:18 [AaronSw]
whee, i'm gonna get paid!
17:57:25 [Morbus]
? for what?
17:57:31 [AaronSw]
i can't say
17:57:37 [sbp]
neat
17:57:50 [Morbus]
.email majordomo-owner@mobile.totalnetnh.net
17:57:50 [xena]
email successfully sent.
17:57:52 [sbp]
Gotta run
18:25:16 [denshi]
denshi (~chatzilla@adsl-216-62-223-193.dsl.rcsntx.swbell.net) has joined #swhack
18:53:15 [sbp]
* sbp wonders who Rooth4ckus is
18:53:19 [sbp]
and denshi
18:53:26 [sbp]
lots of new people today!
18:54:18 [denshi]
sbp: denshi is probably a bot.
18:54:36 [sbp]
ah. probably
18:54:45 [monokrom]
spooky
18:54:52 [sbp]
can it do any cool tricks, I wonder?
18:55:06 [denshi]
I took the blue pill.
18:55:46 [sbp]
Er... Mmmkay
18:56:01 [sbp]
* sbp is unimpressed with that trick
18:56:42 [denshi]
is there a chatlog for this channel?
18:57:05 [sbp]
yep
18:57:21 [sbp]
http://blogspace.com/swhack/chatlogs/
18:57:30 [sbp]
to say something off-log, prefix it with "# "
18:57:39 [Morbus]
sbp!
18:57:45 [Morbus]
man, lots of new people coming lately.
18:57:58 [sbp]
yeah, I noticed
18:58:14 [sbp]
although one of them is (and I quote) "probably a bot"
18:58:37 [monokrom]
haha
18:58:42 [Morbus]
mmhmm
18:59:35 [sbp]
Gotta run
19:00:00 [Morbus]
oh, i see how it is.
20:03:24 [sbp]
* sbp returns
20:10:33 [AaronSw]
sbp, what do you think of the idea of W3C Phone BOFs.
20:10:45 [AaronSw]
s/./?/
20:11:19 [sbp]
quite a good idea
20:11:27 [sbp]
where was that raised?
20:11:34 [AaronSw]
sandro and I are chatting about it
20:12:02 [sbp]
it is a good idea
20:13:53 [Morbus]
Florps Pie?
20:29:16 [Rooth4ckus]
Rooth4ckus has quit ()
20:29:31 [Morbus]
la la la.
20:31:58 [bijan]
bijan (bparsia@login1.isis.unc.edu) has joined #swhack
20:33:19 [bijan]
So, I'm way off :)
20:34:11 [sbp]
yes
20:34:35 [sbp]
* sbp comes up with a normalization script to canonicalize the NTriples output from CWM
20:36:02 [sbp]
Hmm... it only seems to have applied a couple of the rules
20:37:14 [bijan]
oh my.
20:37:17 [bijan]
i jsut got a bunch.
20:37:18 [sbp]
the funny thing is, there are no rules with "subClassOf" as predicate in the ante.
20:37:25 [sbp]
a bunch of what?
20:37:30 [sbp]
flowers? chips? :-)
20:37:38 [bijan]
Stuff in a filter.
20:39:22 [bijan]
Now I have 308!
20:40:01 [bijan]
Something about my forward chainer isn't quite working.
20:44:11 [bijan]
Ok, first application gets 15. (in a filter)
20:44:20 [bijan]
Second applicatoin ups it to 79
20:44:40 [bijan]
Third, 194
20:44:54 [bijan]
Fourth, 308.
20:44:59 [bijan]
That's it.
20:45:41 [sbp]
eek
20:45:52 [sbp]
well, the third is the closest :-)
20:46:41 [sbp]
* sbp continues work on his normalization script
20:46:44 [bijan]
Werid that apply rules isn't working automatically.
20:46:59 [bijan]
Do we have any idea what the correct inference is?
20:47:31 [bijan]
OH OHOHOH!
20:47:38 [bijan]
I *know* what the discrepancy is.
20:47:41 [bijan]
Or I have a good bet.
20:47:45 [denshi]
sbp, could you break down the function of that script you're writing?
20:47:54 [bijan]
Lists!
20:48:24 [bijan]
Maybe nt :)
20:48:57 [bijan]
Yes, I have a number of daml:Lists type triples.
20:49:08 [bijan]
Oops. no.
20:49:34 [bijan]
Well, note that that's a possibility.
20:49:41 [bijan]
If I stick in more triples for some things.
20:50:21 [bijan]
yay! I see a list.
20:52:03 [sbp]
denshi: do you want me to just paste it in?
20:52:24 [denshi]
just clue me in as to what this group is about and the project you are working on...
20:52:32 [sbp]
ah, right
20:52:56 [sbp]
Welcome to #swhack :-) Basically, we chat about anything here, but at the moment, we're working on stuff to do with the Semantic Web (http://www.w3.org/2001/sw/)
20:53:29 [sbp]
the script that I'm writing at the moment normalizes NTriples - a subset of Notation3 - since CWM can't output it properly
20:53:32 [sbp]
.google NTriples
20:53:33 [xena]
NTriples: http://www.w3.org/2001/sw/RDFCore/ntriples
20:53:36 [sbp]
.google Notation3
20:53:37 [xena]
Notation3: http://www.w3.org/DesignIssues/Notation3.html
20:53:39 [sbp]
.google CWM
20:53:40 [xena]
CWM: http://www.fme.nl
20:53:47 [sbp]
the last one is incorrect...
20:53:51 [sbp]
.google "Closed World Machine"
20:53:52 [xena]
"Closed World Machine": http://infomesh.net/2001/cwm
20:54:01 [sbp]
Bijan here is working on a clone of CWM
20:54:06 [sbp]
(written in Prolog)
20:54:25 [sbp]
and doing a rather brilliant job of it, I might add
20:54:32 [bijan]
* bijan blushes.
20:54:44 [bijan]
hardly! but it does seem to be shaping up.
20:56:46 [sbp]
ooh, my normalizer worked. Time to send it to www-archive...
20:57:01 [bijan]
Sean,i just uploaded the current version, if you want to try rules.n3
20:57:26 [bijan]
I don't think anony handling is going to make a difference.
20:57:31 [bijan]
I don't note any [] in your rules.
20:58:05 [sbp]
* sbp gets the latest version...
20:58:26 [bijan]
You want my 0_95, too.
20:58:32 [bijan]
As I had to strip out the """
20:58:49 [sbp]
O.K.
20:58:57 [bijan]
it's in cwmclone/
20:59:01 [bijan]
Obviously named :)
20:59:16 [sbp]
denshi: http://lists.w3.org/Archives/Public/www-archive/2002Feb/0043 and http://lists.w3.org/Archives/Public/www-archive/2002Feb/att-0043/01-norm
21:00:05 [sbp]
O.K. bijan, I've got the files, and CWMClone is running...
21:00:18 [AaronSw]
sbp is going for the most-posts-to-www-archive award
21:00:32 [bijan]
You want to consult_n3('path/to/rules.n3', user).
21:00:35 [sbp]
heh, indeed :-)
21:00:59 [denshi]
I'm trying to read all of this very fast...
21:01:03 [sbp]
bijan: it did it
21:01:09 [sbp]
denshi: :-)
21:01:21 [bijan]
If you compile_rules(user). you should get 17 rules.
21:01:38 [denshi]
i'm just missing the purpose of N-Triples
21:01:50 [sbp]
er... can't count them, but it kinda works
21:01:59 [bijan]
Look at the last rule.
21:01:59 [sbp]
NTriples are useful because they're very easy to parse
21:02:02 [bijan]
There shoudl be a number there.
21:02:04 [bijan]
In the header.
21:02:04 [sbp]
whereas N3 isn't
21:02:17 [sbp]
ah, you're right. The last one is 17
21:02:22 [bijan]
NTriples doesn't good chunks of n3.
21:02:33 [sbp]
I wrote an NTriple parser in about 10-or-so lines :-)
21:02:34 [bijan]
Now, if I filter(user, test). until I can't any more...
21:02:43 [bijan]
doesn't do good chunks...
21:02:48 [bijan]
but it's much easier, indeed.
21:03:10 [bijan]
Line orientation helps, too.
21:03:15 [sbp]
[[[
21:03:16 [sbp]
?- filter(user, test).
21:03:16 [sbp]
[4, 4, 4, 4, 4, 4, 4, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 9, 9, 15, 15, 15, 15, 15, 15, 15, 15, 15,
21:03:17 [sbp]
[...]
21:03:18 [sbp]
]]]
21:03:42 [bijan]
findall(X, rdf(X,_,_, test), Xs), length(Xs, N).
21:03:47 [bijan]
Will give you a triple count for test.
21:03:48 [denshi]
back it up a bit... N3 & N-Triple fit where? In RDF description/discovery? Where in an RDF feed system is it used?
21:04:02 [sbp]
[[[
21:04:03 [sbp]
X = _G428
21:04:04 [sbp]
Xs = ['http://www.daml.org/2001/03/daml+oil#Class', 'http://www.daml.org/2001/03/daml+oil#Datatype', 'http://www.daml.org/2001/03/daml+oil#Restriction">http://www.daml.org/2001/03/daml+oil#Restriction', 'http://www.daml.org/2001/03/daml+oil#Restriction', 'http://www.w3.org/2000/01/rdf-schema#ConstraintProperty', 'http://www.w3.org/2000/01/rdf-schema#containerMembershipProperty']
21:04:16 [sbp]
N = 6 ;
21:04:17 [sbp]
No
21:04:17 [sbp]
]]]
21:04:17 [bijan]
Right, you can keep filtering until it, er, falters.
21:04:24 [sbp]
denshi: N3 and NTriples are useful alternate serializtions of RDF
21:04:33 [bijan]
4 times.
21:04:37 [sbp]
N3 is useful because it has extra logic constructs, e.g. formulae
21:04:45 [bijan]
N3, actually, is a logic langauge which is a proper superset of RDF.
21:04:50 [bijan]
And NTriples for that matter.
21:04:56 [sbp]
NTriples are useful because they don't suck like XML RDF
21:05:20 [bijan]
NTriples standardizes the common "triple view" of an RDF graph.
21:05:40 [bijan]
Which means you can actually use it for interchange.
21:05:46 [sbp]
yep, making it a lot easier to work out what triples you get from the serialiation
21:06:06 [sbp]
plus, NTriples (potentially) allows you to express things that XML RDF can't, as bijan said (a proper superset)
21:06:21 [bijan]
Well, both ntriples and n3 are proper supersets.
21:06:22 [sbp]
e.g. XML RDF doesn't let you end predicates with non XML-name chars
21:06:27 [bijan]
Ntriples is a *lot* closer.
21:06:44 [bijan]
NTriples is prolly RDF.
21:06:56 [bijan]
RDF/XML will turn out to be a rather poor serialization of it.
21:07:28 [bijan]
y'know, sean, it's *really* wacky that there should be multi-filterings.
21:07:53 [sbp]
what's going on?
21:07:58 [bijan]
I'm not sure.
21:08:11 [bijan]
What's *supposed* to be going on with a filter is that first you test to see what rules apply.
21:08:17 [bijan]
That's the list of numbers.
21:08:35 [bijan]
Then you run through that list applying the corresponding rule.
21:08:48 [bijan]
Not all the tests will yield correct applications.
21:08:58 [bijan]
As applying the rule might block a conclusion.
21:09:20 [bijan]
But why, then, are the rules working the second time around?
21:09:34 [bijan]
Theoretically, all the possible applications of the rules should be in the target context.
21:09:56 [bijan]
The target context *isn't* available to supply new premises.
21:10:47 [bijan]
Hmm. The no may be a clue.
21:10:53 [bijan]
it must be aborting early.
21:11:18 [bijan]
That would explain why apply_rules needs to be kickstarted.
21:13:36 [bijan]
Hmm. Weird, it stoped on rule 8, but then picked up on the next filter.
21:17:44 [bijan]
Seems like one extra positive gets in.
21:20:18 [bijan]
Ok, fixed that.
21:20:32 [AaronSw]
.google sandro hawke
21:20:33 [xena]
sandro hawke: http://www.w3.org/People/Sandro
21:20:37 [bijan]
I still end up with 95 in the target context.
21:21:41 [sbp]
.google Sandro SWAN site:www.w3.org
21:21:41 [xena]
Sandro SWAN site:www.w3.org: http://www.w3.org/2000/12/swan/swan-1.0.html
21:22:22 [AaronSw]
I'm writing up the Phone BOF proposal and needed a link
21:24:21 [bijan]
Ok, I still get 308 in the filter.
21:24:42 [bijan]
consult_n3('path/to/hacked/0_95.n3',user).
21:25:09 [bijan]
And then filter by hand until it stops.
21:25:45 [sbp]
it worked, but I don't know how many output triples I got...
21:26:14 [bijan]
findall(X, rdf(X,_,_, test), Xs), length(Xs, N).
21:26:31 [sbp]
N = 6
21:26:35 [sbp]
(again)
21:29:52 [bijan]
What?
21:30:03 [sbp]
N = 6
21:30:10 [bijan]
For which?
21:30:24 [sbp]
for findall(X, rdf(X,_,_, test), Xs), length(Xs, N).
21:30:29 [sbp]
and then "; No"
21:30:53 [bijan]
What did you do?
21:31:15 [bijan]
Doyou have both files consulted into user?
21:31:39 [sbp]
not sure...
21:31:46 [sbp]
shall I run it again from the start?
21:31:55 [sbp]
and note that I don't have the latest version
21:31:55 [bijan]
How many times did you filter?
21:32:00 [bijan]
Ah.
21:32:58 [denshi]
denshi has quit (Remote closed the connection)
21:33:10 [bijan]
That means you need to filter repeatedly until it stops.
21:34:27 [bijan]
But I uploaded the new one.
21:35:04 [sbp]
* sbp gets it
21:35:14 [sbp]
I have so many damn versions of the thing now :-()
21:35:17 [sbp]
:-)
21:37:35 [AaronSw]
Hm, I have trouble balancing proper link text with Fitt's Law.
21:37:49 [AaronSw]
Please review: http://logicerror.com/phoneBOFs
21:39:59 [AaronSw]
(sbp, that means you ;)
21:40:28 [sbp]
yep, that seems good as a proposal
21:40:35 [sbp]
can't you use singular "they", though?
21:40:56 [AaronSw]
I suppose, felt a little awkward.
21:41:04 [sbp]
perhaps you should give some examples of why BOFs would be needed
21:41:18 [sbp]
i.e. with respect to current cross WG problems, not hypothetical
21:41:28 [AaronSw]
Specific problems, hmm.
21:41:46 [sbp]
if there aren't any, then you have to question the point of BOFs :-)
21:42:01 [sbp]
I'm sure that there are plenty. They seem to be ten a penny in the WAI
21:42:04 [AaronSw]
oh, there are tons (see the "Why?" section) but i sorta wanted to keep it general
21:42:30 [sbp]
I think that some scenarios would really help the proposal. Just a couple, at the end (as an appendix, perhaps)
21:42:42 [sbp]
as DanC says: ground it in use cases!
21:42:45 [AaronSw]
ok.
21:42:48 [Morbus]
Morbus has quit ("http://www.disobey.com/")
21:42:52 [AaronSw]
you don't think that goes in "Why?"
21:43:10 [sbp]
Hmm... it would fit either end, I guess
21:43:18 [AaronSw]
gotta run, i'll fix it when i get back
21:43:24 [sbp]
O.K. c'ya
21:43:55 [AaronSw]
feel free to spool requests here
21:49:11 [bijan]
sean, did it work?
21:53:26 [sbp]
oops, sorry _ ihaven't had the chance to test it yet, and Fraiser's going to be on quite soon... I'll have to attend to it when I get back. Sorry
21:53:34 [bijan]
S'ok.
22:19:06 [Morbus]
Morbus (~morbus@morbus.totalnetnh.net) has joined #swhack
22:19:38 [Morbus]
bwahah, this rocks.
22:19:40 [Morbus]
http://saladwithsteve.com/osx/2002_02_01_archive.html#10192247
22:27:54 [MorbusIff]
MorbusIff (~morbus@morbus.totalnetnh.net) has joined #swhack
22:28:16 [Morbus]
Morbus has quit (Read error: 104 (Connection reset by peer))
22:29:07 [bijan]
bijan has left #swhack
22:33:53 [AaronSw]
Cool, that was fun
22:35:07 [AaronSw]
Heh, after driving all that way i keep expecting the chair to lurch forward
22:38:47 [MorbusIff]
heh, heh.
22:38:53 [MorbusIff]
hey, AaronSw, do you read Forward: OS X?
22:39:09 [MorbusIff]
one of the guys was bitching about os x rss readers, and four people mentioned amphetadesk to him (he hadn't known of it before).
22:39:11 [MorbusIff]
that's kinda cool.
22:39:18 [AaronSw]
you mean salad with steve?
22:39:20 [MorbusIff]
yeah.
22:39:25 [AaronSw]
i don't read it, but I know all the writers
22:39:32 [MorbusIff]
you know "george" something or other?
22:39:35 [AaronSw]
they all hang out on infoanarchy
22:39:44 [AaronSw]
and stuff like that
22:39:48 [MorbusIff]
george something or other does?
22:39:54 [AaronSw]
Hm, dunno about him
22:40:13 [AaronSw]
george scriban... sounds familiar
22:40:24 [AaronSw]
oh, the blogaritaville guy
22:40:27 [MorbusIff]
yeah, that guy
22:44:08 [AaronSw]
sbp, need some non-rdf topics of discussion
22:47:35 [MorbusIff]
documentation!
22:48:04 [AaronSw]
heh
22:49:31 [AaronSw]
.google swad
22:49:32 [xena]
swad: http://swadautotransporters.com
22:49:37 [AaronSw]
.google swad w3
22:49:37 [xena]
swad w3: http://www.w3.org/2000/01/sw
22:56:10 [MorbusIff]
MorbusIff has quit (Read error: 104 (Connection reset by peer))
23:15:50 [Morbus]
Morbus (~Morbus@s116.terminal3.totalnetnh.net) has joined #swhack
23:16:04 [sbp]
Hi Morbus
23:18:25 [Morbus]
hey there sbpster!
23:18:31 [sbp]
Morbster!
23:19:05 [Morbus]
how are ya?
23:19:15 [sbp]
yes, thanks
23:19:17 [Morbus]
i hope to do something with amphta tonight.
23:19:19 [sbp]
I mean: fine :-)
23:19:21 [Morbus]
after i get all my other junk done
23:19:36 [sbp]
cool. what are you going to do to it? Nothing too perverted, I hope :-)
23:19:51 [Morbus]
nope, i'm gonna focus on the myChannels.opml file.
23:20:07 [Morbus]
adding unique id's, allowing autoimports of radio files, etc.
23:20:21 [Morbus]
and switching the template over to text::template.
23:20:26 [Morbus]
i'm hoping it'll go smoothly
23:23:22 [Morbus]
Morbus has quit ("http://www.disobey.com/")
23:42:23 [Morbus]
Morbus (~Morbus@63.173.138.115) has joined #swhack
23:43:49 [Morbus]
* Morbus grumbles
23:48:24 [Morbus]
.google barry ween
23:48:24 [xena]
barry ween: http://www.barryween.com
23:50:25 [AaronSw]
.dns cvs.plexnow.com
23:50:25 [xena]
cvs.plexnow.com - 209.216.14.26
23:51:32 [sbp]
lol!
23:51:36 [sbp]
this is hillarious:-
23:52:33 [AaronSw]
we're waiting
23:52:35 [AaronSw]
* AaronSw does the sonic the hedgehog foot tap
23:54:20 [sbp]
"2. Human readable information is good. Humans can sue it" - TimBL on www-tag
23:54:22 [sbp]
- mid:062601c1bfea$19ae2460$0301a8c0@w3.org
23:54:35 [AaronSw]
I was about to conclude that sbp had been abducted by Dr. Robotnic
23:54:43 [sbp]
heh, heh
23:54:45 [AaronSw]
Heh, that is funny.
23:54:55 [Morbus]
AaronSw: there's no rpobelms with blogify, right? i can still mention it to people?
23:55:08 [AaronSw]
yeah, you can
23:55:13 [Morbus]
k, thanks
23:55:18 [Morbus]
trying to get surlyrobot.com
23:55:22 [AaronSw]
but it's slow and buggy and i'm not going to fix their problems. so ha!
23:55:27 [AaronSw]
:-)