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

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: RDF Resource Description Framework Metadata and Text

Provided by Dave Beckett. Hosted by Useful Information Company.