IRC log of swhack on 2001-10-21
Timestamps are in UTC.
- 00:00:07 [AaronSw]
- Ah good.
- 00:00:12 [AaronSw]
- Cool! http://adbusters.org/campaigns/july4/debate/comments.html
- 00:00:18 [sbp]
- * sbp just wrote up many of his songs, in HTML form, as you can tell...
- 00:00:21 [AaronSw]
- specifically: http://adbusters.org/campaigns/july4/debate/comments.html?id=3715
- 00:00:34 [sbp]
- but not online! except for that one...
- 00:00:48 [sbp]
- oh, this is your deeley
- 00:00:53 [sbp]
- isn't it hosted on your box?
- 00:00:59 [AaronSw]
- The logs?
- 00:01:09 [AaronSw]
- I've been composing songs like that while I walk back from school... quite fun.
- 00:01:17 [AaronSw]
- I need to produce one for an adbusting movie.
- 00:01:41 [sbp]
- cool
- 00:01:55 [sbp]
- have you written any of the down? Except the /x75 one
- 00:02:03 [AaronSw]
- No, not really.
- 00:02:14 [AaronSw]
- They're very much spontaneously improvised.
- 00:02:36 [AaronSw]
- It's fun tho, the lyrics and rhyming work out surprisingly well
- 00:02:41 [AaronSw]
- even tho you can't stop and rewind.
- 00:04:24 [sbp]
- * sbp comes up with a convoluted chord sequence... I just can't get it to fit the pattern that I know it should fit
- 00:05:54 [sbp]
- Bm7 Am7(V) GMaj/GMaj7 x
- 00:05:56 [sbp]
- fill in the x!
- 00:06:23 [AaronSw]
- After learning intervals in music class I can sort of read that! :)
- 00:06:29 [AaronSw]
- So did you mess any with rdfapi?
- 00:06:38 [sbp]
- I sent a letter to www-archive about it
- 00:07:14 [AaronSw]
- Ah, I see.
- 00:07:23 [AaronSw]
- Yes, I realized the comma bug as I woke up this morning. ;)
- 00:07:44 [AaronSw]
- What else was there... oh yes, equivalence and repr
- 00:08:29 [sbp]
- how do you feed in bNodes???
- 00:08:39 [AaronSw]
- Just call Node()
- 00:08:43 [AaronSw]
- err nod()
- 00:08:47 [AaronSw]
- err node()
- 00:08:48 [AaronSw]
- sorry
- 00:08:48 [sbp]
- node()
- 00:08:55 [sbp]
- and feed it what?
- 00:09:00 [AaronSw]
- Nothing.
- 00:09:05 [AaronSw]
- It'll return a blank node
- 00:09:09 [sbp]
- http://lists.w3.org/Archives/Public/www-archive/2001Oct/0024
- 00:09:16 [AaronSw]
- > I'm still not sure how it manages to decode the literal back into a u'' literal, seeing as how there is no reverse function.
- 00:09:20 [AaronSw]
- Why would you need it to reverse?
- 00:09:25 [AaronSw]
- Ahh, for output?
- 00:09:28 [sbp]
- yeah
- 00:09:30 [AaronSw]
- I'll add that...
- 00:10:19 [sbp]
- O.K., so say I was feeding in a triple... I could send it triple.store('x', 'y', ???)
- 00:10:35 [sbp]
- how would I feed it in nothing where the "???" is to get a blank node?
- 00:10:52 [sbp]
- and, what happens when I want to feed in _:b and _:b: labelling the nodes?
- 00:11:08 [AaronSw]
- store.triple('x', 'y', rdfapi.node())
- 00:11:45 [sbp]
- so, for :x :y _:b . :y :x _:b . what would I do?
- 00:12:07 [AaronSw]
- b = rdfapi.node()
- 00:12:17 [AaronSw]
- store.triple('x', 'y', b)
- 00:12:23 [AaronSw]
- store.triple('y', 'x', b)
- 00:12:34 [sbp]
- but in practice, I can't do that when parsing an NT document into the store
- 00:12:50 [sbp]
- well, I can, but it'll be tricky
- 00:13:00 [sbp]
- I'll have to create a list of label/node values
- 00:13:16 [AaronSw]
- Yes, same with output.
- 00:13:28 [AaronSw]
- Just use a dictionary to do it.
- 00:13:41 [AaronSw]
- label2Node['b'] = node()
- 00:14:01 [AaronSw]
- store.triple(label2Node[nodeID], 'a','b')
- 00:14:44 [AaronSw]
- Why should I define useful namespaces in in the API itself?
- 00:14:50 [AaronSw]
- wouldn't it be better to make that a separate file?
- 00:15:14 [sbp]
- dunno, just thought it would be neat
- 00:15:37 [AaronSw]
- I took out the one I did define because I didn't use it.
- 00:15:40 [AaronSw]
- Feel free to make a file of them for me.
- 00:15:44 [sbp]
- O.K.
- 00:20:04 [sbp]
- * sbp makes NTriples.py RDF API "compliant"
- 00:20:12 [AaronSw]
- Yay! :)
- 00:24:51 [AaronSw]
- Boston rocks: http://www.nat.org/camera/dsc03097-800x600.jpg
- 00:26:03 [sbp]
- so... '' is a URI, u'' is a literal?
- 00:26:07 [AaronSw]
- Yep.
- 00:26:16 [AaronSw]
- Bijan helped me come up with that trick.
- 00:26:23 [sbp]
- is there a function to convert '' to u''?
- 00:26:27 [sbp]
- in Python
- 00:26:41 [AaronSw]
- Hmm... let me check...
- 00:26:46 [AaronSw]
- Hehe, Wes Felter: "I was surprised that the BMW salesman just handed me the keys and told me to bring it back by 6." - Hehe, Wes Felter: "I was surprised that the BMW salesman just handed me the keys and told me to bring it back by 6."
- 00:26:55 [AaronSw]
- Oops, I meant http://wmf.editthispage.com/discuss/msgReader$5989
- 00:29:10 [sbp]
- * sbp goes looking for the function
- 00:29:42 [AaronSw]
- sbp, unicode('foo')
- 00:29:54 [AaronSw]
- >>> unicode('foo')
- 00:29:54 [AaronSw]
- u'foo'
- 00:30:06 [sbp]
- yep, just got it at the same time :-)
- 00:30:15 [sbp]
- and you can encode as UTF-8... neat
- 00:30:22 [AaronSw]
- Wes: "I can tell that it would be easy to accumulate speeding tickets in any of these cars." :)
- 00:33:04 [sbp]
- ugh, are you really sure you want to lose the bNode names?
- 00:33:16 [AaronSw]
- Why is it so important to keep them?
- 00:33:34 [AaronSw]
- Just indirect to objects thru a dictionary.
- 00:33:34 [sbp]
- aw... it's not
- 00:33:55 [AaronSw]
- Want me to create a simple function to do it for you?
- 00:35:31 [AaronSw]
- nodeid2node_map = {}
- 00:35:32 [AaronSw]
- def nodeid2node(nodeid):
- 00:35:32 [AaronSw]
- if not nodeid2node_map.has_key(nodeid):
- 00:35:33 [AaronSw]
- nodeid2node_map[nodeid] = rdfapi.node()
- 00:35:33 [AaronSw]
- return nodeid2node_map[nodeid]
- 00:36:34 [sbp]
- i've already done that
- 00:36:42 [AaronSw]
- So why's it so hard?
- 00:36:46 [sbp]
- I'm doing an output function now
- 00:37:03 [AaronSw]
- Oh... I was going to do that in __repr__...
- 00:37:09 [AaronSw]
- Well, it just goes the other way
- 00:37:16 [AaronSw]
- reverse the direction of the dictionary.
- 00:38:08 [sbp]
- yep
- 00:38:18 [sbp]
- * sbp is doing other things at the same time, sorry...
- 00:38:28 [sbp]
- what future do you predict for this API?
- 00:38:41 [sbp]
- I mean: why bother, etc.? Gameplan?
- 00:38:43 [AaronSw]
- I hope to use it in all my apps, which will eventually take over the world.
- 00:39:04 [AaronSw]
- > I know, I know: it's an RDF 1.0 API. But is there any chance of a Quad class too?
- 00:39:04 [AaronSw]
- Umm, it's emphatically not an RDF 1.0 API... and they already are effectively quads.
- 00:39:10 [sbp]
- aha, that's reason enough for me to port my code over
- 00:39:26 [AaronSw]
- :-)
- 00:39:41 [sbp]
- ah, but they're tacky quads: with statement IDs. I meant quads with contexts
- 00:39:47 [sbp]
- pents, then...
- 00:39:54 [AaronSw]
- What do you think store() does?
- 00:40:04 [AaronSw]
- I'm still thinking of the best way to do it though...
- 00:40:11 [AaronSw]
- Next up is to implement N3 and RDF/XML parsing and them make a cwm-style command-line app.
- 00:41:49 [AaronSw]
- Want me to do the N-Triples output then?
- 00:42:38 [AaronSw]
- sbp?
- 00:42:49 [sbp]
- No, I'm doing it now you big lunatic
- 00:43:00 [AaronSw]
- OK, just asking. :)
- 00:43:59 [sbp]
- ugh, this is a pain in the butt. O.K., when you have a dictionry, can you do for x in dictionary, and what does that return for x?
- 00:44:26 [AaronSw]
- You probably want for x in dict.keys()
- 00:44:42 [sbp]
- ah, yes, probably
- 00:44:53 [AaronSw]
- I started this last night and I got this far:
- 00:44:54 [AaronSw]
- output = '( '
- 00:44:54 [AaronSw]
- for t in self.tripleList:
- 00:44:54 [AaronSw]
- output += '\n\t{ <%s> <%s> <%s> }' % (t.subject.uri, t.predicate.uri, t.object.uri)
- 00:44:54 [AaronSw]
- output += '\n)'
- 00:44:54 [AaronSw]
- return output
- 00:45:10 [AaronSw]
- where self is a store
- 00:45:31 [sbp]
- I've got:-
- 00:45:31 [sbp]
- def printnt(self):
- 00:45:32 [sbp]
- x = ''
- 00:45:32 [sbp]
- self.bNodes = {}
- 00:45:32 [sbp]
- for triple in self.tripleList:
- 00:45:32 [sbp]
- for term in triple:
- 00:45:34 [sbp]
- if not term.uri: bNodes[term] = self.generatelabel(term)
- 00:45:36 [sbp]
- def generatelabel(self):
- 00:45:38 [sbp]
- for bNode in self.bNodes('keys'):
- 00:46:17 [AaronSw]
- Huh?
- 00:46:45 [sbp]
- oops
- 00:46:49 [sbp]
- s/bNodes/self.bNodes
- 00:47:14 [AaronSw]
- I'm not sure for term in tripleList will work?
- 00:47:16 [sbp]
- er, and I meant .keys
- 00:47:40 [AaronSw]
- I meant "for term in triple"
- 00:49:05 [AaronSw]
- I think it's simpler than that -- whenever you encounter a node that isn't in the dict, just generate a random label for it.
- 00:49:15 [AaronSw]
- or rather increment the last label
- 00:49:49 [sbp]
- no, because if you match two nodes, then you have to generate the same label for them
- 00:50:06 [AaronSw]
- Right, which is why you check that it's not in the dit
- 00:50:08 [AaronSw]
- err dict
- 00:50:25 [sbp]
- but you won't have a dict
- 00:50:50 [AaronSw]
- Why not...
- 00:51:16 [AaronSw]
- if not hasattr(t.subject, 'uri') and t.subject not in dict.keys():
- 00:51:41 [AaronSw]
- dict[t] = 'a' + str(nodeNum + 1)
- 00:51:53 [AaronSw]
- ... repeat for preducate, object ...
- 00:53:31 [sbp]
- on second thought, you can do the output function for me :-)
- 00:53:50 [AaronSw]
- Heheh. I'll write an example you can convert to something more appropriate. :)
- 00:54:23 [sbp]
- well, I've written the NTriples parser, but I have no way of telling if it has worked or not
- 00:55:03 [AaronSw]
- OK... let me write the __repr_ func... just a sec
- 00:57:41 [sbp]
- how do I get it to print an exception to file?
- 00:57:53 [sbp]
- try: x.parsen(sys.argv[1])
- 00:57:54 [sbp]
- except: print ???
- 00:58:01 [AaronSw]
- look in logicerror.com/archiverProxy-code
- 00:58:37 [AaronSw]
- search for 'errors.txt'
- 01:00:23 [sbp]
- traceback.print_exception doesn't work...
- 01:01:05 [AaronSw]
- really?
- 01:01:12 [AaronSw]
- OK, finished the basic N-Triples stuff, should I upgrade?
- 01:01:18 [AaronSw]
- Example output:
- 01:01:18 [AaronSw]
- (
- 01:01:19 [AaronSw]
- { <http://www.w3.org/> <http://purl.org/dc/elements/1.1/title> <data:,World%20Wide%20Web%20Consortium%20%28W3C%29> }
- 01:01:19 [AaronSw]
- { _:a1 <http://example.org/foo/said> <http://example.org/foo/Aaron> }
- 01:01:19 [AaronSw]
- )
- 01:01:53 [sbp]
- yeah, please
- 01:03:05 [AaronSw]
- code is really ugly
- 01:03:18 [sbp]
- File "ntriples.py", line 78, in run
- 01:03:18 [sbp]
- try: x.parsen(sys.argv[1])
- 01:03:18 [sbp]
- File "ntriples.py", line 33, in parsen
- 01:03:18 [sbp]
- f = open(fn, 'r'); self.parse(f); f.close()
- 01:03:18 [sbp]
- File "ntriples.py", line 38, in parse
- 01:03:19 [sbp]
- self.parsent() # Parse self.document into self.quads
- 01:03:21 [sbp]
- File "ntriples.py", line 53, in parsent
- 01:03:23 [sbp]
- self.appendq(line)
- 01:03:25 [sbp]
- File "ntriples.py", line 65, in appendq
- 01:03:27 [sbp]
- if not self.bNodes[bNode]: self.bNodes[bNode] = rdf.node()
- 01:03:29 [sbp]
- KeyError: a
- 01:03:30 [AaronSw]
- OK, it's uploaded
- 01:05:09 [AaronSw]
- ... and tests..
- 01:09:19 [sbp]
- <method Store.__repr__ of NTriples instance at 007DDB6C>
- 01:09:40 [sbp]
- how do I get it to print out?
- 01:09:42 [sbp]
- I have x
- 01:09:53 [sbp]
- x = rdf.Store()
- 01:09:57 [sbp]
- I fed some junk in
- 01:10:01 [AaronSw]
- print x
- 01:10:03 [sbp]
- I want to print that junk out
- 01:10:06 [sbp]
- ah, neat
- 01:10:11 [sbp]
- very neat :-)
- 01:10:15 [AaronSw]
- :-)
- 01:10:52 [sbp]
- File "ntriples.py", line 84, in run
- 01:10:52 [sbp]
- try: print x
- 01:10:52 [sbp]
- File "rdfapi.py", line 165, in __repr__
- 01:10:52 [sbp]
- sub = '<'+t.subject.uri+'>'
- 01:10:52 [sbp]
- TypeError: cannot add type "None" to string
- 01:11:15 [AaronSw]
- Hmm...
- 01:11:22 [sbp]
- it's in rdfapi, so it's your problem :-)
- 01:11:27 [sbp]
- my end works just fine... ahem
- 01:11:27 [AaronSw]
- How is it getting None as uri?
- 01:11:40 [sbp]
- bNodes have none as a URI
- 01:11:49 [sbp]
- s/none/None/
- 01:12:01 [AaronSw]
- They're not supposed to...
- 01:12:20 [sbp]
- what?!
- 01:12:20 [sbp]
- class Node:
- 01:12:20 [sbp]
- nodeList = {}
- 01:12:20 [sbp]
- 01:12:20 [sbp]
- def __init__(self, uri=None):
- 01:12:34 [AaronSw]
- OK, fixed.
- 01:12:40 [AaronSw]
- * AaronSw uploads
- 01:13:16 [AaronSw]
- Done.
- 01:14:00 [sbp]
- hooray!
- 01:14:00 [sbp]
- (
- 01:14:00 [sbp]
- { _:a1 <#b> <data:,c> }
- 01:14:00 [sbp]
- { <data:,d> <data:,e> <data:,f> }
- 01:14:00 [sbp]
- { <#g> <data:,h> _:a1 }
- 01:14:01 [sbp]
- { <#j> <#k> <#l> }
- 01:14:03 [sbp]
- { _:a1 _:a1 _:a1 }
- 01:14:05 [sbp]
- { <#p> <#q> <data:,%5C%22r> }
- 01:14:07 [sbp]
- { <data:,%5C%22s> <#t> <data:,> }
- 01:14:09 [sbp]
- )
- 01:14:11 [AaronSw]
- Cool!
- 01:14:14 [sbp]
- Pff: make it output proper NTriples, Aaron...
- 01:14:27 [sbp]
- ah, your bNode output isn't working
- 01:14:27 [AaronSw]
- Yes, that's a job for the ntriples.py module ;)
- 01:14:31 [sbp]
- the input data is:-
- 01:14:40 [sbp]
- _:a <#b> "c" .
- 01:14:40 [sbp]
- "d" "e" "f".
- 01:14:40 [sbp]
- <#g> "h" _:i .
- 01:14:40 [sbp]
- <#j> <#k> <#l> .
- 01:14:40 [sbp]
- _:m _:n _:o .
- 01:14:40 [sbp]
- <#p> <#q> "\"r" .
- 01:14:42 [sbp]
-
- 01:14:44 [sbp]
- "\"s" <#t> "" .
- 01:14:48 [sbp]
- # iophfeia gjpao
- 01:14:48 [AaronSw]
- Oh, I see the bug.
- 01:15:57 [AaronSw]
- Fixed in 1003627044
- 01:17:11 [AaronSw]
- Heh: <tim> sbp finds that "a" is too long for rdf:type? Sigh ...
- 01:17:40 [sbp]
- :-)
- 01:18:26 [sbp]
- once again, I get: (
- 01:18:26 [sbp]
- { _:a1 <#b> <data:,c> }
- 01:18:26 [sbp]
- { <data:,d> <data:,e> <data:,f> }
- 01:18:26 [sbp]
- { <#g> <data:,h> _:a1 }
- 01:18:26 [sbp]
- { <#j> <#k> <#l> }
- 01:18:27 [sbp]
- { _:a1 _:a1 _:a1 }
- 01:18:29 [sbp]
- { <#p> <#q> <data:,%5C%22r> }
- 01:18:31 [sbp]
- { <data:,%5C%22s> <#t> <data:,> }
- 01:18:33 [sbp]
- )
- 01:18:38 [AaronSw]
- Did you get the right version?
- 01:18:46 [sbp]
- 1003627044
- 01:18:59 [AaronSw]
- Then the bug is in your code now. :)
- 01:20:24 [sbp]
- ugh
- 01:20:40 [AaronSw]
- URI so I can look it over?
- 01:21:33 [sbp]
- er... it doesn't have one
- 01:21:43 [AaronSw]
- I know...
- 01:24:19 [sbp]
- I'm pretty sure it's a problem in RDF API
- 01:24:28 [sbp]
- self.bNodes: {'n': <rdfapi.Node instance at 007E037C>, 'o': <rdfapi.Node instance at 007E037C>, 'a': <rdfapi.Node instance at 007E037C>, 'm': <rdfapi.Node instance at 007E037C>, 'i': <rdfapi.Node instance at 007E037C>}
- 01:24:55 [AaronSw]
- Umm, that would indicate the bug is in your code
- 01:25:01 [AaronSw]
- Note that all of those are the same node instance!
- 01:25:12 [sbp]
- gprmgpmrh
- 01:25:40 [sbp]
- I have:-
- 01:25:41 [sbp]
- try: a = self.bNodes[bNode]
- 01:25:41 [sbp]
- except: self.bNodes[bNode] = rdf.node()
- 01:26:24 [AaronSw]
- The try should probably be replaced with:
- 01:26:26 [sbp]
- that should generate a new node, shouldn't it?
- 01:26:31 [AaronSw]
- if not a in self.bNodes.keys()
- 01:26:47 [AaronSw]
- Ah, you never reset 'a' do you!
- 01:26:47 [sbp]
- s/a/bNode
- 01:27:01 [sbp]
- a is just a bit of crud: I don't use a
- 01:27:38 [sbp]
- I've changed it, with same result
- 01:28:00 [sbp]
- if not bNode in self.bNodes.keys():
- 01:28:00 [sbp]
- self.bNodes[bNode] = rdf.node()
- 01:28:03 [AaronSw]
- * AaronSw tries to follow your code...
- 01:28:09 [sbp]
- hit refresh
- 01:28:23 [AaronSw]
- elif term[:2] == '_:': # Term is an unlabelled node: bNode
- 01:28:31 [AaronSw]
- Doesn't that get the _last_ two chars in term?
- 01:28:46 [AaronSw]
- Oh, never mind.
- 01:29:07 [sbp]
- it gets all but the first two
- 01:29:30 [sbp]
- I hope :-)
- 01:30:13 [AaronSw]
- Oh, i see the bug... it was in my code
- 01:30:43 [sbp]
- aha!
- 01:31:19 [AaronSw]
- Use this code:
- 01:31:20 [AaronSw]
- if (not Node.nodeList.has_key(value) # Node hasn't been interned...
- 01:31:20 [AaronSw]
- and value is not None): # ... and it's not blank ...
- 01:31:20 [AaronSw]
- Node.nodeList[value] = Node(value) # ... so do it now.
- 01:31:26 [AaronSw]
- Hmm... I'll upload it...
- 01:31:49 [sbp]
- thanks
- 01:32:08 [AaronSw]
- OK: 1003627984 is uploaded
- 01:32:26 [AaronSw]
- Sorry about that -- the code was thinking None was a URI.
- 01:33:05 [sbp]
- File "ntriples.py", line 74, in run
- 01:33:06 [sbp]
- try: x.parsen(sys.argv[1])
- 01:33:06 [sbp]
- File "ntriples.py", line 27, in parsen
- 01:33:06 [sbp]
- f = open(fn, 'r'); self.parse(f); f.close()
- 01:33:06 [sbp]
- File "ntriples.py", line 32, in parse
- 01:33:06 [sbp]
- self.parsent() # Parse self.document into self.quads
- 01:33:08 [sbp]
- File "ntriples.py", line 47, in parsent
- 01:33:10 [sbp]
- self.appendt(line)
- 01:33:12 [sbp]
- File "ntriples.py", line 60, in appendt
- 01:33:14 [sbp]
- self.bNodes[bNode] = rdf.node()
- 01:33:16 [sbp]
- File "rdfapi.py", line 95, in node
- 01:33:18 [sbp]
- return Node.nodeList[value] # Now return the node
- 01:33:20 [sbp]
- KeyError
- 01:34:10 [AaronSw]
- Oops...
- 01:35:06 [AaronSw]
- OK, try 1003628181
- 01:35:39 [sbp]
- 1003627044 is online
- 01:36:14 [AaronSw]
- Oops, forgot to hit save. Try now.
- 01:36:57 [sbp]
- hooray"
- 01:36:58 [sbp]
- (
- 01:36:59 [sbp]
- { _:a1 <#b> <data:,c> }
- 01:36:59 [sbp]
- { <data:,d> <data:,e> <data:,f> }
- 01:36:59 [sbp]
- { <#g> <data:,h> _:a2 }
- 01:36:59 [sbp]
- { <#j> <#k> <#l> }
- 01:36:59 [sbp]
- { _:a3 _:a4 _:a5 }
- 01:37:01 [sbp]
- { <#p> <#q> <data:,%5C%22r> }
- 01:37:03 [sbp]
- { <data:,%5C%22s> <#t> <data:,> }
- 01:37:05 [sbp]
- )
- 01:37:22 [sbp]
- ugh: why aren't you outputting as NTriples? Would it be that difficult?
- 01:37:43 [AaronSw]
- Fine... do you want it in a context?
- 01:37:56 [sbp]
- nope, just spew it out
- 01:38:38 [sbp]
- s/'\n\t{ %s %s %s }'/'%s %s %s .'
- 01:38:44 [AaronSw]
- Yep, I'm on it.
- 01:38:48 [sbp]
- same with ()
- 01:38:54 [sbp]
- :-)
- 01:39:51 [AaronSw]
- OK...
- 01:40:13 [AaronSw]
- Fixed in 1003628484
- 16:36:28 [logster]
- logster has joined #swhack
- 16:36:28 [sagan.openprojects.net]
- topic is: <-- The universal logo: stick it on your TV, magazines and newspapers.
- 16:36:28 [sagan.openprojects.net]
- Users on #swhack: logster BenSw|away AaronSw
- 16:36:40 [AaronSw]
- Hello.
- 16:37:14 [AaronSw]
- Hmm, time to paste in what logster missed:
- 16:37:15 [AaronSw]
- <sbp> cool:-
- 16:37:15 [AaronSw]
- <sbp> _:a1 <#b> <data:,c> .
- 16:37:15 [AaronSw]
- <sbp> <data:,d> <data:,e> <data:,f> .
- 16:37:15 [AaronSw]
- <sbp> <#g> <data:,h> _:a2 .
- 16:37:16 [AaronSw]
- <sbp> <#j> <#k> <#l> .
- 16:37:17 [AaronSw]
- <sbp> _:a3 _:a4 _:a5 .
- 16:37:19 [AaronSw]
- <sbp> <#p> <#q> <data:,%5C%22r> .
- 16:37:21 [AaronSw]
- <sbp> <data:,%5C%22s> <#t> <data:,> .
- 16:37:46 [AaronSw]
- <sbp> http://infomesh.net/2001/10/ntriples/
- 16:37:46 [AaronSw]
- <sbp> not a bad bit of hacking, that
- 16:37:47 [AaronSw]
- <AaronSw> Not bad at all.
- 16:37:47 [AaronSw]
- <AaronSw> One comment, if I may: It might be better if instead of subclassing, your class had a link to a store. That way variables won't stomp on each other.
- 16:37:47 [AaronSw]
- <AaronSw> So instead of:
- 16:37:48 [AaronSw]
- <AaronSw> class NTriples(rdf.Store):
- 16:37:50 [AaronSw]
- <AaronSw> It'd be just NTriples:
- 16:37:52 [AaronSw]
- <AaronSw> and the __init__ would take a store=Store() option
- 16:37:54 [AaronSw]
- <sbp> ah, good idea
- 16:37:56 [AaronSw]
- <sbp> def __init__(self):
- 16:37:57 [sbp]
- sbp has joined #swhack
- 16:37:58 [AaronSw]
- <sbp> rdf.Store.__init__(self)
- 16:38:00 [AaronSw]
- <sbp> store = Store()
- 16:38:02 [AaronSw]
- <sbp> eh?
- 16:38:04 [AaronSw]
- <AaronSw> def __init__(self, store=rdf.Store())
- 16:38:06 [AaronSw]
- <AaronSw> self.store = store
- 16:38:08 [AaronSw]
- <AaronSw> would be all you need
- 16:38:10 [AaronSw]
- <sbp> but then I'd need to change stuff too...
- 16:38:12 [AaronSw]
- <AaronSw> Yes, you'd need to change all store variables to self.store variables.
- 16:38:14 [AaronSw]
- <sbp> s/self.triple/self.store.triple
- 16:38:16 [AaronSw]
- <AaronSw> I don't have a self.triple... you mean tripleList?
- 16:38:18 [AaronSw]
- <sbp> no, I mean self.triple, and yes, you do
- 16:38:20 [AaronSw]
- <AaronSw> Oh, right.
- 16:38:22 [AaronSw]
- <AaronSw> yes, yes, carry on ;)
- 16:38:24 [AaronSw]
- <sbp> :-)
- 16:38:26 [AaronSw]
- <sbp> updated
- 16:38:28 [AaronSw]
- <sbp> I worked on a kind of meta API... I was very tired, so it didn't come out right
- 16:38:30 [AaronSw]
- <sbp> but the basic premise is that there are NAry relationships
- 16:38:32 [AaronSw]
- <sbp> and Terms
- 16:38:34 [AaronSw]
- <sbp> you just set the arity, and the datatype, and away you go!
- 16:38:36 [AaronSw]
- <AaronSw> Ooh, cool... so it'd work for TM too
- 16:38:38 [AaronSw]
- <sbp> TM?
- 16:38:40 [AaronSw]
- <AaronSw> Topic Maps
- 16:38:42 [AaronSw]
- <sbp> Turing Machines?
- 16:38:44 [AaronSw]
- <sbp> ah
- 16:38:46 [AaronSw]
- <sbp> well, it'd work for all extensions of RDF ever, hopefully
- 16:38:48 [AaronSw]
- <AaronSw> I don't see that.
- 16:38:50 [AaronSw]
- <sbp> well, you have terms, and you have relationships. What else is there
- 16:38:52 [AaronSw]
- <sbp> ?
- 16:38:54 [AaronSw]
- <AaronSw> Hmm, well perhaps...
- 16:38:56 [AaronSw]
- <sbp> yep, perhaps
- 16:38:58 [AaronSw]
- * sbp is still quite shocked at how short your RDF API is
- 16:39:00 [AaronSw]
- <AaronSw> Heheh.
- 16:39:02 [AaronSw]
- <sbp> really: it's a bit surreal
- 16:39:04 [AaronSw]
- <sbp> once you format it a bit better, strip out all the crap...
- 16:39:06 [AaronSw]
- <AaronSw> Format: how so...
- 16:39:08 [AaronSw]
- <AaronSw> ?
- 16:39:10 [AaronSw]
- <sbp> it'll be shorter than the NTriples parser :-)
- 16:39:12 [AaronSw]
- <AaronSw> I need to stip out those commented bits.
- 16:39:14 [AaronSw]
- <sbp> well, I have a kind of style guide...
- 16:39:16 [AaronSw]
- <AaronSw> Well I don't hve the GNU gunk yet.
- 16:39:18 [AaronSw]
- <sbp> yeah
- 16:39:20 [AaronSw]
- <AaronSw> I was trying for Morbusy code shui but I'm not quite there
- 16:39:22 [AaronSw]
- <AaronSw> Where's your style guide? I'm going for Guido-style.
- 16:39:24 [AaronSw]
- <sbp> nah
- 16:39:26 [AaronSw]
- <AaronSw> nah to what?
- 16:39:29 [AaronSw]
- *** rillian (Snak@00-30-65-2e-ae-5f.bconnected.net) has joined the channel
- 16:39:30 [AaronSw]
- <sbp> I read Guido style this morning
- 16:39:32 [AaronSw]
- <AaronSw> Python Style Guide: http://python.sourceforge.net/peps/pep-0008.html
- 16:39:34 [AaronSw]
- <AaronSw> Hi rillian
- 16:39:36 [AaronSw]
- <AaronSw> still looking for that CD?
- 16:39:38 [AaronSw]
- <sbp> well, what's next? Query engine?
- 16:39:40 [AaronSw]
- <AaronSw> Yep, that... and n3 and rdf/xml parsers
- 16:39:42 [AaronSw]
- <sbp> ooh, great fun
- 16:39:44 [AaronSw]
- * rillian waves
- 16:39:46 [AaronSw]
- <AaronSw> Actually, first I need to do equivalence
- 16:39:48 [AaronSw]
- * sbp waves
- 16:39:50 [AaronSw]
- <sbp> equivalence?
- 16:39:52 [AaronSw]
- <rillian> AaronSw: debian boot stuff? trying again now
- 16:39:54 [AaronSw]
- <sbp> you need a better function for putting triples in the store too
- 16:39:56 [AaronSw]
- <rillian> think I found the parts I need
- 16:39:58 [AaronSw]
- <AaronSw> Cool, rillian
- 16:40:00 [AaronSw]
- <sbp> you'll end up with duplicates as it is, I reckon
- 16:40:03 [AaronSw]
- <AaronSw> equivalence: so you can do triple == triple
- 16:40:04 [AaronSw]
- <AaronSw> What's wrong with duplicates?
- 16:40:06 [AaronSw]
- <sbp> they're messy, and it doesn't mean anything to repeat a triple in RDF
- 16:40:08 [AaronSw]
- <AaronSw> It does here tho, because triples are nodes
- 16:40:10 [AaronSw]
- <sbp> ah, good point
- 16:40:12 [AaronSw]
- <sbp> I'm still shocked at how short your code is! I thought you'd have written MBs of data by now... and I still don't get bits of what you've done
- 16:40:15 [AaronSw]
- <AaronSw> feel free to ask questions
- 16:40:17 [AaronSw]
- <AaronSw> I need to tersify the code a bit and add more comments
- 16:40:19 [AaronSw]
- <AaronSw> deltab, you awake? How do I check to see if object is of type x or any of its subclasses?
- 16:40:21 [AaronSw]
- <sbp> you need to write a manual!
- 16:40:23 [AaronSw]
- <sbp> why does Node have a nodeList dictionary?
- 16:40:25 [AaronSw]
- <AaronSw> Hmm... so I can keep track of all extant nodes.
- 16:40:27 [AaronSw]
- <AaronSw> Not sure if it's really necessary.
- 16:40:29 [AaronSw]
- <AaronSw> Oh, wait, nodeList keeps track of the URI->node mapping
- 16:40:31 [AaronSw]
- <AaronSw> It's a way to 'intern' the nodes
- 16:40:33 [AaronSw]
- <sbp> intern?
- 16:40:35 [AaronSw]
- <AaronSw> Yeah, so that we don't have two nodes that represent the same uri
- 16:40:37 [AaronSw]
- <AaronSw> that's why there's lower-case node
- 16:40:39 [AaronSw]
- <AaronSw> it returns a node if there's already one with that uri
- 16:40:41 [AaronSw]
- <sbp> ah...
- 16:40:43 [AaronSw]
- * sbp counts 57 lines, in a stripped down version
- 16:40:45 [AaronSw]
- <AaronSw> Of my code? Wow.
- 16:40:47 [AaronSw]
- <AaronSw> Hmm... this is odd:
- 16:40:49 [AaronSw]
- <AaronSw> Traceback (most recent call last):
- 16:40:51 [AaronSw]
- <AaronSw> File "rdfapi-tests.py", line 29, in ?
- 16:40:53 [AaronSw]
- <AaronSw> print store
- 16:40:55 [AaronSw]
- <AaronSw> File "rdfapi.py", line 157, in __repr__
- 16:40:57 [AaronSw]
- <AaronSw> nodeIdMap[t.subject] = 'a' + `nodeIdNum`
- 16:40:59 [AaronSw]
- <AaronSw> TypeError: unhashable instance
- 16:41:01 [AaronSw]
- * sbp compresses Aaron's code even more
- 16:41:03 [AaronSw]
- <AaronSw> Oh dear!
- 16:41:05 [AaronSw]
- <sbp> 51 lines
- 16:41:07 [AaronSw]
- <AaronSw> Why does python claim my class is unhashable when I give it a __eq__ method?
- 16:41:09 [AaronSw]
- * AaronSw asks #python
- 16:41:11 [AaronSw]
- *** yoda_ (yoda@c930384-a.hlndpk1.il.home.com) has joined the channel
- 16:41:13 [AaronSw]
- *** yoda_ is now known as BenSw
- 16:41:15 [AaronSw]
- <sbp> ha, 49 lines!
- 16:41:17 [AaronSw]
- <sbp> no __repr__, though
- 16:41:19 [AaronSw]
- <sbp> Hi Ben
- 16:41:21 [AaronSw]
- <AaronSw> Heheh... what do you think I should do with it?
- 16:41:23 [AaronSw]
- <BenSw> Hello
- 16:41:25 [AaronSw]
- <sbp> do with what?
- 16:41:27 [AaronSw]
- <rillian> ok, off to try the linux re-install. wish me luck
- 16:41:29 [AaronSw]
- *** rillian has quit IRC (debian!)
- 16:41:31 [AaronSw]
- <sbp> ah, 48 lines
- 16:41:33 [AaronSw]
- <sbp> thank you, ";"
- 16:41:35 [AaronSw]
- <AaronSw> Why don't you move __repr__ into ntriples.py as a serialize command
- 16:41:37 [AaronSw]
- <sbp> I could do
- 16:41:39 [AaronSw]
- <sbp> but why should my code be messy when yours can?
- 16:41:41 [AaronSw]
- <sbp> :-)
- 16:41:43 [AaronSw]
- <sbp> O.K., I'll move it
- 16:41:45 [AaronSw]
- <AaronSw> So what do you have agains the Py style guide?
- 16:41:47 [AaronSw]
- <sbp> nothing, really
- 16:41:49 [AaronSw]
- <sbp> I just follow it
- 16:41:51 [AaronSw]
- <sbp> like not mixing tabs with spaces, eh Aaron? :-)
- 16:41:53 [AaronSw]
- <AaronSw> Hey! I don't mix them for _indentation_
- 16:41:55 [AaronSw]
- <sbp> fine
- 16:41:57 [AaronSw]
- <sbp> added to http://infomesh.net/2001/10/ntriples/
- 16:41:59 [AaronSw]
- <sbp> you can take out __repr__ now
- 16:42:01 [AaronSw]
- <AaronSw> OK, now you get to clean up that awful code ;)
- 16:42:03 [AaronSw]
- <sbp> aw, damn it
- 16:42:05 [AaronSw]
- * AaronSw goes thru and does a code clean up
- 16:42:09 [AaronSw]
- * AaronSw replaces header blurb with:
- 16:42:11 [AaronSw]
- <AaronSw> """An experimental RDF API which extends RDF 1.0 in a number of ways."""
- 16:42:13 [AaronSw]
- <sbp> I wonder if the vanilla version actually works?
- 16:42:15 [AaronSw]
- <sbp> yes!
- 16:42:17 [AaronSw]
- <sbp> wow
- 16:42:19 [AaronSw]
- <sbp> Size: 1.60 KB (1,639 bytes)
- 16:42:21 [AaronSw]
- <AaronSw> Heh. That's pretty cool.
- 16:42:23 [AaronSw]
- <sbp> mind if I send it to www-archive?
- 16:42:25 [AaronSw]
- <AaronSw> No problem...
- 16:42:27 [AaronSw]
- <AaronSw> Arg! I don't think I've archived many of these versions... I hope I got all the important ones.
- 16:42:29 [AaronSw]
- <AaronSw> I need CVS. <sigh/>
- 16:42:31 [AaronSw]
- <sbp> I have some versions
- 16:42:33 [AaronSw]
- * sbp sends
- 16:42:35 [AaronSw]
- <sbp> so, what are you going to call it?
- 16:42:37 [AaronSw]
- <AaronSw> What? The API? I dunno...
- 16:42:39 [AaronSw]
- <AaronSw> Oh, in the n-triples serialization you need to convert data: URIs back into literals
- 16:42:41 [AaronSw]
- <AaronSw> Is rdfapi a bad name you think?
- 16:42:43 [AaronSw]
- <sbp> http://lists.w3.org/Archives/Public/www-archive/2001Oct/0025
- 16:42:45 [AaronSw]
- <AaronSw> Thanks.
- 16:42:47 [AaronSw]
- <sbp> a bad name: yes
- 16:42:49 [AaronSw]
- <sbp> it's not really a name, it's a description!
- 16:42:51 [AaronSw]
- <sbp> it needs a really cool name
- 16:42:53 [AaronSw]
- <sbp> I like CWM, and Llyn
- 16:42:55 [AaronSw]
- <sbp> RDF API is like, "huh?"
- 16:42:57 [AaronSw]
- <sbp> low-marketability
- 16:42:59 [AaronSw]
- <AaronSw> Yeah, I agtree.
- 16:43:01 [AaronSw]
- <AaronSw> Arty-Plesh ;)
- 16:43:03 [AaronSw]
- <AaronSw> BTW, tav said that he really hated the name plesh.
- 16:43:05 [AaronSw]
- <sbp> "mesh" would be better
- 16:43:07 [AaronSw]
- <sbp> he he he
- 16:43:09 [AaronSw]
- <sbp> tav only said that 'cause it's going to take over the world!
- 16:43:11 [AaronSw]
- <AaronSw> Heheheh. So you like it then?
- 16:43:13 [AaronSw]
- <AaronSw> tav:
- 16:43:15 [AaronSw]
- <AaronSw> [[[
- 16:43:17 [AaronSw]
- <AaronSw> so, on that note, dataplesh is a good step forward. i also like the
- 16:43:19 [AaronSw]
- <AaronSw> "meaning" behind it. but, frankly, it's a shit name ;p
- 16:43:21 [AaronSw]
- <AaronSw> try saying "plesh" a few times. and as much as i have tried, the name
- 16:43:23 [AaronSw]
- <AaronSw> simply doesn't grow on you.
- 16:43:25 [AaronSw]
- <AaronSw> i really wouldn't want to stand up to a crowd and start talking to them
- 16:43:27 [AaronSw]
- <AaronSw> about the "plesh". and i talk to crowds about many strange things...
- 16:43:29 [AaronSw]
- <AaronSw> ]]]
- 16:43:31 [AaronSw]
- <sbp> yeah, I agree, sadly
- 16:43:33 [AaronSw]
- <AaronSw> Really? Hmm...
- 16:43:35 [AaronSw]
- <sbp> you need to go into naming-mode
- 16:43:37 [AaronSw]
- <AaronSw> Well, I better wait until tav comes back so he doesn't shoot it down again.
- 16:43:39 [AaronSw]
- <sbp> well, you can start thinking of stuff
- 16:43:41 [AaronSw]
- <sbp> you need to think of two things now
- 16:43:43 [AaronSw]
- <sbp> one for dataplesh, one for RDF API
- 16:43:45 [AaronSw]
- <AaronSw> Yep.
- 16:43:47 [AaronSw]
- <sbp> how about, infomesh, and SWIPT! Oh, hang on...
- 16:43:49 [AaronSw]
- <AaronSw> I dunno, I've been saying 'dataplesh' to everyone I know for the past week or so without any strange looks.
- 16:43:52 [AaronSw]
- <sbp> they've probably been humouring you
- 16:43:54 [AaronSw]
- <AaronSw> lol
- 16:43:56 [AaronSw]
- <sbp> "oh, Aaron's off on another one of his crazy schemes to take over the world"
- 16:43:58 [AaronSw]
- <AaronSw> That's actually a relatively new thing for me.
- 16:44:00 [AaronSw]
- <sbp> intermesh!
- 16:44:02 [AaronSw]
- <sbp> no...
- 16:44:04 [AaronSw]
- <AaronSw> Noah suggested I call it a dataplash.
- 16:44:06 [AaronSw]
- <sbp> yuck
- 16:44:08 [AaronSw]
- <sbp> that's worse than dataplesh
- 16:44:10 [AaronSw]
- <AaronSw> Then, he said, the stuff you dropped into it could be called splashes ;)
- 16:44:12 [AaronSw]
- <sbp> if this actually does become in the least bit successful, people are going to look through these logs and go "Hmm..."
- 16:44:15 [AaronSw]
- <AaronSw> In a what-were-they-smoking kind of way?
- 16:44:17 [AaronSw]
- <sbp> then again, if you don't think of a decent name, it's not going to be successful, so it won't matter
- 16:44:19 [AaronSw]
- <sbp> yeah, probably
- 16:44:21 [AaronSw]
- <sbp> for the record, then: nothing
- 16:44:23 [AaronSw]
- <AaronSw> Heh, well the World Wide Web was an awful name and it succeeded
- 16:44:25 [AaronSw]
- <sbp> Tim should have gone with infomesh
- 16:44:27 [AaronSw]
- * AaronSw just imagines Semantic Web historians pouring thru years of IRC logs... heh, heh
- 16:44:29 [AaronSw]
- <sbp> mwahahah!
- 16:44:31 [AaronSw]
- <sbp> wow, Semantic Web historians... that'll be a rare breed of people
- 16:44:33 [AaronSw]
- <AaronSw> Think so?
- 16:44:35 [AaronSw]
- <sbp> yeah. "Betamax historians"
- 16:44:37 [AaronSw]
- <AaronSw> such a pessimist...
- 16:44:39 [AaronSw]
- <sbp> Betamax apparently kicked ass!
- 16:44:41 [AaronSw]
- <AaronSw> It's still in use, you know.
- 16:44:43 [AaronSw]
- <AaronSw> All the television stations use it.
- 16:44:45 [AaronSw]
- <sbp> there's a 50/50 chance of the SW being as successful as we all hope, I reckon, same as there was with the WWW
- 16:44:48 [AaronSw]
- <sbp> which makes the chances of them both succeeding: 25/75
- 16:44:50 [AaronSw]
- <AaronSw> No, that's not true.
- 16:44:52 [AaronSw]
- <sbp> 1/2 * 1/2
- 16:44:54 [AaronSw]
- <AaronSw> Since one of them has already happened, it's back to 50/50
- 16:44:56 [AaronSw]
- <sbp> erm...
- 16:44:58 [AaronSw]
- <AaronSw> Probabilities are fun like that.
- 16:45:00 [AaronSw]
- <sbp> stupid probabilities
- 16:45:02 [AaronSw]
- <sbp> what's the probability that probabilities are probably useless?
- 16:45:04 [AaronSw]
- * AaronSw giggles
- 16:45:06 [AaronSw]
- <sbp> have you finished with the XRDF parser yet?
- 16:45:08 [AaronSw]
- <AaronSw> Oh, I'm still cleaning up the code.
- 16:45:10 [AaronSw]
- * AaronSw assumes XRDF => XML/RDF
- 16:45:12 [AaronSw]
- <sbp> Names for the RDF API: Raptor, Zephyr, Pogo, Cludgy, Vanilex, Wumple, Bob
- 16:45:14 [AaronSw]
- <AaronSw> Heheh.
- 16:45:16 [AaronSw]
- <AaronSw> When we were trying to name N-Triples Dan Connoly exlaimed in frustration, "Just call it Jojo or Fred or something."
- 16:45:19 [AaronSw]
- <sbp> lol
- 16:45:21 [AaronSw]
- <sbp> Who named it N-Triples?
- 16:45:23 [AaronSw]
- <AaronSw> I forget... it was a combination of two people... you'll have to check the logs
- 16:45:25 [AaronSw]
- * sbp won't: doesn't want to become an SW historian
- 16:45:27 [AaronSw]
- <AaronSw> Heheh.
- 16:45:29 [AaronSw]
- <sbp> Ah, how about "*The* RDF API"?
- 16:45:31 [AaronSw]
- <sbp> with "The" in big bold red animated flashing wavy glittery noisy letters?
- 16:45:33 [AaronSw]
- <sbp> *The* RDF API: Terse and Complex
- 16:45:35 [AaronSw]
- <AaronSw> Hehehe.
- 16:45:37 [AaronSw]
- <AaronSw> We might get sued by the W3C.
- 16:45:39 [AaronSw]
- <AaronSw> For disturbing the peace or something...
- 16:45:41 [AaronSw]
- <AaronSw> Using RDF in conjuction with the <blink> tag!
- 16:45:43 [AaronSw]
- <sbp> The RDF API in (Monty) Python
- 16:45:45 [AaronSw]
- <sbp> TRAMP
- 16:45:47 [AaronSw]
- <AaronSw> LOL
- 16:45:49 [AaronSw]
- * AaronSw adds that to the docstring
- 16:45:51 [AaronSw]
- <sbp> lol
- 16:45:53 [AaronSw]
- <AaronSw> """TRAMP: The RDF API in (Monty) Python
- 16:45:55 [AaronSw]
- <AaronSw> An experimental RDF API in which RDF 1.0 is modified and mangled
- 16:45:57 [AaronSw]
- <AaronSw> into an unrecognizable bit of higly terse and powerful code."""
- 16:45:59 [AaronSw]
- <sbp> perfect!
- 16:46:01 [AaronSw]
- <sbp> still, perhaps it could be... nameless? An unnamed parser
- 16:46:03 [AaronSw]
- <AaronSw> Whoo! After tersification it is exactly 101 lines -- I better stop!
- 16:46:05 [AaronSw]
- * sbp finds a version from 2001-10-07
- 16:46:07 [AaronSw]
- <sbp> 101: neat
- 16:46:09 [AaronSw]
- <sbp> upload?
- 16:46:11 [AaronSw]
- * AaronSw runs unit tests...
- 16:46:13 [AaronSw]
- <sbp> "but we feel "?
- 16:46:15 [AaronSw]
- <AaronSw> Where's that from?
- 16:46:16 [sbp]
- sbp has quit
- 16:46:17 [AaronSw]
- <sbp> rdfapi.txt - 1003631225
- 16:46:19 [AaronSw]
- <AaronSw> I'm still fixing bugs!
- 16:46:21 [AaronSw]
- <sbp> it puts http://infomesh.net/2001/10/08/swipt/rdfstore.txt to shame
- 16:46:23 [AaronSw]
- <sbp> I meant: why "we"?
- 16:46:25 [AaronSw]
- <AaronSw> Where'd I use we?
- 16:46:27 [AaronSw]
- <sbp> "but we feel"!
- 16:46:29 [AaronSw]
- <sbp> Note that this API extends RDF 1.0 in a number of ways. Obviously,
- 16:46:31 [AaronSw]
- <sbp> it can be used as merely an RDF 1.0 API, but we feel that the
- 16:46:33 [AaronSw]
- <sbp> extentions added here are important and useful, but they will
- 16:46:35 [AaronSw]
- <sbp> likely not be compatible with other RDF 1.0 APIs.
- 16:46:37 [AaronSw]
- <sbp> and ugh @ "but", "but"
- 16:46:39 [AaronSw]
- <sbp> I use "we" sometimes when writing up a project. Dunno why
- 16:46:41 [AaronSw]
- <AaronSw> Yeah, I took that all out.
- 16:46:43 [AaronSw]
- <AaronSw> And replaced it with the TRAMP bit.
- 16:46:45 [AaronSw]
- <sbp> heh, heh, really?
- 16:46:47 [AaronSw]
- <AaronSw> Yep.
- 16:46:49 [AaronSw]
- <sbp> gutterslut is a better word, but it's too long to get an acronym out of
- 16:46:51 [AaronSw]
- <AaronSw> LOL
- 16:46:53 [AaronSw]
- <sbp> from "The Faculty"
- 16:46:55 [AaronSw]
- <sbp> that's definitely a highly rated phenomic word
- 16:46:57 [AaronSw]
- <AaronSw> Heh
- 16:46:59 [AaronSw]
- <sbp> aw, upload, upload!
- 16:47:01 [AaronSw]
- <AaronSw> I've still got this weird bug...
- 16:47:03 [AaronSw]
- <sbp> put it in a jar, feed it lettuce...
- 16:47:05 [AaronSw]
- <AaronSw> Ah, think I've got it.
- 16:47:07 [AaronSw]
- <AaronSw> How do I test if a Python object is a member of a class or any of its subclasses?
- 16:47:09 [AaronSw]
- <AaronSw> deltab responds isinstance()
- 16:47:11 [AaronSw]
- <AaronSw> Ooh, so close...
- 16:47:13 [AaronSw]
- <AaronSw> Wooh! it works
- 16:47:15 [AaronSw]
- <AaronSw> OK, 1003634831 is up
- 16:47:17 [AaronSw]
- <AaronSw> it's up sbp
- 16:47:19 [AaronSw]
- <sbp> great, just got it
- 16:47:21 [AaronSw]
- <sbp> <data:,u'd'> <data:,u'e'> <data:,u'f'> .
- 16:47:23 [AaronSw]
- <AaronSw> oops...
- 16:47:25 [AaronSw]
- <AaronSw> ok, fixed -- 1003635039
- 16:47:27 [AaronSw]
- <sbp> upload?
- 16:47:29 [AaronSw]
- <AaronSw> yep -- 1003635218
- 16:47:31 [AaronSw]
- * AaronSw adds test case for it.
- 16:47:33 [AaronSw]
- <sbp> ah, that's better
- 16:47:35 [AaronSw]
- <sbp> higly?
- 16:47:37 [AaronSw]
- <AaronSw> pah
- 16:47:39 [AaronSw]
- <AaronSw> fixed in next rev
- 16:47:41 [AaronSw]
- <sbp> :-)
- 16:47:43 [AaronSw]
- <sbp> http://www.eros-os.org/pipermail/e-lang/2001-October/005793.html
- 16:47:45 [AaronSw]
- <sbp> [[[
- 16:47:47 [AaronSw]
- <sbp> C: 2673
- 16:47:49 [AaronSw]
- <sbp> Perl: 1361
- 16:47:51 [AaronSw]
- <sbp> C++: 1020
- 16:47:53 [AaronSw]
- <sbp> PHP: 740
- 16:47:55 [AaronSw]
- <sbp> Java: 726
- 16:47:57 [AaronSw]
- <sbp> Python: 403
- 16:47:59 [AaronSw]
- <sbp> Unix Shell: 246
- 16:48:01 [AaronSw]
- <sbp> Tcl: 190
- 16:48:03 [AaronSw]
- <sbp> SQL: 124
- 16:48:05 [AaronSw]
- <sbp> ]]]
- 16:48:07 [AaronSw]
- <AaronSw> Yeah, saw that from Zooko.com, you?
- 16:48:09 [AaronSw]
- <AaronSw> It gets worse for Python later on... :(
- 16:48:11 [AaronSw]
- <sbp> yeah...
- 16:48:13 [AaronSw]
- <AaronSw> Wow, Mean Mr. Mustard's sister used to be named Shelly! Heh!
- 16:48:15 [AaronSw]
- * AaronSw is listening to Anthology 3
- 16:48:17 [AaronSw]
- <AaronSw> which we just got
- 16:48:19 [AaronSw]
- <sbp> I have two pendingL http://uri.net/urn-nid-status.html
- 16:48:21 [AaronSw]
- <AaronSw> The songs on there are incredibly different.
- 16:48:23 [AaronSw]
- <sbp> I have Anthology 2... want anothology 3
- 16:48:25 [AaronSw]
- <AaronSw> Yeah, we have 1 and 2, I think.
- 16:48:27 [AaronSw]
- <sbp> what do you think about http://lists.netsol.com/cgi-bin/wa?A2=ind0109&L=urn-ietf&D=1&T=0&O=D&F=&S=&P=247
- 16:48:29 [AaronSw]
- <sbp> heh: and whatever happened to "tag:"?
- 16:48:31 [AaronSw]
- <AaronSw> Yeah, really....
- 16:48:33 [AaronSw]
- <AaronSw> I think it's pretty useless, really... what'd you use it for?
- 16:48:35 [AaronSw]
- <AaronSw> It'd need to know quantification, which makes it effectively the same as _:foo except less clear
- 16:48:37 [AaronSw]
- <sbp> I used it for anonymous predicates in XRDF
- 16:48:39 [AaronSw]
- <sbp> well, I used anon:
- 16:48:41 [AaronSw]
- <sbp> aha: http://www.ietf.org/internet-drafts/draft-kindberg-tag-uri-01.txt
- 16:48:43 [AaronSw]
- <AaronSw> What's XRDF?
- 16:48:45 [AaronSw]
- <sbp> XML RDF
- 16:48:47 [AaronSw]
- <AaronSw> Ah... that might be somewhat useful...
- 16:48:49 [AaronSw]
- <AaronSw> Jeremy is using _:foo for his stuff since it's clearly disjoint with URIs.
- 16:48:51 [AaronSw]
- <sbp> you know my take on resources and URIs...
- 16:48:53 [AaronSw]
- <AaronSw> Umm... no?
- 16:48:55 [AaronSw]
- <AaronSw> I thought it changed with the weather. ;)
- 16:48:57 [AaronSw]
- <sbp> if you exist, you're a resource. if you're a resource, you can have a URI
- 16:48:59 [AaronSw]
- <AaronSw> Oh, yes. Of course.
- 16:49:01 [AaronSw]
- <AaronSw> It can have a URI, certainly... we're just too lazy to give it one.
- 16:49:03 [AaronSw]
- <AaronSw> That's how my RDF API works.
- 16:49:05 [AaronSw]
- <AaronSw> If you want to give an anon node a .uri property, go ahead!
- 16:49:07 [AaronSw]
- <sbp> since they're scoped to the store anyway, I don't particularly care
- 16:49:09 [AaronSw]
- * sbp wrote a really short NTriples parser somewhere... where'd it go?
- 16:49:11 [AaronSw]
- * AaronSw wonders whether to hook up the yapps parser or clean up sbp's ntriples code
- 16:49:13 [AaronSw]
- <AaronSw> yapps parser
- 16:49:15 [AaronSw]
- <sbp> aha:-
- 16:49:17 [AaronSw]
- <sbp> import sys, re; d, argv = [], sys.argv
- 16:49:19 [AaronSw]
- <sbp> t = r'[ \t]*(<[^>]+>|_:[^\s]+|\"(?:\\\"|[^"])*\")'
- 16:49:21 [AaronSw]
- <sbp> r = re.compile(t+t+t+r'[ \t]*.[ \t]*', re.S).findall
- 16:49:23 [AaronSw]
- <sbp> def y(t):
- 16:49:25 [AaronSw]
- <sbp> for x in range(len(t)):
- 16:49:27 [AaronSw]
- <sbp> if t[x][0] == '<': t[x] = (t[x][1:-1], 'URI')
- 16:49:29 [AaronSw]
- <sbp> elif t[x][0] == '_': t[x] = (t[x][2:], 'ANON')
- 16:49:31 [AaronSw]
- <sbp> elif t[x][0] == '"': t[x] = (t[x][1:-1], 'LIT')
- 16:49:33 [AaronSw]
- <sbp> return t
- 16:49:35 [AaronSw]
- <sbp> if __name__ == "__main__":
- 16:49:37 [AaronSw]
- <sbp> f = open(argv[1], 'r'); s = f.read(); f.close()
- 16:49:39 [AaronSw]
- <sbp> for t in r(s): d.append(y([t[0], t[1], t[2]]))
- 16:49:41 [AaronSw]
- <sbp> print str(d)
- 16:49:43 [AaronSw]
- <sbp> aw, do mine!
- 16:49:45 [AaronSw]
- <AaronSw> Heheh. This should be quick.
- 16:49:47 [AaronSw]
- <sbp> what should?
- 16:49:49 [AaronSw]
- <AaronSw> this yapps thing
- 16:49:51 [AaronSw]
- <sbp> ah
- 16:49:53 [AaronSw]
- <sbp> URI?
- 16:49:55 [AaronSw]
- <AaronSw> For what?
- 16:49:57 [AaronSw]
- <sbp> the yapps thing
- 16:49:59 [AaronSw]
- <AaronSw> It's in SWAP -- it's rdfn3_yapps.py
- 16:50:01 [AaronSw]
- <AaronSw> it's DanC's new n3 parser
- 16:50:03 [AaronSw]
- <sbp> yeah, I know about that! he did it ages ago. I mean, your hooking up of yapps with TRAMP
- 16:50:05 [AaronSw]
- <AaronSw> Well I'm still writing that!
- 16:50:07 [AaronSw]
- <sbp> develop it online!
- 16:50:09 [AaronSw]
- <AaronSw> Ehm... ok
- 16:50:11 [AaronSw]
- <AaronSw> Hmm... what eats sinks?
- 16:50:13 [AaronSw]
- <sbp> carrots
- 16:50:15 [AaronSw]
- <AaronSw> lol, what?!
- 16:50:17 [AaronSw]
- <sbp> carrots, they eat sinks. when you're not looking: they creep into the kitchen
- 16:50:19 [AaronSw]
- <sbp> and you wake up in the morning: "oh, some bugger's stolen my sink!". But really it was the carrots
- 16:50:21 [AaronSw]
- <sbp> they're like that, y'know
- 16:50:23 [AaronSw]
- <AaronSw> I didn't know that.
- 16:50:25 [AaronSw]
- <sbp> well now you do. Use it wisely, my friend
- 16:50:27 [AaronSw]
- <AaronSw> OK.
- 16:50:29 [AaronSw]
- <AaronSw> OK, it's at kitchen.txt
- 16:50:31 [AaronSw]
- <AaronSw> I should've named it carrots but it's too late now.
- 16:50:33 [AaronSw]
- <sbp> cool
- 16:50:35 [AaronSw]
- <AaronSw> Hmm... RESOURCE=RDFSink.SYMBOL # @@misnomer
- 16:50:37 [AaronSw]
- <AaronSw> from notation3.py
- 16:50:39 [AaronSw]
- <sbp> Hmm...
- 16:50:41 [AaronSw]
- *** sbp is sean@pC1s13a07.client.global.net.uk (Sean B. Palmer)
- 16:50:43 [AaronSw]
- *** on channels: #validator #swhack @#humanml @#sbp #dotgnu #rdfig
- 16:50:45 [AaronSw]
- *** on irc via server carter.openprojects.net ([127.0.0.1] Northern California, US)
- 16:50:46 [deltab]
- deltab has joined #swhack
- 16:50:47 [AaronSw]
- * sbp sends more junk to www-archive
- 16:50:49 [AaronSw]
- <AaronSw> heheh
- 16:50:51 [AaronSw]
- <sbp> http://lists.w3.org/Archives/Public/www-archive/2001Oct/0026
- 16:50:53 [AaronSw]
- <AaronSw> Ah, cool.
- 16:50:55 [AaronSw]
- <AaronSw> Thanks.
- 16:50:57 [AaronSw]
- <sbp> np
- 16:50:59 [AaronSw]
- <sbp> Gotta run
- 16:51:01 [AaronSw]
- <AaronSw> Heheh @ Useful Advice For RDF API Designers, Part 1
- 16:51:03 [AaronSw]
- <AaronSw> c'ya
- 16:51:05 [AaronSw]
- <sbp> ah, yeah, I thought you'd like that
- 16:51:07 [AaronSw]
- <sbp> I was going to send it to www-archive, but nah...
- 16:51:09 [AaronSw]
- <AaronSw> Ah twell...
- 16:51:11 [AaronSw]
- <AaronSw> We'll have to hide that as an easter eg
- 16:51:13 [AaronSw]
- <AaronSw> err egg
- 16:51:15 [AaronSw]
- <AaronSw> ;)
- 16:51:17 [AaronSw]
- <sbp> :-)
- 16:51:19 [AaronSw]
- <sbp> c'ya
- 16:51:21 [AaronSw]
- <AaronSw> c'ya
- 16:51:23 [AaronSw]
- * AaronSw wonders what tav will think when we use TRAMP as our foundation!
- 16:51:25 [AaronSw]
- <AaronSw> "What kind of a name is that?!"
- 16:51:27 [AaronSw]
- <AaronSw> A funny one. :)
- 16:51:29 [AaronSw]
- *** sbp has quit IRC (Ping timeout for sbp[pC1s13a07.client.global.net.uk])
- 16:51:31 [AaronSw]
- * AaronSw watches Paul McCartney on VH1... he really can't sing anymore.
- 16:51:33 [AaronSw]
- *** rillian (Snak@00-30-65-2e-ae-5f.bconnected.net) has joined the channel
- 16:51:35 [AaronSw]
- *** rillian has quit IRC (night all)
- 16:51:37 [AaronSw]
- *** Does this mean you're really back?
- 16:51:39 [AaronSw]
- *** BenSw is now known as BenSw|working
- 16:51:41 [AaronSw]
- * AaronSw goes to install memory in his servers
- 17:16:31 [AaronSw]
- * AaronSw disconnects
- 18:04:40 [sbp]
- sbp has joined #swhack
- 18:11:34 [sbp]
- sbp has quit
- 18:50:56 [AaronSw]
- * AaronSw reconnects
- 19:00:58 [AaronSw]
- Brian McBride: "****ing BT: I'm offline can't quote the exact words"
- 19:08:04 [sbp]
- sbp has joined #swhack
- 19:08:24 [sbp]
- * sbp has some really cool song snippets; need to sequence them together
- 19:15:08 [AaronSw]
- Oh, hello there...
- 19:15:14 [AaronSw]
- Let me upload my parser kit for you.
- 19:15:14 [sbp]
- Hi
- 19:16:19 [sbp]
- Hmm... some of the bits have a different rhythm to the others
- 19:16:20 [AaronSw]
- Let me know what you think of it.
- 19:16:53 [AaronSw]
- - http://blogspace.com/rdf/kitchen.txt
- 19:17:14 [AaronSw]
- Parses N3 and XRDF via the SWAP toolkit.
- 19:18:29 [sbp]
- heh, heh: """Turns an RDFSink carrot into a TRAMP node."""
- 19:19:10 [sbp]
- very concise, but of course, SWIPT did something similar, only less advanced
- 19:19:19 [AaronSw]
- how so?
- 19:19:20 [AaronSw]
- OK, gotta go back to taking apart the sukkah
- 19:19:25 [AaronSw]
- bbiab
- 19:19:32 [sbp]
- sukkah? bbiab?
- 19:19:39 [sbp]
- be back in a bit...
- 19:19:49 [sbp]
- Perhaps Google can help with sukkah
- 19:20:54 [sbp]
- Hmm... http://www.sukkot.com/
- 19:23:13 [sbp]
- ah: http://www.ou.org/about/judaism/sukkah.htm
- 19:24:49 [sbp]
- you really have to temporarily live in it?
- 19:24:58 [sbp]
- Man, there's so much I don't know about Judaism
- 19:26:54 [sbp]
- following from Al's rant on ER: we could come up with some subset of RDDL, that we could do XRDF/EARL =XSLT=> RDDL/EARL
- 19:27:37 [sbp]
- then the link could be human and machine readable. Dunno. The ER thread confuses me in a sense, because there is so much work being repeated, and some things not being said clearly, and other things being said too clearly
- 19:29:47 [sbp]
- I mean, there have been about 5 emails of discussion about putting <meta/> into the body of an HTML page. What's that all about? IF you're going to do it, just do it: write a module, create a namespace. Don't expect people to be happy about serving it as text/html (William F. Hammond!), don't expect people to implement it on a wide scale until they are 110% satisfied that it will benefit them (financially?), don't expect tools to process it unless
- 19:31:09 [sbp]
- Of course, HTML is odd that way. Architecturally, it's absolutely terrible, it could be retrofitted onto SGML, and the only reason to retrofit it onto XML is to process it with XSLT. And it is retrofitting: HTML moves (moved) faster than those technologies
- 19:32:32 [sbp]
- People write what they want done with it, rather than what they mean; it's an inescapable fact. You either hack about with the world's quakiest document architecture, or you wait and contribute to the new one, which probably won't be any better (aren't I the cynic?)
- 19:32:36 [deltab]
- "don't expect tools to process it unless" - what?
- 19:33:10 [sbp]
- oops, it must have been chopped off, here's a paste: "don't expect tools to process it unless you write them yourself. But it can be done. HTML was built that way"
- 19:33:15 [sbp]
- Hi deltab :-)
- 19:34:46 [AaronSw]
- * AaronSw returns
- 19:35:04 [AaronSw]
- temporarily live: no just eat meals in it and optionally sleep
- 19:35:26 [sbp]
- HTML will always be hacked. It doesn't matter how good it is really, because it's never going to be perfect for all uses. You have to make sure that it's extensible, and that extensions don't bugger things up too badly
- 19:35:29 [sbp]
- aha
- 19:36:34 [sbp]
- how this relates to EARL: there's no way we're going to mandate a link from HTML to "EARL" in any official capacity, because there's no way to make that link official. We can only ever hack it
- 19:36:58 [AaronSw]
- Nah, use the <link> tag
- 19:37:04 [sbp]
- which isn't a bad thing necessarily, but it requires consensus, and that's a difficult thing to get, especially when you have people with different agenda's around
- 19:37:05 [AaronSw]
- that's what us RSS folks are doing
- 19:37:10 [sbp]
- <link> is a perfect example of a terrible hack
- 19:37:12 [AaronSw]
- especially now that Mozilla supports it.
- 19:37:19 [AaronSw]
- Have you played with kitchen at all? Does it work for you?
- 19:37:34 [sbp]
- you RSS folks also forgot that classes and properties are disjoint, so that doesn't particularly sway me
- 19:37:50 [sbp]
- Kitchen: no, I'll certainly take your word for it
- 19:37:59 [AaronSw]
- Heheh.
- 19:38:02 [AaronSw]
- to both
- 19:38:04 [sbp]
- :-)
- 19:38:46 [AaronSw]
- We have good names on the project! Edd was the one who proposed the class/property thing and danbri helped push it thru, as I recall.
- 19:39:19 [sbp]
- <link>: why develop an inextensible linking mechanism that uses tokens, and requires consensus, then hack in a profile attribute, not define how it should be used, and then mess things up totally by declaring that some joint properties have different meanings. Aaaargh!
- 19:39:30 [sbp]
- pushed it through: yuck
- 19:40:18 [sbp]
- so <link> isn't architecturally sound... but what's it used for? rel="stylesheet". Ta da, it works. That's all that matters for HTML
- 19:42:34 [AaronSw]
- Correction, according to <http://groups.yahoo.com/group/rss-dev/surveys?id=357230>, danbri did not vote for the proposal.
- 19:43:21 [sbp]
- so we can say, "sure, use <metadata>some set of elements defining a link to an EARL report</metadata>"... but we can't expect anyone to take us seriously; even if we create the proper XHTML m12n family for it, or whatever
- 19:44:09 [AaronSw]
- Why not? You're the onl one who won't take it seriously.
- 19:44:31 [AaronSw]
- Nobody else cares about architectural soundness -- they just want it to work.
- 19:45:32 [sbp]
- what I mean is, it won't even work. Where are the tools? My whole point *is* that no one cares about architectural soundness, and that HTML has thrived because of that
- 19:45:44 [sbp]
- well, not my whole point; much of it
- 19:46:31 [AaronSw]
- Mozilla is a tool, it works. Same with iCab.
- 19:46:42 [sbp]
- yeah?
- 19:48:01 [AaronSw]
- yeah yeah?
- 19:48:14 [sbp]
- I mean, so what?
- 19:48:20 [AaronSw]
- * AaronSw really needs to go plan his trip....
- 19:48:27 [AaronSw]
- So just do it and stop whining.
- 19:48:55 [sbp]
- trip?
- 19:49:16 [AaronSw]
- Yeah, I'm putting together a budget proposal for going to http://conferences.oreilly.com/p2p/
- 19:49:21 [sbp]
- neat
- 19:49:30 [sbp]
- budget proposal: to whom?
- 19:49:40 [AaronSw]
- Parents.
- 19:50:01 [AaronSw]
- * AaronSw tries to think of funding agencies that'd help pay for trip to W3C Plenary...
- 19:50:46 [sbp]
- the W3C? :-)
- 19:51:08 [AaronSw]
- Yeah...
- 19:57:56 [sbp]
- c'ya
- 19:59:05 [AaronSw]
- c'ya
- 20:01:14 [sbp]
- sbp has quit
- 20:59:29 [rillian]
- rillian has joined #swhack
- 21:00:02 [AaronSw]
- hi rillian
- 21:00:31 [rillian]
- hey aaron
- 21:00:37 [rillian]
- you don't have a tibook do you?
- 21:00:42 [AaronSw]
- Indeed, I do.
- 21:00:52 [rillian]
- ah. congrats :)
- 21:00:57 [AaronSw]
- :-)
- 21:01:10 [rillian]
- do you have an XF86Config I could crib from?
- 21:01:26 [AaronSw]
- I just used whatever came with my fink install.
- 21:01:45 [sbp]
- sbp has joined #swhack
- 21:01:47 [rillian]
- you don't run linux then?
- 21:02:03 [AaronSw]
- Oh, no, I just run an X Server from Mac OS X.
- 21:02:03 [sbp]
- nope
- 21:02:11 [AaronSw]
- Hi sbp.
- 21:02:19 [sbp]
- Hi :-)
- 21:02:43 [rillian]
- does the rootless thing work ok?
- 21:03:02 [AaronSw]
- Well, it worked great the first time I tried it and now I can't get it to start up again. :-(
- 21:03:06 [sbp]
- heh, heh: inconsistent chopping/diareses in my paste to ERT of the #swhack chat logs means that there is a bit which just reads "<sbp> pushed it through: yuck" with no background
- 21:03:36 [AaronSw]
- Heheheh.
- 21:03:55 [AaronSw]
- Oh, there's a rootless upgrade out... let me install...
- 21:04:29 [rillian]
- AaronSw: drat. Anyway, I can't get X (under linux) to work. it launches all the way to the X cursor, then quits without an error message
- 21:04:43 [AaronSw]
- Weird.
- 21:04:50 [rillian]
- indeed
- 21:05:15 [rillian]
- I would guess since I get recognizable video that it's not the config file
- 21:05:24 [rillian]
- but I can't seem to find anything else that's out of order
- 21:06:11 [AaronSw]
- What's the error message?
- 21:06:31 [rillian]
- <rillian> ...quits without an error message
- 21:06:46 [AaronSw]
- Oh, sorry -- I read that as "with an error message"
- 21:10:29 [AaronSw]
- Heheh:
- 21:10:29 [AaronSw]
- munged-Beatles: "Good evening and welcome to swhackers."
- 21:10:33 [AaronSw]
- You know my URN, you know my URN...
- 21:10:37 [AaronSw]
- Look up my URL...
- 21:12:35 [sbp]
- lol @ munged-Beatles: "Good evening and welcome to swhackers."
- 21:12:47 [sbp]
- sbp has changed the topic to: Good evening and welcome to swhackers
- 21:13:05 [sbp]
- heh, URN...
- 21:14:41 [sbp]
- poor EARL... wonder what to do about it
- 21:16:01 [AaronSw]
- * AaronSw looks around for $1526 to pay for conference expenses :-(
- 21:16:11 [sbp]
- we really need implementations => we really need a stable specification => we really need me to write a stable specification very, very quickly => we need the work on TPDL to be done => damn
- 21:16:35 [AaronSw]
- Heh.
- 21:16:46 [sbp]
- we also need me to document the schema properly this time; it's clear that no one can follow the RDF Schema, although it's absolutely perfect for defining the language
- 21:16:59 [AaronSw]
- Hmmph.
- 21:17:09 [sbp]
- the problem is, I expected people to learn RDF Schema... heh, heh!
- 21:17:35 [AaronSw]
- Just write an RDF Schema -> Human Readable translater
- 21:17:41 [sbp]
- lol!
- 21:18:33 [sbp]
- trouble is, I start documenting it, and get bored quite quickly. It feels to me like I'm needlessly repeating work...
- 21:19:22 [sbp]
- I could just produce an EARL 1.0 schema, and say: here it is, use it, resistance is futile
- 21:19:22 [AaronSw]
- See, that translator could then be used by other projects too.
- 21:19:31 [AaronSw]
- Yep, that might be best.
- 21:19:38 [AaronSw]
- Along with a lot of examples.
- 21:19:51 [AaronSw]
- Aha! I know the solution:
- 21:19:55 [sbp]
- creating an RDF Schema => XHTML translator would be more complex than doing the entire EARL work 3 times over
- 21:20:04 [sbp]
- I did write a short implementation in XSLT
- 21:20:10 [AaronSw]
- But so much more rewarding. ;)
- 21:20:15 [AaronSw]
- Here's the ticket; Just make Bob B. Bobbington do the work for you!
- 21:20:19 [sbp]
- lol!
- 21:20:25 [sbp]
- good idea
- 21:20:58 [AaronSw]
- If people ask why it isn't done, just say "Talk to Bob about it. Shoo, shoo!"
- 21:21:12 [sbp]
- lol, and cool reference to the Dilbert quote
- 21:21:25 [sbp]
- Hmm... I wouldn't feel so bad writing an EARL schema if it didn't fuck with the ATR output too much
- 21:21:43 [AaronSw]
- ATR?
- 21:22:01 [sbp]
- Chris has worked for ages on making that produce decent EARL, and has been *very* patient with me. I would have given up ages ago
- 21:22:10 [sbp]
- ATR - Accessibility Tool Reviewer
- 21:22:28 [AaronSw]
- What's it written in?
- 21:22:33 [sbp]
- I owe him, and yet if we change EARL, it'll be more work for him to do! Aaaargh!
- 21:22:36 [sbp]
- it's in C
- 21:22:58 [AaronSw]
- Chris Lilley?
- 21:23:05 [sbp]
- I started on a Python port, but CGI... shudder
- 21:23:10 [sbp]
- Chris Ridpath
- 21:23:21 [AaronSw]
- Don't know 'im.
- 21:23:32 [AaronSw]
- * AaronSw can't imagine folks doing CGIs in C... ick.
- 21:23:45 [sbp]
- he didn't do a CGI: it's a Win32 app
- 21:23:51 [sbp]
- I tried to port it to CGI...
- 21:23:54 [AaronSw]
- Ah.
- 21:26:58 [sbp]
- your unique date idea was a good one, but its screwy in that data datatypes... tricky to implement
- 21:27:13 [AaronSw]
- Huh?
- 21:27:20 [sbp]
- I mean, I can't even get the ASP form to output correct dates (I could do, I suppose)
- 21:27:41 [sbp]
- _:a earl:testSubject <http://exmaple.org/>; earl:date "2001-05-17" .
- 21:29:47 [AaronSw]
- Hmm, the airport for the next plenary is CEQ.
- 21:30:00 [sbp]
- CEQ?
- 21:30:42 [AaronSw]
- Cannes, France - Mandelieu
- 21:31:04 [sbp]
- uh huh
- 21:32:54 [AaronSw]
- Hmm, none of the travel sites seem to have flight data...
- 21:35:45 [AaronSw]
- * AaronSw tries the Heliport.
- 21:35:59 [AaronSw]
- JCA
- 21:36:10 [sbp]
- how do I say that two properties overlap?
- 21:36:19 [sbp]
- er... I meant, two classes
- 21:36:35 [sbp]
- I could declare an intersection, but I don't want to use it
- 21:36:44 [AaronSw]
- What do you mean? How can properties overlap?
- 21:36:51 [sbp]
- I meant: classes
- 21:36:53 [AaronSw]
- Oh, I see... classes.
- 21:37:00 [AaronSw]
- Isn't it assumed that they overlap?
- 21:37:13 [AaronSw]
- Unless you say otherwise.
- 21:37:20 [AaronSw]
- Why do you want to say this?
- 21:37:22 [sbp]
- :Dog :Cat
- 21:37:29 [sbp]
- they don't overlap
- 21:37:42 [AaronSw]
- "CatDog, CatDog, this is a show about a little CatDog."
- 21:37:45 [sbp]
- :Person :Male
- 21:37:46 [sbp]
- they do
- 21:38:06 [sbp]
- I'll just do an intersection
- 21:38:06 [AaronSw]
- Why do you need to specifically state that they do?
- 21:38:16 [sbp]
- in EARL 1.0:-
- 21:38:17 [sbp]
- earl:Person a rdfs:Class;
- 21:38:17 [sbp]
- rdfs:subClassOf earl:Assertor .
- 21:38:17 [sbp]
- earl:operator
- 21:38:17 [sbp]
- rdfs:range earl:Operator .
- 21:38:17 [sbp]
- [ daml:intersectionOf (earl:Operator earl:Person) ] .
- 21:38:21 [AaronSw]
- intersections can be empy.
- 21:38:41 [sbp]
- true
- 21:39:22 [sbp]
- Hmm... that's a mess. Lemme do it in prose
- 21:39:36 [sbp]
- An Assertor is the class of things that make EARL assertions
- 21:39:50 [sbp]
- A Person is a person: an assertor may be a parson
- 21:39:52 [sbp]
- person
- 21:40:11 [sbp]
- A machine is a machine: an assertor may also be a machine
- 21:40:19 [rillian]
- rillian has quit
- 21:40:24 [sbp]
- A person cannot be a machine
- 21:40:33 [sbp]
- A machine can have an operator
- 21:40:50 [sbp]
- Operator is the class of things that operate a machine
- 21:41:04 [sbp]
- can a machine operate a machine?
- 21:41:27 [AaronSw]
- I suppose so, but I'm not sure it'd be a useful distinction for your app.
- 21:42:13 [sbp]
- so far, we have: :Assertor daml:disjointUnionOf (:Person :Machine) . :operator rdfs:domain :Machine; rdfs:range :Operator .
- 21:42:32 [AaronSw]
- This is crazy -- it's cheaper to fly to France than Hawaii.
- 21:42:39 [sbp]
- makes sense
- 21:42:45 [AaronSw]
- Why?
- 21:42:49 [sbp]
- more flights, more airports
- 21:42:58 [sbp]
- not much further away
- 21:43:12 [AaronSw]
- No, just to Nice, France.
- 21:43:18 [AaronSw]
- One airport.
- 21:43:44 [sbp]
- but I mean, there isn't a limit that people must go to Nice airport ot get to France
- 21:43:54 [AaronSw]
- True.
- 21:43:54 [sbp]
- but if they want to go to Hawaii, I'll bet they have to go to Honolulu
- 21:46:22 [sbp]
- Hmm... I say that all people and machines are assertors... that can't be right
- 21:46:47 [sbp]
- I mean, some people are assertors, some machines are assertors
- 21:47:04 [sbp]
- and is "Assertor" American English?
- 21:48:09 [AaronSw]
- I've never heard the word before, but i'd expect so...
- 21:48:09 [sbp]
- dunno, but it is a word: http://www.dict.org/bin/Dict?Form=Dict2&Database=*&Query=Assertor
- 21:48:18 [sbp]
- [[[
- 21:48:19 [sbp]
- Assertor \As*sert"or\, n. [L., fr. asserere.]
- 21:48:19 [sbp]
- One who asserts or avers; one who maintains or vindicates a
- 21:48:19 [sbp]
- claim or a right; an affirmer, supporter, or vindicator; a
- 21:48:19 [sbp]
- defender; an asserter.
- 21:48:19 [sbp]
-
- 21:48:21 [sbp]
- The assertors of liberty said not a word. --Macaulay.
- 21:48:23 [sbp]
-
- 21:48:25 [sbp]
- Faithful assertor of thy country's cause. --Prior.
- 21:48:27 [sbp]
- ]]]
- 21:48:42 [AaronSw]
- The assertors of liberty said [assertor was] not a word. --Macaulay.
- 21:48:51 [tav]
- tav has joined #swhack
- 21:48:52 [sbp]
- :-)
- 21:48:55 [sbp]
- Hi tav
- 21:49:03 [AaronSw]
- Wooh, is tav back?
- 21:49:07 [AaronSw]
- <xena> potential spellings for assertor are: assorter, assentor, assorted, assorters, assentors, asserted, asserts, aggressor, assaulter, ascertain
- 21:49:13 [AaronSw]
- tav?!
- 21:50:52 [sbp]
- :Assertor rdfs:subClassOf [ daml:disjointUnionOf (:Person :Machine) ] . [ daml:intersectionOf (:Assertor :Machine) ] . [ daml:intersectionOf (:Assertor :Person) ] .
- 21:50:56 [sbp]
- but that's so verbose...
- 21:51:02 [AaronSw]
- oh shoot disk full
- 21:51:03 [sbp]
- there has to be a neater way of doing it
- 21:51:07 [tav]
- hello
- 21:51:10 [sbp]
- hi
- 21:51:52 [sbp]
- ah, that'll have to do
- 21:52:16 [AaronSw]
- This can't be good: /dev/disk0s5 19639008 19973264 -334256 101% /
- 21:53:17 [sbp]
- heh!
- 21:53:39 [AaronSw]
- * AaronSw frantically closes windows
- 21:53:54 [AaronSw]
- * AaronSw disconnects
- 22:01:55 [AaronSw]
- * AaronSw reconnects
- 22:08:59 [AaronSw]
- logster, grep \$
- 22:09:03 [AaronSw]
- I'm logging. Sorry, nothing found for '\$' (internally: "\")
- 22:09:52 [sbp]
- ?
- 22:09:59 [sbp]
- logster, grep \\$
- 22:10:01 [logster]
- I'm logging. I found 78 answers for '\\$' (showing 0...4)
- 22:10:02 [logster]
- 0) 2001-10-21 03:53:55 <sbp> r = re.compile(t+t+t+r'[ \t]*.[ \t]*', re.S).findall
- 22:10:03 [logster]
- 1) 2001-10-21 03:53:55 <sbp> t = r'[ \t]*(<[^>]+>|_:[^\s]+|\"(?:\\\"|[^"])*\")'
- 22:10:04 [logster]
- 2) 2001-10-21 01:38:38 <sbp> s/'\n\t{ %s %s %s }'/'%s %s %s .'
- 22:10:05 [logster]
- 3) 2001-10-21 01:14:44 <sbp> "\"s" <#t> "" .
- 22:10:06 [logster]
- 4) 2001-10-21 01:14:40 <sbp> <#p> <#q> "\"r" .
- 22:10:34 [sbp]
- logster, grep \$$
- 22:10:43 [sbp]
- I'm logging. Sorry, nothing found for '\$$' (internally: "\")
- 22:10:43 [sbp]
- grepit!
- 22:11:09 [AaronSw]
- * AaronSw looks for $6098 :-(
- 22:11:11 [sbp]
- logster, grep internally: "\"
- 22:11:14 [sbp]
- I'm logging. Sorry, nothing found for 'internally: "\"'
- 22:11:18 [sbp]
- try under the sofa
- 22:11:30 [AaronSw]
- Yeah, tried that...
- 22:11:33 [sbp]
- :-)
- 22:30:23 [AaronSw]
- * AaronSw disconnects
- 23:22:48 [sbp]
- sbp has quit
- 23:23:09 [rillian]
- rillian has joined #swhack
- 23:41:47 [rillian]
- rillian has quit