From: Ruben V. <rub...@ug...> - 2013-08-10 18:06:38
|
Dear all, SWObjects [1] incorrectly interprets hashes. It prepends the current filename before them, while it shouldn’t. $ echo "<http://ex.org#a> <http://ex.org#b> <http://ex.org#c>." > hash.ttl $ sparql -d hash.ttl { <http://ex.orghash.ttl#a> <http://ex.orghash.ttl#b> <http://ex.orghash.ttl#c> . } The expected output is instead { <http://ex.org#a> <http://ex.org#b> <http://ex.org#c>. } Something similar happens when we use a prefix that doesn’t end in a slash: $ echo "@prefix ex: <http://ex.org>. ex:a ex:b ex:c." > hash2.ttl $ sparql -d hash2.ttl { <http://ex.orghash2.ttlahash2.ttl> <http://ex.orghash2.ttlbhash2.ttl> <http://ex.orghash2.ttlchash2.ttl> . } Best, Ruben [1] commit 4283bf306 from sparql11 branch https://github.com/ericprud/SWObjects/commit/4283bf306 compiled on OSX with https://github.com/RubenVerborgh/SWObjects/commit/1a3a9a02f |
From: Eric Prud'h. <er...@w3...> - 2013-08-13 10:55:00
Attachments:
slashless.diff
|
* Ruben Verborgh <rub...@ug...> [2013-08-10 20:06+0200] > Dear all, > > SWObjects [1] incorrectly interprets hashes. > It prepends the current filename before them, while it shouldn’t. > > $ echo "<http://ex.org#a> <http://ex.org#b> <http://ex.org#c>." > hash.ttl > $ sparql -d hash.ttl > { > <http://ex.orghash.ttl#a> <http://ex.orghash.ttl#b> <http://ex.orghash.ttl#c> . > } > > The expected output is instead > { > <http://ex.org#a> <http://ex.org#b> <http://ex.org#c>. > } > > Something similar happens when we use a prefix that doesn’t end in a slash: > $ echo "@prefix ex: <http://ex.org>. ex:a ex:b ex:c." > hash2.ttl > $ sparql -d hash2.ttl > { > <http://ex.orghash2.ttlahash2.ttl> <http://ex.orghash2.ttlbhash2.ttl> <http://ex.orghash2.ttlchash2.ttl> . > } I haven't done sufficient research to figure out what are the specified requirements for deciding that something is an absolute URI. libwww, from which I stole the URL parsing library, doesn't consider something absolute if it doesn't have a '/' after the hostname. I poked around with perl's URI::URL lib and it produces the results expected by Ruben. Attached is a patch which considers …://…#… an absolute based on the "://" and the '#'. I haven't rolled that back into the sparql11 branch yet. Other opinions? > Best, > > Ruben > > [1] commit 4283bf306 from sparql11 branch https://github.com/ericprud/SWObjects/commit/4283bf306 > compiled on OSX with https://github.com/RubenVerborgh/SWObjects/commit/1a3a9a02f > ------------------------------------------------------------------------------ > Get 100% visibility into Java/.NET code with AppDynamics Lite! > It's a free troubleshooting tool designed for production. > Get down to code-level detail for bottlenecks, with <2% overhead. > Download for free and get started troubleshooting in minutes. > http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk > _______________________________________________ > SWObjects-devel mailing list > SWO...@li... > https://lists.sourceforge.net/lists/listinfo/swobjects-devel -- -ericP |
From: Ruben V. <rub...@ug...> - 2013-08-13 12:00:50
|
Hi Eric, Thanks for the patch! > I poked around with perl's URI::URL lib and it produces the results > expected by Ruben. Attached is a patch which considers …://…#… an > absolute based on the "://" and the '#'. I haven't rolled that back > into the sparql11 branch yet. Other opinions? Isn’t it simply: relative if it doesn’t start with a protocol? On a different but related note: I’m using SWObjects to test graph equality in the EYE reasoner’s Turtle spec EARL report generator. This hash issue was one of the things gave false negatives. While the patch solves this, SWObjects only works property on OSX for me. If we compile on Linux, we get strange errors like $ sparql -d IRI_subject.ttl --compare IRI_subject.ttl { <http://a.example/s> <http://a.example/p> <http://a.example/o> . } != +-+ | | +-+ While comparing a file against itself works perfectly on OSX. Any clue on what we’re doing wrong with the compilation? Or do you perhaps have a compiled Linux version at hand? Best, Ruben |
From: Eric Prud'h. <er...@w3...> - 2013-08-13 12:28:20
|
On Aug 13, 2013 2:01 PM, "Ruben Verborgh" <rub...@ug...> wrote: > > Hi Eric, > > Thanks for the patch! > > > I poked around with perl's URI::URL lib and it produces the results > > expected by Ruben. Attached is a patch which considers …://…#… an > > absolute based on the "://" and the '#'. I haven't rolled that back > > into the sparql11 branch yet. Other opinions? > > Isn’t it simply: relative if it doesn’t start with a protocol? > > > > On a different but related note: > I’m using SWObjects to test graph equality in the EYE reasoner’s Turtle spec EARL report generator. > This hash issue was one of the things gave false negatives. > While the patch solves this, SWObjects only works property on OSX for me. > If we compile on Linux, we get strange errors like > > $ sparql -d IRI_subject.ttl --compare IRI_subject.ttl > { > <http://a.example/s> <http://a.example/p> <http://a.example/o> . > } > != > +-+ > | | > +-+ I'll futz with this when I get a chance (ideally this evening when I'll be near a power plug and downloading the latest boost (can you remind me how to compile cause I'm sure Ubuntu doesn't have updates for it?)), but what your seeing is a comparison of two result sets, one of which is a graph and the other is a table. > While comparing a file against itself works perfectly on OSX. > Any clue on what we’re doing wrong with the compilation? > Or do you perhaps have a compiled Linux version at hand? I'll have a 64 bit Ubuntu 12.10 when I next connect my laptop. Is that helpful? > Best, > > Ruben |
From: Ruben V. <rub...@ug...> - 2013-08-13 12:34:18
|
> (can you remind me how to compile cause I'm sure Ubuntu doesn't have updates for it?)), I’m probably not the right guy to ask :-) I got it working with 1.42, because that’s what was on the machine I used. Compiling with the latest boost gave errors because of duplicate boost-log, so you might want to settle for something less recent. > but what your seeing is a comparison of two result sets, one of which is a graph and the other is a table. But it’s the same file, should just indicate that it matches (as it does on OSX). > I'll have a 64 bit Ubuntu 12.10 when I next connect my laptop. Is that helpful? Yeah, probably, thanks! Ruben |
From: Eric Prud'h. <er...@w3...> - 2013-08-13 13:52:45
|
On Aug 13, 2013 2:34 PM, "Ruben Verborgh" <rub...@ug...> wrote: > > > (can you remind me how to compile cause I'm sure Ubuntu doesn't have updates for it?)), > > I’m probably not the right guy to ask :-) > I got it working with 1.42, because that’s what was on the machine I used. > Compiling with the latest boost gave errors because of duplicate boost-log, > so you might want to settle for something less recent. Yeah, my goal is to synch up with whatever has changed since the 1.46-compatible boost-log and ideally stop maintaining a branch of that code. People with distros that don't have the latest boost (probably all distros) will have to compile boost or use one of my older versions of log. > > but what your seeing is a comparison of two result sets, one of which is a graph and the other is a table. > > But it’s the same file, should just indicate that it matches (as it does on OSX). I wasn't surprised that there was some pathological behavior related to the heuristics for guessing what to compare, buy I tried to replicate this and it actually worked fine on my build. Could you run again with --debug 3? > > I'll have a 64 bit Ubuntu 12.10 when I next connect my laptop. Is that helpful? > > Yeah, probably, thanks! > > Ruben > |
From: Ruben V. <rub...@ug...> - 2013-08-13 13:56:06
|
> I wasn't surprised that there was some pathological behavior related to the heuristics for guessing what to compare, buy I tried to replicate this and it actually worked fine on my build. Could you run again with --debug 3? Sure. Here you go: $ sparql -d IRI_subject.ttl --compare IRI_subject.ttl --debug 3 [- 2 +] log level "Default" set to 3. [- 2 +] log level "Rewrite" set to 3. [- 2 +] log level "IO" set to 3. [- 2 +] log level "GraphMatch" set to 3. [- 2 +] log level "SQL" set to 3. [- 2 +] log level "Service" set to 3. [- 2 +] log level "Process" set to 3. I/O [- 2 +] Stream constructed to read file IRI_subject.ttl. I/O [- 1 +] Reading IRI_subject.ttl with media type text/turtle into Default Graph. I/O [- 2 +] <loadedData> { <http://a.example/s> <http://a.example/p> <http://a.example/o> . } </loadedData> I/O [- 2 +] Stream constructed to read file IRI_subject.ttl. I/O [- 1 +] Reading IRI_subject.ttl with media type text/turtle. GraphMatch [- 3+] matching { ?t <http://www.w3.org/2001/sw/DataAccess/tests/result-set#boolean> ?bool . } GraphMatch [- 3+] produced +-+ | | +-+ GraphMatch [- 3+] vars and exprs tracked during project: GraphMatch [- 3+] matching { ?set <http://www.w3.org/2001/sw/DataAccess/tests/result-set#resultVariable> ?var . } GraphMatch [- 3+] produced +-+ | | +-+ GraphMatch [- 3+] vars and exprs tracked during project: GraphMatch [- 3+] matching { _:b0x3270860 <http://www.w3.org/2001/sw/DataAccess/tests/result-set#variable> ?var . _:b0x3270860 <http://www.w3.org/2001/sw/DataAccess/tests/result-set#value> ?val . ?soln <http://www.w3.org/2001/sw/DataAccess/tests/result-set#binding> _:b0x3270860 . } GraphMatch [- 3+] produced +-+ | | +-+ { <http://a.example/s> <http://a.example/p> <http://a.example/o> . } != +-+ | | +-+ Best, Ruben |
From: Eric Prud'h. <er...@w3...> - 2014-06-14 13:48:26
|
* Ruben Verborgh <rub...@ug...> [2013-08-13 14:34+0200] > > (can you remind me how to compile cause I'm sure Ubuntu doesn't have updates for it?)), > > I’m probably not the right guy to ask :-) > I got it working with 1.42, because that’s what was on the machine I used. > > Compiling with the latest boost gave errors because of duplicate boost-log, > so you might want to settle for something less recent. SWObjects is (finally) updated to the latest boost-log. It should compile with boost >= 1.54 > > but what your seeing is a comparison of two result sets, one of which is a graph and the other is a table. > > But it’s the same file, should just indicate that it matches (as it does on OSX). > > > I'll have a 64 bit Ubuntu 12.10 when I next connect my laptop. Is that helpful? > > Yeah, probably, thanks! > > Ruben > -- -ericP office: +1.617.599.3509 mobile: +33.6.80.80.35.59 (er...@w3...) Feel free to forward this message to any list for any purpose other than email address distribution. There are subtle nuances encoded in font variation and clever layout which can only be seen by printing this message on high-clay paper. |
From: Ruben V. <rub...@ug...> - 2014-06-16 14:33:39
|
> SWObjects is (finally) updated to the latest boost-log. It should > compile with boost >= 1.54 Thanks, Eric. Tried to build an OSX version but failed. OSX diff: https://github.com/RubenVerborgh/SWObjects/commit/e07c954cf6d build log: http://pastebin.com/gRFdvAat I have several errors of this type: lib/SWSexParser/location.hh:133:20: error: redefinition of 'operator+=' inline location& operator+= (location& res, unsigned int width) What would be the issue? Best, Ruben |
From: Eric Prud'h. <er...@w3...> - 2014-07-08 19:16:40
|
* Ruben Verborgh <rub...@ug...> [2014-06-16 16:33+0200] > > SWObjects is (finally) updated to the latest boost-log. It should > > compile with boost >= 1.54 > > Thanks, Eric. > > Tried to build an OSX version but failed. > > OSX diff: https://github.com/RubenVerborgh/SWObjects/commit/e07c954cf6d > build log: http://pastebin.com/gRFdvAat > > I have several errors of this type: > > lib/SWSexParser/location.hh:133:20: error: redefinition of 'operator+=' > inline location& operator+= (location& res, unsigned int width) > > What would be the issue? Usual apologies for the usual delayed response -- there have been a ton of changes to the sparql11 branch since your report and the reorganization should have fixed this bug. We're in the process of switching over to CMake so that may make it more fun to compile. > Best, > > Ruben -- -ericP office: +1.617.599.3509 mobile: +33.6.80.80.35.59 (er...@w3...) Feel free to forward this message to any list for any purpose other than email address distribution. There are subtle nuances encoded in font variation and clever layout which can only be seen by printing this message on high-clay paper. |
From: Ruben V. <rub...@ug...> - 2014-07-10 19:05:10
|
> Usual apologies for the usual delayed response — there have been a ton of changes to the sparql11 branch since your report and the reorganization should have fixed this bug. Thanks Eric, it compiles. Here's a fork that directly compiles on OSX Mavericks: https://github.com/RubenVerborgh/SWObjects > We're in the process of switching over to CMake so that may make it more fun to compile. Great! Note that I found one other bug (at least on OSX): a positive isomorphism check works (i.e., if graphs are equal, I get the right message). a negative isomorphism check (i.e., non-equal) results in a segmentation fault. Best, Ruben |