Semantic Web Interest Group IRC Chat Logs for 2004-12-13

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/swig (also known as server irc.freenode.net channel #swig if that URI does not work for you).

See also the Semantic Web Interest Group IRC Scratchpad for the collaboratively written weblog and ESW wiki.


Semantic Web Interest Group Logs > 2004 > 2004-12 > 2004-12-13 (Latest) (Search)

00:16:26 <GreyLensman> N3 question: In latest n3.n3, qname (it appears) can be empty, therefore @prefix <http://home> . is legal. In two of Sean Palmer's tests in the recent parser/test suite, there are @prefix statements without a qname value. Is this correct? If yes, how does one interpret a @prefix qname uri . when the qname is not there?

00:19:17 <GreyLensman> My parser is dying on '@prefix <http://x> .' as it expects a qname of at least ':'. e.g. '@prefix : <http://x> .'

00:20:50 <sbp> yeah, actually that's one of a few things I've been meaning to look into for the n3.n3 grammar. another is, for example, that paths using the old dot notation still get through

00:21:07 <sbp> I need to create a set of negative tests; I have a couple files of notes on them

00:21:42 <sbp> I think the lack of QName is a bug. let me check the production

00:22:07 <deltab> yeah, looks like a bug to me

00:22:09 <GreyLensman> I have a couple of corner cases that parse that I expect should not. But in numeric-01.n3 numeric-02.n3 the ':' is missing.

00:22:39 <deltab> the same sort of unintended consequence that would class "." as a decimal number

00:22:42 <sbp> ah, it's because QName can be empty

00:22:46 <GreyLensman> yes

00:22:56 <sbp> whoops, you already said that. sorry :-)

00:23:10 <GreyLensman> The qname production says qname can be empty. But is that the intent?

00:23:25 <sbp> nope, I very much doubt it

00:23:27 <deltab> I very much doubt it

00:23:32 <deltab> heh!

00:23:32 <GreyLensman> ahh

00:23:34 <sbp> :-)

00:23:41 <sbp> I suspect that the final "?" is in error

00:23:54 <deltab> it'd make "." a valid triple

00:23:58 <sbp> hmm. though that wouldn't allow for ":"

00:24:27 <deltab> should foo: be allowed?

00:24:34 <GreyLensman> yes.

00:24:35 <sbp> yeah. though the parser doesn't pick that up, I don't think. it performs look ahead based on annotations of the productions, not the productions themselves

00:24:36 <deltab> as a qname, that is

00:24:44 <sbp> yep; there's already a test for it

00:24:59 <deltab> foo: bar: baz .

00:25:16 <deltab> like that?

00:25:35 <sbp> that's not valid; you'd need an @keywords .

00:25:37 <deltab> oops, missed a colon

00:25:38 <GreyLensman> Its the middle ? that is in question.

00:25:38 <sbp> but yes

00:25:48 <sbp> nope, because you can have barenames

00:25:55 <GreyLensman> k

00:26:01 <sbp> deltab: [[[

00:26:01 <sbp> qname cfg:matches "(([a-zA-Z_][a-zA-Z0-9_]*)?:)?([a-zA-Z_][a-zA-Z0-9_]*)?";

00:26:02 <sbp> cfg:canStartWith "a", "_", ":". # @@ etc unicode

00:26:02 <sbp> ]]]

00:26:14 <sbp> it's the canStartWith that the parser uses

00:26:27 <deltab> I know that's what it says, but is it intended?

00:26:32 <sbp> the tokeniser peeks ahead and returns a character based on what it thinks is coming next

00:26:40 <sbp> the actual match is wrong

00:26:52 <GreyLensman> I'm using the old qname=(([a-zA-Z_][a-zA-Z0-9_]*)?:)([a-zA-Z_][a-z$@A-Z0-9_]*)?;

00:27:14 <sbp> but that won't match, e.g., @keywords . p q r .

00:27:29 <GreyLensman> This requires a : somewhere, even if only ':'

00:27:31 <sbp> "$@"?

00:27:53 <sbp> btw, is your parser online GreyLensman?

00:27:57 <sbp> [brb]

00:28:03 <GreyLensman> not the latest.

00:28:13 <GreyLensman> I have about 3-4 issues from your tests.

00:28:32 <GreyLensman> Runs them all and prints AST in 18 ms.

00:29:31 <GreyLensman> so what was the final answer on the validity of '@prefix <http://x> . '

00:29:58 <GreyLensman> sorry, missed brb.

00:30:31 <sbp> final answer: it's invalid. there should be a negative parser test for it, and the next version of the positive parser tests will not include that statement (already fixed before you raised the problem)

00:30:37 <sbp> np

00:31:08 <sbp> what are the other issues? I'd be delighted to hear them! I've been working fairly solidly on this the past few days, so I've been rambling on about it to anyone within earshot

00:31:18 <sbp> it'll be nice to ramble on to someone who cares for a change :-)

00:31:23 <deltab> so "foo:" is now always acceptable as a qname?

00:31:57 <sbp> deltab: has been since at least the 7th October 2003: http://www.w3.org/2000/10/swap/test/syntax/zero-length-lname.n3

00:32:38 <GreyLensman> I mailed you me log file of current parser output.

00:33:27 <sbp> GreyLensman: I ran CWM against the test suite, and found a few issues that way. namely: CWM doesn't support \UHHHHHHHH, @this for triples not containing forSome/forAll predicates, and one other that I forget

00:33:29 <sbp> ah, thanks!

00:33:35 * sbp checks

00:34:13 <GreyLensman> sbp, I don't think there is anything in there that is a problem that is not with my parser.

00:34:32 <GreyLensman> I have an issue with "\"" for example.

00:35:11 <GreyLensman> The one corner case I thought I had, well, looking at the log. I was wrong.

00:35:30 <sbp> ah, fair enough

00:35:38 <sbp> interesting: you seem to be doing parser recovery too

00:35:43 <GreyLensman> Yes.

00:36:10 <GreyLensman> Its was a couple of corrections that succeeded that made me think I had some odd corner cases.

00:36:25 <sbp> this-rules.n3? that's a new one

00:36:42 <GreyLensman> The parser will try and substitute/backtrack in a desperate attempt to parse hell or high water.

00:36:51 <sbp> heh

00:36:53 <GreyLensman> that was a couple of my own.

00:37:04 <IsoosI> cat /dev/urandom > GreyLensman

00:37:05 <IsoosI> :)

00:37:13 <sbp> not online, I presume... what's the basis of this parser? what language?

00:37:57 <GreyLensman> SML is the language, SML/NJ and MLton is the compiler, MLYacc and MLLex for the parser.

00:38:07 <sbp> SML: whoops, I see from the email too now

00:38:08 <dc_swig> Label SML not found.

00:38:44 <sbp> were you able to make use of the Yacc output from TimBL's predictiveParser?

00:39:04 <GreyLensman> I just did a straight right down from n3.n3.

00:39:09 <GreyLensman> write down...

00:39:30 <sbp> ah, okay

00:39:51 <sbp> are you doing anything with the output yet--feeding to an RDF API of some sort, for example?

00:40:35 <sbp> oh, I remember the other CWM issue now. I think I filed a bug for it already...

00:41:00 <GreyLensman> I have a kick ass Rete, optimized for triples based Working Memory Elements.

00:41:09 <sbp> hmm. I did send it, but it's not in the archives yet. annoying

00:41:35 <GreyLensman> I've been this close a release for oh about 6 months.

00:41:36 <sbp> cool

00:41:44 <sbp> heh. the six month phenomenon

00:41:47 <GreyLensman> Never ends....

00:41:50 * sbp nods

00:41:58 <GreyLensman> EOY is the target.

00:42:26 <sbp> it'll be good to see. you have an RDF/XML parser and such for it already, I presume?

00:42:43 <GreyLensman> sbp, I sent the grammar and lex file I'm using. I know a couple of the lex reges are dated.

00:43:00 <sbp> thanks. looking...

00:43:42 <GreyLensman> There is an XML parser in SML. Now real RDF/XML parser at this time.

00:44:40 <sbp> the (* comment syntax *) reminds me of (: XQuery's :)

00:45:01 <sbp> fair enough. at least you're working on the better language first :-)

00:45:27 <crschmidt> Pfft, everyone knows n3 is just voodoo language designed to confuse people.

00:45:46 * sbp wonders what that makes RDF/XML...

00:45:46 <GreyLensman> and that would make RDF/XML pure black magic.

00:46:12 * GreyLensman goes to walk the dog.

00:46:55 <sbp> enjoy. thanks for the feedback

00:47:15 <sbp> hmm: string=\"([^"]*)\";

00:47:34 <IsoosI> crschmidt, Does your bot do n3?

00:47:40 <crschmidt> IsoosI: nope

00:47:47 <sbp> I'll probably be releasing a new version of the test suite/parsers soon

00:47:57 <sbp> been fiddling with them all day, should be enough changes...

00:48:11 <IsoosI> crschmidt, pity, last time I was around I wanted to write a bot that could deal with n3 from a topdown basis (rather than cwm's bottomup)

00:48:26 <crschmidt> If someone writes me something I can pass a string of n3 and get back a series of statements, I'll integrate it into the bot

00:48:55 <sbp> "series of statements"?

00:48:55 <IsoosI> crschmidt, thats no fun tho, you miss the turingcompleteness of n3

00:49:05 <sbp> n3proc will turn N3 into N-Triples if that's enough

00:49:12 <sbp> you can parse N-Triples, no?

00:49:22 <crschmidt> sbp: yeah, i just realized that

00:49:46 <sbp> ./n3proc.py -r URI

00:49:48 <crschmidt> okay, next version of julie will probably integrate n3 parsing as a fallback for RDF/XML

00:49:53 <sbp> whoo!

00:50:00 <IsoosI> wee!

00:50:07 <IsoosI> will it be able to do n3 processing?

00:50:14 <crschmidt> IsoosI: Ask sbp ;)

00:50:22 <IsoosI> sbp: as above?

00:50:27 <sbp> if he uses CWM, yep

00:50:38 <IsoosI> hmm

00:50:42 <IsoosI> cwm's bottom up tho :/

00:50:43 <sbp> Pyrple actually does it to a limited extent too

00:50:46 <crschmidt> You told me that cwm is hard to use inside something else

00:50:56 <sbp> very hard

00:50:56 <crschmidt> have to do funky things, or something like that

00:51:03 <sbp> it wasn't indended for that sort of use

00:51:10 <sbp> s/ind/int/

00:51:19 <IsoosI> thats why they invented popen4() :)

00:51:24 <sbp> heh

00:51:36 <crschmidt> IsoosI: what specifically do you have an interest in from n3?

00:51:41 <sbp> yeah. command line use is pretty much the Only Way

00:52:18 <IsoosI> crschmidt, I like the idea of being able rules into a tuple store

00:52:31 <IsoosI> as information without rules isn't much information at all

00:52:49 <crschmidt> Hm, can rules be translated to ntriples though?

00:52:54 * crschmidt shows his lack of rules knowledge

00:53:02 <IsoosI> This is where I got confused last time I hacked on n3

00:53:18 <IsoosI> some things suggested that they could, but noone seemed to know exactly how

00:53:30 <sbp> n3proc makes a valiant attempt at it

00:53:34 <crschmidt> I'm probably just going to be using some n3 processor and converting to ntriples

00:53:35 <sbp> it has to for the test suite

00:53:41 <IsoosI> there were arguments as if { } ment riefication etc

00:53:48 <sbp> basically you can only convert a kind of impression of the formulae

00:53:56 <IsoosI> yeah

00:53:58 <sbp> it's more than reification. it's more like a literal

00:54:23 <IsoosI> I couldn't figure out how to convert n3 rules into triples and still be able to execute them

00:54:33 <sbp> actually in pyrple (an RDF API of mine) I decided to represent them as datatyped literals

00:54:54 <sbp> well, I think it should be possible to run even flattened rules

00:55:07 <crschmidt> I also want to be able to scribble n3 on an irc line and add it to julie

00:55:09 <sbp> and I got datatype-rules running in pyrple just fine

00:55:13 <IsoosI> crschmidt, yeah

00:55:16 <sbp> so both approaches should work

00:55:17 <IsoosI> thats what I was keen on doing

00:55:25 <sbp> heh. DanC did that years ago

00:55:31 <IsoosI> I don't like cwm

00:55:32 <sbp> he wrote a bot on top of CWM

00:55:59 <sbp> http://dev.w3.org/cvsweb/2000/scribe-bot/

00:56:19 <sbp> "rdfn3chat.py is the main program"

00:56:33 <IsoosI> what worries me is that I don't believe that cwm can scale

00:56:38 <IsoosI> eventually it'll get too much information

00:56:41 <sbp> doubt it'll even run now

00:56:53 <sbp> IsoosI: depends what you're doing with it

00:57:06 <sbp> certainly the current code is highly inefficient

00:57:10 <IsoosI> well

00:57:24 <IsoosI> I was thinking something a bit more like google

00:57:24 <sbp> but that doesn't mean that the same approach can't work with better code

00:57:31 <sbp> ah

00:57:32 <IsoosI> ie, it has indexes to as much information as it can

00:57:42 <IsoosI> so you can query stuff and it goes and fetches it as it needs it

00:57:43 <sbp> I'd ask Google about that :-)

00:58:14 <IsoosI> so you ask it a question and it fetches .rdf files that are relevant that it needs

00:58:16 <crschmidt> sbp: yeah, i'd read that.

00:58:17 <IsoosI> and returns you a result

00:58:40 <IsoosI> the problem with what I understand of cwm, is that it wants all the information up front

00:58:59 <sbp> not at all. it goes off and fetches stuff from the Web

00:59:08 <sbp> you can even control what sort of access it gets

00:59:29 <IsoosI> yeah

00:59:33 <IsoosI> hmm

00:59:36 <IsoosI> perhaps I'm explaining this wrong

00:59:51 <IsoosI> I seem to recall it works from the data to the answer, not from the question to the data?

01:00:23 <sbp> er, kinda. again, that's a bit fuzzy though

01:00:35 <sbp> it's forward chaining

01:05:00 <IsoosI> yeah

01:05:13 <IsoosI> I think that reverse chaining for something like a bot is more useful

01:05:27 <IsoosI> but meh

01:05:29 <IsoosI> I should shuddup

01:05:34 <IsoosI> and put my code where my mouth is

01:07:34 <crschmidt> wait, i just realized something

01:07:45 <crschmidt> rules are applied to the store to come to some conclusion about the store, right?

01:08:08 <crschmidt> But... julie doesn't have a reasoner. Rules don't do her any good: she doesn't know how to deal with them.

01:08:36 <crschmidt> right, wrong, confused?

01:08:59 <IsoosI> hmm

01:10:43 <IsoosI> the thing about rules is you can say things like "if someone wants to know about x, you can deduce it from y"

01:10:56 <IsoosI> so it kinda multiplies the knowledge you have

01:11:08 <crschmidt> Right, because my 1.4 million triples aren't enough to deal with :)

01:11:11 <crschmidt> ^status

01:11:13 <julie> I currently hold 986076 triples, 44 namepsaces, and 46 stored commands. I have been running for 0.980 hours, and have used 0.011 minutes of CPU time. Stats on current machine (peanut.crschmidt.net): 20:12:37 up 22 days, 8:57, 6 users, load average: 1.79, 1.62, 1.60

01:11:27 <crschmidt> ooh, smushing having effect, yay

01:11:41 <crschmidt> of course, it's been smushing for how many fricking hours... *sigh* stupid large datasets

01:11:52 <IsoosI> heh

01:11:55 <IsoosI> after playing with smushing

01:12:00 <IsoosI> I got an amd64 w/ 2G of ram

01:12:05 <IsoosI> no more I/O issues ever again!

01:12:21 <crschmidt> Um. My database is 80 gigs.

01:12:27 <crschmidt> That doesn't fit into 2gig of ram ;)

01:12:30 <IsoosI> yeah

01:12:35 <IsoosI> but you can at least load large chunks of it

01:12:39 <crschmidt> I'm totally I/O bound at this point though

01:12:44 <IsoosI> instead of the 32mb or so I was trying to do at each point

01:13:04 <crschmidt> I have no clue why the hell my hard drive can only read/write at 1 MB/s

01:13:07 <IsoosI> since I was trying to use the machine while it was smushing

01:13:17 * crschmidt nods, that's what i'm doing.

01:13:21 * crschmidt waves from crschmidt.net

01:13:40 <GreyLensman> I have had +300K rules and 300K facts in WM. I'm planning on loading a named graph/formula set from store, apply rules, store new WMEs, repeat for next named graph. Something like that. As long as its less then 500K I should be good.

01:14:07 <GreyLensman> 500K of facts + rules.

01:15:09 <crschmidt> Yeah, I'm just imagining someone adding a "foaf:Person => foaf:Agent" rule, at which point, my triple count doubles, or something like that

01:15:37 <IsoosI> yeah

01:15:39 <IsoosI> exactly

01:15:43 <kasei> only doubles if you aren't smushing regularly, no?

01:16:01 <crschmidt> kasei: There's probably something along the lines of 10s of thousands of foaf:Persons in the db atm

01:16:13 <crschmidt> possibly significantly more: I haven't the heart to check

01:16:19 <IsoosI> can you add to the db from IRC?

01:16:22 <crschmidt> so, for each foaf:Person, there would also be a foaf:Agent

01:16:25 <kasei> right, but that's not on the order of a million

01:16:27 <crschmidt> IsoosI: ^add $url

01:16:29 <GreyLensman> but you would apply the rule one foad document at a time.

01:16:46 <crschmidt> GreyLensman: I don't have foaf documents.

01:16:50 <IsoosI> crschmidt, I was thinking more along the lines of us manually saying "personA and personB are actually the same person, so you can go smush them"

01:17:04 <IsoosI> not that I want to do that for 10's of thousands of people :)

01:17:28 <crschmidt> IsoosI: I've seen enough people break julie at various points to realize they never do what you think they're going to ;)

01:17:41 <IsoosI> true :)

01:17:53 <IsoosI> does julie keep track of where it got a fact from?

01:18:08 <sbp> nope

01:18:09 <crschmidt> No: That's the one big hole in the things she does, is her lack of context support

01:18:13 <GreyLensman> crschmidt, is it possible to get a export dump of Julie's WM?

01:18:27 <crschmidt> GreyLensman: WM? I can serialize the data, yes

01:18:36 <crschmidt> GreyLensman: Not until this damn smush finishes though :)

01:18:38 <GreyLensman> Working Memory. Fact store.

01:18:50 <crschmidt> GreyLensman: ah. Yep, can do, probably tomororw morning

01:19:15 <crschmidt> IsoosI: I was using contexts at one point, but having a problem where queries would return a triple for each context that the triple was asserted in

01:19:44 <crschmidt> IsoosI: I'm sure it was a bug in how I was handling how redland did things, but it seemed to have huge negative effects on the usage of the bot at the time, so instead of fixing it, I just stopped working with contexts

01:20:07 <crschmidt> (I never expected this bot to be around for more than a week, or a month at most)

01:20:45 <IsoosI> heh

01:21:55 <crschmidt> But yeah, the two things it doesn't do are 1. contexts, 2. triple deletion

01:22:29 <crschmidt> n3 support either in-irc or from-url is on the list too, but since I consider n3 to be strange, scary voodoo magic, it's less important to me

01:22:58 <IsoosI> I like n3

01:23:06 <GreyLensman> crschmidt, I see N3 everywhere in everything. Its the universal meme.

01:23:06 <IsoosI> it's human friendly

01:23:24 <crschmidt> GreyLensman, IsoosI: That doesn't help me understand it though :)

01:23:45 <sbp> it's easier to understand than RDF/XML surely

01:23:48 <IsoosI> n3 is just n3-triples with a bit of syntactic sugar.

01:24:17 <GreyLensman> There is now way, none zip zero, that anyone who can comprehend RDF/XML serialization can be confused by N3 by longer then, lets say, 20 secs. :)

01:24:19 <sbp> (p q r) over <something parseType="Collection"><NodeElt ...>...</> etc.

01:24:31 <sbp> aye

01:24:36 <crschmidt> sbp: ah, but i don't understand *either* of those ;)

01:24:40 * bijan notes that he's still confused by n3

01:24:42 <bijan> Often

01:24:43 <IsoosI> crschmidt, heh

01:24:47 * bengee too

01:24:52 <IsoosI> crschmidt, do you follow n3 triples?

01:24:53 <bijan> Turtle, otoh, is easy

01:25:01 <crschmidt> IsoosI: You mean ntriples?

01:25:15 <IsoosI> probably

01:25:20 <sbp> you can be confused by N3's dark corners, sure...

01:25:30 <IsoosI> it's been about 6 moths to a year since I've tinkered with rdf

01:25:41 * bijan notes that there isn't a known, unambiguous grammar for n3 :0

01:25:51 <crschmidt> IsoosI: Then yes, I think I understand them: <url> <url> "" .

01:25:55 <IsoosI> bijan, that doesn't help

01:25:57 <sbp> bijan: that's what we're working on

01:25:59 <IsoosI> bijan, I must admit :)

01:26:02 <sbp> bijan: seen n3proc?

01:26:08 <bijan> No

01:26:14 <sbp> http://inamidst.com/n3p/

01:26:14 <IsoosI> crschmidt, you know about [ ] in n3?

01:26:23 <sbp> building up a test suite therein too

01:26:24 <crschmidt> IsoosI: nope.

01:26:55 <bijan> I'm just pointing out that n3 is poorly specified, has tricky unspecified bits, and sometimes reads very poorly (IMHO, though there may not be a way to make it read any better :)).

01:27:10 <sh1mmer> someone needs to write a book on n3

01:27:11 <sbp> bijan: main files are n3mp.py (converts an RDF BNF into a Python module), n3p.py (N3 parser using said module), and n3proc.py (an N3 processor, spits out N-Triples by default)

01:27:13 <sh1mmer> that would be nice

01:27:16 <bijan> So that people who understand RDF/XMl and claim not to understand n3 might not be lying

01:27:24 <GreyLensman> that latest n3.n3 grammar is much improved from the early stuff.

01:27:27 <sbp> yep

01:27:29 <IsoosI> crschmidt, it creates a bnode.

01:27:35 <bijan> Oh, that disaster

01:27:36 <sh1mmer> The tutorials are pretty good, but a SW book in n3 would help break some of the rdf/xml stigma

01:27:37 <sbp> it's on the verges of being not as poorly specified :-)

01:27:40 <bijan> RDF BNF indeed

01:27:41 <crschmidt> IsoosI: Oh, heh, then yeah, i do

01:27:47 <crschmidt> IsoosI: I use it all the time

01:27:58 <bijan> That grammar is ambiguous, I'm given to understand

01:28:03 <bijan> 150 shift/reduce conflicts

01:28:04 <IsoosI> crschmidt, then theres a bunch of syntactic sugar, and rules :)

01:28:07 <bijan> And isn't actually used by CWM

01:28:08 <GreyLensman> nooooo

01:28:13 <GreyLensman> I have 0 shift/reduce.

01:28:22 <crschmidt> 19:17:14 < crschmidt> [a foaf:smallPerson; foaf:depiction <http://crschmidt.net/gallery/album05/100_2193>].

01:28:23 <bijan> That's good

01:28:23 <GreyLensman> old grammar I had 43

01:28:34 <bijan> Glad to hear its improving

01:29:36 <sbp> I what I try tell you, Mr. Bijan! :-)

01:29:50 <sbp> nuts, I can't even speak badly properly. s/^I/is/

01:30:23 <bijan> Of course that its improving doesn't mean that:

01:30:25 <bijan> "<sbp>it's easier to understand than RDF/XML surely

01:30:25 <bijan> <IsoosI>n3 is just n3-triples with a bit of syntactic sugar.

01:30:25 <bijan> <GreyLensman>There is now way, none zip zero, that anyone who can comprehend RDF/XML serialization can be confused by N3 by longer then, lets say, 20 secs. :)"

01:30:29 <bijan> are true

01:30:54 <bijan> In fact, they are all disputable, and some clearly false.

01:30:58 <bijan> E.g., the second statemetn

01:31:09 <GreyLensman> spb, keep at the test suite, please. You have at least one fan.

01:31:12 <sbp> well it depends what part of N3. mainly, people are going to use N3 for whatever their needs are, and if their needs don't include anything that you want to use ":-" or paths or whatever for then that's fine--it's analagous colloquially to Turtlw

01:31:21 <sbp> GreyLensman: thanks :-)

01:31:34 <sh1mmer> bijan surely n-triples or TriX would be the simplest most easy to understand form since everything is explicit.

01:31:40 <bijan> No

01:31:44 <sh1mmer> Of course it's not good at showing complexity.

01:31:53 <bijan> I don't find everything explicit easiest to udnerstand

01:32:05 <IsoosI> sbp, so there is no serialisation of n3 rules to triples that keeps their semantics?

01:32:07 <bijan> Take dotted notation nin list (1 . (2 . ())

01:32:17 <bijan> Way harder to understadn than (1 2)

01:32:44 <sbp> yes, dotted pairs aren't particularly clear, but I didn't say *explicit*

01:32:49 <sh1mmer> Sure but isn't a list another shorthand

01:32:50 <sbp> and N3 has no dotted pairs :-)

01:32:59 <sbp> (yet...)

01:33:00 <bijan> I wasn't responding to you on that point

01:33:06 <bijan> <sh1mmer>bijan surely n-triples or TriX would be the simplest most easy to understand form since everything is explicit.

01:33:16 <sh1mmer> bijan he probably still has me on ignore.

01:33:16 <sbp> you don't seem to be responding to me on any point of mine, that's what I don't understand

01:33:23 <bijan> Ah

01:33:29 <bijan> I'm responding to shlmmer's point

01:33:33 <GreyLensman> I think everyone is thinking of N3 in the context of when they looked at it. The latest N3-2.0 is clean, compact, dare I say, elegant.

01:33:33 <bijan> Which I just pasted

01:33:35 <sbp> ah. sorry, I didn't see it

01:33:39 * sbp nods

01:33:52 <sh1mmer> bijan don't worry, I won't drag that... er dispute in here.

01:34:02 <bijan> Heh

01:34:30 <sbp> N3-2.0: heh

01:34:32 <sh1mmer> So anyway, in terms of the triples something like n-turtle or TriX I think is easy to understand but bad at expressing complexity

01:34:35 <sbp> N3.2

01:34:42 <IsoosI> GreyLensman, true, I've not looked at it for several months

01:34:43 <sbp> tumbleresque

01:34:45 <sh1mmer> in rdf/xml there is a lot of implied things that don'treally happen.

01:34:50 <bijan> GreyLensman...since I'm workign with people who were trying to generate a parser over the past two weeks

01:35:13 <bijan> I don't feel *too* out of it

01:35:14 <sh1mmer> bijan Personally I think that heirarchy of XML elements implies riefication which doesn't exist.

01:35:32 <bijan> Well, I don't ;)

01:35:36 * sh1mmer grins

01:35:44 <sh1mmer> Can I give an example?

01:39:12 <crschmidt> I'd be interested in one.

01:39:21 <crschmidt> I think we've already had this discussion, but I've forgotten.

01:39:44 <sh1mmer> Yeah

01:40:07 <IsoosI> I'm curious

01:40:08 <sh1mmer> Well if you have <foaf:person><foaf:person>...stuff...</foaf:person></foaf:person>

01:40:18 <crschmidt> then you have broken striping ;)

01:40:29 <crschmidt> Did you mean to put a <foaf:knows> in there?

01:40:31 <sh1mmer> to me that implies that the first <foaf:person> is making statements about the second foaf person

01:40:36 <sh1mmer> er... yeah that too ;)

01:40:45 <crschmidt> But that's not true

01:40:48 <sh1mmer> crschmidt it's 1.40am I've been working a tad hard :P

01:40:55 <bijan> It certainly does not so imply

01:40:59 <sh1mmer> I know it's not true. But I think it implies that.

01:41:12 <crschmidt> Okay, I guess that's just a fundamental difference in opinion then

01:41:23 <IsoosI> sh1mmer, interesting point

01:41:36 <crschmidt> The fact that I say in a file "Matt knows shirly" does not indicate that matt is saying he knows shirly.

01:41:37 <sh1mmer> Maybe that's not the best example

01:41:42 <bijan> Let F = <foaf:person><foaf:knows><foaf:person>...

01:41:46 <bijan> Bijan sez: F

01:41:51 <bijan> Sh1mmer sez: F

01:42:04 <bijan> Soory

01:42:13 <bijan> Let F = <foaf:person rdf:about="#Bob"><foaf:knows><foaf:person>...

01:42:32 <bijan> Where bob ~= bijan, and ~= sh1mmer

01:43:14 <bijan> So, bob has said nothing, ever

01:43:18 <bijan> He's taciturn

01:43:31 <bijan> Or he's said nothing about the second person

01:43:33 <bijan> He's shy

01:43:47 <bijan> My saying that he knows the second person clearly doesn't imply that he's said anythign about them

01:43:56 <bijan> Heirachy has nothing to do with it.

01:44:53 <sbp> sbp has changed the topic to: Semantic Web Interest Group hack-n-chat || UTF-8 charset please || Weblog: http://swig.xmlhack.com/ || Logs: http://ilrt.org/discovery/chatlogs/swig/ || please identify with NickServ

01:45:13 <crschmidt> sh1mmer: I think you're tying yourself too closely to the typical statements made by such documents: where typically, a file is created a person, and that perosn then describes people they know.

01:45:42 <sh1mmer> Yeah but it just seems weird that the serialisation throws away all the hierarchical information that is normally used in XML.

01:45:49 <sbp> unless there's another Italian SW chat scheduled for today that I don't know about...

01:46:24 <sh1mmer> I underestand the serialisation myself, it just doesn't seem entirely intuative.

01:46:25 <bijan> Weird, perhaps

01:46:43 <bijan> The most natural way to think about it is as "nested" frames

01:46:59 <bijan> So, think of a frame as an entity with a type and a collection of slots

01:47:01 <sh1mmer> XML people using RDF/XML will say this a lot I think when people use it more.

01:47:13 <bijan> Each slot can have a primitive value or another frame

01:47:15 <sh1mmer> Frames are an AI concept so one has to have studied AI.

01:47:18 <bijan> <foaf:person>

01:47:29 <bijan> <foaf:knows...>

01:47:35 <bijan> <foaf:knows...>

01:47:41 <bijan> <foaf:eats...>

01:47:42 <bijan> etc.

01:47:45 <sh1mmer> Do we want to make that assumption about people using SW tech?

01:47:51 <mattmcc> I tend to prefer not nesting classes, but my reasons are purely aesthetic.

01:47:59 <bijan> (nesting instances here)

01:48:09 <bijan> You can inline it, or you can do it by reference

01:48:15 <sh1mmer> I just think if we want an XML serialisation we should use TriX not RDF/XML

01:48:18 <sh1mmer> but that's me.

01:48:39 <bijan> sh1mmer, I'm not making an assumption, i preume that teaching this terminology is pretty easy, or that you can just use regular oop terminology

01:48:43 <bijan> It's not really different

01:48:45 <mattmcc> I'd rather have all the foaf:person instances as peers in the hierarchical sense. <foaf:Person><foaf:knows rdf:nodeID="foo" />...</> <foaf:Person rdf:nodeID="foo">...

01:48:52 <bijan> Frame == instance

01:48:57 <bijan> Slot == instance variable

01:49:02 <sh1mmer> bijan you are from a much more formal background than lots of developers.

01:49:12 <mattmcc> Of course, that makes even less sense to people coming from an XML background, because now you've got siblings relating to each other in a very non-hierarchical manner.

01:49:12 <crschmidt> ^available IsoosI

01:49:13 <julie> Query returned no results

01:49:27 <bijan> <sigh/>

01:49:30 <mattmcc> But, it's just one of those things you have to get used to when you're expressing a graph as a tree.

01:49:32 <sh1mmer> mattmcc which was what I was trying to get across.

01:49:39 <bijan> Point is that the heriarchical information isn't *exactly* being thrown away

01:49:41 <crschmidt> IsoosI: Got a foaf file?

01:49:49 <bijan> Striping uses it.

01:50:09 <sh1mmer> bijan yeah ok, thrown away is perhaps a little over zealous. ;)

01:50:17 <IsoosI> crschmidt, er, think so

01:50:32 <IsoosI> ^available Isomer

01:50:32 <julie> Query returned no results

01:50:34 <crschmidt> (and i realize that term is not correct, but I use it anyway)

01:50:44 <crschmidt> IsoosI: She doesn't know everything: you can ^add it, though

01:51:05 <IsoosI> crschmidt, I had it in the various scutters a few months ago I thought it might have turned up

01:51:14 <IsoosI> ^add http://coders.meta.net.nz/~perry/perry.foaf

01:51:15 <julie> Adding http://coders.meta.net.nz/~perry/perry.foaf to my database...

01:51:17 <crschmidt> IsoosI: My scuttering sucks :)

01:51:37 <IsoosI> 80G of data isn't bad :)

01:51:46 <crschmidt> agh.

01:51:47 <julie> Added 256 statements from http://coders.meta.net.nz/~perry/perry.foaf. Model size is 910108.

01:51:51 <crschmidt> i just realized i said gig.

01:51:53 <crschmidt> and i meant meg.

01:52:03 <sbp> (not correct? "foaf file"? seems correct enough to be used in everyday SW-conversation)

01:52:05 <crschmidt> which makes my statements on memory really dumb.

01:52:22 <crschmidt> sbp: yeah, but it's really just an RDF file which uses terms from the FOAF namespace

01:52:31 <sbp> hence a FOAF file

01:52:46 <sbp> I don't go about saying that elephants are big eared grey pachyderms...

01:53:11 <sbp> "crschmidt! look out! you're about to be trampled by a big eared grey pach... too late"

01:53:13 <sh1mmer> Aboutme.rdf is probably a better name for a FOAF file

01:53:21 <IsoosI> sh1mmer, probably

01:53:25 <sh1mmer> :)

01:53:43 <crschmidt> sbp: well, there's no reason that it couldn't be a Contact RDF file, with a few terms from FOAF thrown in, which would end up making the pedants who have those kind of things be all pedantic at me :)

01:53:48 <crschmidt> ^homepage IsoosI

01:53:49 <julie> Query returned no results

01:53:50 <mattmcc> Bah. In that case, it's a URI, not a filename. :)

01:53:59 <mattmcc> So, put whatever illusion of a file extension you want on it.

01:54:01 <sh1mmer> IsoosI took me about 3mo to get around to changing mine to that from foaf.rdf ;)

01:54:06 <sh1mmer> SO I can't talk

01:54:30 <IsoosI> mattmcc, or better yet, use content negotiation :)

01:54:35 <IsoosI> so who knows what you'll get back!

01:54:44 <crschmidt> IsoosI: you should register with nickserv

01:54:55 <crschmidt> so you can show up on http://crschmidt.net/semweb/rdfbot/online_users.cgi?channel=swig

01:54:55 <sbp> crschmidt: well it's like the definition of planet. there's no specified lower limit for a planet's diameter, and we'll probably end up with the odd distinction of Pluto being a planet but there being larger asterioids. some moons are already bigger

01:54:57 <IsoosI> I dislike nickserv

01:55:12 <mattmcc> IsoosI: Well, provided clients sent proper Accept headers, you would get back something appropriate.

01:55:51 <sbp> crschmidt: in the same way, there's no lower bound on how many FOAF predicates you need in a file, pecentage-wise, to make it a FOAF file. but just as "planet" is a good term to use, socially, for those wandering stars, so is FOAF file for a document containing a signifigant portion of FOAF predicates

01:56:47 <crschmidt> IsoosI: Then you should describe a foaf:OnlineAccount for freenode

01:57:29 <crschmidt> <foaf:hasAccount> <foaf:OnlineAccount> <foaf:AccountHomepage rdf:resource="http://www.freenode.net/" /><foaf:accountName>IsoosI</foaf:accountName></></>

01:57:38 <mattmcc> holdsAccount

01:57:38 <IsoosI> crschmidt, yeah, but I don't like nickserv in the firstplace :)

01:57:41 <crschmidt> yeah, that one

01:57:53 <sbp> or http://freenode.net/ or...

01:57:58 <crschmidt> IsoosI: I'm not sure where nickserv plays into it

01:58:03 <crschmidt> sbp: I accounted for that in the code ;)

01:58:10 <sbp> ah, great! how so?

01:58:14 <IsoosI> I don't have an freenode account?

01:58:19 <crschmidt> IsoosI: Described in RDF?

01:58:28 <crschmidt> IsoosI: Oh, I see what you mean

01:58:40 <crschmidt> You're saying since you're not registered with nickserv, you don't have an account, technically. Hm.

01:58:44 * crschmidt shrugs.

01:58:48 <crschmidt> Fine then. Stay unlinked :p

01:58:56 <mattmcc> True enough. It makes him just a guy who happens to be using a particular nick at the moment.

01:59:15 <sbp> ^q select ?uri where (?account foaf:accountServiceHomepage ?uri) and ?uri =~ /freenode/

01:59:16 <crschmidt> sbp: =~ /freenode/ , Yet Another Dirty Hack

01:59:21 <sbp> heh

01:59:23 <julie> http://freenode.net/ (x9), http://www.freenode.net, http://www.freenode.net/ (x4), http://www.freenode.net/irc_servers.shtml (x23)

01:59:40 <IsoosI> crschmidt, no no, I don't have an account with nickserv? I'm confused

01:59:56 <crschmidt> IsoosI: Don't worry about me, I'm just going to sit in my corner at this point :)

02:00:06 <IsoosI> hmm

02:00:14 <IsoosI> freenode still don't advertise NETWORK= in 005

02:00:19 <IsoosI> they deserve a good spanking

02:00:19 * d8uv explodes

02:01:58 <sh1mmer> sbp surely not in this channel. what with him not being here.

02:02:01 <sbp> hmm

02:03:06 <crschmidt> Okay, so what do people want from an n3 parser in julie?

02:03:20 <sbp> it'd be nice if Freenode had a FOAF file...

02:03:32 <crschmidt> I think that I'm going to just start out with the fact that I won't run arbitrary rules from the database that peopl emay have added

02:03:45 <crschmidt> sbp: lilo is all perky about doing rdf/xml export from the new services

02:03:59 <crschmidt> (as well as SOAP and XML-RPC, ugh)

02:04:00 <sbp> "the new services" - groan

02:04:20 <crschmidt> sbp: There's nothing stopping you from making one ;)

02:04:41 <sbp> there is from me making an authoritative one

02:04:59 <IsoosI> I should get the undernet services to dump out a foaf file

02:05:36 <mattmcc> sbp: Generating FOAF from NickServ's DB file is pretty straightforward, I have some python sitting around to do that. But yeah, it's not much use if it isn't authoritative.

02:06:29 <sbp> actually I just meant so that people would know which URI to use in foaf:accountServiceHomepage... but exporting NickServ's db file would be nice too. lorebot++

02:07:00 <crschmidt> mattmcc: is the nickserv db file from freenode available somewhere?

02:07:17 <crschmidt> mattmcc: or did you just write one that was for a local dancer-services db?

02:07:19 <mattmcc> sbp: Oh. You want to express NickServ is a foaf:Agent with a foaf:homepage somewhere. :)

02:07:27 <mattmcc> crschmidt: Local.

02:07:33 * crschmidt nods

02:07:50 <sbp> no, I want to express that Freenode, the IRC network, is a foaf:Agent with a homepage probably at http://freenode.net/

02:08:10 <crschmidt> isn't it a foaf:Group, or foaf:Organization?

02:08:23 <sbp> unless NickServ is the account service, which I suppose is more accurate

02:08:29 <crschmidt> ^q select ?foo ?bar where (foaf:Organization ?foo ?bar)

02:08:29 <sbp> aren't they subclasses?

02:08:30 <julie> rdfs:isDefinedBy foaf:, rdfs:label Organization, http://www.w3.org/2003/06/sw-vocab-status/ns#term_status unstable, rdfs:subClassOf foaf:Agent, owl:disjointWith foaf:Person, owl:disjointWith foaf:Document, rdf:type rdfs:Class, rdfs:subClassOf wn16:Organization, rdfs:comment An organization.

02:08:42 <kpreid> there are several things which we call 'Freenode'

02:08:52 <kpreid> in RDF, one would be wise to not confuse them

02:08:54 <sbp> ^q select ?class where (foaf:Organization rdfs:subClassOf ?class)

02:08:54 <julie> wn16:Organization, foaf:Agent

02:08:57 <sbp> yep

02:08:57 <mattmcc> Or, if somebody has a fairly cooked IRC vocab.. Somebody was sketching on one recently.

02:09:11 * sbp nods at kpreid

02:09:15 <crschmidt> mattmcc: yeah, Clockwerx and i working on it

02:09:29 <mattmcc> That, it seems, would be the ideal approach.

02:09:46 <crschmidt> However, we were mostly working on representing clients and connections... at least i was ;)

02:09:52 <crschmidt> Not that that couldn't change, of course

02:09:58 <kpreid> sbp: there's the organization-of-people which runs the servers / declares the existence of Freenode

02:10:27 <kpreid> sbp: there's the 'IRC network' as entity-which-shares-namespace (channels / nicks)

02:10:33 <mattmcc> kpreid: That organization is PDPC though.

02:11:10 <sbp> I'm only interested in the foaf:OnlineChatAccount, since I need to record its homepage in my FOAF file

02:11:11 <kpreid> sbp: there's the set of the physical machines / OS processes / etc. which implements the former

02:11:35 <kpreid> mattmcc: ah, yes. I'm sure some people have called it Freenode though :)

02:11:43 <mattmcc> Oh, no doubt.

02:11:50 <sbp> you'd think from "<julie> http://freenode.net/ (x9), http://www.freenode.net, http://www.freenode.net/ (x4), http://www.freenode.net/irc_servers.shtml (x23)" that the latter URI would be public consensus, but in fact it's only used because it's in the FOAF Specification as an example

02:12:24 * kpreid thinks http://freenode.net/ should be the canonical URI

02:12:24 <mattmcc> And I'm sure it's not an issue unique to Freenode. Like before the Mozilla Foundation, 'Mozilla' referred to the browser, the group, the overall project.. :)

02:12:31 <sbp> agreed

02:12:48 <kpreid> (all the others except for irc_servers.shtml are == to, or redirect to, it)

02:13:22 <IsoosI> Java-the-language, java-the-vm, java-the-standard-library, java-the-desktop-environment and java-the-coffiee

02:13:22 <sbp> and I'd contend that /irc_servers.shtml is a list of their IRC servers. why it's being used as an example is completely beyond me

02:13:45 <sbp> you forget the island

02:13:58 <IsoosI> my bad

02:14:09 <sbp> it mightn't seem like much, but it's the biggest of the bunch :-)

02:15:16 <crschmidt> The IRC Namespace we were working on uses irc:Network rdf:about="irc://irc.freenode.net/", with a foaf:homepage, dc:title, and individual servers described below that

02:15:27 <kpreid> sbp: Biggest by what metric? :)

02:15:38 <IsoosI> hmm

02:15:46 <IsoosI> some networks don't have a RR DNS entry

02:15:46 <sbp> kpreid: amount of sodium atoms contained therein

02:15:57 <IsoosI> most networks (except for freenode) announce NETWORK= in the 005 during login

02:16:04 <kpreid> heh

02:16:06 <IsoosI> with an authorative name of the network

02:16:07 <sbp> Java has more sodium in it than even the most salinine of coffees

02:16:15 <sbp> (the island)

02:16:45 <sbp> IsoosI: what should the value of that be?

02:17:20 <IsoosI> Freenode in the appropriate case

02:17:22 <IsoosI> eg for undernet is

02:17:25 <IsoosI> NETWORK=UnderNet

02:17:34 <sbp> ah. that's fairly useless then

02:17:38 <IsoosI> yeah

02:17:50 <IsoosI> it would be nice if it was a guid or uri some other unique identifier

02:18:08 <sbp> yeah. otherwise it's no more an IFP than foaf:nick

02:18:18 <sbp> in fact, foaf:nick might be appropriate for it

02:18:26 <IsoosI> well

02:18:29 <IsoosI> nicks are transient

02:18:39 <IsoosI> network names at least don't change that regularly

02:18:42 <mattmcc> Surely the maintainers of IRC networks are a progressive bunch. We'll just compell them to adapt. :)

02:18:46 <sbp> [ a kpreid:OrganisationWhichIsThePDPCButIsNotCalledThatSometimes; foaf:nick "Freenode" ] .

02:18:57 <IsoosI> mattmcc, I'm the one that got 005 adopted by the big 5

02:19:08 <IsoosI> so if you have a proposal, I'll get the big 5 running it

02:19:33 <mattmcc> I'd say irc://irc.network.net seems a logical thing to provide.

02:20:23 <IsoosI> see, theres a lot of controversy at the moment about the IRC uri scheme

02:20:31 <IsoosI> so I'm kinda tempted to give that one a wide berth

02:20:44 <IsoosI> that, and some networks (eg efnet) don't have an authorative DNS RR

02:21:00 <mattmcc> It certainly has its shortcomings, yes.

02:21:09 <mattmcc> I don't care for the 'modifiers' stuff at all.

02:21:23 <IsoosI> so all the servers will either point it at their locally favourite one, or their local server only, or just not include it at all

02:21:27 <IsoosI> hmm

02:21:33 <IsoosI> I should add an RDF dump to undernet

02:21:35 <IsoosI> that would be fun

02:21:40 <IsoosI> connect to the server and type /rdf

02:21:42 <IsoosI> :)

02:22:29 <IsoosI> the admins would slaughter me

02:22:36 <mattmcc> JoeUser has quit (Excess graph dump)

02:22:55 <IsoosI> heh

02:22:57 <IsoosI> indeed

02:23:42 <kpreid> JoeUser has quit ("Excess Flood From Server")

02:24:06 <crschmidt> On freenode, it's actually "SendQ exceeded"

02:24:21 * crschmidt connected from telnet and sent NAMES once

02:24:28 <crschmidt> it didn't do quite what i expected

02:24:57 <IsoosI> heh

02:25:38 <IsoosI> we broke /names on undernet

02:25:42 <IsoosI> noone noticed

02:26:09 <IsoosI> we made it so you need to type /names 0 to get the full names list

02:26:13 <IsoosI> rather than just /names

02:26:15 <IsoosI> noone has ever complained

02:26:25 <IsoosI> even though it's a blatent RFC violation

02:35:37 <crschmidt> finally finished smushing

02:36:00 <crschmidt> 1.4 million triples smushed to:

02:36:02 <crschmidt> ^status

02:36:02 <julie> I currently hold 859792 triples, 44 namepsaces, and 46 stored commands. I have been running for 2.394 hours, and have used 0.025 minutes of CPU time. Stats on current machine (peanut.crschmidt.net): 21:37:27 up 22 days, 10:22, 7 users, load average: 0.33, 0.89, 1.53

02:36:20 <IsoosI> namepsaces?

02:37:32 <crschmidt> ^nslist

02:37:32 <julie> Namespace bindings are: astrology, bio, bloggercode, book, bot, cc, chefmoz, contact, cyc, dc, dcterms, doaml, doap, exif, foaf, foafcorp, geo, ical, ilike, img, kiss, kissed, menow, mtbi, music, owl, quaff, quote, rdf, rdfs, rel, rev, rss, schema, srw10, srw11, tipjar, trust, vann, vcard, weather, wn16, wot, xsd

02:37:58 <IsoosI> no no

02:38:06 <IsoosI> namepsaces

02:38:24 <IsoosI> not namespaces

02:38:33 <crschmidt> oh

02:38:34 <crschmidt> typos

02:38:37 <crschmidt> lots of those in my code

02:38:46 <IsoosI> :)

02:47:33 <crschmidt> Okay, so who asked for a scutter dump?

03:25:03 * crschmidt cuts the size of his mysql data and indexes in half

03:25:56 <crschmidt> current julie dump, in bzipped ntriples, http://crschmidt.net/julie/model.nt.bz2

03:27:14 <IsoosI> how big is that?

03:27:37 <crschmidt> -rw-r--r-- 1 crschmidt users 5963328 Dec 12 21:58 model.nt.bz2

03:27:58 <IsoosI> 6mb?

03:28:03 <IsoosI> thats pretty reasonable :)

03:28:12 <crschmidt> yeah

03:28:25 <crschmidt> from 100mb file

03:28:34 <crschmidt> (91)

03:28:35 * IsoosI grabs a copy to seed a scutter

03:28:48 <IsoosI> I might do some more stuff over the summer break

03:29:06 <crschmidt> ^icbm Isomer

03:29:06 <julie> Query returned no results

03:29:40 <IsoosI> Hamilton, New Zealand

03:54:44 <crschmidt> so how long is summer break?

03:55:05 <crschmidt> But yeah, I'm kind of torn between "whee, tons of data" and "whee, 18 minutes to return a query"

03:55:38 <IsoosI> well

03:55:38 <crschmidt> now that i keep the tables pretty optimized, it works a lot better, but when the mysql indexes on the statements table hit 100 MB, everything just heads to shit

03:55:40 <IsoosI> 2 weeks or so for me

03:55:50 <IsoosI> unless I take some more time off

03:56:02 <IsoosI> (since I'm actually in the workforce as opposed to the student body)

03:56:28 <IsoosI> sounds like you need some tuning done

03:56:39 <IsoosI> you should be able to tell mysql to be more aggresive with it's caching of indicies or something

03:56:45 <IsoosI> with postgres

03:56:56 <IsoosI> doing set statistics on the predicate column made a huge difference

03:57:10 * crschmidt shrugs

03:57:19 <crschmidt> I don't pretend to understand how this stuff works

03:57:27 <crschmidt> I just maintain the bot, which is hard enough most days

03:58:57 <shammah> crschmidt, any reason why you have to use mysql?

03:59:33 <crschmidt> shammah: Not particularly, other than its what I have installed and set up

03:59:48 <shammah> how many triples?

04:00:04 <crschmidt> ^status

04:00:04 <julie> I currently hold 859792 triples, 44 namepsaces, and 46 stored commands. I have been running for 3.794 hours, and have used 0.028 minutes of CPU time. Stats on current machine (peanut.crschmidt.net): 23:01:28 up 22 days, 11:46, 6 users, load average: 0.24, 0.07, 0.10

04:00:34 <IsoosI> hmm

04:00:49 <crschmidt> (The typo is fixed in svn ;))

04:02:16 <IsoosI> is this written in python?

04:02:29 <crschmidt> The bot is written in Python, all the RDF work is done in Redland

04:02:47 <IsoosI> right

04:02:56 <IsoosI> you know about reload() in python?

04:03:11 <crschmidt> yep

04:03:14 <IsoosI> I use it when I write bots so I can reload the guts of it from IRC without reconnecting the bot

04:03:27 <IsoosI> it's kinda neat to code on something where you can upgrade it without restarting the process

04:03:29 <crschmidt> all the functions are defined as part of the bot class, which doesn'te ver exit

04:03:47 <IsoosI> ah

04:03:49 <IsoosI> yeah

04:03:59 <IsoosI> you need to keep a strict seperatation to avoid that issue

04:04:09 <crschmidt> I tried to refactor that, but it was pretty far into the game, and I'm lazy

04:04:15 <crschmidt> of course, always willing to take patches

04:04:15 <IsoosI> does julie generate RDF for IRC information?

04:04:22 <crschmidt> nope

04:04:26 <crschmidt> lorebot will soon

04:04:38 <crschmidt> soon being a relative term, partially related to "when i finish the damn ontology"

04:04:54 <IsoosI> coz it would be kinda neat to have a query like which countries do everyone in this channel come from?

04:05:20 <IsoosI> or find a photo that depicts the most number of people in the channel

04:05:26 <crschmidt> I'd probably run that as an extra layer over julie

04:05:35 <IsoosI> yeah

04:05:37 <crschmidt> I kind of like keeping the bot as the basic tool, then building other things on top of it

04:05:56 <crschmidt> Which I make easy on myself by just providing a web interface that acts exactly like the IRC one :)

04:06:55 <IsoosI> heh

04:06:57 <IsoosI> yeah

04:07:05 <IsoosI> I recently wrote a bot which you could program on IRC

04:07:10 <IsoosI> a bit like julie, but no rdf stuff

04:07:22 <IsoosI> had the "programming language" as one python module

04:07:33 <IsoosI> then had the bot and a command line and a web interface that all used the main language

04:07:42 * crschmidt nods

04:08:03 <IsoosI> and since it was a seperate .py file

04:08:10 <IsoosI> I could reload() it inside the bot

04:11:38 <crschmidt> IsoosI: Since you mentioned it earlier, what are your thoughts on what needs you have for n3, ignoring, for the time being, rules

04:11:59 <IsoosI> heh

04:12:09 <IsoosI> darn, that's no fun ;)

04:12:15 <IsoosI> being able to parse n3 is a good start

04:12:31 <IsoosI> one of the design requirements for n3 IIRc was that it should be easy for humans to write on IRC

04:12:41 <IsoosI> and easy for humans to read too

04:14:07 <crschmidt> yeah

04:14:12 * crschmidt pokes sbp

04:14:53 <sh1mmer> heh

04:14:57 <sh1mmer> I shall resist the urge

04:19:54 <IsoosI> crschmidt: http://dev.mysql.com/doc/mysql/en/MyISAM_key_cache.html ?

04:20:12 <sbp> hello!

04:20:13 <sbp> reading

04:21:11 <sbp> [read, nothing further to add though]

04:22:25 <crschmidt> sbp: I was just poking you to ask whether n3p was usable as an irc-scribble parser, in your opinion

04:22:29 <crschmidt> I'm assuming it doesn't take care of all edges yet, but i'm also assuming that most people aren't going to write complex n3 on IRC.

04:24:11 <IsoosI> the advantage is that n3p should get a good workout

04:24:20 <crschmidt> Yep

04:24:33 <crschmidt> And I can avoid cwm-cruft, which I'm told exists

04:25:22 <IsoosI> ima gonna have to play with n3p

04:31:30 * crschmidt passes out now

04:31:30 <crschmidt> night all

04:31:41 <IsoosI> sleep well

08:15:18 <zeejay> zeejay is now known as verbosus

10:05:55 <Mklow> hi all

12:45:55 <_jeen_> _jeen_ is now known as jeen

13:38:59 <Mklow> hi all

13:41:25 <jeen> hello again Mklow

13:41:45 <Mklow> ei, hi jeen.

14:01:03 <LotR_> LotR_ is now known as LotR

14:33:00 <Mklow> hi all

15:01:44 <leobard> hello

15:01:51 <balbinus> hi

15:02:18 <leobard> ^homepage balbinus

15:02:18 <julie> http://www.balbinus.net/

15:02:42 <balbinus> ? :)

15:02:52 <leobard> whoa, cool site

15:03:01 <leobard> :-) didn't know you

15:03:09 <balbinus> neither do i know you ^^

15:03:15 <balbinus> ^homepage leobard

15:03:15 <julie> http://www.gnowsis.com/leo/, http://www.leobard.net/

15:03:16 <leobard> o_o

15:03:41 <balbinus> ?

15:03:46 <leobard> a fellow researcher here searches frantically for a Visual RDF browser....

15:03:53 <leobard> any visual rdf browser software here?

15:04:31 <balbinus> ideagraph is kinda rdf browser (visual for sure)... afaik

15:06:30 <leobard> hm. lets see

15:08:18 <libby> you mean a graph-y one leobard?

15:08:42 <libby> or brownsauce, which lets you browse but not graphily

15:08:59 <libby> hm, there is a graph one, hang on

15:09:33 <larsbot> an alternative is Omnigator eight (to be released very very shortly), which will let you do both textual and graphical browsing

15:09:38 <leobard> well, we have some SKOS files with thousands of entities and protege goes down....

15:10:00 <leobard> i also installed infered .. i will evaluate them a little... sec

15:10:13 <libby> brownsuace might help http://brownsauce.sourceforge.net/

15:10:57 <leobard> jup, do you use it freqeutly?

15:11:27 <libby> isaviz http://www.w3.org/2001/11/IsaViz/

15:11:43 <libby> no, dont have the need to really.

15:12:04 <libby> mortenf's foafexplorer also good for having a look at rdf files and I think knows about skos

15:12:14 <libby> logger, pointer

15:12:14 <libby> See http://www.ilrt.bris.ac.uk/discovery/chatlogs/swig/2004-12-13#T15-12-14

15:12:38 <libby> BLURB: RDF bowsers / visualizers

15:12:38 <dc_swig> A: RDF bowsers / visualizers from libby

15:12:53 <libby> A:see [http://www.ilrt.bris.ac.uk/discovery/chatlogs/swig/2004-12-13#T15-12-14|logs]

15:12:53 <dc_swig> Added comment A1.

15:21:15 <DanC> A:see also [http://esw.w3.org/topic/VisualizingRDF|VisualizingRDF] in the esw wiki

15:21:15 <dc_swig> Added comment A2.

15:29:01 <leobard> ok. done

15:29:12 <leobard> i'll blog it and then reference it....

15:40:53 <leobard>http://leobard.twoday.net/stories/438948/

15:40:53 <dc_swig> B: http://leobard.twoday.net/stories/438948/ from leobard

15:41:11 <leobard> | leobard about rdf vis

15:41:20 <leobard> b| leobard about rdf vis

15:41:45 <leobard> b: leobard about rdf vis

15:41:54 <leobard> B| leobard about rdf vis

15:42:06 <leobard> B: leobard aboput rdf vis

15:42:06 <dc_swig> Added comment B1.

15:42:41 <larsbot> leobard: a generic RDF browser *is* possible

15:42:52 <larsbot> provided, as you say, you give it a little extra info

15:42:59 <larsbot> that doesn't necessarily have to be much, though

15:43:18 <bengee> B:|leobard about rdf vis

15:43:18 <dc_swig> Titled item B.

15:43:57 <larsbot> in fact, we've even got a GUI for adding the extra info

15:44:25 <bengee> B1:""

15:44:25 <dc_swig> Deleted comment B1.

15:44:49 <bengee> (hope that's what you intended)

15:52:33 <leobard> jup

15:52:38 <leobard> updated it.

15:52:49 <leobard> logger, pointer

15:52:49 <leobard> See http://www.ilrt.bris.ac.uk/discovery/chatlogs/swig/2004-12-13#T15-52-49

15:53:34 <leobard> added rdfgravity to it

15:53:41 <leobard> thats quite cool

16:31:29 * DanC looks around for sbp

16:34:50 <crschmidt> haven'tyseen him yet this morning, for what it's worth

17:18:36 <AndyS> Is there an N3 chat later today? Last I saw was "tentatively"

17:18:54 <timbl> Yes, sbp sent round mail

17:19:43 <AndyS> Hmm - must have lost it - which list?

17:23:39 <AndyS> I filed it as it says "tentative". I'll be late if at all. Apologies.

17:44:31 * DanC had it as 10:30am, i.e. an hour ago

17:46:30 <crschmidt> DanC: 10:30 pacific, 1:30 eastern, according to http://lists.w3.org/Archives/Public/public-cwm-talk/2004OctDec/0020.html

17:48:44 <DanC> hmm... yes, that calls for a meeting at 18:30Z... I wonder why he moved it from 16:30Z, which was the time that was moved and 2nded at the previous meeting.

17:49:16 <crschmidt> Maybe he'se not awake that early ;)

18:01:58 <danbri> inkel++

18:02:02 <danbri> re http://f14web.com.ar/inkel/2004/12/09/web-semantica-en-buenos-aires.html & nearby

18:03:28 <sbp> DanC: whoops. I based it on http://ilrt.org/discovery/chatlogs/rdfig/2004-11-15.html#T20-07-51 which must've stuck in my mind for some reason and wholly forgot about about the later agreement (I just went to the logs fully expecting to find we'd agreed 18:30Z)

18:04:44 <sbp> ah, it seems 16:30 was my suggestion anyway. I must've been confusing 12h and 24h because I've certainly been thinking of 18:30 all this time

18:04:59 <sbp> at least I got it right in the announcement

18:08:39 <DanC> I see. fun with timezones

18:14:47 <yosi> sbp, I don't see anything for me to fix in http://lists.w3.org/Archives/Public/public-cwm-bugs/2004Dec/0004.html

18:15:47 <sbp> 54321.12345 should be output as "54321.12345"^^<[xsd:]float> in N-Triples

18:16:15 <yosi> but 54321.12345 is not a valid floating point number

18:17:02 <yosi> 54321.123449999999 is a little closer to one

18:17:24 <sbp> if "54321.12345" is acceptable as input, why should it not be acceptable as output?

18:18:11 <yosi> cwm takes the literal you gave it, converted it to a float, and stored it as a string of that float

18:18:50 <sbp> what if I feed it "54321.12345"^^<[xsd:]float>? it wouldn't convert that to "54321.123449999999"^^<[xsd:]float>

18:18:59 <yosi> with floats, close enough is close enough

18:19:49 <sbp> I don't think so. this makes test cases difficult as it means you're dependent upon the language's idea of just how arbitrary its arbitrary precision should be

18:20:25 <sbp> try running it through str(...)

18:20:25 <sbp> >>> str(float(54321.12345))

18:20:26 <sbp> '54321.12345'

18:20:26 <sbp> >>>

18:21:11 <timbl> Yes, I agree that it is better to output 54321.12345

18:21:43 <yosi> right now it uses repr to initially turn the float into a string

18:21:56 <timbl> It is is arguable strictly, but it is much more uable too, as well as repeatable on tests when in fact people are using floats as decimals.

18:22:14 <timbl> Why not use str instead of repr?

18:24:26 <yosi> timbl, you wrote that line

18:24:46 <yosi> on the sixth of March, 2004

18:26:35 <Talliesin> <sbp> I don't think so. this makes test cases difficult as it means you're dependent upon the language's idea of just how arbitrary its arbitrary precision should be

18:27:10 <Talliesin> The definition of xsd:float details that precision, doesn't it?

18:28:42 <sbp> hmm, I guess there's just no way to write these: "the ·value space· of float also contains the following three special values: positive and negative infinity and not-a-number (NaN)" - http://www.w3.org/TR/xmlschema-2/#float

18:30:51 <sbp> Talliesin: all it says is "float is patterned after the IEEE single-precision 32-bit floating point type [IEEE 754-1985]". it gives a canonical representation for it, but we're not even following that here since we don't provide the exponent

18:31:03 <sbp> .t

18:31:06 <phenny> Mon, 13 Dec 2004 18:31:04 GMT

18:31:53 <timbl> ______________________________________________________

18:32:19 <timbl> Are we in Notation3 chat time now?

18:32:20 <sbp> if you're reading this, you may well be in an N3/CWM meeting

18:32:24 <sbp> heh

18:32:28 <sbp> yes

18:33:00 <sbp> BLURB:CWM/N3 Meeting, 13th December 2004 18:30Z

18:33:01 <dc_swig> C: CWM/N3 Meeting, 13th December 2004 18:30Z from sbp

18:33:22 <sbp> C:See [http://lists.w3.org/Archives/Public/public-cwm-talk/2004OctDec/0020|announcement] for provisional agenda.

18:33:22 <dc_swig> Added comment C1.

18:33:43 <sbp> C:In attendance:

18:33:43 <dc_swig> Added comment C2.

18:34:02 <sbp> C:[http://inamidst.com/sbp/|Sean B. Palmer], UK

18:34:02 <dc_swig> Added comment C3.

18:34:19 <crschmidt> C:[http://crschmidt.net/|Christopher Schmidt]

18:34:19 <dc_swig> Added comment C4.

18:34:50 <timbl> C: [http://www.w3.org/People/Berners-Lee|Tim Berners-Lee], MA US

18:34:50 <dc_swig> Added comment C5.

18:36:47 <yosi> C: Yosi Scharf, MA US

18:36:48 <dc_swig> Added comment C6.

18:38:34 <AndyS_> C: [http://www.hpl.hp.com/people/afs/|Andy Seaborne], Bristol, UK

18:38:35 <dc_swig> Added comment C7.

18:38:50 <sbp> hi Andy

18:39:36 <AndyS_> Hi there - just got back

18:39:44 <sbp> two minutes round the table? I've got quite a bit to fill mine with. shame GreyLensman isn't around too--we were talking about the N3 RDF BNF somewhat last night [lemme find a reference]

18:40:09 <sbp> from http://ilrt.org/discovery/chatlogs/swig/2004-12-13.html#T00-16-26 onwards

18:40:42 <danbri> C:Lurkattending, [http://danbri.org/|DanBri], W3C. (Bristol, Europe).

18:40:43 <dc_swig> Added comment C8.

18:41:31 <tlr> C:Alsolurking, Thomas Roessler, W3C. (Luxembourg, Europe)

18:41:31 <dc_swig> Added comment C9.

18:41:41 <DanC> C:divided attention from [http://www.w3.org/People/Connolly/|Dan Connolly]

18:41:41 <dc_swig> Added comment C10.

18:42:10 <danbri> good evening, Jos

18:42:14 <sbp> hi there Jos

18:42:21 <JosD> hi all there :)

18:43:25 <timbl> 2 mins around the table? Yosi has done stuff, I haven't much. I did though send a formal comment to the SPARQL list (DAWG) suggesting that they should use N3 for the hraph syntax in between the keywords. http://lists.w3.org/Archives/Public/public-rdf-dawg-comments/2004Nov/0021.html

18:43:37 <JosD> C:[http://www.agfa.com/w3c/jdroo/|Jos De Roo], Belgium

18:43:38 <dc_swig> Added comment C11.

18:44:02 * timbl waves to Jos

18:44:22 * JosD semwaves to Tim :)

18:45:35 <sbp> specifically Turtle? sounds good to me

18:45:45 <danbri> danbri 2 mins: I've been looking at RDF-based mechanisms for reproducing the old PICS labelling functionality, ie. saying "all pages that match some URI/hostname/etc pattern have the following RDF-described characteristics. This is in the Quatro project. Kal Ahmed has done much of the work, I don't think there's a good URL to point to right now, and we'll probably use an RDF notation not a rule language, but it does imho help mo

18:45:45 <danbri> tivate Rules.

18:46:58 <DanC> Quatro... hurl me an url?

18:47:10 <danbri>http://lists.w3.org/Archives/Public/public-quatro/

18:47:10 <dc_swig> D: http://lists.w3.org/Archives/Public/public-quatro/ from danbri

18:47:32 <sbp> 2 mins: I've worked solidly this week on n3proc <http://inamidst.com/n3p/> which is an N3 metaparser, parser, and processor using the N3 RDF BNF. it's accruing an extensive test suite (see ./test/) for which I'm still debugging it

18:47:36 <danbri> D:|Quatro mailing list

18:47:36 <dc_swig> Titled item D.

18:47:44 <DanC> D:|public-quatro@w3.org Mail Archives

18:47:45 <dc_swig> Titled item D.

18:47:53 <sbp> I've found a handful of issues, with the language in general and with the RDF BNF, meanwhile

18:48:23 <danbri> D:Hmm it lacks list blurb. Similar setup to public-esw was with swad-europe, except no project site yet. It's in the area of quality labelling and trust using RDF descriptions, and migrating from and generalising PICS technology.

18:48:23 <dc_swig> Added comment D1.

18:48:32 * DanC has some news on the ACL issues around the N3 syntax WBS thingy, whenever we get to that, sbp

18:48:49 <timbl> Maybe we should make an RDF list of the N3 issues, separating them from the cwm bugs.

18:49:11 <danbri> seems like a healthy distinction to be able to make

18:49:18 <sbp> DanC: excellent. that's from last time around, so we should probably be doing those first

18:49:25 * DanC suppresses "we should" filter

18:49:53 <sbp> first three on the list are:

18:49:53 <sbp> * Implementation/use feedback for CWM 1.0.

18:49:54 <sbp> * Hyphen-minus in localnames: use the questionnaire?

18:49:54 <sbp> * Minor syntax issues (underscores/encoding, ":-", pathchars).

18:50:12 <sbp> BLURB:Agendum A: Implementation/use feedback for CWM 1.0

18:50:12 <dc_swig> E: Agendum A: Implementation/use feedback for CWM 1.0 from sbp

18:50:40 <DanC> E:|Implementation/use feedback for CWM 1.0 [item E, from sbp]

18:50:40 <dc_swig> Titled item E.

18:50:52 <sbp> ta

18:51:24 * DanC hasn't been keeping a close eye out for cwm 1.0 feedback; wonders what timbl and yosi have heard/seen

18:51:28 <sbp> E:I've found it to be exceptionally solid so far, though I've been doing mainly syntax testing and none of the difficult rules cases on which CWM's been known to trip up in the past.

18:51:28 <dc_swig> Added comment E1.

18:53:04 <yosi> considering that syntax has been where I've spent my time, for the most part, that is not surprising

18:53:54 * yosi wishes he had bugs and test cases sent in of these ``difficult rules cases on which CWM's been known to trip up in the past''

18:54:41 <timbl> I assume that anything spb has found he will have sent in to http://lists.w3.org/Archives/Public/public-cwm-bugs/

18:55:12 <sbp> mostly stuff that I've sent in in the past and has been resolved, but I'm always wary of it breaking again. e.g. when I was implementing XML Infoset stuff in CWM, there were so many breakages at the time that seemed new that it was impossible to continue with the work

18:55:19 * DanC wishes he had arranged for some users to give us feedback... ndw, dom, karl

18:56:00 <JosD> 2 mins: very much likes http://lists.w3.org/Archives/Public/public-rdf-dawg-comments/2004Nov/0021.html and tried it further in http://lists.w3.org/Archives/Public/public-rdf-dawg/2004OctDec/0455.html and http://lists.w3.org/Archives/Public/public-rdf-dawg/2004OctDec/0432.html using {:s :p :o} q:source <src_uri> assertions (kind of reification)

18:56:04 <DanC> yeah, dangerous assumption, timbl. good bug reports are hard work. I file them about 1 time in 4 that I find a cwm bug.

18:56:13 <sbp> it may well be different now. before, you couldn't even use (...) lists in rules without fear of breakages, but that's because it was experimental at the time. now they're deployed all over the place

18:56:31 <sbp> aye. I've a handful that I'm still thinking about w.r.t. the n3proc work

18:57:47 * DanC considers the "we should" about a list of N3 issues... wonders if timbl meant to volunteer to do that, solicit volunteers, just float the idea, or something else

18:57:54 <sbp> move onto the questionnaire?

18:58:05 <sbp> BLURB:Hyphen-minus in localnames: use the questionnaire? [item F, from sbp]

18:58:05 <dc_swig> F: Hyphen-minus in localnames: use the questionnaire? [item F, from sbp] from sbp

18:58:37 <DanC> re the WBS questionairre, when I filed a problem report, the answer was "broken as designed". i.e. it's working as designed; you're supposed to apply for a "public account"

18:58:55 <timbl> Re list of issues, I would like to chat about how high to aim, ontology to use etc.

18:59:26 <sbp> I see. can that questionnaire be abandoned and a new public one be filed in lieu of it?

18:59:28 <timbl> Is there a pointer from the problem to how to get one?

18:59:45 <DanC> any new questionairre will be as public as that one is

19:00:05 <timbl> sbp, the questionaire assumes that it knows who you are. Therefore you have to log in in some way.

19:00:19 <sbp> I see. what does "you're supposed to apply for a 'public account'" mean, then?

19:00:46 <DanC> it means fill out http://cgi.w3.org/MemberAccess/Public , I think

19:01:00 <timbl> You can't let anyone post anything nowadays without at least bouncing mail off them to make sure they have access to the given mailbox.

19:01:23 <DanC> F: the [http://cgi.w3.org/MemberAccess/Public|public account] form seems to be a prerequisite

19:01:23 <dc_swig> Added comment F1.

19:01:31 <sbp> ah, hmm. well that seems acceptable as long as people are prepared to fill it in and it works properly :-)

19:02:09 <DanC> yes, well, I hear it works but I can't say 1st hand

19:02:36 <DanC> F:... to the [http://www.w3.org/2002/09/wbs/1/RDF-N3-Syntax/|Syntax of QNames in N3 questionnaire]

19:02:37 <dc_swig> Added comment F2.

19:02:49 <sbp> right

19:03:15 <sbp> F:Which closes on "23:59, Boston time on 2004-12-31".

19:03:16 <dc_swig> Added comment F3.

19:03:30 <sbp> so at the current rate of meetings, we wouldn't convene a new one before the questionnaire expires

19:03:47 <DanC> ah... 2004-12-31 was "40 days" from now when timbl made up the questionnaire

19:04:02 <DanC> (i.e. "forever" in biblical terms)

19:04:03 <sbp> thus, we ought decide whether we're going to use it as the final word or whether timbl's final word'll be the final word :-)

19:04:11 <sbp> ah, cool

19:04:36 <sbp> so this year will last a biblical forever in N3 questionnaire terms...

19:04:44 <ericP> as to http://www.w3.org/2002/09/wbs/1/RDF-N3-Syntax/, i think we should do what XQuery does.

19:04:51 <ericP> anyone know what that is?

19:05:01 <ericP> or should i go implement a parser...

19:05:09 <sbp> heh

19:05:40 * DanC looks it up...

19:05:52 <timbl> (As the HTTP spec says, "If forever write 1 year" :-/ )

19:06:16 <sbp> at the moment, the results are spread fairly evenly across the board, which is slightly disturbing

19:06:49 <DanC> ugh... XQuery grammar is in an Appendix. I'm afraid W3C has lost the meaning of the word "Appendix". I understand it to mean "something you can chop off without changing the meaning of the document"

19:06:52 <timbl> I think I'd better take the final word then

19:07:17 <sbp> DanC: I think that's "informative" :-)

19:07:18 <DanC> timbl, I expect you can edit the questionnaire to extend the duration. I tried but I don't seem to be authorized.

19:07:29 <timbl> Oh.

19:07:32 <DanC> yes, but all appendixes are informative by definition

19:08:16 <sbp> I don't disagree. I wonder how hard it is to add something like that to the W3C style guide though

19:08:33 <timbl> stack.pop()

19:09:10 <yosi> IndexError: pop from empty list

19:09:20 * timbl notes the bimodal disribution of the http://www.w3.org/2002/09/wbs/1/RDF-N3-Syntax/results

19:09:36 <sbp> questionnaire: keeping it as it is, extending the duration, or abandoning it altogether?

19:10:09 <sbp> yes. people seem to feel strongly about it either way

19:10:40 <sbp> oh, actually the middle option is the _ munging idea

19:10:59 <sbp> I think people are just avoiding that...

19:11:38 <JosD> true

19:12:02 * timbl extends the questionnaire by a quarter of a year

19:12:34 <sbp> in the interim, I suppose we go by whatever's in n3.n3

19:13:05 <sbp> which is next on the agenda list

19:13:20 <timbl> Of course, in the interim being conservative in what you generate and liberal in what you accept is safe.

19:13:21 <sbp> BLURB:Minor syntax issues (underscores/encoding, ":-", pathchars) [item G]

19:13:22 <dc_swig> G: Minor syntax issues (underscores/encoding, ":-", pathchars) [item G] from sbp

19:13:31 <sbp> indeed

19:13:52 <yosi> are things like literal predicates (allowed by n3.n3) in this topic?

19:13:57 * DanC struggles to find anything like "name" in http://www.w3.org/TR/2004/WD-xquery-20041029/#lexical-structure

19:13:58 <sbp> there's a whole new slew of syntax issues

19:14:05 <sbp> right. formulae predicates are allowed too

19:14:13 <ericP> DanC, it seems to come down to the lexing rules that apply at http://www.w3.org/TR/2004/WD-xquery-20041029/#prod-xquery-AdditiveExpr

19:14:23 <sbp> also, QNames can be zero length! so @prefix <URI> . is valid

19:14:48 <DanC> qnames can be zero length? not by any definition I'm aware of

19:14:51 <timbl> (The people who registered 1 or 5 (extremes of feeling) on the questionnaire were Martin Duerst and Mark Nottingham.)

19:15:00 <sbp> by the definion in n3.n3; but definitely a bug

19:15:10 <sbp> s/in/init/

19:15:10 <yosi> it would appear that is a bug in the regular expression

19:15:22 <sbp> right

19:15:41 <sbp> as it stands: "(([a-zA-Z_][a-zA-Z0-9_]*)?:)?([a-zA-Z_][a-zA-Z0-9_]*)?"

19:15:46 <yosi> a qname can be somthing like ``a:'', or something like ``b'', so everything ends up optional

19:15:47 * JosD looking thru N3 glasses at http://dev.w3.org/cvsweb/2000/10/swap/grammar/n3.n3?rev=1.21&content-type=text/x-cvsweb-markup

19:16:55 <AndyS_> "[a-zA-Z.." does that include non-ASCII letters like accented chars? cwm accepts them doesn't it?

19:16:58 <sbp> really I think it should be something like r"([a-zA-Z_][a-zA-Z0-9_]*)?:([a-zA-Z_][a-zA-Z0-9_]*)|([a-zA-Z_][a-zA-Z0-9_]*)?:|([a-zA-Z_][a-zA-Z0-9_]*)"

19:17:07 <sbp> which is a bit of a mess. help? :-)

19:17:15 <timbl> Yes, I don't think zero length qnames should be allowed. I know though some people (sandro maybe) have used foo: to refer to the namespace document.

19:17:43 <sbp> hmm, I think that reduces to r"([a-zA-Z_][a-zA-Z0-9_]*)?:([a-zA-Z_][a-zA-Z0-9_]*)?|([a-zA-Z_][a-zA-Z0-9_]*)"

19:17:44 <JosD> we have done that as well..

19:17:50 <timbl> Actually, I think cwm's tokenizer keeps a list of non-name charactrers.

19:17:50 <sbp> yes. there's a test case for "foo:"

19:17:52 <dajobe> fwiw, turtle allows ':'

19:18:09 <sbp> right. I don't dispute that ":" and barenames should be allowed

19:18:25 <sbp> merely noting that the current production allows zero-length, which *is* wrong

19:18:36 <DanC> ericp, I find "whatever XQuery does" to be impossible to determine

19:18:44 <DanC> well, impractical

19:18:47 <dajobe> heh

19:18:49 <AndyS_> So tokenizing isn't defined by n3.n3 only?

19:19:11 <sbp> no, not in the least. the tokenising is highly customised

19:19:16 * yosi created a version on n3.n3 that replaced the regular expressions with versions that allowed (almost) everything that xml 1.1 names allowed, but its not online anywhere

19:19:16 <ericP> "-" is listted as a "delimiting terminal" so now i look to see if it can be next to a qname...

19:19:39 <timbl> Well, the confusion is between a zero-length qname, <http://....rdf#> and the namespace document <http://....rdf> which I think the URI spec says are the same thing.

19:19:51 <timbl> Yosi, could you post that somewhere?

19:19:57 <DanC> don't think so, timbl

19:19:59 <sbp> and the processor that has to sit on top of a parser using n3.n3 will be doing most of the work. if you change the grammar even meagrely, you'll have to change the processor to an enormous degree

19:19:59 <yosi> it's at home

19:20:04 <yosi> I'm at MIT

19:20:32 <sbp> timbl: a zero length QName is impossible to tokenise, I think

19:20:36 * timbl (you don't have an ssh daemon running at home? 0.;5 ;-) )

19:20:44 <sbp> consider: " ." would be a valid statement

19:20:53 * DanC double-checks http://gbiv.com/protocols/uri/rev-2002/draft-fielding-uri-rfc2396bis-07.html ...

19:21:00 <timbl> Oh, clearly you would need the ":".

19:21:05 <yosi> on the other side of http://www.kashrut.com 's NAT firewall?

19:21:09 <sbp> right. but that's not zero length

19:21:18 <sbp> the current production literally allows "" as a QName

19:21:20 <sbp> that's the problem

19:21:51 <timbl> That is a bigger problem. I think that we should insist that a qname has 1 or more characters.

19:22:07 <sbp> yes. but it's difficult to fix the regexp

19:22:31 <sbp> hmm, actually no. we're using $0

19:22:31 <AndyS_> Hmm - cwm homepage does not have cwm download link.

19:22:49 <sbp> okay, I should just file a bug for this with my suggested replacement regexp

19:23:12 <sbp> literals/formulae as predicates too

19:23:52 <yosi> should lists be allowed as predicates?

19:24:12 <sbp> another thing left over from the last meeting that we didn't discuss was ":-", which gk raised. I noticed, along similar lines, that CWM allows ":=" as a verb, but that it doesn't work properly--it returns a literal predicate, though with the right URI at least

19:24:25 <sbp> lists: I don't think so. I consider rdf:List and rdf:Property disjoint

19:24:42 <DanC> download link... hmm... closest I can find is a path thru "Installation" to http://www.w3.org/2000/10/swap/cwm.tar.gz ; yosi, should that work?

19:24:47 <timbl> Proposal: Anything which is an extended literal (literal, list, formula, set...) shold not be allowed on the predicate position. BNodes should be.

19:24:49 <yosi> yes

19:25:05 <sbp> agreed

19:25:27 <DanC> phpht

19:25:48 <timbl> Andy, what should the text be "Download cwm.tar.gz now" ?

19:25:55 <DanC> please let's keep it symmetric: <term> <term> <term>./

19:25:59 <DanC> please let's keep it symmetric: <term> <term> <term>.

19:26:01 <timbl> phpht?

19:26:01 <sbp> phpht? you want to use a formula as a property?

19:26:17 <DanC> I want terms to be the same everywhere

19:26:24 <sbp> rationale?

19:26:28 <DanC> simplicity

19:26:30 <timbl> advantage: symmetry is simplicity, simplicy is almost always good.

19:26:31 <DanC> orthogonality

19:26:45 <AndyS_> timbl - at least "download" which is what I looked for

19:26:54 <DanC> i.e. I consider the burden to be on anyone who want something other than <term> <term> <term>.

19:26:58 <timbl> disadvantage: m Make rules and owl people run form n3 screaming in case they have to say what the means.

19:27:02 * AndyS_ tried to install latest while here to check something

19:27:06 <sbp> heheh

19:27:32 <AndyS_> I read "installation" as "*after* you got it"

19:27:36 <DanC> lists are no harder than bnodes, semantically

19:28:04 <sbp> proposal, then: it could be allowed in the grammar but an N3 processor may raise a NotImplemented exception

19:28:32 <sbp> it's not actually difficult to generate the triples

19:28:44 <DanC> AndyS, on the other hand I hate "download it now!" thingies that leave you wondering what to do with the bits now that you have them. And I hate projects that make you download 8MB of foo before they tell you "jdk v1.354 required"

19:28:54 <AndyS_> Installation page has cwm.tgz but the target is cwm.tar.gz FWIW - stops Google cwm.tar.gz :-)

19:29:13 <AndyS_> The word "download" would help

19:29:27 <sbp> (then I don't like the test case implications of my proposal)

19:29:31 <DanC> my browser estimates 16:46 remaining in download time. I wonder what's up.

19:30:22 * timbl adds a download "button".

19:30:38 <AndyS_> Google "download cwm" gets the other cwm :-(

19:30:53 <sbp> someone made another one?

19:31:07 <DanC> the OMG's "common warehouse metadata" or some such

19:31:10 <AndyS_> "Classic Window Manager"

19:31:18 <sbp> bet it doesn't parse N3 very well

19:31:30 <DanC> badump-bump... psh!

19:31:34 <sbp> :-)

19:31:36 <timbl> It was "Common Warehouse Model" once in OMG

19:31:43 <AndyS_> I confess I didn't try.

19:31:58 <timbl> Maybe you would be surprised!

19:32:20 <sbp> dark corner. classic-wm --parseN3

19:32:44 <DanC> yosi, I get md5sum 18eede156fd4318a34f55452faed1ff0 when I follow my nose and download cwm; can you verify that's cwm 1.0?

19:33:04 * DanC sees lots of cwm-1.0.0/... files

19:33:16 * DanC considers signing the release

19:33:31 <sbp> if cwm-1.0.0 appears in tar -ztf | head -1, I think you can be fairly sure

19:33:39 * sbp md5sum's his local copy

19:34:01 <sbp> $ md5sum cwm-1.0.0.tar.gz

19:34:02 <sbp> 18eede156fd4318a34f55452faed1ff0 *cwm-1.0.0.tar.gz

19:34:16 <sbp> s/'//

19:34:41 <yosi> I generated it at first at home --- so to really prove it's the file I generated I can't do now

19:34:57 <yosi> I get the same md5sum here

19:35:24 <sbp> three independent confirmations. sounds good

19:36:10 <sbp> okay, are ":-" and the "[ =" hack deprecated from N3? they don't appear in n3.n3

19:36:50 <sbp> and, again, ":=" is implemented in notation3.py (and doesn't work) but not n3.n3

19:37:31 <sbp> actually, "[ =" isn't a syntactic issue. it's valid in the n3.n3 grammar, but of course we don't know what the interpretation is to be

19:37:51 <yosi> what does [ = mean?\

19:38:04 <DanC> it's an appositive

19:38:12 <sbp> for [ = :p: :q :r ], :p :q :r .

19:38:21 <DanC> me brother [ = joe; a TallGuy].

19:38:32 <sbp> s/:p:/:p;/

19:38:44 <sbp> what DanC said. so it's roughly analogous to the :- operator

19:38:56 <sbp> I'd prefer a keyword for it, if it's to be kept

19:39:02 <DanC> I added a syntactica optimization for [ =

19:39:02 <sbp> @named

19:39:12 <sbp> me brother [ @named joe; a TallGuy ] .

19:39:28 <DanC> never added a test, though, so I won't be surprised if it doesn't stick

19:39:46 <timbl> syntactica?

19:39:54 <DanC> syntactic

19:40:12 * timbl wondered whetehr he was missing a version of Mathematica

19:40:18 <sbp> heh

19:40:26 <AndyS_> Looks like "[] owl:sameAs :p"

19:40:27 <timbl> I find that it is a bad idea.

19:40:36 <timbl> Either you are = aware or not.

19:40:43 <sbp> AndyS: except this actually *replaces* the node, doesn't generate a sameAs triple

19:40:50 <timbl> if you are, you can use =, like cwm in --mode=e

19:40:59 <DanC> it's darned convenient when writing file metadata:

19:41:17 <timbl> If you are not node aware, then this allows you to generate nodes which have names as well as being lists, formulae, strings, etc.

19:41:22 <DanC> <> dc:title "nifty new doc"; doc:versionOf [ = <older-doc> ; dc:title "not as nifty"].

19:41:43 <timbl> Ah, so you are only using it to merge with a bnode.

19:41:55 <JosD> Andy, we actually generate 2 triples for [ = joe; a TallGuy].

19:42:14 <timbl> I think you should.

19:42:18 <sbp> I currently produce 2 with n3proc

19:42:35 <sbp> but I do like the idea of it replacing the node

19:42:40 <AndyS_> So does Jena.

19:42:40 <DanC> any suggestions for my file metadata case, timbl? it's boring to write long URIs multiple times.

19:42:55 <yosi> echo '_:f = :a . :G :g _:f. ' | cwm | cwm is a bug in cwm

19:43:00 <timbl> agenda+ Mathematical canonicalization of datatypes

19:43:05 <sbp> I don't like "=" because it means that there are two different interpretations for "=" entirely dependent upon context

19:43:14 <yosi> that was my point

19:43:23 <DanC> huh? there's just one interpretation of =, and one optimization

19:43:46 <sbp> I don't consider reducing a triple out an "optimisation"

19:43:55 <sbp> I consider it nifty :-)

19:44:19 <sbp> again I propose using a keyword instead

19:44:29 <AndyS_> Currently cwm --ntriples on "[ = <p> ] ." generates a blank line.

19:44:30 * DanC wonders if its visible to log:includes

19:44:30 <timbl> I agree that "=" is being abused at the rdf level.

19:44:40 <timbl> @which?

19:44:51 <DanC> @is?

19:45:00 <DanC> <> dc:title "nifty new doc"; doc:versionOf [ @is <older-doc> ; dc:title "not as nifty"].

19:45:08 <sbp> @is is already a keyword, sadly...

19:45:18 <sbp> you'd have to look ahead to find there's no @of

19:45:24 <DanC> RoleNoun convention suggests @self

19:45:25 <timbl> <> dc:title "nifty new doc"; doc:versionOf <older-doc> @which dc:title "not as nifty".

19:45:27 <sbp> I'd've gone with @is otherwise

19:45:28 <DanC> <> dc:title "nifty new doc"; doc:versionOf [ @self <older-doc> ; dc:title "not as nifty"].

19:45:46 <sbp> @named or @equals I'd go for in a verbal sense

19:45:48 <JosD> DanC, there is already @is in :s @is :p @of :o

19:45:58 <sbp> @self and @which I'd be fine with though

19:46:01 <DanC> @which looks more involved.

19:46:20 <AndyS_> Got to look ahead past[ to see @whatever (but that's easy) else [ means bNode.

19:46:22 <timbl> ugh I can't turn off Colloquy's emoticons

19:46:38 <DanC> <> dc:title "nifty new doc"; doc:versionOf <older-doc> @which dc:title "not as nifty"; dc:date "applies to <> or <older-doc>?".

19:47:16 <DanC> [= was implemented as a sort of look-ahead-past-[

19:47:23 <AndyS_> When does the @which stop? Does the "." end the whole thing or nested?

19:47:24 <sbp> hmm

19:47:46 <DanC> when does @which stop... my question exactly. "don't go there" is the answer I prefer

19:47:53 * JosD also troubled by :s :p :o

19:47:56 <sbp> yes, @which is confusing to read. canning that

19:47:58 <timbl> Good question re @which priority.

19:48:12 <timbl> Ok, so how about @is ?

19:48:22 <DanC> ambiguous.

19:48:24 <sbp> already a keyword

19:48:33 <jsled> @id?

19:48:41 <AndyS_> The idea of a nesting named resource (DanC use case) would be useful.

19:48:41 <JosD> in @is .. @of

19:48:42 <yosi> @IAm?

19:48:43 <DanC> @uri might work

19:48:56 <timbl> Suppose "x @of y" is an expression meaning [ is x of y ]. And then "is" is the node smosher.

19:49:06 <sbp> :Sean :name [ @uri "Sean"; a rdfs:Literal ] .

19:49:27 <DanC> that argues for @self

19:49:45 <JosD> @uri is nice

19:49:54 <timbl> Suppose "x @of y" is an expression meaning [ is x of y ]. And then "is" is the node smosher. Then you get the existing z is x of y functionality.

19:50:15 <DanC> hmm... @uri is goofy from a use/mention pov.

19:50:23 <timbl> x of y becomes a form of path expression.

19:50:23 <JosD> Oh

19:50:35 <DanC> x @at y?

19:50:40 <DanC> sqrt @at 2

19:50:50 * sbp tries to grok timbl's proposal

19:50:53 <DanC> am I going the wrong way?

19:50:58 <timbl> aka?

19:51:01 <DanC> I've been using [ is sqrt of 2] for a while

19:51:15 <DanC> aka is also a bit goofy use/mention wise.

19:51:16 <timbl> Yes, that is useful, and lots of it in files.'

19:51:18 <sbp> oh, I see

19:51:52 * DanC hears the T-10 bell ring for TAG

19:52:04 <sbp> [ @is sqrt @of 2 ] -> [ @is _:p ] 2 sqrt _:p . -> 2 sqrt [] .

19:53:19 <timbl> [ @is sqrt @of 2] becomes sqrt @of 2

19:53:32 * yosi shudders at the meaning of ``:a of :b :of :c :of :d''

19:54:03 <sbp> hmm. this would make: { :s @is :n . :s :p :o } produce { :n :p :o } as a triple

19:54:30 <timbl> yes.

19:54:40 <sbp> yeah. I think I'd rather stick with @if and @of in their current senses and go with something like @self, @aka, etc.

19:54:47 <sbp> s/@if/@is/

19:55:00 <sbp> I'm leaning very much towards @self

19:55:19 <timbl> Or maybe we should just remove it in the interests of stability.

19:55:31 <sbp> that'd still mean { :s @self :n . :s :p :o } produces { :n :p :o }, but I'd be okay with that

19:56:07 * timbl struggling with "self" as a role-noun

19:56:22 <sbp> @becomes?

19:56:46 <timbl> No, no assignment action.

19:56:47 <sbp> take p becomes q as meaning all instances of p become q when output

19:57:24 <sbp> okay

19:57:24 <timbl> @ie

19:57:24 <sbp> ah, that's nice

19:57:26 <sbp> or @viz

19:57:28 <JosD> so [ @becomes s; p o] becomes s p o ?

19:57:30 <timbl> But DanC, would you allow <joe> @self <fred> ?

19:57:31 <yosi> @inAnEffortToDiscourageThisFeaturesUseWeHaveMadeItReallyLong ?

19:57:40 <sbp> yosi: heh¬

19:57:43 <danbri> :)

19:57:43 <sbp> s/¬/!/

19:58:06 <timbl> (incompatible encoding - you using utf8?)

19:58:38 <sbp> accidental bit of cp1252. not sign is next to ! on this keyboard

19:58:39 <timbl> Ok, so DanC and I should leave though this doesn't need to constrain anyone else.

19:58:40 <AndyS_> Amusing feature for writers to use - tricky to know when to embed a 1-ref object.

19:58:49 <sbp> line was "yosi: heh!"

19:59:16 <timbl> Status quo is none of these are in n3/n3

19:59:19 <sbp> shame. always so much more to talk about!

19:59:31 <timbl> s?/?.?

19:59:38 <JosD> also thought 5 min ago @ie :)

19:59:42 <DanC> <> dc:title "nifty new doc"; doc:versionOf [ @ie <older-doc> ; dc:title "not as nifty"].

19:59:49 <DanC> yes, I like @ie

19:59:55 <JosD> me too

20:00:01 <sbp> yep. ie is good

20:00:02 <timbl> (@idEst?)

20:00:10 <sbp> @i.e.

20:00:10 <JosD> :)

20:00:20 <timbl> With restriction it must only be used on bnode syntax?

20:00:24 <JosD> it est in Latin :)

20:00:27 <sbp> I like @viz too, but even that should be @vizium

20:00:29 <DanC> @idEstCuzYouCantBeBotheredToLookItUpAndIAmAPompousFool ;-)

20:00:38 <sbp> :-)

20:00:55 <JosD> s/it/id

20:00:57 <sbp> as long as it doesn't make the grammar messy

20:01:13 * danja_ amused by Latin disobfustication of cwm

20:01:29 <JosD> :)

20:01:47 <timbl> Well, we could semantically constrain it that you can't @ie together two things which are already named. or we could just require it to be the first verb in a []

20:02:01 <sbp> @siHocLegereScisNimiumEruditionisHabes

20:02:10 <timbl> The latter is simple as it requires no lookahead and is a syntactic constraint.

20:02:23 <sbp> (@if-you-can-read-this-you're-over-educated)

20:02:29 <DanC> 1st verb in [] meets my needs.

20:03:04 <sbp> and I think it'd be easy enough to implement, so it meets my needs...

20:03:09 * AndyS_ reads, waves and leaves

20:03:25 <sbp> thanks AndyS_

20:04:05 <timbl> Uniform Bureaucracy Notice: This form should take you 136 minutes to complete, whatever your level of education. The uneducated will have trouble with the questions but the overeducated will be distracted with intriguing footnotes and latin phrases.

20:04:18 <danja_> (iXVIIIn)

20:04:27 <timbl> Ok, so I think we have a consensus around @ie

20:04:28 <sbp> heh!

20:04:34 <sbp> yep

20:04:40 <timbl> Thanks sbp, could we do that again?

20:04:49 <balbinus> anyway: quidquid latine dictum sit, altum viditur

20:04:50 <timbl> Maybe try to get 90 mins next time

20:04:57 <sbp> I'd have these meetings every day if I thought we could

20:05:04 <DanC> re log:notIncludes and [=]... a test: { { <x> dc:relation [ = <y>; dc:description "y"] } log:notIncludes { ?X = @Y } } => { <using> <oldAndBogus> <parser>}.

20:05:42 <sbp> since this seems to conflict with TAGgery, perhaps a month from now at 16:30Z this time? (really 16:30Z though)

20:06:13 <yosi> sbp, changing cwm to use str() instead of repr() broke http://www.w3.org/2000/10/swap/math/detailed.tests#t10393

20:06:20 <yosi> I'll have to look into that

20:06:30 <timbl> Ok for me that time 16:30Z

20:06:35 <sbp> ack, 403

20:07:32 <sbp> where did math go in http://dev.w3.org/cvsweb/2000/10/swap/?

20:07:57 <sbp> oh, test/math

20:08:48 <sbp> yeah, it just has floats in; probably a matter of replacing the test output

20:08:53 <yosi> I meant http://www.w3.org/2000/10/swap/test/math/detailed.tests#t10393

20:08:58 * sbp nods

20:13:32 <timbl> quidquid in tela dictum sit, altum viditur

20:14:08 <yosi> finally, sbp, re http://lists.w3.org/Archives/Public/public-cwm-bugs/2004Dec/0003.html .

20:14:46 <yosi> those bogus existentials are annoying, I never bothered fixing them because they don't change the meaning of anything

20:17:24 <sbp> yosi: I mainly filed that because I'd really like to work towards a standard test-suitable output for N3 parsers. I'd like CWM, ideally, to output the same as n3proc (or vice versa, but that's what I want to explore)

20:17:46 <yosi> I can work on that

20:18:05 <yosi> as for the rest of that bug, there are good reasons why cwm reifies things the way it does

20:18:08 <sbp> that would be excellent. though the two major issues therein require executive decision

20:18:22 <yosi> timbl is the right person to ask about them

20:18:22 <sbp> oh? I'd love to hear them

20:18:24 <sbp> ah

20:18:44 <yosi> it's been an action item for him to write up just that for a while

20:19:22 <sbp> yeah, I was thinking that might be the case. I'm mainly concerned about the orderedness (and hence complexity and verbosity of the output, which I think is unnecessary according to the documentation), and the scope of ?univars in the root document formula

20:19:38 <timbl> sbp, in a word, you need to quote the subject and object URIs etc.

20:20:31 <timbl> orderedness? It is not ordered, because we use sets. lacking a set literal syntax for the moment, we use the clumbsy low:oneOf a list, but the inrtent is a set.

20:21:19 <sbp> I'm wondering why you can't use normal RDF conjunctions as the set

20:21:34 <yosi> it's not closed

20:21:46 <sbp> in other words, why state (reified-triple reified-triple) when you can just assert { reified-triple . reified-triple }

20:21:57 <sbp> ah, I see

20:22:30 <sbp> but a document, when parsed to a formula, *is* closed

20:23:04 <sbp> you're representing a formula in another formula...

20:25:13 * sbp will consider implementing to try to match CWM as much as possible

20:25:22 <sbp> but that isn't possible w.r.t. URIs for variables

20:25:55 <sbp> e.g. ?p becoming [ :uri ".../#p" ]

20:26:32 <sbp> [ :localname "p" ] would be fine, if not ?p

20:26:44 <timbl> The aim is to be ask whether x is a variable in F without using negation as failure.

20:27:23 <timbl> You don't make variables by URIs, sbp?

20:27:58 <sbp> nope, I keep them as variables. otherwise it's impossible to have consistent test outputs, and this is my worry

20:29:40 <sbp> the only issue I've come across in doing it the lazy way is that universally quantified variables aren't allowed in the root formula of a document because the default is to scope them over their parent

20:30:38 <sbp> so what happens is that when I have { ?p ?q ?r } :s :t ., I reify that so that _:statement reify:subject ?p appears in the root of the flattened test-case reference usable output

20:30:53 <phurl> phurl is now known as PhUrl

20:30:59 <sbp> in the original document, ?p is quantified over the root formula

20:31:18 <sbp> but that's true in the output for me too, because I consider that if there's no parent of the current formula, you use the current formula as the scope

20:32:06 <sbp> so the aim is that I only produce reified quanitification triples, those using reify:existential[s] and reify:universal[s] when the scope is other than the root formula

20:33:26 * yosi fails to understand what is inconsistent about making variables uri's

20:33:27 <sbp> if I were to have { @forAll :p . :p ?q ?r } :s :t . as the input, the flattened output would have to have _:formula :s :t . _:formula reify:universal ?p . in the output... but I suppose that's your negation as failure point. you can only tell if ?p is quantified over the root formula if there's no statement to the contrary

20:34:11 <sbp> the inconsistency arises from *what* URI. say your parser produces [ :uri ".../#genIDp" ] for ?p and mine produces [ :uri ".../#p" ]. you can't compare the outputs in a test suite

20:34:40 <sbp> moreover, what if the user wants to use <.../#genIDp> or <.../#p> in another document? you're squatting their space

20:35:17 <yosi> I think cwm does the wrong thing there

20:36:41 <yosi> clearly we need a standarf for de-questionmarking uri's

20:37:58 <sbp> it'd be extremely difficult. you'd probably have to use appearance order and a new URI scheme, or something like http://www.w3.org/namespace$http://example.org/documentURI$variableName

20:38:48 <sbp> which is why I preserve them as variables and then have the quantification triples only if they're not quantified over the root formula, as I say

20:39:25 <sbp> I consider the "you can only tell if ?p is quantified over the root formula if there's no statement to the contrary" problem a very small price to pay, especially given log:notIncludes

20:40:12 <sbp> or you could even have two different types of output--one for test cases, the trivial case that I'm interested in at the moment, and a comprehensive output with sets of reified triples and URI'd variables etc.

20:40:22 <sbp> how about that?

20:40:30 <yosi> the removal of ``this'' from n3 was to disallow the saying of ``this log:notInclises'' in the root formula

20:41:03 <sbp> why do you not want to allow that?

20:41:16 <yosi> the root formula is open

20:41:28 <yosi> we can't ever say it doesn't include something

20:41:51 <sbp> it is? I thought it was scoped to the document. when I say <document>!log:semantics, I don't expect that to include the moon if the moon isn't in the document

20:41:54 <yosi> beside that that makes paradoxes way too easy to write

20:42:21 <sbp> I thought one of the goals was to not treat the edges of a document as being different from "{ ... }"?

20:42:29 <sbp> yet it seems that that's very much the case here

20:42:36 <yosi> no

20:43:07 <yosi> there is no outside of the root formula to say log:notIncludes on it

20:43:33 <yosi> you don't have access to the formula you are inside of right now

20:43:37 <sbp> there most certainly is an outside when you do <document>!log:includes

20:43:48 <sbp> er, <document>!log:semantics

20:44:09 <yosi> ``<document>!log:semantics'' is not ``this''

20:44:20 <sbp> think of the <>!log:semantics case

20:44:36 <yosi> the first is saying ``what <document> says''

20:44:46 <yosi> or, what <> says

20:44:54 <yosi> the latter is ``what I know''

20:44:57 <sbp> where <> is the current document

20:45:21 <yosi> cwm accepts multiple input documents, and will concatenate them

20:45:38 <sbp> right. and none of those documents will be equal to the resulting concatenation

20:45:48 <yosi> correct

20:45:54 <yosi> but ``this'' is

20:45:59 <yosi> equal to that

20:46:00 <sbp> you can do the same thing using (<p>!log:semantics <q>!log:semantics) log:conjunction

20:46:08 <yosi> you can

20:46:15 <sbp> but then that's a "@this" in a new document!

20:46:44 <yosi> you've explicitly said what you are trusting

20:47:12 <yosi> @this points to the current formula

20:47:14 <sbp> I'm not sure how this bears on the problem. my contention is that <>!log:semantics is equivalent to @this in the root formula

20:47:31 <yosi> not semantically

20:47:35 <sbp> right, the current formula for the new document, not the original ones

20:48:12 <yosi> for all we know, cwm will do a google search for more triples to see if we know something

20:48:22 <yosi> but that's not in the current document

20:48:34 <sbp> I think you're conflating CWM's internal store with the document's semantics

20:48:52 <sbp> when I state something in a document, I'm referring to that document, not what CWM is doing

20:48:57 <sbp> @this is a document thing, not a CWM thing

20:49:12 <yosi> @this is a formula thing

20:49:20 <yosi> a formula is a set of information

20:49:31 <sbp> yes, it identifies the current formula of the document

20:49:35 <yosi> the root formula is the set of true information

20:49:56 <yosi> the document is merely a source of facts

20:50:11 <sbp> right. but it's a self-contained source of facts

20:50:16 <sbp> it has bounds; it is finite

20:50:34 <yosi> the document is finite

20:50:37 <sbp> @this allows you to refer to that entire collection of statements; the formula that the document expresses, as a finite whole

20:51:11 <yosi> @this allows you to express everything that I know as a finite whole

20:51:39 <yosi> the formula formed from a document is finite

20:51:52 <yosi> the formula of facts is not

20:53:17 * yosi has to catch a train

20:53:24 <sbp> c'ya

20:56:58 <crschmidt> so, uh. is the cwm meeting over?

21:02:27 <sbp> yep

21:04:04 * crschmidt was hoping to ask about ability to import cwm for n3->ntriples conversion, and thoughts therein from developers

21:04:23 <sbp> why didn't you ask about that when everyone was here? :-)

21:04:35 <crschmidt> Because I was waiting for a turn!

21:05:00 <sbp> heh. you can always ask on public-cwm-talk though

21:06:04 <sbp> hmm, I wonder if I have an old version of CWM lying about somewhere...

21:06:41 <sbp> at the very least, if @this refers to the formula of everything which is true (which would make "this" a very odd name for it, if so), I'd like a keyword that *does* allow you to refer to the current formula

21:07:06 <sbp> CWM can scrap triples with it in or not if it likes, and I think that'll be dependent on how it's getting the document

21:07:33 <sbp> let's say that @current refers to the current formula

21:08:24 <sbp> if CWM were to input the document from <a.n3> and it contained "@current :formulaOf <a.n3> . :p :q :r .", it'd probably want to drop the first triple because there's no way that it can refer to that formula

21:08:43 <sbp> effectively, when CWM reads in a document from the *command-line*, it loses that document's formula

21:08:54 <sbp> but when it reads it using log:semantics, that's not so

21:10:15 <jhendler>http://allianceradio.com/oops.html

21:10:15 <dc_swig> H: http://allianceradio.com/oops.html from jhendler

21:10:19 <sbp> if I were to do "<a.n3>!log:semantics ... ." I'd think it fine to have "{ @current :formulaOf <a.n3> . :p :q :r }" in the results...

21:10:32 <sbp> but, moreover, if all of the triples in that document were to be flattened out, you'd end up with:

21:10:40 <jhendler> H:|Is this how the semantic web will 404? (humour)

21:10:40 <dc_swig> Titled item H.

21:10:55 <sbp> { @current :formulaOf <a.n3> . :p :q :r } :formulaOf <a.n3> . :p :q :r .

21:10:59 <jhendler> H: stolen from Hitchhiker's guide to some degree, but not horrid.

21:10:59 <dc_swig> Added comment H1.

21:11:01 <sbp> which I think is rather useful

21:11:06 * sbp wa... too late

21:12:12 <danbri> H:Or [http://agents.umbc.edu/404x|this]? (from Tim Finin and co.)

21:12:12 <dc_swig> Added comment H2.

21:12:54 <sbp> hehe

21:16:34 <danbri> H:I recall the UMBC site tricking me, some time ago, and Tim letting me down gently... I thought 'Oh, cool KIF-based content management thingie!'... but it was just a (pre-OWL) joke.

21:16:34 <dc_swig> Added comment H3.

21:17:32 <sbp> phenny: tell jhendler hi! ([21:11] * Quits: jhendler (~chatzilla@gandalf.mindlab.umd.edu) (Client Quit) [21:11] * sbp wa... too late)

21:17:35 <phenny> sbp: I'll pass that on for you when jhendler is around.

21:52:55 <Mklow> hi all

21:53:54 <sbp> hi Mklow

21:54:37 <Mklow> hi sbp

22:11:58 <danbri>http://www.ccc.de/congress/2004/fahrplan-preview/fahrplan.html

22:11:59 <dc_swig> I: http://www.ccc.de/congress/2004/fahrplan-preview/fahrplan.html from danbri

22:12:13 <danbri> I:|21st Chaos Communication Congress - Day 1 - v0.92

22:12:13 <dc_swig> Titled item I.

22:13:15 <danbri> I:See the main [http://www.ccc.de/congress/2004/|21C3 site] ("The Usual Suspects") for more info and updates to schedule. Dates: Dec 27-29, Berlin, Germany.

22:13:15 <dc_swig> Added comment I1.

22:13:31 <danbri> I:I'm thinking of going, was wondering if any SWIG folks might be there.

22:13:31 <dc_swig> Added comment I2.

22:13:44 <danbri> I:" The 21st Chaos Communication Congress (21C3) is a three-day conference on technology, society and utopia. The Congress offers lectures and workshops on a multitude of topics including (but not limited to) information technology, IT-security, internet, cryptography and generally a critical-creative attitude towards technology and the discussion about the effects of technological advances on society."

22:13:45 <dc_swig> Added comment I3.

22:22:21 <DanC> is that one of those things that spams everybody and invites them to talk?

22:23:22 <danbri> I don't believe CCC does that, but yes it's a conference

22:23:26 <sbp> apt given that it's "Chaos Communication"

22:23:42 <sbp> though a metathesis of terms

22:47:34 <sbp> crschmidt: could you do a bit of a demo of julie for Mklow for me, if you're around?

22:48:04 <sbp> Mklow: well essentially you can run queries against her. e.g., to get my name from my nickname...

22:48:16 <jsled> ^nick Sean Palmer

22:48:17 <mortenf> chris is on the phone

22:48:36 <sbp> ^q select ?name where (?person foaf:nick "sbp") (?person foaf:name ?name)

22:48:38 <danbri> the other end of it ;)

22:48:53 <sbp> with you? heh

22:49:07 <danbri> no, at the end with no computer and proper keyboard...

22:49:20 <danbri> we're at this end of it

22:50:48 <sbp> pardon?

22:51:06 <danbri> don't worry :)

22:51:22 <danbri> --> chrisMobile (~chrisMobi@m41105e42.tmodns.net) has joined #foaf

22:51:22 * chrisMobile waves from his phone.

22:51:26 <danbri> from #swig

22:51:31 <danbri> er #foaf

22:52:53 <jsled> ^status

22:52:56 <jsled> ^status

22:53:16 <crschmidt> hm

22:53:18 <crschmidt> julie's in bad shape

22:53:21 <crschmidt> excuse me while i kill her

22:53:41 <LotR> OMG, THEY KILLED JULIE!

22:53:54 <crschmidt> And no, I didn't mean the crying three year old

22:54:10 <crschmidt> Anyway

22:54:23 <danbri> you bastards! ;)

22:54:32 <crschmidt> Julie is a bot. She does things. For example, you can ask questions:

22:54:38 <crschmidt> ^q select ?p where (?p foaf:nick "crschmidt")

22:54:39 <julie> (r1101681811r9), (r1100194349r5), (r1095223907r8), (r1095333406r365), (r1098664340r42), (r1095223907r2)

22:54:40 * danbri offends everyone who doesn't watch southpark

22:54:56 <karlcow> I don't

22:54:59 * tlr mubmles "bittorrent"

22:55:07 <crschmidt> In addition to that, she can run commands that other people have stored that do interesting things.

22:55:10 <karlcow> I don't have TV either ;)

22:55:22 <crschmidt> for example, to display the available information about a person with a given foaf:nick, you can do:

22:55:25 <crschmidt> ^available crschmidt

22:55:27 <julie> kiss:kissed (x4), foaf:interest (x3), foaf:mbox_sha1sum (x3), foaf:page, foaf:knows (x95), foaf:dateOfBirth, foaf:workplaceHomepage, foaf:maker, foaf:depiction (x3), tipjar:hasTipjar (x14), foaf:weblog, astrology:Sign, foaf:nick (x6), foaf:aimChatID, foaf:geekCode, rdfs:seeAlso (x5), foaf:name (x5), bio:olb (x2), foaf:msnChatID, foaf:homepage (x4), foaf:holdsAccount, foaf:yahooChatID, rdf:type (x6), foaf:currentProject (x2), foaf:plan, foaf:icqCh

22:55:27 <julie> atID, foaf:based_near (x14), menow:hasStatus (x7), foaf:mbox (x2)

22:55:45 <crschmidt> To see commands that people have stored, you can use:

22:55:47 <crschmidt> ^commandlist

22:55:47 <julie> Current commands: olb, like-pubs, maintainer, pub-address, alldayevents, depiction, keywords, icbm, based_near, kissed, authorlinks, like-musicalwork, like-books, title, nick, contact, drankbeerwith, xfn_met, homepage, events, workplace, available, knows, quote, schemaweb, dob, desc, term, made, name, neighborhoods, agentknows, rsstitles, like-musicians, picOfA, aim, like-same-music-as, weblog, sha, places, mbox, dranklagerwith, namefromany, rssl

22:55:47 <julie> inks,

22:56:03 <crschmidt> To See the current list of predefined namespaces, you can do:

22:56:04 <crschmidt> ^nslist

22:56:04 <julie> Namespace bindings are: astrology, bio, bloggercode, book, bot, cc, chefmoz, contact, cyc, dc, dcterms, doaml, doap, exif, foaf, foafcorp, geo, ical, ilike, img, kiss, kissed, menow, mtbi, music, owl, quaff, quote, rdf, rdfs, rel, rev, rss, schema, srw10, srw11, tipjar, trust, vann, vcard, weather, wn16, wot, xsd

22:56:18 <crschmidt> To see the URL of a specific namespace, you can ask:

22:56:19 <crschmidt> ^ns foaf

22:56:20 <julie> The URL for the foaf namespace is http://xmlns.com/foaf/0.1/

22:56:31 <crschmidt> There's more information on her homepage:

22:56:34 <crschmidt> ^homepage julie

22:56:35 <julie> http://crschmidt.net/julie/

22:56:56 <crschmidt> And that's a two minute demonstration of the primary capabilities of julie

22:57:20 <crschmidt> You can also add data, create new stored commands, add new namespaces, etc. But those are typically things that you don't need to do as often, plus they aren't as nifty :)

23:01:40 <sbp> thanks crschmidt

23:01:52 <crschmidt> logger: pointer

23:01:52 <crschmidt> See http://www.ilrt.bris.ac.uk/discovery/chatlogs/swig/2004-12-13#T23-01-52

23:02:01 * crschmidt will add link to ^homepage julie

23:02:59 <crschmidt> done

23:50:38 <PhUrl> PhUrl is now known as md-zzz


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: RDF Resource Description Framework Metadata and Text

Provided by Dave Beckett. Hosted by Useful Information Company.