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-01 > 2005-01-26 (Latest) (Search)
01:12:21 <Skyline> Skyline is now known as pjenvey
01:38:05 <Greylensman> Is the N3 shindig tomorrow?
01:40:10 <crschmidt> Yep, supposed to be
01:43:56 <sbp> yep
02:05:26 <Greylensman> sbp, is there an updated online agenda?
02:17:54 <Greylensman> how about an outdated, hidden agenda?
02:33:52 <sbp> Greylensman: only the one in http://lists.w3.org/Archives/Public/public-cwm-talk/2005JanMar/0001
02:42:07 <Greylensman> Item 2 is interesting: "* @keywords usefulness/viability, and N3 pre-processing"
02:43:37 <timbl_> Thanks sbp!
02:44:10 <timbl_> For "issues with n3.n3' -- do you have a list to start with or a pointer?
02:45:49 <timbl_> maybe a second part f sets is the set reification: can't use owl:oneOf, will use set:xxx
03:08:14 <sbp> the only issue I actually remember is the empty-QName problem
03:08:39 <sbp> I think that more will come out whilst working on the negative test suite; I haven't made a start on that yet, as I explained to Yosi a tad ago on the list
03:09:11 <sbp> I think Greylensman came across one or two--still around, Greylensman? have you made a shortlist of bugs?
03:10:30 <sbp> I followed DanC's role noun discussion the other day, incidentally. I was proposing n3:setOf, I think, but it certainly doesn't work too well when you consider @is n3:setOf @of
03:11:12 <timbl_> excatly - that's not a role noun, has the same probrlm as subclassOf
03:11:30 <sbp> but on the plus side, it has owl:oneOf as a precedent and so the link between them is more apparent (people who know OWL might be able to work out that n3:setOf is a sub-property)
03:11:37 * timbl_ trie sto remember the proposals
03:11:43 <timbl_> n3:list
03:12:01 <timbl_> (1 2 ) is n3:list of ?s.
03:12:33 <timbl_> (1 2) set:members ?s.
03:12:46 <timbl_> (1 2) list:members ?s.
03:13:12 * yosi_ just got back from MIT
03:13:38 <sbp> set:members owl:inverseOf n3:list?
03:14:10 <sbp> I also have some misgivings over using a list for this anyway. it means that you can't compare sets using graph isomorphism
03:14:57 <sbp> rdf:List is ordered intrinsically in the graph, so anything that you want to have recognize an rdf:List as a set is necessarily going to have to have built-in knowledge of sets
03:15:00 <Greylensman> sbp, the empty QName problem is only I had.
03:15:00 <yosi_> I've been running into that for the cwm regression tests
03:15:08 <sbp> Greylensman: cool
03:16:20 <sbp> the only thing that [ n3:list (p q r) ] gives you over [ :member p, q, r ] is completeness. I suppose that is a requirement though...
03:16:35 <yosi_> sbp, while integrating cwm and n3p, I had a problem with the fact that n3mp uses rdflib and rdflib wasn't happy with the regexp I was using to allow unicode qNames
03:17:06 <sbp> oh? what error did you get?
03:17:24 <sbp> eikeon is semi-hacking on integrating n3p into rdflib, incidentally
03:17:35 <sbp> so he's active and probably accepting bug-reports/patches
03:18:06 <timbl_> Really?
03:18:32 <timbl_> maybe we are in the state to go over test cases.
03:18:34 <sbp> yep. see http://lists.w3.org/Archives/Public/www-rdf-interest/2005Jan/0178
03:20:40 <timbl_> I'd propose that everyone test their own parser against everyone else's test cases, and we discuss any differences in the ScheduledTopicChat.
03:21:05 <sbp> you want us to do that between now and 18:00Z tomorrow? :-)
03:22:53 * sbp goes a-huntin' for dajobe's Turtle test cases
03:23:55 <yosi_> it checks to make sure that things in NFC. One end of one of the ranges in the regexp for xml 1.1 qnames (in particular, \uf900)
03:24:15 <sbp> aha
03:24:36 <yosi_> is not in NFC
03:25:07 <sbp> NFC was dropped as a requirement from RDF/XML, but I guess it's still lying around in there
03:25:18 <sbp> BLURB:Turtle Test Cases
03:25:18 <dc_swig> A: Turtle Test Cases from sbp
03:25:59 <sbp> A:The [http://www.ilrt.bris.ac.uk/discovery/2004/01/turtle/#sec-conformance|Turtle conformance section] points off to [http://cvs.ilrt.org/cvsweb/redland/raptor/tests/turtle/|test cases for Turtle] and a [http://www.ilrt.bris.ac.uk/discovery/2004/01/turtle/tests.zip|tests.zip] file.
03:26:00 <dc_swig> Added comment A1.
03:29:57 <sbp> A:WARNING: the tests.zip file mentioned above inflates to the current directory. Always unzip -l first!
03:29:57 <dc_swig> Added comment A2.
03:30:39 <sbp> I need to write a script that'll inflate ((.tar)?(.gz|.bz2))|.zip files and check all that stuff automatically
03:34:28 <PhUrl> good morning
03:34:44 <IsoosI> hrm
03:40:45 <sbp> [[[
03:40:45 <sbp> # Tests for - and _ in names, qnames
03:40:46 <sbp> @prefix ex1: <http://example.org/ex1#> .
03:40:46 <sbp> @prefix ex-2: <http://example.org/ex2#> .
03:40:50 <sbp> ]]] - test-11.ttl
03:40:52 <sbp> that fails
03:41:24 <sbp> (([a-zA-Z_][a-zA-Z0-9_]*)?:)
03:41:31 <sbp> n3.n3 doesn't allow a - in there
03:42:10 <yosi_> I was running into that when running cwm's tests
03:43:01 <sbp> yeah, CWM allows - in there
03:43:01 <yosi_> so I replaces that with (([A-Z_a-z\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd\U00010000-\U000effff][\\-0-9A-Z_a-z\u00b7\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u037d\u037f-\u1fff\u200c-\u200d\u203f-\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd\U00010000-\U000effff]*)?:)
03:43:15 <sbp> ouch
03:43:24 <yosi_> then had to add \Uxxxxxxxx support to cwm
03:43:38 <yosi_> and ran into the rdflib NFC problem
03:43:48 <sbp> heh. hooray for i18n support
03:44:02 <timbl_> Yosi, could you post ptr to your test case manifest onto A?
03:44:11 <yosi_> I should check that file into cvs one of these days
03:44:15 <sbp> it'd be nice if you could do ${xml1:name} in Python
03:44:33 <sbp> Perl6 is looking like it's going to support nearly that
03:45:16 <timbl_> cwm's default n3 parser is not a validating parser. It errs on the side of being accepting.
03:45:18 <sbp> A:[http://www.w3.org/2000/10/swap/test/n3parser.tests|n3parser.tests], via DesignIssues/Notation3
03:45:18 <dc_swig> Added comment A3.
03:45:40 <sbp> yeah. same reason why I haven't worked on the negative test cases :-)
03:46:20 <sbp> but I'm surprised because I thought you might seek to exclude - specifically--I know you've been trying to reserve it for quite a while
03:50:02 * yosi_ observes that anything that is allowed will find its way into the tests
03:51:08 <sbp> a genetic algorithm to enumerate all the features of a language for a test suite would be great...
03:58:27 <Greylensman> I wish I had more time. My parser is SML based and is therefore strongly typed and I was anal retentive in over constraining the parser. In fact I can even "construct" an invalid N3 statement.
03:59:38 <Greylensman> sorry, can _not_ construct an invalid N3 statement.
04:01:09 <timbl_> genetic ... in fact I think that enumerating the possible instances could blow up rather quikly. But maybe taking existing test cases, parsing them, and then making random grammar-valid mutations to the parse tree and reserializing it would make test cases which would surface new bugs.
04:01:56 * timbl_ turns in for the night. Important schudled topic chat tomorrow :)
04:02:29 <Greylensman> sbp, I started working on an N3 grammar generater, which generates N3 statements "randomly". Along lines of qcheck and QuickCheck in Haskell.
04:03:54 <Greylensman> To get a feel for how it would work see http://contrapunctus.net/league/haques/qcheck/ scroll down to "Generating test cases randomly"
04:04:16 <grrrrr> i wrote a bot that sat in #rdfig for a number of months counting verb:noun pairs against the levin verb TOC
04:04:46 <grrrrr> never did anything with the hitosgrams but it did work
04:05:46 <grrrrr> the verb table of contents is about the best notion of a root english language skeloten as I can guess to naturally infer the structure of the language in natural usage
04:07:33 <grrrrr> since the levin verb index quantifies "meaning" in so many ways, this seemed to me to be the fastest way of making a naturally self-organized collection of facts to be solidified at a later point in time
04:08:44 <sbp> Greylensman: ah, interesting. but can it generate test cases which only marginally don't conform to the grammar?
04:09:20 * sbp is reminded a bit of jcowan's use of a script which generates *really* broken HTML for use in his TagSoup test suite
04:10:51 <Greylensman> I could. But I my intent was to generate only conforming wff.
04:12:44 * GabeW is throwing a "RFC 3986 and 3987" party
04:15:19 <sbp> heh
04:15:39 <GabeW> i thought I might die of old age before 2396bis and IRI became RFCs
04:15:56 <sbp> yes, as bjoern_ was saying, we can now register "empty" as a URI scheme and take over the world with "empty:" (this might seem an odd plan, but it makes sense)
04:16:10 <GabeW> neet
04:16:28 <GabeW> the timing for this couldn't be better for us in the XRI tc
05:31:51 <Greylensman> hmmm N3 qname regex still supports an "empty" qname, therefore dtlang <empty> can happen. [ foaf:name "Sean B Palmer"^^ ] . is valid.
05:35:48 <Greylensman> heck I'm a bit lost on colonless datatypes as well [ foaf:name "Sean B Palmer"^^str] . is valid. By when/how is the naked symbol str denoting a valid literal datatype?
05:50:36 * PhUrl writes up a short anaylsis of the term reflection in the news today http://rdfintrospector.blogspot.com/2005/01/reflections-about-usage-of-term.html
06:24:01 <PhUrl> SNOTD:(Semantic news of the day) " Starbourne Communications Design is tackling a job that agency XML advocates have long lobbied for, but have never gotten the funding to execute: building a central registry of federal XML schemas. The results could also be used to construct an ontology about each agency?s lines of business, which could be used by search engines to better locate agency material. " http://www.gcn.com/vol1_no1/daily-updates/348
06:24:01 <dc_swig> Label SNOTD not found.
06:24:01 <PhUrl> 98-1.html
06:24:27 <PhUrl> oops http://www.gcn.com/vol1_no1/daily-updates/34898-1.html
07:27:44 <snk0o0sj> hi
08:04:48 <snk0o0sj> gmorning, i have SWIG & python2.3 installed
08:05:16 <snk0o0sj> now i am looking for a way to install the swig-py bindings
08:05:22 <snk0o0sj> but can't seem to work out how its done
08:14:15 <zxv> mornin
08:22:44 <snk0o0sj> libtool: unrecognized option `-DLINUX=2'
08:22:51 <snk0o0sj> mornin
09:00:49 <PhUrl> SNOTD: Seeking Better Web Searches Deluged with superfluous responses to online queries, users will soon benefit from improved search engines that deliver customized results http://www.sciam.com/print_version.cfm?articleID=0006304A-37F4-11E8-B7F483414B7F0000
09:00:49 <dc_swig> Label SNOTD not found.
10:17:04 <JimJibAct> JimJibAct is now known as JibberJim
11:17:54 <balbinus_> balbinus_ is now known as balbinus
13:47:56 <zxv> how do i pass variables from one template to another in xslt?
13:50:12 <bjoern_> zxv, there is a #xml channel on freenode which covers XSLT.
13:51:25 <zxv> cool.
13:51:27 <zxv> thanks
14:00:25 <nmg_> nmg_ is now known as nmg
14:06:24 <kota> what time is the n3 meeting?
14:10:39 <dajobe> 18:00 UTC
14:10:49 <dajobe> or, now +3:50
14:13:45 <kota> thanks, hmm think i'm available :)
14:14:12 <dajobe> dajobe has changed the topic to: Semantic Web Interest Group hack-n-chat - UTF-8 charset please - Weblog: http://swig.xmlhack.com/ - Logs: http://ilrt.org/discovery/chatlogs/swig/ - please identify with NickServ - N3/CWM meeting 2005-01-26 18:00 UTC + 90 mins
14:40:36 <nmg_> nmg_ is now known as nmg
16:30:21 <nmg__> nmg__ is now known as nmg
16:49:06 <yosi_> eikeon, I had created a file with the regexp for xml 1.1 qNames, and rdflib wasn't happy with it because one of the characters in said regexp was not in NFC normal form
18:00:42 <sbp> .t Z
18:00:44 <phenny> 2005-01-26T18:00:43Z
18:02:08 <sbp> hear ye, hear ye; unless, with a nod to Murray Walker, I'm very much mistaken, now is the time scheduled for the Third CWM/Notation3 Chat
18:02:13 * DanC waves, offering partial regrets; I'm chairing a telcon for maybe another 30min
18:02:40 <sbp> no problem. we seem to be the only two for now anyway, so we'll let all the rest flood in in their own time
18:02:58 * crschmidt floods in
18:03:07 <crschmidt> actually, i'm running out to grab lunch, after which I will flood in
18:04:03 <sbp> reminds me of http://bobdylan.com/albums/before.html
18:06:05 <timbl> Lunch? Good idea ... ooops. yes . brb for chat!
18:06:15 * sbp waves to timbl and dajobe
18:06:24 <dajobe> yeah, refuelling seems to be a good idea
18:06:47 * dajobe gets an email about spyware from his ISP. HA HA HA
18:06:58 <sbp> note to self: add "Next meeting is to be held half an hour after it actually starts." to the next announcement
18:07:24 <sbp> are they promoting it or warning about it?
18:08:30 <dajobe> let me look http://www.blueyonder.co.uk/spyware
18:08:43 <dajobe> ha ha creepy photo
18:08:53 <dajobe> beware of people wearing hats in fog
18:09:33 <sbp> indeed. I like the flash (presumably) advert placed over the table of contents too; thank goodness for flashblocker
18:10:24 <timbl> b
18:11:09 <sbp> wb
18:11:16 <timbl> Well, using lot sof keywords on the channel half an hour befrore it starts wakers people out of their reveries.
18:11:40 <sbp> good idea. I should have phenny do that for me
18:11:40 <timbl> t
18:11:51 <sbp> BLURB:Notation3/CWM Scheduled Topic Chat
18:11:51 <dc_swig> B: Notation3/CWM Scheduled Topic Chat from sbp
18:12:16 <sbp> B:See [http://lists.w3.org/Archives/Public/public-cwm-talk/2005JanMar/0001|current meeting announcement and agenda].
18:12:16 <dc_swig> Added comment B1.
18:13:06 <sbp> B:The previous meeting was held on [http://lists.w3.org/Archives/Public/public-cwm-talk/2004OctDec/0020|2004-12-13].
18:13:06 <dc_swig> Added comment B2.
18:13:16 <sbp> B:Attending this meeting are:
18:13:16 <dc_swig> Added comment B3.
18:13:42 <sbp> B:[http://inamidst.com/sbp/|Sean B. Palmer], England, United Kingdom of Great Britain and Northern Ireland
18:13:42 <dc_swig> Added comment B4.
18:13:50 * dajobe lol
18:13:58 <sbp> UKoGBaNI for short
18:14:55 <dajobe> B:[http://purl.org/net/dajobe/|Dave Beckett]
18:14:55 <dc_swig> Added comment B5.
18:15:08 <yosi_> B:Yosi Scharf
18:15:08 <dc_swig> Added comment B6.
18:15:20 <sbp> hey Yosi
18:15:25 <yosi_> hello
18:15:25 <crschmidt> B:[http://crschmidt.net/|Christopher Schmidt]
18:15:26 <dc_swig> Added comment B7.
18:15:31 * dajobe discovers A:
18:15:39 <danbri> B:[http://danbri.org/|DanBri], Bristol, Europe (W3C).
18:15:39 <dc_swig> Added comment B8.
18:15:45 <timbl> B:[http://www.w3.org/People/Berners-Lee/|Tim Berners-Lee] Massachusetts USA
18:15:45 <dc_swig> Added comment B9.
18:16:05 <sbp> Bristol's in Europe? cool. hi danbri!
18:16:15 <danbri> hey sean
18:17:27 <sbp>http://www.w3.org/DesignIssues/N3Alternatives#Sets
18:17:27 <dc_swig> C: http://www.w3.org/DesignIssues/N3Alternatives#Sets from sbp
18:17:51 <sbp> C:|Set Syntax In Notation3 (Agendum One)
18:17:51 <dc_swig> Titled item C.
18:18:19 <sbp> BLURB:Is @keywords Viable in Notation3? (Agendum Two)
18:18:19 <dc_swig> D: Is @keywords Viable in Notation3? (Agendum Two) from sbp
18:18:59 <sbp> BLURB:Issues with n3.n3, Especially the QName Production Thereof (Agendum Three)
18:18:59 <dc_swig> E: Issues with n3.n3, Especially the QName Production Thereof (Agendum Three) from sbp
18:19:18 <sbp> we'll add more if we actually complete those three
18:21:06 <sbp> E:See also the [http://swig.xmlhack.com/2005/01/26/2005-01-26.html#1106709916.365794|Turtle Test Cases] chumpage, which we'll throw into this agendum too.
18:21:06 <dc_swig> Added comment E1.
18:22:11 <yosi_> D:See [http://lists.w3.org/Archives/Public/public-cwm-talk/2005JanMar/0005.html|the announcement of n3pp] and my attempts to get it to fail
18:22:12 <dc_swig> Added comment D1.
18:22:19 <sbp> heh
18:22:39 <timbl> C:Two issues -- is everyone ok with the {$ x,y,z $} syntax, and what to use as a set constructor instead of owl:oneOf.
18:22:40 <dc_swig> Added comment C1.
18:24:13 <sbp> the only thing I've come up with that's not in the N3Alt page is the @Set{...} idea, derived from sets.Set(...) in Python, but I don't think it's as neat as {$ ... $}
18:24:20 <timbl> Does "we'll add more if we actually complete those three" mean we are done making the agenda and we are started?
18:24:23 <yosi_> if we are using {$ x, y, z $} syntax, should {$ x, y, z, $} be allowed?
18:24:48 <yosi_> note the trailing comma
18:24:52 <dajobe> the examples in #Sets vary with commas and no commas - any diff?
18:25:38 <timbl> I actually added @Set at the bottom of teh table, though the right columnseems to have got mangled.
18:25:52 <sbp> yep, starting on C
18:25:59 <timbl> no diff
18:26:20 <sbp> ah, I see it. hadn't looked since you first showed us it
18:26:26 <timbl> The highlighted whiter row is the current thinking.
18:26:58 <sbp> Yosi: allowing a trailing comma would accord better with the optional "." inside formulae I suppose
18:27:03 <yosi_> it's tough to see that highlight
18:27:10 <dajobe> what highlight?
18:27:16 <timbl> I suppose a related question in whether if we add sets we should start giving version numbers to n3.
18:27:19 <sbp> but I don't really like the redundancy. e.g. I really dislike Python's (singleMemberTuple,) syntax
18:27:50 <timbl> the background of the row is white instead of pale green. This won't show up in lynx.
18:28:33 <sbp> version numbers: I suppose that's part of the question of Notation3's longer term goal
18:29:23 <sbp> rather, whether the process is going to change any. the sporadic updates propogated from notation3.py outwards approach has worked surprisingly well in practice
18:29:42 <timbl> Maybe I should just freeze an n3.n3 as n3-20050101.n3 in case people need to refer to it.
18:29:54 <timbl> and then add sets to n3.n3
18:30:02 <yosi_> so an old version of cwm would choke on the @version line, instead of some strange (future) {%%& line?
18:30:44 <timbl> yes, well, exactly.
18:30:51 <yosi_> timbl, isn't that why things are in dated directories to being with?
18:31:18 <timbl> No, things are in dated directories so we never have to clean up our web space.
18:31:25 <sbp> bit of a burden though. you'd expect CWM to still recognize @version-less Notation3, so would you have it barf on N3 which includes sets but not an @version?
18:32:00 <timbl> I think yosi is suggesting it is too much of a burden and you are agreeing.
18:32:10 <dajobe> @from future import sets ?
18:32:18 <timbl> :-)
18:32:19 <sbp> heh
18:32:42 <dajobe> that language (python) seems to have managed the evolution problem ok
18:32:49 * yosi_ thinks people are thinking in Python too much.
18:33:05 <timbl> yes. the occasional use of from sys import hexversion and things
18:33:09 <dajobe> well it precludes the need for version umbers
18:33:32 <sbp> the fact that set moved from the sets module to being built-in so quickly has actually been rather a problem for me
18:33:45 <dajobe> feature based declarations so that older systems can recognise to warn or stop
18:34:02 <sbp> it's inconvenient to have to keep doing version-detection just to support an incremental version that for some reason everybody upgraded to and then went no further
18:34:03 <timbl> Yes, and so many little files are in a subset of n3 which works for anyone, and are so small that adding "@version" would significantly increase their size.
18:34:29 <timbl> I think we hve a consensus for continuingto just eveolve as before.
18:34:39 <danbri> works for me
18:35:17 <sbp> agreed
18:35:33 <timbl> FOr the syntax question about comma, I am inclined not to put in trailing commas.
18:35:35 <danbri> is anyone tried expressing versioning w/ metadata triples about 'the current document'
18:36:03 <timbl> We don't allow trailing commas in statements or in @keywords.
18:36:18 <timbl> And allowing redundancy threatens detection of errors.
18:36:21 <yosi_> yet we allow trailing semicolons
18:36:26 <timbl> Yes.
18:36:30 <sbp> and periods in formulae
18:36:37 <timbl> Yes.
18:37:07 <timbl> I note also Yosi suggetsed making the trailking period in a document optional.
18:37:26 <sbp> yeah, I'd very much agree with that
18:37:35 * yosi_ admits to having made that suggestion
18:37:41 <sbp> n3s implemented that
18:38:04 <timbl> to make the mimimal document even smaller.
18:38:31 <yosi_> mostly less annoying. My usual use case of cwm is ``echo ':a :b :c
18:38:34 <yosi_> ' | cwm
18:38:39 <yosi_> ''
18:38:46 <sbp> hmm. so the smallest non-zero case will be ":::"?
18:38:48 <yosi_> oops, try again
18:39:05 <timbl> (we need cwm -e ';a :b :c.')
18:39:23 <yosi_> file the rfe
18:39:41 <yosi_> and I'll ignore it as the semester starts on Tuesday
18:39:50 <danbri> :)
18:39:52 <sbp> just use cwm <<< ":p :q :r ."
18:39:52 <timbl> phenny, file the alst three lines as an RFE for cwm, pleassde
18:40:04 * dajobe sees ": : : . " is a turtle test
18:40:09 <sbp> $ cwm <<< ": : : ."
18:40:12 <sbp> @prefix : <#> .
18:40:12 <sbp>
18:40:12 <sbp> : : : .
18:40:52 <timbl> By URI rules, <#> is actually the same identifier as <>, I think.
18:40:58 <sbp> incidentally, xena and datum (two previous bots) had email capabilities for certain users, so it would've been possible to file the bugs from IRC
18:41:09 <timbl> A voide fragment identifier and an omiited one are the same.
18:41:19 <dajobe> hmm
18:41:35 <timbl> So : is the same as <> by default.
18:41:43 <dajobe> ah, right
18:41:46 <dajobe> I thought you meant <#>
18:41:49 <timbl> and rdf: is the RDF namespace document.
18:41:58 * yosi_ looks at the time
18:42:10 <timbl> : is by default <#> whcih then by that URI rule would be <>.
18:42:26 <timbl> Maybe we shouldn't have gone there.
18:42:27 <timbl> Sets
18:42:29 <timbl> sets
18:42:31 <sbp> interesting. people have proposed before that <URI#> should be the equivalent of <URI>!log:semantics
18:43:01 <timbl> I'd like to ask the chair to call the question on the set syntax so that if no one has a problem with it we could move on.
18:43:04 <sbp> I always thought it was up to the media type specification of the representation of URI, yadda yadda
18:43:18 <sbp> community chairing! anyone can ask! :-)
18:43:52 <timbl> I'd like to call the question on the set syntax so that if no one has a problem with it we could move on.
18:43:56 <yosi_> did we decide to allow the trailing comma?
18:43:58 <timbl> I call the question on the set syntax so that if no one has a problem with it we could move on.
18:44:03 <sbp> C:If you're really unhappy with {$ p, q, r $} (no optional comma), please sign below.
18:44:03 <dc_swig> Added comment C2.
18:44:34 <timbl> No trailing comma
18:44:41 <sbp> C:If you're really unhappy with {$ p, q, r $} (no optional trailing comma), please sign below.
18:44:41 <dc_swig> Added comment C3.
18:44:46 <sbp> C2:""
18:44:47 <dc_swig> Deleted comment C2.
18:44:47 <timbl> I am actively happy.
18:45:13 <sbp> we seem packed and filled to the brim and rafters with happiness
18:45:20 <sbp> let's move on. owl:oneOf for sets?
18:45:32 <timbl> I think we can move on to the question of the set constructor.
18:45:35 <timbl> snap
18:45:38 <yosi_> it looks then like I'll have to remove support for the optional comma from cwm
18:45:38 <sbp> :-)
18:46:22 <sbp> [ a :Action; :who [ foaf:nick "yosi_" ]; dc:description "Remove support for the optional comma from cwm in set syntax" ] .
18:46:27 <timbl> well, notation3.py is not a validating parser ... it has only historically been tested on positive parser tetss, not neg tests.
18:46:52 <sbp> I think it'd be good to discourage it though
18:47:05 <sbp> whilst notation3.py remains central to what people think of as N3
18:47:22 * yosi_ repeats his observation that anything allowed will be observed, and find its way into the tests
18:47:22 <timbl> @prefix flow: <http://www.w3.org/2005/01/wf/flow#>.
18:47:47 <sbp> ooh, nice
18:47:47 <timbl> yes, I think the change to use negative tests is important and timely.
18:48:06 <sbp> either you wrote that quickly or it was a nice case of independent invention
18:48:22 <timbl> @prefix foo: <http://www.w3.org/2005/01/wf/test/foo#>.
18:48:44 <timbl> independent invention :)
18:50:24 <sbp> set constructor proposals: owl:oneOf, n3:setOf, n3:list, and some others from DanC that I forget
18:50:28 <timbl> <> is flow:source of [ a flow:Creation; issue <#i1>; dc:description "Remove support for the optional comma from cwm in set syntax" ]
18:51:04 <yosi_> I propose list:isisisowlOneOfOfOfOf
18:51:10 <sbp> heheh
18:51:16 <timbl> we need something which is a role noun, not too long, and makes sense.
18:51:18 <dajobe> I don't understand the question
18:51:26 <DanC> my telcon went long. :-(
18:51:30 <sbp> oh, I had an idea last night as to the structure of the thing, given our discussion about using graph isomorphism to compare sets
18:51:43 <dajobe> what does {$ p, q, r $} do then?
18:51:50 * DanC is frazzled. needs lunch etc.
18:51:59 <sbp> dajobe: it's syntactic sugar for the thing that we're deciding now
18:52:10 <timbl> It at the moments creates a bnode and says that the bnode is owl:oneOf the list (p q r).
18:52:10 <dajobe> oh
18:52:20 <sbp> timbl's initial thought was {$ p, q, r $} -> [ owl:oneOf (p q r) ]
18:52:31 <timbl> Just as (p q) creates a bnode and says it has rdf:first etc etc
18:52:31 <dajobe> <->
18:52:38 <timbl> yes
18:52:50 <sbp> so anyway, since the only benefit that using a list gives you is completeness, I thought you could add a length statement: [ a :Set; :member p, q, r; :length 3 ]
18:52:53 <dajobe> why's it oneOf?
18:53:08 <sbp> dajobe: to show that it's unordered
18:53:16 <sbp> and that duplicates should be ignored, I suppose
18:53:23 <timbl> Butthen we found that the OWL folks in their wisdom had decided that owl:oneOf is NOT an oel:InverseFunctionalProperty.
18:53:37 <timbl> ignoreed ot an error maybe
18:53:47 <dajobe> I don't get that oneof. a set isn't a one-of-things. it allows you to do that if you want. I might want twoOf
18:54:06 <sbp> another benefit of the [ a :Set; :member p, q, r; :length 3 ] proposal is that there can't be duplicates. then again, you can't IFPize it
18:54:12 <timbl> oneOf meant "the class of things which are such that they are one of this list"
18:54:22 <timbl> but classes ar enot sets.
18:54:33 <timbl> classes are not the same as sets.
18:54:44 <timbl> You can have two different classes with the same members.
18:54:54 <timbl> So we are using something else to build specifically a set.
18:54:59 * dajobe feels brain melting
18:55:05 <sbp> so :Set rdfs:subClassOf (rdfs|owl):Class
18:55:13 * timbl shovels snow at dajobe
18:55:22 <sbp> and hence :newSetConstructorProperty rdfs:subPropertyOf owl:oneOf
18:55:31 <timbl> yes.
18:56:02 <wkearney_lap> wkearney_lap is now known as wkearne99
18:56:09 <wkearne99> wkearne99 is now known as wkearney99
18:56:23 <timbl> we define a set by giving a list because a) it has to be closed and b) we do so much stuff with lists anyway.
18:56:46 <sbp> but again, that brings up the problem that you can't compare sets by graph isomorphism
18:56:58 <timbl> The advantage of having a set is that the machine then *knows* it is the same as any sts with the same elements in a different order, which is important.
18:57:13 <timbl> No, yo can't compare sets as reified using lists using graph isomorpohsim.
18:57:51 <sbp> which means custom code for comparing rei: outputs
18:57:55 <timbl> And when you canonicalize a graph with a set in it, you might want to quite separately canonicalize the sets.
18:58:12 <danbri> if i know that a, b and c are in a set, do i know that a and b etc are distinct different individuals?
18:58:18 <dajobe> the [ a :Set ... ] seems fine. not sure about the :length, it sounds like an rdf:_<n> area again. [ a :Set; :members (a b c) ]
18:58:18 * danbri would assume so, but not sure
18:58:35 <sbp> at least it's not too complicated. just order by type and URI, and... oh, it's GI complete still for the bNode ordering
18:58:39 * dajobe hmm, maybe that won't work
18:58:55 <timbl> In fact the cusom code (I was thinking the other day after discussing it with Yosi) can be quite simple in a graph -- you replace the set constrcution with a set of x set:$$member y statements for that purpose.
18:59:24 <sbp> well, the whole point about using ":members p, q, r" was just so that you can get around the fact that you can't compare using GI. but then the only way to express completeness is with the length
18:59:30 <timbl> bnode ordering: yes.
18:59:34 <sbp> so yeah, it is a bit Seqish
18:59:46 <timbl> So you convert it into a graph with membership arcs, and c'n that.
18:59:47 <sbp> well, more like rdf:Bag I suppose
18:59:48 <dajobe> GI=graph isomorphism
18:59:56 <sbp> (or rdf:Alt, but I never understood that)
19:00:03 * timbl really dislikes rdf_1 etc
19:00:23 * timbl would have gojne for rdf_1_of_34 0.5 ;-)
19:00:40 <sbp> heh
19:01:19 <sbp> [ a rdf:Seq; :member [ :num 1; :of 34; rdf:value 0.5 ] ]
19:01:37 <dajobe> we went through all that in RDF Core re collections
19:01:49 <sbp> must've been fun
19:01:52 <dajobe> and went with the daml solution
19:01:59 <timbl> <#a2> a flow:Task; s:label "Put set canon'n in cant.py"; flow:origin <>.
19:02:03 <dajobe> has noboody yet done sets in this way?
19:02:53 <sbp> what's that semantic Google thing again?
19:02:58 <dajobe> the :member thing appeals as it'll make the isMemberOf(set, item) easy
19:03:00 <sbp> shoogle?
19:03:03 <jsled> swoogle
19:03:04 <timbl> [ a foo:Assignment; foo:assignee [ contact:email <timbl@w3.org>]; task <#a2>; source <>.
19:03:39 <sbp> ah, thanks. http://swoogle.umbc.edu/
19:03:51 <sbp> (also via http://ilrt.org/discovery/chatlogs/search?q=sbp.*slashdot&Go=Go&channel=swig&count=10&case=yes)
19:03:56 <jsled> or swoogle.org
19:04:32 <sbp> http://swoogle.umbc.edu/modules.php?start=1&total=-1&name=Swoogle_Search&file=searchDB&searchString=Set&searchType=1&submitted=Swoogle+Search
19:04:38 <sbp> not quite as helpful as I'd hoped
19:04:43 <timbl> btw the inverse of the set constructor is list:members -- easy to name.
19:06:10 <yosi_> timbl, so what is wrong with just [is list:members of (1 2 3)]?
19:06:17 <dajobe> ok, enough (sw|go)ogling
19:06:22 <dajobe> can we just pick one for now?
19:06:49 <dajobe> that's the reverse property thing?
19:07:04 <timbl> (isn't it in turtle?)
19:07:09 <dajobe> no way!
19:07:45 <timbl> It is put in to encourage people to just define one way, and not keep deving inverse pairs.
19:07:51 <timbl> (why no way?)
19:07:51 <danbri> is list:members and ordinary property? could it be swapped out for another equiv one?
19:08:03 <timbl> yes
19:08:15 <danbri> I'm thinking re i18n considerations... the fewer english lang keywords, the easier it would be to write n3 in all-japanese, etc...
19:08:23 <sbp> really? I thought we were looking specifically to have an IFP (so an FP here)
19:08:24 <danbri> ...although there is of course benefit to sharing well known properties
19:08:32 <timbl> But whatever we pick as a the normalset constrcutior, we will program cwm to absorb on input and actually build sets.
19:08:56 <dajobe> the {$ $} syntax doesn't use keywords
19:08:58 <sbp> oh sorry, misunderstood the question
19:09:41 <sbp> {$ $} is swish in the same way that = is
19:09:43 <crschmidt> ^addturtle <#a2> a flow:Task; rdfs:label "Put set canon'n in cant.py"; flow:origin <http://www.ilrt.bris.ac.uk/discovery/chatlogs/swig/2005-01-26.html#T19-01-59>.
19:09:45 <julie> Model size increased by 3 to 2120092 via turtle statements.
19:10:03 <sbp> so when = went from being daml:equivalentTo to owl:sameAs, people using it didn't notice
19:10:31 <dajobe> but you will do things like talk about [ a :Set ]
19:10:45 <dajobe> or is that {$ $} ?
19:10:51 <sbp> yep
19:11:02 <sbp> ^q select ?label where (?task rdf:type flow:Task) (?task rdfs:label ?label)
19:11:02 <julie> Put set canon'n in cant.py
19:11:14 <timbl> People will notice only if they have exchanged sets expressed in the long form.
19:11:40 <yosi_> which unfortunately, is right now the only way cwm knows of outputting them
19:11:43 <sbp> e.g. if serializing to RDF/XML and swapping
19:11:45 <phenny> sbp: 19:11Z <Talliesin> tell sbp to bundle everything supybot does into your functionality. The later to split it out into several bots again and so the cycle of reincarnation will continue.
19:11:46 <dajobe> what about membership; you'll need to use the property then, unless you invent some $-like abbreviation
19:12:13 <sbp> phenny: tell Talliesin heh, heh. phenny != Mozilla!
19:12:15 <phenny> sbp: I'll pass that on for you when talliesin is around.
19:12:17 <timbl> ^addturtle [ a foo:Assignment; foo:assignee [ contact:email <timbl@w3.org>];Â task <#a2>; source <>.
19:12:18 <julie> Model size increased by 1 to 2120093 via turtle statements.
19:12:18 <julie> Adding Turtle failed ("syntax error at '\xa0'").
19:12:41 <sbp> .repres [19:12] <timbl> ^addturtle [ a foo:Assignment; foo:assignee [ contact:email <timbl@w3.org>];Â task <#a2>; source <>.
19:12:42 <timbl> !
19:12:44 <phenny> '[19:12] <timbl> ^addturtle [ a foo:Assignment; foo:assignee [ contact:email <timbl@w3.org>];\xc2\xa0 task <#a2>; source <>.'
19:12:48 <Talliesin> phenny, tell sbp, but maybe phenny == google!
19:12:50 <phenny> Talliesin: I'll pass that on for you when sbp is around.
19:12:53 <phenny> Talliesin: 19:12Z <sbp> tell Talliesin heh, heh. phenny != Mozilla!
19:12:54 <dajobe> sigh
19:13:16 <yosi_> can the actual humans go back to talking?
19:13:22 <sbp> good idea
19:13:30 <timbl> ^addturtle [ a foo:Assignment; foo:assignee [ contact:email <timbl@w3.org>];task <#a2>;source <>.
19:13:30 <julie> Model size increased by 1 to 2120094 via turtle statements.
19:13:30 <julie> Adding Turtle failed ('syntax error').
19:13:42 <sbp> need another ]
19:13:59 <timbl> ^addturtle [ a foo:Assignment; foo:assignee [ contact:email <timbl@w3.org>];task <#a2>;source <>].
19:13:59 <julie> Model size increased by 1 to 2120095 via turtle statements.
19:14:00 <julie> Adding Turtle failed ('syntax error').
19:14:14 <crschmidt> ^part
19:14:22 <crschmidt> she can come back after the meeting.
19:14:35 <timbl> :-o
19:14:35 <crschmidt> I'll add any other n3 in a seperate channel
19:15:06 <timbl> very distracting.
19:15:10 <Talliesin> timbl, to #julie posthaste!
19:15:17 <yosi_> right now cwm's list builtins (list:member and list:in) work on sets
19:15:37 <sbp> list:in is the currently implemented set constructor?
19:15:44 <yosi_> no
19:15:57 <sbp> okay, I getcha
19:16:20 <yosi_> owl:oneOf is the current set constructor
19:16:25 <timbl> How about set:asList or set:list ?
19:16:56 <sbp> set:list is probably the best so far
19:17:09 <timbl> [ set:asList ( 1 2 3)] == {$ 1,2,3 $}
19:17:18 <timbl> [ set:list ( 1 2 3)] == {$ 1,2,3 $}
19:17:34 <sbp> is :asList of doesn't work as well as is :list of
19:17:55 <timbl> yes, ok, let's see if we have consensus on set:list as the constructor?
19:18:22 <timbl> +1
19:18:26 <sbp> C:Resolved: {$ p, q, r $} is set syntax in N3.
19:18:26 <dc_swig> Added comment C3.
19:18:33 <sbp> yep, +1 on set:list
19:18:37 <dajobe> and no type?
19:18:44 <timbl> type?
19:18:50 <sbp> doesn't really need it
19:19:04 <timbl> It follows from the domain of set:list
19:19:06 <dajobe> doesn't owl-mutter need typed nodes?
19:19:54 <danbri> <danbri> if i know that a, b and c are in a set, do i know that a and b etc are distinct different individuals?
19:20:01 <timbl> Well, you don't reify a list by saying that BTW each of the lists in teh rdf:rest chain is a list, i hope
19:20:03 <danbri> did i miss an answer to that? (sorry to pester)
19:20:05 <sbp> use of rdf:List in OWL is tantamount to heresy anyway, I think
19:20:29 <sbp> you can't, for example, say { set:list rdfs:range rdf:List } in OWL DL
19:20:31 <DanC> only in OWL DL
19:20:37 <timbl> danbri, good question.
19:20:41 <sbp> well anything goes in Full anyway
19:20:43 * danbri beams
19:20:47 <danbri> what's the answer? ;)
19:20:54 <DanC> answer is no
19:21:18 <danbri> is that consistent w/ general math usage of word 'set'?
19:21:35 <DanC> yes.
19:21:35 <sbp> well note that the set is never actual enumerated
19:21:44 <sbp> s/actual/actually/
19:21:47 <danbri> ok
19:21:48 <DanC> there's no axiom ala: if a \in S and b \in S then a <> b.
19:21:50 <sbp> that's part of the beauty of it
19:22:31 <timbl> If I know that S set:list ( a b c ) do I know how many meners S has?
19:22:44 <DanC> it's possible to say that the range of set:list is an AllDistinctList, meanwhile.
19:22:50 <timbl> Is that a statemet that a b and c are distinct?
19:23:17 <timbl> That is a very appealing notion in fact.
19:23:23 <sbp> what about { p q r, s }? how many statements does that have in it? even if r and s are declared to be owl:sameAs, surely there are still two statements in there?
19:23:41 * danbri forgets quite what owl offers, w.r.t. all-distinct
19:23:55 <DanC> yes, it's appealing... but I doubt you will have established the distinctness in all the cases where you want to relate a set to a list of its members.
19:24:01 <yosi_> but {p q r, r } is one statement
19:24:08 <timbl> Statements are quoted. Even if r = s a statement about r and one about s are diff statements.
19:24:14 <timbl> but sets are not quoted.
19:24:52 <sbp> danbri: owl:AllDifferent is the pairwise disjunctive construct
19:24:59 <danbri> thanks, sbp
19:25:00 <timbl> Well, maybe it would be useful because you use it at times when you assume that the things are disjoint and you in fact want to be told if it turns out they are not.
19:25:26 <timbl> And maybe it would be useful because you wanted to say that they were, but you didn't have the easy way of saying it so you didn't bother.
19:25:37 <sbp> agreed
19:26:22 <DanC> yes, it would be useful... but if somebody writes {$ <a> <b> $} are you going to make sure cwm doesn't conclude that set has list (<a> <b>) until it's concluded that <a> owl:differentFrom <b> ?
19:26:47 <sbp> { [ set:list ?list ] } => { [ a owl:AllDifferent; owl:distinctMembers ?list ] }
19:26:51 <timbl> if someone writes that, then I take then as having asserted that a and b are different.
19:27:01 <DanC> hmm
19:27:34 * yosi_ looks at http://www.w3.org/2000/10/swap/test/sets/sets.n3 , a file timbl wrote
19:27:42 <DanC> I suspect that will be problematic, but I don't have any hard evidence.
19:27:57 <yosi_> it has {$ {$$}, {$$} $} in it
19:28:26 <timbl> that is a bug.
19:28:32 <yosi_> is that a statement that the empty set does not equal itself?
19:28:50 <timbl> yes, that is my current theory.
19:28:55 <yosi_> right now, cwm happily treats that as a set containing one member, the empty set
19:29:17 <timbl> This is a design choice.
19:29:29 <sbp> have a URI for the empty set, a la rdf:nil, perhaps?
19:29:29 <timbl> i like the implication/requirement of uniqueness.
19:29:32 <sbp> set:empty
19:30:09 <timbl> yes, makes sense
19:30:10 <DanC> I suppose the "if it jams, force it; if it breaks, it needed replacing anyway" maxim applies. i.e. might as well try out the appealing notion that {$ <x> <y> $} means <x> owl:differentFrom <y> and see how far we get.
19:30:23 <timbl> I wonder about set union.
19:30:30 <sbp> ah!
19:30:38 <sbp> this means you can add | and + etc. as operators
19:30:48 <sbp> er, & probably better than |
19:31:03 <timbl> if cwm is given a union, how does it know taht teh members of the two sets are distinct?
19:31:26 <timbl> Unless they are all chosen from a universal set whcih it knows. (like integers)
19:31:32 <timbl> (or any set)
19:31:45 <sbp> unsolvable problem, I suppose
19:31:53 * sbp scraps |
19:32:22 <sbp> same with intersection. you still can't tell which members are in both
19:32:23 <timbl> To go down the other path, and not need uniqueness, would mean that you would neverknow hiow many members set had, union would be easy, but intersection would not be possible.
19:32:54 <timbl> yes
19:33:06 <danbri> if both are useful, why not allow both? too bloaty?
19:34:28 <timbl> Two syntaxes?
19:35:04 <danbri> i guess, yeah. unless it can be done w/ a single notation and different properties within that notation.
19:35:20 <sbp> am I right in thinking the following? [[[
19:35:22 <sbp> set members are pairwise disjoint:
19:35:22 * sets can be compared
19:35:22 * union impossible
19:35:25 * intersection impossible
19:35:26 <sbp> set members are not necessarily pairwise disjoint:
19:35:26 * sets can't be compared
19:35:29 * union possible
19:35:29 * intersection impossible
19:35:30 <sbp> ]]]
19:36:31 <sbp> if that's the case, then Set and DisjointSet might be prudent for people wanting to use union on the one hand and comparison on the other
19:36:52 <sbp> otherwise, if we're to pick one, I would guess that comparsion is handier than union
19:37:58 <danbri> DisjointSet would be not so useful for a number of scenarios, eg. representing sets of people using data gathered from multiple sources...
19:38:19 <danbri> plenty of scenarios where we realise later that the two John Smiths were one-and-the-same person...
19:39:43 <timbl> Comparison: well, you get in the first case the situation that 2 sets are the same but you don't know because you don't yet know two members are the same, but that's normal.
19:40:41 <sbp> but then you couldn't use a DisjointSet for that purpose, if you're not certain about that statement
19:41:49 <sbp> unless, as you say, you're wanting the application to report such inconsistencies later on
19:42:37 <sbp> so if social security are storing a big set of people in RDF and then someone POSTs them a document stating that he's in there twice, social security's version of CWM can say "aha!"
19:43:15 <timbl> I think we have answered the question of what to call set:list but we haven't answered this other question of whether sets are disjoint, or we should hav 2 types.
19:43:27 <sbp> yeah
19:43:43 <sbp> C:Resolved: that set:list is to be the set constructor property.
19:43:44 <dc_swig> Added comment C4.
19:43:49 <timbl> So we have closed one issue and raised another.
19:44:20 <sbp> C:New subsequent issue: are set members to be considered pairwise disjoint or not; or would it be best to have a syntax for each?
19:44:20 <dc_swig> Added comment C5.
19:44:49 <sbp> possibly closed the constructor issue. if we're to have two syntaxes, I presume we'll need two constructors
19:45:02 <sbp> set:list and set:disjointList make sense
19:45:36 <timbl> <#i3> a swig:Issue; dc:description "are set members to be considered pairwise disjoint or not; or would it be best to have a syntax for each?"; source <>.
19:45:41 <sbp> how about asking the logic lists about this?
19:45:49 <sbp> www-rdf-logic will probably have something to say about it
19:46:08 <timbl> probably.
19:46:15 <sbp> though an RDF Sets WG lurks on the horizon...
19:46:32 <timbl> Probably wide to raise the whole issue of a set concept for RDF to a wider audience, anyway.
19:46:41 <sbp> indeed
19:46:51 <wkearney99> wkearney99 is now known as wkearney_away
19:46:54 * timbl (Or should that be 2 Wgs - one for disjoint sets? ;-))
19:47:01 <sbp> heh, heh
19:47:17 <dajobe> no, people could join both
19:47:52 <crschmidt> is there a contact for #i3?
19:47:54 <sbp> but presumably we'd know if they joined one twice
19:48:03 <dajobe> what's next?
19:48:15 <sbp> resolution of this issue
19:48:20 <timbl> And if it turnmed out that sets were disjoin stes, then it would follow that the ytwo workjing groups were identical.
19:48:26 <sbp> are we agreed to defer it and ask mailing lists about it?
19:48:45 <timbl> I think we probably have to think about the disjoint sets issue and talk about it next time.
19:48:47 <dajobe> it's been long enough discussed for now, imho
19:48:58 <yosi_> I agree, it's time to move on
19:49:10 <sbp> C:Resolved: defer this problem to the mailing lists (e.g. www-rdf-logic).
19:49:10 <dc_swig> Added comment C6.
19:49:38 <sbp> you guys get bored way too easily
19:49:44 <sbp> okay, Agendum Two is @keywords
19:49:55 <dajobe> (I said 90mins in topic, that's -15 away)
19:50:03 <yosi_> and the preprocessor
19:50:16 <sbp> the infamous preprocessor!
19:50:41 <sbp> so the issue here is that @keywords is a heavy burden on Notation3 tokenizers, and stop the RDF BNF for N3 from being as generic as it should be
19:51:08 <sbp> timbl suggested that @keywords may be implementable as a pre-processing step, which might enable other pre-processing constructs in the future
19:51:25 <yosi_> and to build an n3 preprocessor requires it have a great deal of knowledge of the specifics of the n3 language
19:51:44 <dajobe> this sounded just like a cfront (C++ for C) area
19:51:45 <sbp> so I wrote n3pp (Yosi linked to the announcement in http://swig.xmlhack.com/2005/01/26/2005-01-26.html#1106763497.998753), and then Yosi subsequently filed several thousand bugs for it
19:52:06 <sbp> and yes, that's basically where we're at: it seems to be *possible*, but the issue is that it's very difficult to derive n3pp.py from n3.n3
19:52:20 <yosi_> many of those bugs are good borderline n3 test cases
19:52:40 <sbp> for example, it currently uses a negative lookbehind group on the @langcode token regexp, which isn't present in n3.n3
19:52:45 <sbp> though it could be added
19:53:31 <yosi_> and it has the list of valid keywords hard-coded in, though that could change (I think) to checking if the keyword fits [a-zA-Z]
19:53:35 <dajobe> where's the ref to all the bugs?
19:53:42 <sbp> yeah
19:53:53 <sbp> the bugs are all in http://lists.w3.org/Archives/Public/public-cwm-talk/2005JanMar/
19:53:57 <yosi_> look at that thread in Public-cwm-talk
19:54:10 <timbl> what uses negative lookbehind? the preprocessor or the parser?
19:54:25 <sbp> some were sent privately too; I think there's five overall
19:54:30 <sbp> the preprocessor uses it
19:54:49 <sbp> [[[
19:54:50 <sbp> (?<=")@[a-z]+(?:-[a-z0-9]+) | # n3:langcode
19:54:54 <sbp> ]]] - http://inamidst.com/n3p/n3pp.py
19:55:09 <sbp> that could be changed such that it's moved out into the rest of the code, I think
19:55:21 <sbp> either way, you're special-casing it
19:55:28 <timbl> (Use $ instead of @?)
19:55:47 <sbp> for keywords, rather than langcode presumably?
19:55:54 <timbl> I wish I had asked eth NTripels folks to mak ethe langcode @@ just as i asked them to make the datatype ^^ for this reason
19:55:55 <sbp> otherwise, N-Triples stops being a subset of N3
19:56:01 <yosi_> we just took $ for use in sets
19:56:08 <timbl> ooops
19:56:13 <sbp> % and & are still left
19:56:28 <yosi_> as is |
19:56:45 <dajobe> I don't recall the history of @ in N-Triples lang codes; it just fell out sometime.
19:56:48 <sbp> ~, ?, *, ^, !...
19:56:55 <dajobe> you added @prefix later IIRC :)
19:57:05 <sbp> I think @prefix is very old
19:57:15 <dajobe> er, yeah I'm thinking of somethign else sorry
19:57:22 <dajobe> keywords
19:57:24 <timbl> Yes, @prefix predates NTriples.
19:59:34 <timbl> So maybe we should use the lookbehind in th pp, which is a hack anyway, and then try to make n3 as clean as possible (and for n3-like langauges, strogly advise against using @ again)
20:00:19 <timbl> To make the pp cleaner, we could change @keywords to @@, to remove the english from it.
20:00:35 <sbp> well, I think there are four options: a) battle on as before, b) pre-process using a lookbehind for the @ case, c) change @ to % or whatever, d) remove @keywords entirely
20:00:52 <sbp> five...
20:01:52 <sbp> pre-processing seems viable enough to me; but I'd prefer keeping @keywords rather than @@ I think, especially since @@ means "issue!" to me
20:02:04 <sbp> second preference is for keywords to be dropped altogether
20:02:17 <dajobe> me: 1) drop 2) @@
20:02:56 <dajobe> or do I mean @@keywords
20:03:03 <timbl> ?
20:03:23 <sbp> you don't mean @@keywords, no :-)
20:03:34 <timbl> "me: 1) drop 2) @@" ?
20:03:36 <sbp> timbl, yosi_, DanC? preferences?
20:03:40 <yosi_> 1) Preprocess 2)Status quo
20:03:52 <sbp> ah. dajobe would prefer to drop keywords entirely, or secondly to use @@
20:03:56 <yosi_> I'd prefer not breaking many existing (large) n3 documents, such as n3.n3
20:04:05 <dajobe> if it was turtle, I'd just ignore lines starting with @@
20:04:15 <sbp> yeah. it seems the most conservative line
20:04:42 <sbp> dajobe: declarations are constrained to line-beginnings in Turtle?
20:04:50 <dajobe> yes
20:05:04 <timbl> I think languagewise (a) and (b) are the same; they differ in implementation strategy, no?
20:05:11 <sbp> ah, I suppose since you don't have formulae that's not too messy
20:05:23 * dajobe has second thoughts
20:05:29 * DanC isn't tuned in, sorry
20:05:37 <dajobe> I gotta take a break guys
20:05:40 <sbp> no problem DanC
20:05:48 <sbp> okay dajobe
20:05:56 <timbl> maybe we have run out of time
20:06:04 <sbp> timbl: yeah, a) and b) are the same
20:06:34 <sbp> we should probably schedule the next one if DanC/dajobe have at least five minutes to donate us
20:06:42 * danbri gotta go
20:06:51 <danbri> sorry for the new Issue!
20:06:58 <sbp> cheers danbri
20:06:59 <timbl> :)
20:07:05 <timbl> Thanks for coming.
20:07:17 <timbl> Time of next meeting?
20:07:31 <sbp> one month, same day, same time?
20:07:33 <timbl> Agneda for next meeting: Reveiw action Items, Set time of next meeting after that.
20:07:42 * timbl checks
20:07:57 <sbp> 23rd of February
20:08:02 <sbp> 18:00Z
20:08:05 <dajobe> ok for me
20:08:16 <timbl> No, it is school holiday in Mass.
20:08:31 <timbl> 9 or 16th feb?
20:08:32 <sbp> 16th?
20:08:40 <timbl> Ok for me
20:09:00 <dajobe> ok
20:09:02 <sbp> okay. 2005-02-16T18:00Z tentatively
20:09:03 <danbri> for next time, agenda+ SWIG F2F at W3C Tech Plenary
20:09:10 * danbri needs to get moving on that...
20:09:16 <timbl> 2005-02-16T18:00Z - DanC?
20:09:33 <DanC> umm...
20:10:11 <DanC> that's noon Chicago time...
20:10:26 <DanC> I'm available.
20:10:38 <sbp> excellent
20:11:00 <DanC> logger, pointer?
20:11:00 <DanC> See http://www.ilrt.bris.ac.uk/discovery/chatlogs/swig/2005-01-26#T20-11-00
20:11:13 <timbl> Yosi, any idea?
20:11:44 * DanC makes a reservation, http://calendar.sidekick.dngr.com/event?id=3326&date=2005-02-16
20:12:37 <sbp> B:Next meeting tentatively scheduled for 2005-02-16T18:00Z (cf. [http://www.ilrt.bris.ac.uk/discovery/chatlogs/swig/2005-01-26#T20-11-00|#swig discussion]); announcement to be sent to public-cwm-talk.
20:12:37 <dc_swig> Added comment B10.
20:12:52 <timbl> Thank you Sean, for chairing!
20:13:06 <sbp> 'twas the community!
20:13:09 <sbp> (no problem)
20:13:22 <crschmidt> Meeting closed then?
20:13:33 <sbp> </N3CWMScheduledChat>
20:13:35 <danbri> thanks all
20:13:35 <timbl> sbp, pls adjourn the meeting
20:13:38 * danbri -> elsewhere
20:13:40 <timbl> thanks
20:13:57 <sbp> cheers everyone
20:14:29 <crschmidt> ^q select ?d where (?c rdf:type flow:Creation) (?c dc:description ?d )
20:14:29 <julie> Remove support for the optional comma from cwm in set syntax (x2), are set members to be considered pairwise disjoint or not; or would it be best to have a syntax for each? (x2)
20:15:18 <sbp> D:We were mid-way through discussing this, and the range of feedback so far is various, but tending towards being conservative and preprocessing (sbp, Yosi), or dropping/changing (dajobe).
20:15:18 <dc_swig> Added comment D2.
20:15:31 <sbp> E:Not discussed in the meeting; defer to next time.
20:15:32 <dc_swig> Added comment E2.
20:15:47 <sbp> got quite a bit done; good meeting
20:18:01 <crschmidt> timbl: sorry for stealing the bot out from under you, but she tends to be a distraction occasionally
20:18:14 <timbl> You kidding! Godo bot.
20:18:16 <timbl> good
20:18:17 <JimJibber> JimJibber is now known as JibberJim
20:18:40 <timbl> I should though test out N3 in a separete window before pasting it in.
20:18:57 <sbp> get Dave Raggett to work on n3tidy :-)
20:19:08 <timbl> But the idea that the meeting records be recorded opn the fly in IRC in machine-readable way is very useful.
20:19:12 <crschmidt> timbl: well, part of the problem is that it's turtle, not n3 ;)
20:19:38 <timbl> And the ontology is a real one which we may build tools for.
20:19:53 <crschmidt> So I don't think your Issue, with no leading :, would have worked
20:20:02 <timbl> I didn't think I used non-turtleisms.
20:20:46 <timbl> it should ahve been foo:Issue, where foo: prefix had been given ... but not with ^
20:21:02 <crschmidt> "<> is flow:source of [ a flow:Creation; issue <#i1>; dc:description "Remove support for the optional comma from cwm in set syntax" ]" -- http://www.ilrt.bris.ac.uk/discovery/chatlogs/swig/2005-01-26.html#T18-50-28 is what I was thinking of
20:21:14 <crschmidt> ah, but that wasn't addressed at the bot, never mind
20:21:34 <timbl> are yes flow:issue in fact should have been flow:task I think.
20:21:50 <timbl> Does julie check ontologies?
20:21:54 <crschmidt> nope
20:22:02 <sbp> custom syntaxes might be nice. Julie could watch out for chumpages then
20:22:12 <timbl> (i would have been surprised!)
20:22:36 <crschmidt> I use a tool from mortenf for smushing based on the ontologies stored in the model
20:22:51 <crschmidt> so, for example, I have the FOAF vocabulary in there, and can smush on any of the IFPs
20:22:55 <timbl> Well, ACTION timbl@w3.org: whatever would be a nice shorthand.
20:23:53 <timbl> but in a way to use straight n3 in the channel means that the meaning is clear. If shorthand, Julie could regurgitate the N3.
20:24:38 <crschmidt> ^q select ?e ?d where (?a rdf:type flow:Task) (?a rdfs:label ?d) (?t flow:task ?a) (?t contact:email ?e)
20:24:39 <julie> Query returned no results
20:24:41 <crschmidt> hm.
20:25:20 <sbp> good idea. <julie> add this line as "$n3"?
20:25:26 <sbp> <person> julie: make it so
20:25:35 <sbp> <julie> added 50,000 statements to etc.
20:25:48 <crschmidt> ^q select ?e ?d where (?a rdf:type flow:Task) (?a rdfs:label ?d) (?t flow:task ?a) (?t foo:assignee ?bar) (?bar contact:email ?e)
20:25:49 <julie> mailto:timbl@w3.org Put set canon'n in cant.py
20:26:03 <crschmidt> btw, foo for the time being is:
20:26:04 <crschmidt> ^ns foo
20:26:05 <julie> The URL for the foo namespace is http://www.w3.org/2005/01/wf/assign#
20:26:16 <crschmidt> I have no idea what you wanted to use there, but it was just "bar"
20:26:26 <crschmidt> I think there's more a chance of using the assign# url than "bar" :)
20:26:43 <crschmidt> (I can change that to something more appropriate, if you prefer, it was just temporary)
20:30:13 <timbl> That was strange. foo is <....2005/01/wf/test/foo#>
20:30:20 <timbl> and assign is a name in that ns
20:31:00 <timbl> foo is a namespace for an imaginary test group which has a particular workflow for its action items and issues.
20:31:15 <timbl> flow: is te generic common vocab for issues and workflow.
20:31:22 <crschmidt> I just wasn't sure what you wanted foo to be set to: I had it set for something else, in the bot
20:31:27 <timbl> s/assign/assignee/
20:32:38 <sbp> /2005/01/wf/assign can always be 301'd to /2005/01/wf/test/foo...
20:33:11 <sbp> doesn't really matter though :-)
20:34:44 <timbl> 18:48:22<timbl>@prefix foo: <http://www.w3.org/2005/01/wf/test/foo#>.
20:35:03 <timbl> 18:47:22<timbl>@prefix flow: <http://www.w3.org/2005/01/wf/flow#>.
20:35:17 <timbl> Can't Julie track current prefixes in the channel?
20:35:20 <sbp> you could even assign an action item, using the .../assign namespace, to implement the 301, but until you resolved the action item, the action item wouldn't be one
20:35:36 <crschmidt> timbl: she doesn't use @prefix notation, since she started out as only rdf/xml
20:36:00 <crschmidt> timbl: She also has a hey-you character so that she doesn't get confused by other things happening in the channel (the ^)
20:36:07 <timbl> Ok, I haven't tracked her history.
20:36:41 <crschmidt> timbl: yeah, it's not a problem. I had actually never seen anyone use the @prefix syntax in channel until just now ;)
20:36:48 <timbl> Well, if the chumper can take a bare URL as a chump (whcih I think is too strong!) then I think a bare valid @prefix is probably reasonable to take too.
20:36:51 <sbp> (\^|@\^|julie: )prefix ... might be good
20:37:04 <crschmidt> During the meeting, I added an @@ to the code to add something for @prefix notation
20:37:20 <sbp> er, \^@
20:38:13 <sbp> I think allowing @prefix might be a bad idea for the same reason why URIs on their own are bad for the chump. at least in the chump the only side-effect is that you generally get an extra entry without a title
20:38:22 <timbl> maybe the n3 preprocessor should change all occurrences of @xxxxx to Julie; xxx ...
20:38:31 <sbp> with julie you run the risk of people accidentally overriding prefixes that other folk are going to use
20:38:37 <sbp> heh, heh
20:38:54 <crschmidt> for the record, I looked at http://www.ilrt.bris.ac.uk/discovery/chatlogs/search?q=%40prefix+foo&Go=Go&channel=swig&count=10&case=yes before adding foo, not sure why it's not showing up in the searchlogs
20:39:09 <timbl> So a common ^ for soemthing to be taken seriously
20:39:24 * crschmidt nods
20:39:30 <crschmidt> ^nslist
20:39:30 <julie> Namespace bindings are: area, astrology, bio, bloggercode, book, bot, cc, chefmoz, chiefs, contact, content, cyc, cyc2004, dc, dc10, dcterms, doaml, doap, exif, fact, factbook, fc, fips, flow, foaf, foafcorp, foo, geo, ical, ilike, img, irc, iso, iso3166, kiss, kissed, menow, mtbi, music, nyse, owl, p, periodic, pm, prf, quaff, quote, rank, rdf, rdfs, rel, rev, review, rss, rss11, schema, srw10, srw11, tipjar, trust, tv, tz, usranks, vann, vcard,
20:39:30 <julie> weather, wn16, wot, xfn, xsd
20:39:42 <crschmidt> lots of them already used, as you can tell ;)
20:40:20 <crschmidt> I also can't remove them yet. @@ fix that
20:40:22 <sbp> ^ns quaff
20:40:22 <julie> The URL for the quaff namespace is http://purl.org/net/schemas/quaffing/
20:40:39 <crschmidt> i think it's mortenf's. leo used it for something
20:40:55 <sbp> ^q select ?prop where (?prop rdf:type rdf:Property) and ?prop =~ /quaffing/
20:40:57 <crschmidt> ah, ldodds
20:41:03 <timbl> You may see a rush of people trying tp get sex, xxx, etc. Ooops our google karma just went up and the logs got blocked by a dozen fliters.
20:41:15 <julie> Query returned no results
20:41:24 * Morbus perks up.
20:41:26 <Morbus> what's that now?
20:41:32 <sbp> we'll need ICANN to preside over the prefix list
20:41:38 <crschmidt> ^add http://www.ldodds.com/schemas/quaffing/
20:41:38 <julie> Adding http://www.ldodds.com/schemas/quaffing/ to my database...
20:41:40 <julie> Added 8 statements from http://www.ldodds.com/schemas/quaffing/. Model size is 2120122.
20:41:52 <crschmidt> ^q select ?prop where (?prop rdf:type rdf:Property) and ?prop =~ /quaffing/
20:41:53 <julie> quaff:owesBeerTo, quaff:drankBeerWith
20:42:11 <sbp> ^q select ?cls where (?cls rdf:type rdfs:Class) and ?cls =~ /quaffing/
20:42:14 * timbl heads off
20:42:18 <crschmidt> ^q select ?l where (quaff:owesBeerTo rdfs:label ?l)
20:42:26 <crschmidt> there aren't any, sbp
20:42:27 <sbp> c'ya timbl
20:42:32 <sbp> ah, thanks crschmidt
20:42:36 <julie> Query returned no results
20:42:36 <julie> Owes Beer To, Debe Una Cerveza A
21:00:45 <Talliesin_> Talliesin_ is now known as Talliesin
21:48:28 <timbl> C: A short [write-up|http://www.w3.org/DesignIssues/N3Alternatives#Distinct] of this problem appended to the DesignIssues note.
21:48:28 <dc_swig> Added comment C7.
21:49:13 <timbl> C7= A short [write-up|http://www.w3.org/DesignIssues/N3Alternatives#Disjoint] of this problem appended to the DesignIssues note.
21:49:32 <crschmidt> timbl: C7: to replace
21:49:33 <timbl> C7:= A short [write-up|http://www.w3.org/DesignIssues/N3Alternatives#Disjoint] of this problem appended to the DesignIssues note.
21:49:33 <dc_swig> Replaced comment C7.
21:50:12 <timbl> C7: A short [write-up|http://www.w3.org/DesignIssues/N3Alternatives#Disjoint] of this problem appended to the DesignIssues note.
21:50:12 <dc_swig> Replaced comment C7.
21:50:26 <timbl> tx crs
21:50:29 <crschmidt> np
22:22:12 <PhUrl> PhUrl is now known as md-afk
23:41:57 <jsled>http://people.csail.mit.edu/people/dfhuynh/research/downloads/piggy-bank/
23:41:57 <dc_swig> F: http://people.csail.mit.edu/people/dfhuynh/research/downloads/piggy-bank/ from jsled
23:43:01 <jsled> F:| Piggy-Bank -- collect+browse semantic data culled from pages while browsing [firefox plugin, alpha]
23:43:01 <dc_swig> Titled item F.
23:43:10 <jsled> F: "The Piggy-Bank extension is designed to let users of the Mozilla Firefox browser collect and browse "semantic data" linked from ordinary web pages. Semantic data is data described using the Semantic Web project's Resource Description Framework (RDF)."
23:43:10 <dc_swig> Added comment F1.
23:44:04 <jsled> F: From David Huynh, Haystack Group, CSAIL, MIT
23:44:04 <dc_swig> Added comment F2.
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.