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-19 (Latest) (Search)
00:12:07 <ows> Hi sh1mmer
00:59:06 <CaptSolo> sh1mmer: apparently no questions in the set theory :)
00:59:54 <sh1mmer> heh
01:00:10 <sh1mmer> talking to someone from #ai actually :)
02:28:13 <GreyLensman> sbp, u still working on the latest n3.n3 stuff? test suite et al.
02:31:48 <GreyLensman> @prefix x:y <http://www.bravias.org/test#> . # appears to be legal N3, but you can't ever actually use the prefix in a statement
02:46:22 <sbp> hi there GreyLensman. I am, though I don't have any control over n3.n3 so there's not much I can do to correct it unless I file a bug and correct it locally in the test suite
02:47:07 <sbp> we discussed the QName problem a little bit in the CWM/N3 meeting that was held here last Monday, but didn't get as far as splitting up prefix and localname
02:47:25 <sbp> which, it seems, is going to be necessary
02:47:29 <GreyLensman> yes
02:47:54 <GreyLensman> where is minutes of last meeting?
02:48:58 <sbp> from http://ilrt.org/discovery/chatlogs/swig/2004-12-13.html#T18-31-53 onwards
02:49:06 <GreyLensman> tanks
02:49:14 <sbp> I mention you at 18:39:44
02:49:43 <sbp> main discussion of the issue seems to be at http://ilrt.org/discovery/chatlogs/swig/2004-12-13.html#T19-14-23
02:50:19 <sbp> it takes a while for it to sink in (the others seem to think I mean that the localname can be zero length, which of course is fine)
03:52:28 <GreyLensman> interesting N3 meeting notes, lively discussion, lots of questions, few answers :(
04:05:10 <sbp> there was another one held a month beforehand, which was a bit better I think
13:56:52 <phurl> phurl is now known as md-afk
15:05:03 <balbinus_> balbinus_ is now known as balbinus
17:11:18 <sh1m> sh1m is now known as sh1mmer
18:06:06 <md-afk> md-afk is now known as PhUrl
18:19:17 <djav> hmm, any dublin core guru out there?
18:26:49 <PhUrl> PhUrl is now known as md-afk
18:32:38 <djav> Anyone know what is the best suited property to make a reference to the creator of a document, like a pointer to his FOAF file.
18:33:15 <Arnia> foaf:maker
18:33:29 <Arnia> Oh, to the file?
18:34:12 <djav> yes, at first I thought to use the dc:creator = "http://...."
18:34:29 <djav> but it seems dc:creator is about Literals
18:38:14 <d2m> djav: you could use dcterms:Creator
18:38:59 <kota> there's no dcterms:creator but dc:creator
18:39:44 <kota> and dc properties do not specify their range, so you can use it for resources
18:40:30 <djav> ok, nice. Thanks!
18:46:59 <djav> well, then if I have a FOAF file it's better for the rss:item in my rss feed to have a dc:creator="http://www.xxx.com/foaf.rdf" instead of dc:creator="Johann", isn't it?
18:47:55 <Arnia> dc:creator="http://www.xxx.com/foaf.rdf#me"?
18:48:14 <djav> yes
18:48:19 <Arnia> Point to the foaf:Person in the file I think...
18:48:27 <djav> sure
18:49:12 <kota> hmm, maybe you should <dc:creator><foaf:Person><foaf:name>blah</foaf:name><rdfs:seeAlso rdf:resource="uri"/></foaf:Person></dc:creator>
18:50:26 <djav> oh yes so I can combine best of both world
18:51:06 <Arnia> Although, I'd definitely include some IFP in that description too :)
18:51:26 <djav> IFP?
18:51:57 <Arnia> Inverse functional property... a property who's value uniquely identifies its subject
18:52:13 <Arnia> Like foaf:mbox, foaf:mbox_sha1sum, foaf:homepage etc
18:52:48 <djav> ok
18:55:50 <Arnia> How do I submit a paper to ESWC2005? The online submissions site doesn't appear to exist
19:46:35 <crschmidt> wow, building glibc with debug symbols is really helpful when doing backtraces...
19:49:35 <dajobe> hi crschmidt
19:49:39 <dajobe> can't dup your bug, not enough info
19:49:40 <crschmidt> dajobe: are you aware with any "mysql_free_result" bugs in rasqal .9.3 ?
19:49:48 <dajobe> just install the glibc-debug package (debian)
19:49:50 <crschmidt> dajobe: yeah, i know, it's really weird
19:50:00 <crschmidt> dajobe: that's what i did, got a useful backtrace now (rather than lots of ??)
19:50:04 <dajobe> rasqal doesn't do sql, it's redland
19:50:08 <crschmidt> hm
19:50:42 <crschmidt> backtrace leads back to my_no_flags_free, mysql_free_result, librdf_storage_mysql_find_statements_in_context_finished
19:52:31 <crschmidt> I'm not surprised you can't dupe, since it worked fine for me until just recently ;)
19:52:47 <dajobe> it sounds more like a mysql storage bug
19:53:46 <crschmidt> I'm just confused as to why it would be a problem, when it wasn't as short as a week ago; I haven't changed anything (other than recompiling glibc, now) that I can remember
19:54:03 <crschmidt> Would mail to the mailing list with a backtrace be okay, seeing if anyone has seen anything similar?
19:54:16 <dajobe> that would at least give a record of it
19:54:49 <dajobe> fwiw we're thinking of setting up a redland bug/issue tracker. Once we manage to pick one ;)
19:54:55 <crschmidt> heh
19:55:14 <crschmidt> I'm afraid of how many bugs i might open and close an hour later with "My machine is jsut horribly sucky, damnit"
19:55:37 <dajobe> but you have found bugs in the query lang stuff, which has been helpful
19:57:07 <dajobe> I wonder if Arnia is around. I compiled dbus-sharp the other day, didn't get any further though
19:58:30 * Arnia manifests
19:59:16 <Arnia> Sorry, was reading Slashdot comments on old articles about RDF :)
19:59:57 <dajobe> I re-found http://www.ilrt.bris.ac.uk/discovery/chatlogs/rdfig/2004-11-21.html#T15-33-12
20:00:21 <Arnia> Ah cool
20:00:52 <dajobe> I've not investigated that but
20:00:53 <dajobe> bit
20:01:04 <dajobe> however, in DAWG I've been writing an XML format for the result set
20:01:09 <dajobe> redland should emit that at some point
20:01:19 <dajobe> but the original NULL pointer errors shouldn't happen, clearly
20:01:49 <crschmidt> dajobe: is there an example of a C program for doing RDQL queries (something like a "hello world", so my test-case isn't in python)?
20:02:34 <dajobe> crschmidt: in the sources for rasqal - roqet.c and redland - rdfproc.c and at the end of librdf_query.c
20:02:45 <crschmidt> Thanks
20:07:29 <Arnia> dajobe: Cool. Thanks
20:16:11 * crschmidt sends email to dev-list, makes lunch
20:52:27 * mortenf replies
20:52:29 <phenny> mortenf: 14:41Z <crschmidt> ask mortenf if I'm supposed to have a file at http://crschmidt.net/blog/archives/author/crschmidt/foaf.rdf once I install his foaf plugin? Or if there's something more I need to do (same for skos)
20:53:13 <mortenf> yep and no, assuming default setup
20:59:15 <crschmidt> mortenf: i use a different permalink setup than most people; would that cause problems/
20:59:32 <mortenf> perhaps, but shouldn't
20:59:45 <crschmidt> how does it create the file?
20:59:54 <mortenf> it doesn't create a file
21:00:01 <mortenf> it's a uri
21:05:13 * crschmidt doesn't know how to get it to work, then :(
21:06:54 <dajobe> I can only find rasqal_free_triples_match at the line you mention in rasqal 0.9.2, that's 2 versions old
21:08:13 <dajobe> yes, you are still using redland 0.9.18
21:08:59 <crschmidt> I'm using rasqal 0.9.3, redland 0.9.18 (according to (redland|rasqal)-config --version)
21:09:09 <dajobe> the source lines say otherwise
21:09:58 <dajobe> one cause of failure would be compiling against one and linking/running against a different version
21:12:45 <crschmidt> mortenf: The latest CVS must use slightly different regex values; Changing RewriteRule ^archives/author/([^/]+)/?$ to RewriteRule ^archives/author/(.+)/?$ fixed it, thanks
21:12:55 <mortenf> ah, good
21:13:43 <mortenf> just for the record, it has only been tested with 1.2
21:13:52 <crschmidt> dajobe: Well, I haven't even bothered trying to compile/install/link/run anything new in the past several weeks, but I'll try to compile the latest release and install that to see where it gets me
21:21:26 * crschmidt types make and crosses his fingers.
21:23:19 <crschmidt> I'd also like ot say that after manually going through the build process for a program to get it to work for OS X, I recognize entirely too much of what's going on in the ./configure, make output
21:23:39 <mortenf> sorry to hear that
21:23:54 <crschmidt> heh
21:24:18 <kasei> i did the same thing with redland on osx
21:24:39 <kasei> ...too much time digging around the configure/make process
21:25:34 <dajobe> the ibook I have access to has returned from apple for the 4th fix, so I can try osx problems again
21:26:03 <crschmidt> kasei: yeah, i did it for a game I was working on (SDLRoads)
21:26:12 <kasei> the problem was using the binary installer of mysql. fink solved everything.
21:26:45 <crschmidt> dajobe: okay, got the latest release installed, but my rasqal_free_triples_match line number still doesn't match yours (it says rasqal_engine.c:460)
21:27:31 <crschmidt> (rasqal|redland)-config say 0.94, 0.9.19 respectively
21:27:49 <dajobe> I quoted rasqal 0.9.2 which matched your code
21:27:56 <dajobe> 460 is correct for rasqal 0.9.4
21:28:23 <kasei> oh, dajobe: i haven't tested thouroghly, but I've been running into a problem with the perl bindings of redland ...
21:28:38 <kasei> ... that suggest that RDF::Redland::Node->literal_value is returning a utf8 encoded string that isn't tagged as utf8
21:29:14 <crschmidt> dajobe: Okay. Should I send the new backtrace to the list, then? It looks pretty much the same other than line numbers
21:29:18 <dajobe> how would perl tag that kasei ?
21:29:24 <dajobe> crschmidt: yes please
21:29:42 <kasei> i don't know how the swig interface deals with this, but a perl scalar (SV) structure has a utf8 flag that needs to be set.
21:30:07 <kasei> the data i get back is properly encoded, but isn't marked as utf8, so i get weird encoding problems when dealing with non-ascii
21:30:36 <dajobe> I guess this is hitting a swig deficiency, it's the same for python and C#
21:31:19 <dajobe> redland always uses utf8 (except in a few corner cases) and all char* in/out are utf8
21:31:26 <kasei> a workaround that forces the utf8 flag to be set is to use $literal = Encode::decode('utf8', $literal).
21:31:28 <dajobe> but swig thinks they are unknown encoding
21:32:09 <dajobe> "At this time, SWIG does not provide any special support for Unicode or wide-character strings "
21:32:22 <kasei> hrm
21:34:03 <dajobe> . o O (if only there was a #swig IRC channel to ask this on)
21:34:12 <kasei> haha
21:34:41 <crschmidt> heh
21:37:25 <crschmidt> mortenf: I did the sos->results=0; thing, bt is sent as a reply
21:37:37 <mortenf> k
21:37:51 <crschmidt> oh, the glibc error changed too; *** glibc detected *** double free or corruption (out): 0x402b0a3c ***
21:40:42 <dajobe> valgrind's the thing you need here. It's an x86 app only.
21:41:06 <crschmidt> ooh, i found an environment variable that seems helpful
21:41:26 <dajobe> the osx memory debugging does seem helpful, but in my experience, has never been so.
21:41:29 <crschmidt> (Turns the glibc error into just a segmentation fault, with no funky phtread_kills)
21:41:55 <dajobe> that might help if you can get gdb on it; or run inside gdb
21:42:08 <crschmidt> Yep
21:42:37 <crschmidt> looks like the funkyness is coming from mallopt, mallopt, calloc, from librdf_storage_mysql_find_statements_with_options ?
21:42:48 * crschmidt is definitely not a good gdb user.
21:44:13 <crschmidt> and I'm on x86; all my hardcore hacking takes place here. The mac distracts me with all the pretty colors.
21:44:20 <dajobe> I think you've still got linking against different libraries.
21:44:36 <dajobe> because the rtm value turns from a value to 0x0 in calls
21:44:50 <dajobe> #13 0x4082a2e6 in rasqal_free_triples_match (rtm=0x80b7ab8)
21:44:50 <dajobe> at rasqal_engine.c:460
21:44:52 <dajobe> calls
21:44:55 <dajobe> #12 0x403528db in rasqal_redland_finish_triples_match (rtm=0x0,
21:44:56 <dajobe> user_data=0x80b7e30) at rdf_query_rasqal.c:407
21:45:06 <dajobe> the code is just one thing calling another
21:45:37 <dajobe> well then, run valgrind
21:45:57 <crschmidt> Installing it now
21:46:05 <dajobe> valgrind --tool=memcheck --leak-check=yes --num-callers=12 ..binary and args..
21:46:17 <dajobe> 12 is a random number, to give a bit of context - default is 4
21:46:46 <dajobe> if it's via python you'll get hundreds of errors in python, you'll have to ignore those
21:51:42 <crschmidt> Okay, I see lots of errors, (mostly "Invalid read of size 4") , and then at the end i see something that looks like a traceback with calloc, librdf_new_storage_from_factory, librdf_new_storage, _rwap_librdf_new_storage
21:52:07 <crschmidt> labeled: ==6304== 24 bytes in 1 blocks are definitely lost in loss record 8 of 35
21:52:27 <dajobe> if any of the invalid read lines have a librdf_ or rasqal call in them, can you email them?
21:52:45 <dajobe> we're not looking for lost memory here, but invalid reads - reading free()d memory
21:52:50 <crschmidt> okay
21:53:12 <dajobe> or just email the lot to me personally and I'll chop it down for redland-dev
21:58:48 <crschmidt> dajobe: how can I make sure I'm linking against the right libraries? Would `make uninstall` be enough?
21:59:06 <dajobe> I'd hope so
22:02:17 <crschmidt> Okay then, doing make uninstall, make clean, then another make; hopefully that'll link against the right libs
22:03:05 <dajobe> your last backtrace looked like the right libs
22:03:19 <dajobe> but only the valgrind output will tell you where the two frees were
22:05:09 <dajobe> i'll look at that tomorrow. too late for me today
22:05:15 <crschmidt> thanks
22:05:37 <crschmidt> do i need to install a new version of the bindings for 0.9.19?
22:05:54 <dajobe> it would be a good idea, otherwise I don't know what you have
22:06:00 <crschmidt> okay.
22:07:31 <mortenf> crschmidt, is this also with the zeroed instruction added?
22:10:46 <dajobe> looks to me that librdf_storage_mysql_find_statements_in_context_finished can be called multiple times
22:10:54 <dajobe> in rdf_storage_mysql.c
22:11:05 <mortenf> yeah
22:11:16 <dajobe> it's a destructor
22:11:27 <dajobe> so only safe to call there, or in the constructor if it partially fails
22:11:27 <mortenf> well, with the suggested fix (zeroing the result pointer)
22:12:02 <mortenf> hmm, not sure i understand what you mean now
22:12:40 <dajobe> it shouldn't be called inside your code
22:12:55 <dajobe> "return 1" will signify to rdf_stream_next that the stream is ended
22:13:06 <dajobe> and later on, it'll destroy the stream, calling librdf_storage_mysql_find_statements_in_context_finished
22:13:16 <dajobe> it guarantees to call it once only
22:13:37 <mortenf> hmm, ok, but i thought "better safe than sorry", and tried to make it recallable
22:14:15 <dajobe> you could try to do that but you can't have anywhere to store that state, since you free() every alloced resource :)
22:14:38 <dajobe> after LIBRDF_FREE(librdf_storage_mysql_sos_context, sos);
22:14:39 <mortenf> good point
22:14:45 <dajobe> there is no memory to store that it's been freed already
22:15:46 <mortenf> ok, problem located
22:16:41 <mortenf> however, the calls in librdf_storage_mysql_find_statements_with_options must stay, as they are executed before the stream is created
22:16:51 <dajobe> that's correct
22:16:55 <crschmidt> mortenf: everything since my email reply to you has been with the sos->results=0; thing in there
22:16:57 <dajobe> as long as return NULL follows
22:17:01 <mortenf> yep
22:17:52 <mortenf> i'll mail the list, do you want a patch or rather fix it yourself?
22:18:28 <dajobe> I've made an untested patch just by editing things
22:18:35 <mortenf> i wonder why i haven't run into this before
22:18:36 <mortenf> great
22:18:36 <dajobe> but it's for 0.9.18 as released, not current sources
22:18:44 <mortenf> ah
22:19:08 <mortenf> i doubt i'm up to date, btw...
22:19:23 <dajobe> (0.9.19 as released)
22:20:24 <crschmidt> Random curiosity: Are there any other RD Parsers that redland can use (other than raptor)?
22:22:14 * Arnia tries to figure out how to use Raptor independent of the rest of Redland in C#
22:22:23 <dajobe> crschmidt: no
22:22:46 <mortenf> dajobe, could you fix it in cvs as well, i'm behind on versions here?
22:23:01 <dajobe> yeah, I'll just email this out first to see if it *is* a fix
22:23:11 <mortenf> heh, ok
22:24:24 <mortenf> heh, just got your mail as i sent mine...
22:25:09 <dajobe> and you got the channel right...
22:25:13 <mortenf> :)
22:27:05 <dajobe> hmm, Bristol is colder than Helsinki today
22:27:41 <dajobe> got a DAWG meeting in Jan in HEL
22:28:01 <mortenf> stopping over in cph? there's a beer or two waiting for you...
22:28:18 <dajobe> heh, no - via AMS
22:28:38 <mortenf> ah, the dope thing ;)
22:28:50 <Arnia> Wycombe is pretty cold today too :(
22:28:58 <dajobe> no, the fly from BRS thing
22:29:14 * dajobe hates all london airports
22:29:32 <Arnia> Heh... I live 7 miles from Heathrow. I hear you on hating them :)
22:29:43 <Arnia> Mind you, I hate London too :)
22:30:11 <crschmidt> yay!
22:30:12 <crschmidt> it works!
22:30:23 <dajobe> great!
22:30:36 <mortenf> great, and sorry for the wasted time!
22:30:44 <crschmidt> pfft, it's sunday :)
22:30:47 <crschmidt> I'm glad I could help!
22:30:54 <crschmidt> I have no idea why I didn't run into the problem before...
22:30:56 <dajobe> hardly to blame, it's the undocumented redland internals
22:30:58 <dajobe> yeah
22:31:36 <mortenf> well, it's only a problem in case of an error, so perhaps your store is wasted somehow?
22:32:07 <crschmidt> hm
22:33:26 <mortenf> most likely cause: a node that doesn't exist, but is referenced from the statements table
22:34:05 * dajobe wanders off to watch a stupid film
22:34:16 <crschmidt> mortenf: hm, you have a script to clean those up, right?
22:34:36 <mortenf> well, not clean up that way, only the other way around
22:34:41 <mortenf> (unused nodes)
22:34:43 <crschmidt> ah
22:35:01 * mortenf checks som sql for locating missing nodes
22:37:03 <dajobe> C:fixed
22:37:03 <dc_swig> Added comment C5.
22:37:10 <mortenf> hmm, could be a context thing, you started with then skipped them right?
22:38:00 <mortenf> what do you get from "select count(distinct Context) from Statements;"?
22:38:48 <crschmidt> 244
22:39:06 <crschmidt> I've got some nodes with contexts; mostly from spidering, where i assign contexts to only hit URIs once.
22:39:18 <mortenf> what about "select min(Context) from Statements;"?
22:39:29 <crschmidt> 0
22:39:31 <mortenf> ah
22:39:42 <crschmidt> bad?
22:39:46 <mortenf> yeah...
22:40:01 <mortenf> well...
22:40:21 <mortenf> no, that should be ok
22:40:21 <crschmidt> I apparently have 788980 with Context 0
22:44:46 <mortenf> try "select count(*) from Statements left join Bnodes as SuB on Subject=SuB.ID left join Resources as SuR on Subject=SuR.ID left join Resources as PrR on Predicate=PrR.ID left join Bnodes as ObB on Object=ObB.ID left join Resources as ObR on Object=ObR.ID left join Literals as ObL on Object=ObL.ID where (SuB.Name is
22:44:46 <mortenf> null and SuR.URI is null) or PrR.URI is null or (ObB.Name is null and ObR.URI is null and ObL.Value is null);"
22:45:09 <mortenf> if you get results from that (might take a while), something's missing
22:45:57 <crschmidt> Running
22:46:31 <mortenf> here too, about 90+% cpu...
22:46:48 <mortenf> done: 0
22:47:06 <crschmidt> As usual, I'm disk bound
22:47:13 <mortenf> (from 1.2M triples)
22:47:19 <mortenf> :/
22:47:32 <crschmidt> 70% CPU, 528K/s from the disk
22:48:03 <mortenf> what do you use for disk measuring?
22:48:31 <crschmidt> gkrellm
22:48:36 <crschmidt> returned 25148.
22:48:39 <crschmidt> :/
22:48:47 <mortenf> oops
22:49:07 <mortenf> and that query doesn't include missing contexts, so yep, that's the origin of the error
22:49:48 <mortenf> of course, if you were using contexts, you'd know which resources to re-GET ;)
22:49:54 <crschmidt> So what does that mean? Select all Statements where Subject, Predicate, or Object is null?
22:50:14 <mortenf> yeah
22:50:35 <crschmidt> So, none of those will ever return correctly, right?
22:50:50 <mortenf> erh?
22:51:02 <mortenf> "those"?
22:51:09 <crschmidt> Those 25148 statements
22:51:11 <mortenf> right
22:51:21 <crschmidt> So there's no reason I shouldn't just delete them, right?
22:51:42 <crschmidt> s/select count(*)/DELETE/ ?
22:52:13 <mortenf> hmm, if you can, not sure if it works that way
22:53:15 <crschmidt> hm, apparently not :)
22:53:41 <crschmidt> i suppose that makes sense
22:54:07 <mortenf> well, i think you can in the recent versions
22:54:55 <crschmidt> i'm using 4.0.21 or something like that; maybe only in 4.1
22:55:35 * crschmidt is just happy to have julie working again
22:56:38 <Arnia> Aww. That's cute :)
22:57:12 * crschmidt goes to figure out how to add sparql support, now that he's using the latest code (hooray!)
22:57:55 <Arnia> crschmidt: Will you be using the new interpolation stuff from py2.4?
22:59:09 <crschmidt> [3 crschmidt@peanut ~]$ python -V
22:59:09 <crschmidt> Python 2.3.4
22:59:13 <crschmidt> ;)
23:00:34 <crschmidt> hm, does sparql not define anything like a USING after the where clause?
23:01:16 <Arnia> PREFIX?
23:01:24 <Arnia> bparsia: Hey
23:03:28 <crschmidt> Arnia: so far as I can tell, PREFIX has to be before the SELECT
23:03:50 <Arnia> ok
23:04:07 <crschmidt> [1] Query ::= PrefixDecl* ReportFormat PrefixDecl* FromClause? WhereClause?
23:09:05 <md-afk> md-afk is now known as PhUrl
23:13:41 <bparsia> Morning
23:13:51 <Talliesin> Evening.
23:14:14 <crschmidt> Howdy!
23:32:57 <KjetilK> crschmidt: julie is missed on irc.perl.org again... :-)
23:35:41 <crschmidt> KjetilK: yeah, and oftc, too
23:36:13 <KjetilK> any chance of getting her back?
23:37:02 <crschmidt> yep,
23:37:24 <crschmidt> just copying namespace definitions and command storage between the networks
23:38:02 <KjetilK> oh, she has some new code that requires that?
23:38:40 <crschmidt> nah, i just never sync the command lists between the networks like i should
23:39:12 <KjetilK> ok
23:39:16 <KjetilK> thanks a lot!
23:39:44 <crschmidt> np
23:48:42 <crschmidt> yay, fixed my perl bindings query problem too!
23:48:52 <crschmidt> I think today can be considered a good day.
The IRC chat here was automatically logged without editing and contains content written by the chat participants identified by their IRC nick. No other identity is recorded.
Alternate versions:
and
Text
Provided by Dave Beckett. Hosted by Useful Information Company.