Semantic Web Interest Group IRC Chat Logs for 2005-04-21

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 > 2005 > 2005-04 > 2005-04-21 (Latest) (Search)

08:14:57 <bengtf_nh> bengtf_nh is now known as bengtf_2

08:40:45 <darobin__> darobin__ is now known as darobin

09:15:52 * dajobe renames planetrdf planet sparql

09:16:46 <kasei> heh

09:17:01 <Pike_> nice gesture

09:24:57 <dajobe> i was joking but now I had to do it

09:25:49 <sbp> oh man. and the top story is a SPARQL one

09:27:19 <CaptSolo> heh

09:27:28 <CaptSolo> dajobe: i though you are joking

09:28:08 <CaptSolo> btw - maybe put a space between RDF and SPARQL in the title

09:28:20 <CaptSolo> 'd be more readable

09:28:51 <dajobe> done

09:29:21 <CaptSolo> cool

09:31:36 * Pike_ was joking as well, that's the way love goes

10:11:42 <dajobe> hmm, maybe I should add the sparql url to the html

13:18:05 <darobin>http://eric.van-der-vlist.com/blog/568_SPARQL_Versus_Versa.item

13:18:06 <dc_swig> A: http://eric.van-der-vlist.com/blog/568_SPARQL_Versus_Versa.item from darobin

13:18:18 <darobin> A:|Eric van der Vlist on SPARQL

13:18:19 <dc_swig> Titled item A.

13:33:53 <LotR_> LotR_ is now known as LotR

14:53:10 <DanC> A:hmm... wishing into a blog, rather than sending a comment the way the draft invites readers to. I can understand why, I suppose... I've often wished for trackback on WDs. Hmm.

14:53:10 <dc_swig> Added comment A1.

14:54:43 <DanC> A:should I send a comment on his behalf? That's what I did with XBC comments that I found in blogs.

14:54:43 <dc_swig> Added comment A2.

14:56:11 <dajobe> I wasn't impressed really. There wasn't much support for path-y query languages, before or since dawg. Only 1 impl of versa IIRC. Don't recall DAWG discussing this much, not in use cases or reqs either. Not new information, just low interest.

14:57:40 <libby> pathy stuff is cute though, and nice and familair to xmlheads

14:58:07 * libby was using sbp's pyrple lately and I liked that feature a lot, powerful and shorthand

15:01:08 <DanC> I think versa was among the options considered by the WG, and no, I don't think it got much support.

15:01:28 <crschmidt> the GROUP BY thing could still be nice though?

15:01:34 <DanC> I think we've mentioned aggregate functions in passing. I don't think they should go in v1 because they involve closed-world reasoning. (of course, so does optionals...)

15:02:12 <DanC> yes, lots of things would be nice. The job of the WG is to find the *smallest featureset* that advances the state of the art.

15:02:52 <DanC> and/or to find the featureset that is most mature and most likely to be interoperable soon.

15:03:02 <libby> yeah :)

15:03:11 <darobin> eric's comment was just reflecting an xmlfr discussion, I thought I'd pass it on just in case

15:03:30 <libby> versa was somewhat different to other languages around, but useful tho

15:03:44 <DanC> yes, thanks for passing it on, darobin

15:04:13 <DanC> I'd like Eric van der Vlist to think that SPARQL's featureset was chosen for good reasons

15:04:45 <darobin> I can ask him to come over here if you want

15:05:21 <DanC> well, now's not the best time, for me... and there should be a better papertrail than just an IRC log, I think

15:05:29 <DanC> but I don't mind if you invite him

15:06:40 <dajobe> I was looking earlier and found out XQuery started Sep99

15:07:02 <dajobe> lets try not to do that

15:07:17 <darobin> dajobe++

15:07:40 <dajobe> I'm writing part of the sparql tutorial we're giving at www2005...

15:07:44 <libby> he sometimes hangs out here anyway I think

15:07:46 <dajobe> ... so checking the background

15:08:34 <bandri> RDF started in 97. Sometimes seemingly simple things take a while to work out the detail...

15:08:48 <dajobe> pfft

15:09:06 <bandri> was that directed at me?

15:09:32 * DanC hunts for discussion of versa among other options in DAWG...

15:10:30 * DanC finds http://www.w3.org/2001/sw/DataAccess/ftf2#initdn ...

15:11:40 <DanC> yes, versa was among the options in the poll

15:12:19 <dajobe> yes, and see also http://www.w3.org/2001/11/13-RDF-Query-Rules/

15:12:21 <dajobe> which we used

15:13:01 <evlist> darobin: you don't need to pass these answers, I ama here :-) ...

15:13:09 <DanC> we explicitly evaluated some of the languages... but re Versa all I see is a reference to it. http://lists.w3.org/Archives/Public/public-rdf-dawg/2004AprJun/0006.html

15:13:22 <darobin> oh, rats, I looked for nick "vdv" and didn't see you :)

15:13:23 <libby> heya evlist :)

15:13:29 * DanC waves to evlist

15:13:35 <darobin> too late, I passed them on already :)

15:13:36 <evlist> danc: I have never said SPARQL's featureset was not chosen for good reasons!

15:13:43 <evlist> no problem

15:13:44 * dajobe discovers he got the sparql query structure order wrong

15:13:54 <dajobe> time for a reference v1.4

15:14:40 <bandri> i think the wg charter also had a pre-disposition towards graph-match languages

15:14:41 <evlist> I just (selfishly) feel disapointed that features I have been waiting since early 2001 are still missing...

15:14:53 <DanC> I guess it was "I also wish the W3C could have taken Versa as the main input for their RDF query language, but this wish doesn't seem too likely to happen :-(" that made me think you thought SPARQL design was making a mistake

15:15:08 <evlist> and, more subjectively, prefer a pathy syntax over a sqlish one.

15:15:25 <bandri> can path queries be compiled into graphy ones?

15:15:39 <bandri> ie. could someone write an intermediate layer / convertor to sparql?

15:16:07 <DanC> well, the turtle syntax is a bit more pathy... select ?who where { <ppl#fred> :mother [ :brother [ :son [ :cousin ?who ]]] }

15:16:29 <darobin> yeah that could be converted into a path

15:16:36 <darobin> not sure it could be done generically though

15:16:43 <DanC> er... I'm suggesting that if you squint right, it is a path.

15:16:47 <evlist> translation: probably, but I am not enough of a theorician to say it for sure!

15:16:54 <bandri> nice. though the q was the other way around...

15:16:55 <darobin> DanC: and I'm agreeing

15:16:55 <DanC> in particular, you aren't forced to make up variable names for the intermediate nodes

15:17:13 <bandri> ie. is there something that pathy people want, which could be remapped into (possibly several?) sparql queries

15:18:06 <dajobe> let's finish sparql first

15:18:14 <dajobe> I estimate 1.5 months before I catch up with Apr19 WD

15:18:24 <DanC> there's no way to express aggregates in current SPARQL designs, even if you split it into several queries, bandri . I think aggregates and paths are quite orthogonal, but aggregates seems to be the main point of evlist's blog article

15:18:42 <darobin> personally I'm not too interested in it being pathy, I'm happy with SQLish so long as I don't have to deal with an RDBMS

15:18:49 <evlist> the most objective one, yes.

15:19:30 <bandri> I'm v looking fwd to having a pure PHP sparql, was taking w/ Chris Bizer about plans for RAP

15:19:39 <bandri> it'll happen, though I think he'd appreciate help...

15:19:54 <bandri> ...I was wondering whether might be an MIT student who'd find that interesting?

15:20:05 <bandri> or others here of course

15:20:48 <DanC> anybody have time to catch me up on the state of the art in PHP? When I 1st looked at it, there was one big namespace, ala emacs lisp. So all your functions had to start with your initials or whatever.

15:21:06 <crschmidt> still true, at least in PHP4 (which is still the majority of PHP)

15:21:12 <DanC> I gather PHP has packages or something now, technically, but what I want to know is: does the PHP community use them?

15:21:30 <bandri> there's a fork of an earlier RAP in the PEAR Archive

15:21:41 <bandri> (was it Davey that did that?)

15:21:47 <crschmidt> Even the packages just start with your name: pear package Quick_Form all the functions are Quick_Form_New_Form, stuff like that

15:22:07 <DanC> still true... ok... makes sense... programming-in-the-large features took umpteen years to trickle thru the perl community.

15:22:31 * DanC will stick to python for a little while longer, thank you

15:22:39 <crschmidt> I may also be wrong, but I spent some time looking, and didn't find any conventions for namespaces or anything similar

15:22:45 <bandri> i'm only interested in php because of the massive user base

15:22:57 <bandri> ...and getting rdf/sw into their hands (and into tools that are php-based like wordpress)

15:23:17 <DanC> yes, php is a significant deployment vector. But luckily, my job isn't product development any more ;-)

15:23:38 <DanC> php and javascript are the deployment vectors today.

15:23:55 <DanC> javascript at least had objects from day 1. It still doens't meet the non-ambiguity requirement yet.

15:24:23 <DanC> (to wit: http://www.w3.org/TR/NOTE-webarch-extlang#Ambiguity )

15:26:28 <darobin> "This is the reason for the use of a prefix in the XML namespace proposal to tie the use of an identifier directly to the specification of the name space."

15:26:34 <DanC> python does, unless you use import *. That is: when you look at any python function, you can tell, just by looking at the file it's in, where all the names come from

15:26:45 <darobin> That's only true if you change the namespace when the schema changes

15:27:00 <darobin> likewise in Perl

15:27:29 <DanC> I thin NOTE-webarch-extlang uses "specification" in the sense of something mutable

15:27:43 <DanC> likewise perl? really? I thought perl was like java...

15:28:02 <DanC> ... i.e. use foo; use bar. $x=isThisFromFooOrBarWhoKows();

15:28:20 <darobin> use foo; is like import foo.*

15:28:41 <darobin> use foo (); use bar (); <= nothing has been imported

15:28:52 <DanC> ok, but use foo isn't frowned on in perl-land, is it? the alternative is really ugly, right?

15:29:05 <darobin> it is frowned on to export anything by default

15:29:11 <darobin> heavily so in fact

15:29:21 <darobin> unless you have very good reason to

15:29:22 * dajobe coughs - use LWP

15:29:38 * darobin blames Gisle :)

15:29:57 <DanC> er... yeah, I haven't seen any such frownage. you don't have a pointer hand, do you?

15:31:11 <darobin> I've seen it since day one that I learnt Perl, which was many years ago

15:31:13 <darobin> hang on

15:31:31 * DanC learned perl when perl3 was state-of-the-art

15:31:44 * DanC still has his perl3 reference card

15:31:56 <darobin> heh

15:32:07 <darobin> see http://search.cpan.org/~nwclark/perl-5.8.6/lib/Exporter.pm#Selecting_What_To_Export

15:32:19 <darobin> that's the docs for the module one uses to export stuff

15:32:26 <DanC> what about importing?

15:32:35 <DanC> use foo; is an importing idiom, yes?

15:32:54 <darobin> yes, but only if foo defines an import method that actually does anything

15:33:03 <darobin> which is where it's different from import foo.*

15:33:29 <darobin> in fact, if a module doesn't export anything, you have to create your own aliases by hand to import its stuff

15:33:44 <darobin> the language discourages that

15:34:40 <DanC> hmm... let's see if I can find any perl code on my system that doesn't have ambiguous references... can you think of any popular apps that get this right?

15:35:06 <darobin> I haven't looked at Perl apps in a whlie

15:35:13 <darobin> IIRC AxKit gets it right

15:35:27 <darobin> all of mine sure do :)

15:35:33 <DanC> somewhat randomly, I look in /home/connolly/src/pose/Emulator_Src_3.5/Scripting/Perl/FormSpy.pl and the 1st non-comment line is use EmRPC;

15:35:55 <darobin> right, but does EmRPC actually export anything?

15:36:45 <DanC> oh.. you're saying that if EmRPC doesn't jump thru export hoops, then "use EmRPC" doesn't introduce ambiguities?

15:36:52 <darobin> exactly

15:37:20 <DanC> then use Foo; is not like python's from Foo import *

15:37:36 <darobin> unless EmRPC defines an import() method (or gets it by subclassing Exporter), it's not exporting anything

15:38:00 <darobin> That's what I meant by:

15:38:02 <darobin> <darobin> yes, but only if foo defines an import method that actually does anything

15:38:03 <darobin> <darobin> which is where it's different from import foo.*

15:38:12 <DanC> hmm... now I see: my ($form) = FrmGetActiveForm();

15:38:19 <dajobe>http://www.ilrt.bris.ac.uk/people/cmdjb/2005/04-sparql/

15:38:19 <dc_swig> B: http://www.ilrt.bris.ac.uk/people/cmdjb/2005/04-sparql/ from dajobe

15:38:26 <dajobe> B:|SPARQL RDF Query Language Reference V1.4

15:38:27 <dc_swig> Titled item B.

15:38:33 <dajobe> B:fixed incorrect query order, oops!

15:38:33 <dc_swig> Added comment B1.

15:38:33 <DanC> but FrmGetActiveForm isn't a function in this file, and I can't tell where it's imported from.

15:39:01 <darobin> then it's not complying to guidelines (or has a good reason)

15:39:02 <DanC> dajobe, got a test for that bug?

15:39:57 <DanC> hmm... i seem to run into lots more perl stuff that doesn't comply to guidelines than perl stuff that does.

15:40:03 <dajobe> not really, I put FROM, WHERE and LIMIT the wrong way round (should be that way, I put them LIMIT, WHERE, FROM)

15:40:46 <darobin> DanC: in fact, the oldest version of Perl I can find (from 1996) has those guidelines outlined strongly in Exporter, where such things are documented

15:40:58 <darobin> we mustn't be looking at the same kind of Perl code

15:41:38 <DanC> ok, this seems to be part of perl itself... /usr/lib/perl5/Tk/demos/widget_lib/image2.pl

15:41:52 <darobin> nope, Tk isn't

15:41:57 <darobin> and it's quite ancient...

15:42:21 <darobin> I know I never did such things and I have put my share of code on CPAN

15:42:23 <DanC> hmm... /usr/lib/perl5/Tk suggests it's part of perl5, but ok...

15:42:44 <darobin> they're the libs for Perl5

15:43:05 * DanC checks /usr/local/src/amphetadesk-src-v0.93/AmphetaDesk.pl

15:43:21 * DanC can't read use FindBin qw($Bin);

15:43:23 * darobin smiles at DanC's persistence :)

15:43:52 <darobin> that means use FindBin and pass the $Bin variable to its import() method

15:43:54 <DanC> so... init( "1.0" ); where does that come from?

15:44:37 <DanC> but that's the 1st occurrence of $Bin. wtf does that mean?

15:44:38 * darobin tries emacs file://DanC/usr/local/src/amphetadesk-src-v0.93/AmphetaDesk.pl but it doesn't work

15:45:09 <darobin> what's amphetadesk? rings a bell but I don't know it

15:45:39 <crschmidt> aggregator

15:45:41 <crschmidt> morbus wrote it

15:45:41 * darobin found it

15:46:02 <crschmidt> http://cvs.sourceforge.net/viewcvs.py/amphetadesk/AmphetaDesk/AmphetaDesk.pl?rev=1.75&view=markup

15:46:19 * DanC looks at http://cvs.sourceforge.net/viewcvs.py/amphetadesk/AmphetaDesk/AmphetaDesk.pl?rev=1.75&view=markup

15:46:45 <DanC> so there we see init( "1.1" );

15:46:49 <DanC> where does init() come from?

15:47:22 <darobin> ah, I see

15:47:25 <crschmidt> AmphetaDesk.pm says: "@EXPORT = qw( init );"

15:47:29 <darobin> right

15:47:41 <crschmidt> (from http://cvs.sourceforge.net/viewcvs.py/amphetadesk/AmphetaDesk/lib/AmphetaDesk.pm?rev=1.47&view=markup )

15:48:26 <DanC> so the only way to know where init() comes from is to read all the use'd modules. Just like java.

15:48:37 <darobin> yes

15:48:38 <DanC> this is typical of the perl code I come across.

15:48:51 <darobin> well, like I said, we don't seem to come accross the same Perl code :)

15:49:47 <DanC> ok, well, it's interesting to know that it's frowned upon by at least some part of the perl community... but I think the AmphetaDesk guys are pretty proud of their code, and they don't seem to be embarrased by this at all.

15:50:24 <DanC> no "excuse me" or explanation by @EXPORT = qw( init );

15:50:47 <perigrin> Alot of people in the perl community are proud of doing things that are generally frowned upon. See also Perl Golf.

15:50:57 <crschmidt> Like all other programming languages, there are... yeah. That.

15:50:59 <DanC> .g Perl Golf

15:51:09 * crschmidt has run into Python packagese that encourage "from package import *"

15:51:12 <phenny> Perl Golf: http://perlgolf.sourceforge.net/

15:51:15 <darobin> I think "use AmphetaDesk" is meant to be something you only do in a small wrapper script

15:51:51 <crschmidt> darobin: well, the rest of the code seems to do similar things: WebServer exports start_webserver, forbidden, start_radio_webserver, headers, not_found

15:52:03 <DanC> really, crschmidt? widely-used ones like AmphetaDesk? and not something like Tkinter, which has "excuse me" written all oer it

15:52:32 <crschmidt> DanC: I think it was something related to wxPython, no idea how popular it is or was, I know it's been rewritten since such that it's no longer the case

15:52:50 <crschmidt> DanC: I was learning wxPython before I knew Python, so I didn't even realize it was frowned upon at the time, I was just copy pasting from example code

15:53:02 <DanC> yes, that's the dangerous pattern.

15:53:18 <darobin> I'm pretty sure you won't find that sort of stuff much in the XML:: namespace for instance

15:53:47 <DanC> can you explain the $Bin thing to me? it seems to be used before it's assigned

15:53:47 <crschmidt> vis http://forums.belution.com/en/python/000/002/17.shtml , http://forums.belution.com/en/python/000/002/26.shtml which say "Don't do from wxPython import *, do from wxPython.wx import *"

15:54:03 <crschmidt> (Just a random example found while googling)

15:56:11 <crschmidt> documentation on the wxPython wiki does the same thing: http://wiki.wxpython.org/index.cgi/MouseOvers for example

15:56:55 <DanC> ew. spaces around dots? self . whotocall = whotocall

15:56:59 <darobin> DanC: it's passing the $Bin variable *name* and asking FindBin to define it

15:57:37 * DanC blinks

15:57:50 <perigrin> darobin any clue what use lib means without a parameter? I didn't realize you could call lib without passing in anything.

15:59:23 <jsled> most of those wxPython examples are still informally namespaced. [wxPython.wx.]wxButton

15:59:58 <darobin> perigrin: no idea, but then TBH I'm not liking this code much. It uses a bunch of more or less deprecated stuff like FindBin (module in top level namespace) and XML::Parser

16:00:59 <perigrin> I've used Amphetadesk once, I didn't particularly like that it setup a localhost webserver ... but I didn't crack it open.

16:02:12 <DanC> ok, well, darobin, you've taught me that the perl language discourages ambiguous imports; somebody has to explicitly aim the gun at their own foot ala @EXPORT = qw( init );

16:02:35 * darobin fails to find illicit messing anywhere under http://search.cpan.org/~rberjon/ even though he was afraid he might find one

16:03:33 <perigrin> DanC and even then the community considers doing that a BadThing (tm)

16:03:34 * DanC still struggles to read use XML::NamespaceFactoryqw();

16:03:46 <darobin> right, except that's actually pointing a foot at someone else's foot :)

16:03:55 <DanC> well, some parts of the community. Other parts of the community don't seem bothered by it at all

16:04:05 <darobin> DanC: that means "import nothing even if the damn module exports something by default"

16:04:11 <darobin> I tend to program defensively

16:04:31 <perigrin> Well how about "even the documenters of Exporter consider that a bad thing"

16:05:02 * DanC considers learning the qw() syntax... vs. "be innocent of what is evil"

16:05:33 <DanC> more syntax i don't grok: no strict 'refs';

16:06:20 <darobin> DanC: most people don't learn the qw() and don't run into problems because few modules export by default

16:06:20 <crschmidt> i think that's telling perl to not complain about broken code of some kind

16:06:30 <darobin> crschmidt: exactly :)

16:06:41 <darobin> it means you can create symbolic references

16:06:53 <perigrin> in that lexical scope

16:06:59 <DanC> I get the gist of no strict 'refs'; but I don't know how to parse it. Is there a "no" statement in perl?

16:07:03 * crschmidt only knows he has seen LiveJournal code complain "Can't do foo while strict refs enabled"

16:07:23 <crschmidt> i think no sounds like the oppisite of "use", for built in type stuff

16:07:28 <darobin> DanC: I guess you're looking at Class::ArrayObjects. That's an example of using import to define things somewhere else when asked to

16:07:38 * DanC is looking at http://search.cpan.org/src/RBERJON/XML-CommonNS-0.02/CommonNS.pm

16:07:40 <darobin> there is a no statement, it's the reverse of use

16:07:48 <darobin> or rather, it calls unimport() in that module

16:08:44 <DanC> I guess the canonical doc for perl is the man pages, yes? exhaustive enumeration, not successive elaboration. So to learn perl, you pretty much need something else.

16:09:19 <DanC> hmm... I see some "tut" man pages...

16:09:45 <darobin> yeah, the man pages are quite exhaustive and have lots that isn't just descriptive

16:09:47 * DanC googled for "perl" and clicked "documentation" and followed his nose to http://search.cpan.org/dist/perl/pod/perl.pod

16:09:53 <darobin> you can always do perldoc module too

16:10:04 <DanC> I'm looking for documentation on the module system

16:10:09 <darobin> the canonical doc is Programming Perl 3rd edition really :)

16:10:14 <perigrin> perldoc perlmod

16:10:29 * darobin has to get back to $work at some point

16:10:33 <perigrin> perlmod being the pod for Modules.

16:10:46 <DanC> ugh... perlmod is deep in the "Reference" part of the perl man page. no perlmodtut?

16:11:07 <DanC> hmm... "perlmodlib Perl modules: how to write and use"

16:11:30 <perigrin> and perhaps perlmodstyle

16:12:12 <perigrin> It's been a while since I read the pods, and I know there was at one point an effort to make them better.

16:12:29 <darobin> perlmodlib says don't export unless you have to

16:13:49 <GabeW> you should be able to send email to xri-comments@list.oasis-open.rog

16:13:52 <GabeW> woops

16:16:01 * GabeW meets HiroProtagonist at (0,0)

16:16:08 <KjetilK> perltoc is an overview of the manpages, btw

16:17:08 <perigrin> also the new http://perldoc.perl.org/index-language.html should be the language related manpages in web readable form.

16:19:24 * crschmidt adds paragraph of intro to DOAP-a-Matic Mark 2

16:20:02 <DanC> hmm... no examples in the first few pages of perlmodstyle. but eek... the first example on perlmod is: local *main::foo = *main::bar;

16:20:48 <DanC> 1st example in perlmodlib is no integer;

16:20:54 <DanC> my kingdom for a "hello world" use of perl modules!

16:23:12 <perigrin> hmm yes perhaps starting with teh Symbol Table is not a good idea there.

16:24:27 <KjetilK> I guess my little Geo::Coordinates could be a little example, even if it doesn't say anything...:

16:24:29 <KjetilK>http://search.cpan.org/src/KJETILK/Astro-SolarParallax-0.04/lib/Geo/Coordinates.pm

16:24:30 <dc_swig> C: http://search.cpan.org/src/KJETILK/Astro-SolarParallax-0.04/lib/Geo/Coordinates.pm from KjetilK

16:24:37 <KjetilK> ah, well

16:25:02 <KjetilK> C:| A small Perl module for geographic coordinates

16:25:02 <dc_swig> Titled item C.

16:28:21 <DanC> er... thanks, but what I really want is part of the canonical perl documentation that shows how modules are supposed to work.

16:28:42 <DanC> all I've found so far is evidence that only the truely persistent will ever discover how they're supposed to work

16:29:49 <perigrin> Well part of the problem is they're very simple. You use the package keyword to declare a namespace and anything in that namespace can be treated like a module.

16:31:18 <DanC> yes, well, RDF is simple in that way too. That's why the RDF primer is like 10,000 pages. sigh.

16:31:29 <KjetilK> I think that the best angle to Perl modules is through OOP,

16:31:47 <perigrin> DanC and possibly why I adore RDF.

16:31:54 * DanC tries perlboot

16:32:13 * darobin fears perlboot might be ancient

16:32:25 <KjetilK> perltoot is probably better

16:32:35 <darobin> DanC: I wasn't joking when I said that the canonical doc is Programming Perl 3

16:32:42 <darobin> s/3/3e/

16:33:02 <perigrin> OO perl is probably Damian's Object Oriented Perl

16:33:15 <perigrin> which taught me more about OO than anything I've read before or since.

16:33:57 <dajobe> awww. /me bless { perigrin }

16:34:54 <perigrin> well you need to pair perigrin in that case since you're creating a hash ref.

16:35:04 <perigrin> :)

16:35:59 <DanC> ah... perltoot looks responsive to my query... [[

16:35:59 <DanC> use Person;

16:35:59 <DanC> $him = Person->new();

16:35:59 <DanC> $him->name("Jason");

16:36:00 <DanC> ]]

16:36:37 <DanC> and [[ package Person; ...]]

16:37:39 <DanC> if perlboot is ancient, what's it doing in the canonical docs? that's a real problem with the "there's more than one way to do it" philosophy. it makes it very inefficient to come up to speed

16:37:39 <KjetilK> yiihaa! :-)

16:38:17 <DanC> with python, you've got the same guy writing the implementation and the tutorial. That's a feature.

16:38:43 <DanC> (well, in the early days of python. I doubt guido still maintains the tutorial)

16:39:30 <DanC> it seems cruel to inflict this on tutorial readers: my $class = shift;

16:39:45 <DanC> why not my($class) = @_;

16:39:49 <DanC> phpht. not much better.

16:40:17 <DanC> is there really no normal parameter passing syntax? sub new($class) { ... } ?

16:40:43 <perigrin> no, because Perl has no formal parameter passing syntax.

16:40:55 <perigrin> There are modules out there to provide it ... I think ... and Perl6 will have it.

16:41:06 <DanC> modules that change the syntax?!?!?

16:41:39 <perigrin> Yes, Python has source filters too right?

16:42:12 <perigrin> Or was I thinking of Ruby or something ... hrm.

16:42:46 <perigrin> Again you have to explicitly *ask* for your syntax to be changed... but you're more than welcome to shoot that foot off too.

16:43:22 <DanC> hmm... packages and classes seem to be lumped together. is that right?

16:43:39 <perigrin> Yes, there's really no huge distinction ... A Class isa Package.

16:43:53 <perigrin> That happens to have a method that returns and object.

16:44:09 <DanC> hmm... ouch... that's very different from what I'm used to. but ok.

16:44:32 <perigrin> I've used a number of different systems and I still like that one best because it's dead simple.

16:44:54 <DanC> more cruelty-to-tutorial-readers... ++ ${ $self->{"_CENSUS"} };

16:45:35 * DanC is perfuddled

16:45:54 <perigrin> what's going on there ... incrementing teh value stored in $self->{"_CENSUS"} it looks like.

16:46:04 <DanC> $self->{"_CENSUS"} = \$Census;

16:46:04 <DanC> bless ($self, $class);

16:46:04 <DanC> ++ ${ $self->{"_CENSUS"} };

16:47:43 <perigrin> Ahh yes, that's what's going on. $self->{_CENSUS} contains a reference to the scalar $Census ... $self is a reference to a Hash with the key _CENSUS, at that key the value is a reference to the scalar $Census

16:48:13 <perigrin> so you have to do two dereferences ${ $self->{"_CENSUS"} } to get to the actual value ... that you want to increment ++

16:48:33 <DanC> but my point is: you're an Nth level perl priest, and it took you a while to figure that out. And it's in a tutorial... and not a tutorial on scalar reference gymnastics.

16:49:04 <perigrin> Right, for some reason Modules are considered middle to advanced Perl foo and so they expect you know alot of stuff that perhaps you don't or shouldn't.

16:49:12 <perigrin> Objects doubly so.

16:49:50 <DanC> ok, I think that's enough perl-doc-spelunking for me today. thanks for holding my hand.

16:49:52 <darobin> I'm not sure that's true anymore

16:50:00 <darobin> DanC: :)

16:50:01 <DanC> oh?

16:50:09 <perigrin> darobin it shouldn't be true, but I don't think they've updated the docs since then.

16:50:20 <darobin> perigrin: yeah those docs need a cleanup

16:50:40 <darobin> these days people who learn Perl learn it the OO way immediately I seem to notice

16:50:53 <perigrin> It's so seductive and easy ...

16:50:58 <DanC> there's so much money to be made in teaching perl foo and writing books... I can see how the canonical docs fall into disuse.

16:51:02 <darobin> though they're probably learning through the book, not through the docs

16:51:25 <darobin> DanC: I don't think that's the reason really

16:52:03 <darobin> large parts of a lot of those books have been made free, etc.

16:52:23 <DanC> right, but they started as paying gigs, not as collaborative work

16:52:30 <perigrin> Actually there's a large-ish tut on the website for Damian's book in a PDF.

16:53:10 <DanC> it's "there's more than one way to do it" in action. the community doesn't value canonical docs, by credo

16:53:27 <darobin> that's true

16:53:52 <darobin> I find that a feature

16:54:04 <DanC> diffrn't strokes

16:54:15 <perigrin> I actually do as well. But I can understand how frustrating it can be.

16:54:21 * darobin too

16:54:51 <darobin> people who learn with primers probably have more trouble, people who learn with references less so in general

16:55:50 * DanC has made an effort to see that the DAWG is the source of learning materials for SPARQL, and not just reference materials

16:56:10 <DanC> well, a primary source, anyway

16:56:19 <darobin> that's probably a good idea

16:56:20 <perigrin> The only thing I can say is at least there is a *lot* of documentation out there. I recently tried learning Java without spending alot of money and ended up with a Safari account.

16:56:52 * darobin wishes the SVG WG had more resources to put into learning material

16:56:59 <DanC> when I worked on the HTML spec, I said "let them learn from a book".

16:57:24 <darobin> then you saw the quality of the books that came out? :)

16:57:39 <DanC> But they did, and (a) the books weren't always consistent with the specs (why should it be?) and (b) we missed out on the feedback from people who are learning. A design that's hard to teach is a bad design.

16:58:13 * DanC wanders off for food...

16:58:23 <perigrin> I learned HTML first from what was in teh wild, then from reading teh Spec. The same with Perl and XML.

17:04:07 <dajobe> that's an html spec?

17:05:35 <perigrin> hmm?

17:06:23 <dajobe> sorry, joke error

17:06:43 <perigrin> heh

17:08:20 * perigrin goes to find lunch.

18:03:03 <DanC> how is "don't underline links" spelled in CSS?

18:03:34 <dajobe> something like a:visited { ... }

18:03:41 <DanC> A:link {text-decoration: none}

18:03:41 <dc_swig> Added comment A3.

18:03:47 <dajobe> lol

18:03:50 <DanC> A3:""

18:03:50 <dc_swig> Deleted comment A3.

18:03:54 * DanC found that in http://www.echoecho.com/csslinks.htm

18:04:10 <dajobe> you need to usually do it multiple ways to work around browser bugs

18:04:15 <dajobe> see www.w3.org's css

18:04:36 <DanC> I'm configuring Amaya, not writing a document

18:05:20 <DanC> amaya 9.1 has nice fonts and modern widgets and such. v. nice

18:05:55 <dajobe> it's gtk/osx/windows these days

18:05:57 <dajobe> ?

18:06:04 * DanC installed http://www.w3.org/Amaya/Distribution/amaya_wx-9.1-1_i386.deb

18:06:23 <DanC> seems to be gtk. dunno about other platforms

18:06:32 <dajobe> I thought you were osx

18:06:46 <DanC> my laptop is osx. I'm intentionally multi-platform

18:06:52 <dajobe> wx tends to suggest wxwindows

18:07:29 <dajobe> yup, that's it

18:08:15 <dajobe> $ strings /usr/bin/amaya|grep raptor|wc -l

18:08:15 <dajobe> 34

18:09:12 <darobin> yes, IIRC v9 is the port to wx so it's more multiplatform

18:09:39 <darobin> it used to be quite hard to get it up and running on OSX

18:09:52 <crschmidt> ooh, i should be able to use amaya now? nifty

18:10:24 <darobin> supposedly yes, I haven't tried yet

18:12:58 <crschmidt> fink install amaya fails, going to ry fink selfupdate-cvs first (I don't think I've ever updated fink since I got my powerbook back 8 months ago)

18:13:32 <crschmidt> btw, added some extra fields to the doapamatic mark 2, and some color coding for visual cues - will be adding more as I get time

18:16:50 <crschmidt> oh, just realized there's no 9.* release for os x yet

18:17:07 <crschmidt> 8.7 still uses X (so probably gtk)

18:18:02 <dajobe> hmm, v9 is nice

18:18:45 <crschmidt> v8 is still just as ugly as I remember it being :)

18:30:09 * bengee wonders if the where keyword in sparql is optional (grammar section says WhereClause ::= 'where'? GraphPattern)

18:30:28 <dajobe> I asked the very same question

18:30:33 <dajobe> no reply yet

18:30:41 <bengee> 'k

18:32:57 <bengee> as the '{' is mandatory, it doesn't seem to make parsing more complicated, though

18:38:41 * DanC tries to install xsv in order to schema-check an article for developerworks... get stuck on PyLTXML dependency

18:38:55 <bengee> the language ref is very nice, btw, dajobe

18:39:04 <dajobe> ta

18:40:47 <crschmidt> dajobe: have you put thought into a turtle serializer for raptor?

18:41:11 <dajobe> thought yes, code no

18:41:27 <dajobe> it'd be the same algo as the rdfxml-abbrev serializer pretty much exactly, but emitting turtle

18:41:35 <dajobe> however the rdfxml-abbrev has bugs

18:41:35 * crschmidt nods, that's what I was thinking

18:42:57 <dajobe> you know where the cvs is :)

18:43:06 <crschmidt> yep

18:43:22 <crschmidt> I feel bad always making you fix my bugs, and I want to help somewhere with improving redland

18:43:46 <crschmidt> just seems that most stuff is way over my head, so trying to come up with something useful i might be able to do

18:44:02 <dajobe> the php thing would be good

18:45:03 <crschmidt> That's coming along, actually, although I have no idea what the PHP convention is for things like it

18:45:33 <crschmidt> ie do they get shoved in a directory somewhere, or do people include them seperately

18:45:58 <dajobe> :)

18:46:00 <crschmidt> bigger problem is I have no idea how to make it clean up the world var when it's done automatically

18:46:28 <dajobe> I think that happens on module unload which could be too late I guess

18:46:41 <crschmidt> oh, i meant to ask you: You can't destroy the world variable before the rest of your stuff, right? I tried it at one point, caused php to segfault, so I assumed it wasn't the right thing to do

18:46:41 <dajobe> you could keep 1 world around all the time I suppose, if you closed everything down properly

18:46:59 <dajobe> yes that would crash things

18:47:12 * crschmidt nods

18:47:32 <crschmidt> I expected that, but always good to double check :)

18:47:56 * crschmidt curses PHP objects not having destructor methods

18:53:34 <crschmidt> ooh, yay. Fixed a segfaulting bug

18:53:55 <crschmidt> have to always check if ($this->finished) before calling query_result_to_string

18:57:29 <deltab> welcome, paolino

19:03:50 <Wack> crschmidt: "That's coming along, actually, although I have no idea what the PHP convention is for things like it" <- assuming 'it' is a php library/module, you might want to look at http://pear.php.net

19:05:28 <Wack> they have packaging, auto-downloading and installation scripts for php libraries

19:06:22 <Wack> they even have a semantic web category ;)

19:08:37 <crschmidt> Wack: the goal for this would be to be something that could be installed in the Redland process, though, since it's useless without Redland (and redland-on-php is much less useful without it)

19:09:30 <crschmidt> Wack: And I'm pretty sure that PEAR installs into its own directory (which is then added to PHP's library path), which is something that Redland wouldn't really want to do: so I'm basically looking for the equivilant of the /usr/lib/python2.3/site-packages directory for PHP

19:09:46 <Wack> that's pear, basically

19:10:00 <Wack> (the site-packages equivalent)

19:11:11 <Wack> redland could install the wrappers into the pear directory then; since it's included by default in the default php library path (I think, been a long while since I last used php and pear was just barely out of development at the time ;)

19:11:25 <crschmidt> It's not on mine

19:11:52 <crschmidt> but it seems php-config --extension-dir tells the right place to put stuff

19:12:13 <Wack> ah ok, there was talk of including a base pear install with php by default at the time; apparently never got that far :]

19:12:51 <dajobe> hmm, php-config --extension-dir is where redland php installs normally IIRC

19:12:56 * dajobe goes off for food

19:13:04 * crschmidt nods, that sounds like I'm in the right mindset then

19:13:27 <Wack> hmm "The base installation that comes with the PHP distribution as part of the PFC, contains all the stuff that is needed to run the PEAR installation tools etc. If you have a recent installation of PHP, you can relax: The PEAR base installation is already there, unless you have compiled your PHP with the ./configure flag --without-pear."

19:13:42 <crschmidt> well, apparently debian distributes it that way :)

19:14:28 <mattmcc> Debian just keeps the pear bits in php4-pear, it doesn't use --without-pear.

19:14:32 <Wack> ah ok, debian likes to mess around with stuff like that; they pick apart python (distutils) for no apparent reason as well

19:15:27 <mattmcc> The reason is simple. Not everybody who uses python necessarily distutils. And Debian is meticulous in allowing you to use a package without using every optional piece of that package.

19:16:27 <crschmidt> now boys, no religious wars in #swig.

19:16:31 <crschmidt> :)

19:16:40 * crschmidt fixes julie's sparql interface, hooray

19:17:44 * crschmidt fixes xtech sparql interface as well

19:18:23 <crschmidt> (I did "if (!$res->finished)", rather than calling finished as a function, which meant that even if there were no results, it didn't realize it.)

19:21:11 <crschmidt> If anyone's using my redland PHP code, update to rev 26 ASAP :)

19:26:27 <darobin> (crashing FF and taking IRC out with it)--

19:35:10 <Mkflow> hi to all

19:44:23 <DanC> woohoo! "No schema-validity problems were found in the target"

19:44:24 <Mkflow> the only use of owl:intersection in OWL Lite is the follow? :

19:44:27 <Mkflow> <owl:Class rdf:ID="Woman">

19:44:27 <Mkflow> <owl:intersectionOf rdf:parseType="Collection">

19:44:27 <Mkflow> <owl:Class rdf:about="#Female"/>

19:44:27 <Mkflow> <owl:Class rdf:about="#Human"/>

19:44:27 <Mkflow> </owl:intersectionOf>

19:44:27 <Mkflow> </owl:Class/>

19:44:41 <Mkflow> sotty for code-pasting, lines are few.

19:46:13 <Mkflow> intersections can't appear in subclass, nor in restrictions, nor in equivalentclass, where can they appear ?

19:46:28 <Mkflow> nor in range.

20:37:24 <DanC> ^travel DanC

20:37:25 <julie> Boston 2005-03-01, Minneapolis 2005-03-07, Amsterdam 2005-05-24, Washington 2005-04-26, Cambridge 2005-06-14, Edinburgh 2005-09-20, Boston NaN-02-26, Boston NaN-NaN-01

20:38:49 <DanC> ^q select ?pg, ?when where (?e caltz:url ?pg) (?e cyc:socialParticipants ?who) (?who foaf:nick "DanC") (?e caltz:dtstart ?when)

20:38:49 <julie> 2005-03-01 http://www.w3.org/2004/12/allgroupoverview.html, 2005-06-14 http://www.w3.org/2001/tag/, NaN-02-26 http://www.w3.org/2004/12/allgroupoverview.html, 2005-09-20 http://www.w3.org/2001/tag/, 2005-05-24 http://www.xtech-conference.org/, 2005-04-26 http://www.w3.org/2004/12/rules-ws/, NaN-NaN-01 http://www.w3.org/2004/12/allgroupoverview.html

20:40:25 <DanC> Mkflow, julie got that data from http://www.w3.org/People/Connolly/travel-sched (which I derive using XSLT from http://www.w3.org/People/Connolly/ )

20:40:54 <DanC> well, actually, I use xslt and cwm and a bunch of stuff to get travel-sched. travel-sched has lat/long mixed in, for example

20:41:32 <DanC> ^q select ?pg, ?when ?LAT ?LON where (?e caltz:url ?pg) (?e cyc:socialParticipants ?who) (?who foaf:nick "DanC") (?e caltz:dtstart ?when) (?e cyc:eventOccursAt ?where) (?where geo:lat ?LAT) (?where geo:lon ?LON)

20:41:33 <julie> Query returned no results

20:42:30 <DanC> ^q select ?pg, ?when ?LAT ?LON where (?e caltz:url ?pg) (?e cyc:socialParticipants ?who) (?who foaf:nick "DanC") (?e caltz:dtstart ?when) (?e cyc:eventOccursAt ?where) (?where geo:lat ?LAT) (?where geo:long ?LON)

20:42:31 <julie> 42.37046814 -71.02747345 NaN-02-26 http://www.w3.org/2004/12/allgroupoverview.html, 52.29999924 4.76999998 2005-05-24 http://www.xtech-conference.org/, 42.37046814 -71.02747345 NaN-NaN-01 http://www.w3.org/2004/12/allgroupoverview.html, 42.37829590 -71.13044739 2005-06-14 http://www.w3.org/2001/tag/, 38.90856934 -77.01797485 2005-04-26 http://www.w3.org/2004/12/rules-ws/, 55.95000076 -3.34999990 2005-09-20 http://www.w3.org/2001/tag/, 42.37046814

20:42:31 <julie> -71.02747345 2005-03-01 http://www.w3.org/2004/12/allgroupoverview.html

20:44:15 * crschmidt wonders what spawned the conversation, since mkflow seemed to be asking about OWL stuff

20:44:52 * DanC was responding to private inquiry

20:45:42 <crschmidt> ah, okay

20:45:44 <Mkflow> yes, there weren't those the answers to my past question

20:46:10 <Mkflow> perhaps, i think.

21:59:00 <kasei> libby: anything i need to be aware of when trying to use pigsty?

21:59:09 <kasei> not having much luck with it :(

22:00:39 <libby> hmmmm

22:00:46 <libby> not tried it on non-macs

22:00:50 <libby> what are you using

22:00:56 <libby> ?

22:01:16 <kasei> a mac :)

22:01:19 <libby> I did read something that some of the files the mac puts in the filessystem can bork it

22:01:22 <libby> heh

22:01:23 <libby> ok

22:01:29 <libby> you need firefox 1.0 I think

22:01:41 <kasei> the extension installed fine, but i can't get a sidebar.

22:01:43 <libby> does it appear in the tools list?

22:02:04 <libby> it'll be me screwing up somehow

22:02:16 <kasei> ah, there we go.

22:02:22 <kasei> sorry. i'm being stupid.

22:02:58 * libby glad it's not me...no idea how to to debug it!

22:03:06 <kasei> heh

22:03:39 * libby rather embarrassed about the poor quality of that code

22:03:53 <sbp`> sbp` is now known as sbp

22:04:58 <kasei> how picky is it about the format of the images rdf?

22:05:29 <libby> fairly...

22:05:33 <libby> let me check

22:06:04 <kasei> do the foaf:Images need to be children of rdf:RDF, for example?

22:06:18 <libby> no

22:06:33 <kasei> ok. it'll find any images as long as it's in the rdf?

22:06:55 <libby> yeah I think so, just working out if it uses type image

22:07:06 <kasei> ok

22:07:19 <bandri> kasei++, re http://kasei.us/code/files/RDF-Query-1.010.tar.gz

22:07:29 <kasei> the seeAlso has to be a wn:Gallery-3, though, right?

22:07:32 <libby> yep kasei

22:07:36 <libby> yep

22:07:49 * crschmidt thinks there should be some class for that, although can't think of one

22:07:51 <kasei> libby was embarrassed at pigsty, i'm embarrassed by that. it's a big hack :)

22:07:55 <libby> it really needs a thumbnail too or it won't show up

22:08:06 <kasei> ok, that's not a problem.

22:08:10 <libby> big hacks++

22:08:15 <kasei> now just need to add the galleries

22:08:33 <libby> be warned it does get very tired

22:08:38 <kasei> well, I had most of the code lying around from way back when i did an rdql engine.

22:08:49 <bandri> even just having a parser for the new sparql syntax so soon... that's great

22:09:02 <crschmidt> it's all some nifty perl thing!

22:09:05 <kasei> which is why it doesn't yet do optionals and things that are ddramatically different from rdql

22:09:06 <crschmidt> I was like, "whoa, nifty perl thing!"

22:09:07 <bandri> hopefully there'll be a sparql test suite some day...

22:09:26 <dajobe> there are tests

22:09:41 <dajobe> and there are 2, now 3 new syntax parsers already

22:10:05 <bandri> 3 cool... which?

22:10:32 <dajobe> arq, rasqal, albertos

22:10:40 <libby> [re the pigsty thing, I think it might work best where latest pics are put up, and changed regularly, otherwise it'll just run slow and there won;t be any motivation for using it really

22:10:41 <dajobe> + whatever kasei and others do

22:10:42 <bandri> i didn't think alberto had done one yet

22:10:58 <libby> course, we'll need limit and order by for that :)

22:16:43 * crschmidt sits down to work on more redlandphpwrapper

22:17:27 * crschmidt starts removing things not in RDF.py from his PHP TODO

22:19:14 <crschmidt> for example, anything with "factory" in the name is gone

22:19:25 <libby> 200m triples, cool! http://www.ldodds.com/blog/archives/000199.html

22:19:35 * libby hopes the paper gets in

22:20:15 <crschmidt> wow, that's a lot of triples

22:20:32 <kasei> nice

22:20:39 * crschmidt was proud of his two million :(

22:21:22 <libby> 2m is cool too!

22:21:46 <libby> they had a lot of data lying round, that's one problem

22:22:01 <mattmcc> It's not quantity that matters.. :)

22:22:12 <crschmidt> it's what you do with it?

22:22:20 <crschmidt> ^travel DanC

22:22:20 <julie> Boston 2005-03-01, Minneapolis 2005-03-07, Amsterdam 2005-05-24, Washington 2005-04-26, Cambridge 2005-06-14, Edinburgh 2005-09-20, Boston NaN-02-26, Boston NaN-NaN-01

22:22:30 <crschmidt> I think julie has led people to come up with some pretty neat things

22:23:10 <libby> yes indeed

22:26:32 <kasei> hmm... i see what you mean about pigsty getting stuck on the data...

22:26:59 <libby> yeah :/

22:27:13 <libby> I might try using the built-in rdf parser

22:27:32 <kasei> weird. it looks like it's stuck on the data, but it's not taking any cpu time.

22:27:34 <libby> though jim's has been cgreat, but the built-in one is C++ I think, should be faster

22:30:58 <crschmidt> hm

22:31:04 <crschmidt> seems that php doesn't have librdf_model_print...

22:31:18 <crschmidt> oh, that's the one that uses a filehandle

22:31:34 <dajobe> can't use it across languages, no binding has it

22:31:41 <dajobe> use serialize methods

22:34:05 * crschmidt nods

22:34:38 <crschmidt> my TODO is basically just copy pasted from the API doc right now, so I'm going through and running function_exists on all of the functions to see what I can remove

22:35:06 <dajobe> Redland.i is the bindings interface file

22:35:08 <dajobe> it lists all the functions

22:35:29 <dajobe> find it with: redland-config --swig

22:36:12 <crschmidt> ah, thanks

22:36:29 <dajobe> nothing with a file handle FILE* is across the api

22:41:18 <crschmidt> hm, all the methods that storage duplicates from model aren't exported?

22:42:24 <crschmidt> get_sources and so on. suppose that's a good thing to know, since I think I already implemented one of them without testing :)

22:49:06 <dajobe> most nothing of storage needs to exported

23:35:01 <nsh> does anyone feel up to explaining the abstract mathematical model that RDF reduces to? (or explain why that is a bad question)

23:35:32 <tlr> Well, it's a bad question because it's 01:35 my time.

23:35:54 <nsh> only an hour earlier here :-)

23:36:29 <tlr> But if you're curious about it, take a look at RDF concepts and abstract syntax. http://www.w3.org/TR/rdf-concepts/

23:37:14 <tlr> From there, you can go to RDF Schema, and OWL.

23:37:55 <nsh> mmm

23:38:09 <tlr> Oh, and of course into RDF Semantics, http://www.w3.org/TR/2004/REC-rdf-mt-20040210/

23:38:59 <tlr> Read concepts first, then semantics.

23:39:54 <nsh> ok. simple question: are URIs globally unique?

23:40:11 <tlr> unique in what sense?

23:40:46 <tlr> good evening dan. What continent are you on?

23:41:40 <nsh> trl: (there is a unique string for a resource)

23:42:31 <tlr> I'm still not sure I understand the question.... I.e., what would you mean by non-unique?

23:42:47 <tlr> Basically, if you have a single URI and you make a bunch of statements, then it's the same URI in all these statements.

23:43:50 <tlr> There's no way to say "this is http://www.w3.org/ as used in statement a, and that is http://www.w3.org/ as used in statement b."

23:44:05 <nsh> ok

23:44:16 <nsh> so a particular string can only refer to one UR

23:44:21 <nsh> *resource

23:45:04 <tlr> Well, there is a difference between a URI used as a resource and a uri used as a string.

23:45:08 <tlr> "string" as in "literal"

23:45:47 <nsh> not to humans :-)

23:46:34 * nsh gets on with reading.

23:46:37 <nsh> thanks for your time

23:46:53 <crschmidt> sure there is: <http://crschmidt.net/> vs. "http://crschmidt.net/" :)

23:48:32 <tlr> Well, to begin with, a literal can't appear as a subject or predicate, but a URI reference can.

23:51:45 * nsh nods


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.