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/rdfig (also known as server irc.freenode.net channel #rdfig if that URI does not work for you).
NOTICE: #rdfig logs are being turned off 2004-12-03. Please
switch to the new and
shiny #swig channel for Semantic Web Interest Group chat.
Change your client to #swig and enjoy the new experience.
Or read the latest #swig logs
to see what you've been missing :)
Semantic Web Interest Group Logs > 2002 > 2002-07 > 2002-07-17 (Latest) (Search)
00:07:51 <mio_> how do i validate xml .. i'm trying with xerces but i'm totally newbie
01:08:57 <tim_gone2> bijan, sure ... i'm not around consistently tho
01:09:28 <tim_gone2> oops he gone too
02:36:46 <sbp> hooray:-
02:36:47 <sbp> [[[
02:36:47 <sbp> $ echo '@prefix : <#> . :boss.<#wife>._:age = "7" .' | cwm
02:36:52 <sbp> [...]
02:36:52 <sbp> @prefix : <#> .
02:36:52 <sbp>
02:36:53 <sbp> this <http://www.w3.org/2000/10/swap/log#forSome> :_age .
02:36:53 <sbp>
02:36:54 <sbp> :boss :wife [
02:36:56 <sbp> :_age [
02:36:58 <sbp> = "7" ] ] .
02:37:00 <sbp> ]]]
02:37:09 <bijan> Ur?
02:37:21 * bijan has to catch up with the new syntax :(
02:37:47 <bijan> untyidy literals?
02:37:59 <sbp> check out http://www.w3.org/DesignIssues/N3Alternatives http://lists.w3.org/Archives/Public/www-rdf-interest/2002Jul/0066
02:38:11 <sbp> RDF Path thingy
02:38:27 <bijan> AH!
02:38:29 <bijan> I get it.
02:38:37 <bijan> More dots...
02:38:48 <bijan> Let's overload *everything* :)
02:38:53 <sbp> yeah, using a period as the sep char is not a wise choice, IMO
02:39:38 <sbp> and implementing lists in the path is tricky
02:39:46 * sbp prefers $
02:39:56 <sbp> :boss$:wife$:age = "7" .
02:40:06 * bijan dies.
02:40:13 <sbp> heh, not a fan of that, eh?
02:40:24 <bijan> Not particularly :)
02:40:32 <bijan> Hmm. what other horrid characters are there?
02:40:33 <sbp> it's got to be better than . though, you
02:40:37 <bijan> There's slash...
02:40:38 <sbp> s/you/surely?/
02:40:50 <bijan> :boss/:wife/age="7"
02:40:55 <bijan> I don't like this boss, btw.
02:41:03 <bijan> Backwards slash
02:41:22 <bijan> :boss\:wife\reallyTooYoung
02:41:28 <bijan> Hash!
02:41:39 <bijan> :boss#:wife#:reallyReallyTooYoung
02:41:43 <sbp> heh, my example comes from editing another test line without thinking too much (i.e. at all) about the semantics...
02:41:44 <bijan> Just like parka
02:41:52 <sbp> hash: ew. comment character
02:42:05 <bijan> So now we have *two* hash vs. slash debates :)
02:42:16 <sbp> this is more like hash vs. dollar
02:42:29 <sbp> I'm not even going to begin to consider slash
02:42:34 <bijan> But slash is infact safe isn't it?
02:42:39 <bijan> Looks like Xpath?
02:42:45 <bijan> Tastes like trash?
02:42:59 <sbp> yep, but Tim will eventually ask for the inverse path thing, and that'd sorta demand "\" for symmetry
02:43:09 <bijan> What's the inverst of $?
02:43:13 <bijan> cent?
02:43:14 <sbp> £?
02:43:17 <bijan> Or .?
02:43:20 <bijan> ,?
02:43:25 <sbp> ??
02:43:37 <bijan> |!
02:43:42 <bijan> ^|
02:43:49 <bijan> ^|^
02:44:08 <bijan> RDFPath can be the first programming langue to give formal semantics to emoticons.
02:44:10 <sbp> | was proposed for carrying on using the last object as the new subject
02:44:14 <sbp> heh, heh
02:44:40 <bijan> :boss:P:wife:O:age="7"
02:44:44 <bijan> Oh dear.
02:44:52 <sbp> ah, the inverse of . is ^ in N3Alternatives
02:45:02 <sbp> and % for $
02:45:03 * timbl2 was heading for sleep and then noticed path stuff.
02:45:26 <sbp> sorry :-)
02:45:33 <timbl2> Do you *really* think the whole world which uses "." as a propoerty separator will be happy with anything else?
02:46:00 * bijan points to Xpath
02:46:03 <deltab> C and Perl5 use ->
02:46:17 <bijan> Smalltalk uses...er.."space"
02:46:18 <timbl2> C uses . and ->
02:46:30 <timbl2> smalltalk is more like n3! [foo bar]
02:46:37 <deltab> yes, and perl6 will have . instead of ->
02:46:44 <timbl2> smalltalk didn't catch on, nor objective C.
02:46:50 <bijan> Only...uhm...with better tools.
02:46:57 <bijan> Hmm.
02:46:59 * DanC wanders by, after a nice picnic, where an unexpectedly nice volleyball game was available
02:47:09 <timbl2> A lot of it is picking up metaphors which work for a lot of people
02:47:34 <bijan> Hmm. I wouldn't mind having the overall influence Smalltalk had...
02:47:44 <bijan> ObjC being just one little example thereof :)
02:48:06 <timbl2> :)
02:48:29 * timbl2 had to recode all the initla WWW code from Objective-C to C. :-(
02:48:36 <bijan> Poor you.
02:48:42 <timbl2> indeed.
02:48:46 <bijan> Now you can backport cwm to objc!
02:48:57 <DanC> :boss$:wife$:age <- cute
02:48:58 <timbl2> As I said, the [] of n3 shoudl attact your smalltalkers.
02:49:02 <bijan> Or just use cwmclone :)
02:49:07 <bijan> Well. Uh...
02:49:17 <bijan> If I'm any representative... :)
02:49:20 <timbl2> What's wrong with Ada's ''"?
02:49:27 <timbl2> boss'wife'age
02:49:37 <DanC> not bad
02:49:45 <timbl2> with allusions to the posessive 's
02:49:46 <bijan> I've seen worse.
02:49:49 <bijan> Recently.
02:49:51 <bijan> :)
02:49:59 <sbp> and what about the inverse?
02:50:04 <sbp> ~?
02:50:06 <DanC> `
02:50:13 <sbp> heh, good idea
02:50:14 <bijan> Have you seen this toy language that is all "directly of slanting lines"?
02:50:15 <timbl2> except you lose a quote and everyone knowns avery language runs out of quote types all too soon!
02:50:26 <bijan> \
02:50:28 <bijan> \
02:50:33 <bijan> \
02:50:34 <DanC> boss/wife/age <- ala xpath
02:50:43 <bijan> ___
02:50:50 <bijan> Is some sort of program.
02:50:57 <bijan> 2d programming langauge.
02:51:14 <sbp> but \ is the obvious inverse of /, and you can't really use that
02:51:19 <bijan> danc: rejected by sean. It hink the grounds were....
02:51:21 <bijan> there you go :)
02:51:32 <sbp> I just picked that up from N3Alternatives
02:51:37 <deltab> Wierd?
02:52:01 <bijan> What's wrong with \ and /?
02:52:03 <bijan> Sean?
02:52:39 <bijan> Not that I *personally* approve, natch...jsut curious :)
02:53:02 <sbp> 1) / looks like divide too much (and is probably reserved as such) 2) the inverse, \, is a widely used character escape character
02:53:21 <bijan> Ah.
02:53:47 <sbp> you'll end up with stuff like: "\n"\"\""\"7"/"\n/"\"7"
02:53:58 <timbl2> ascii art.
02:54:04 <bijan> In a perfect world, where I ruled, I think i prefer a nice sane verbose form with clean ways of adding custom abbreviations.
02:54:12 <sbp> right. it'll make N3 look real pretty like, but...
02:54:17 <bijan> Something like, I don't know.....
02:54:28 <bijan> something with lots and lots of p arens!
02:54:38 <timbl2> Well, luckily you are in a woprld where you can use [os ___ of]
02:54:47 <timbl2> Well, luckily you are in a woprld where you can use [is ___ of]
02:54:54 <bijan> Oh.
02:54:55 <timbl2> rather.
02:55:19 <bijan> No, that's not a bijan-dominated world :)
02:55:49 <timbl2> [ is math:sum of [is time:hours of [ is time:localtime of [ is os:argv of "1"]]]]]]]]
02:55:56 <bijan> Ouch.
02:56:03 <sbp>http://www.w3.org/DesignIssues/N3Alternatives
02:56:07 <timbl2> You will never dominatethe world by trying to dominat eit.
02:56:07 <bijan> Yep.
02:56:09 <dc_rdfig> A: http://www.w3.org/DesignIssues/N3Alternatives from sbp
02:56:21 <sbp> A:|N3 Design Alternatives
02:56:21 <dc_rdfig> titled item A
02:56:22 <bijan> Er...I'm *not* trying to dominate it.
02:56:27 <bijan> I jsut don't want it to dominate me :)
02:56:33 <timbl2> oh, then you mightt...
02:56:47 <bijan> I mean, either I'm not trying to dominate the world, or I'm picking a *very* strange way to do it :)
02:56:49 <sbp> A:Mentioned in [http://lists.w3.org/Archives/Public/www-rdf-interest/2002Jul/0066|Re: Minus sign in ids] on rdf-interest
02:56:50 <dc_rdfig> added comment A1
02:56:56 <sbp> logger, pointer?
02:56:56 <sbp> See http://ilrt.org/discovery/chatlogs/rdfig/2002-07-17#T02-56-56
02:56:58 <timbl2> Zen and the art of arbitrary choice in language punctuation.
02:57:21 <sbp> A:and the "RDF Path" syntax was [http://ilrt.org/discovery/chatlogs/rdfig/2002-07-17#T02-56-56|discussed on #rdfig]
02:57:26 <dc_rdfig> added comment A2
02:57:26 <bijan> "I know, I'll become an obscure and bizarre language expert! The masses shall cry out my name!"
02:57:45 <bijan> "Fame, fortune, intrest free loans...all shall be mine!"
02:57:51 <bijan> Somehow, I think not :)
02:57:54 <sbp> A:So, what's it to be? . and ^? $ and %? / and \? ' and `? help?!
02:57:54 <dc_rdfig> added comment A3
02:58:19 * timbl2 fears bijan has started believing his junk mail ;-)
02:58:30 <timbl2> I like . and ^ currently
02:58:41 <bijan> So, tim, wanna see a cwm1.82, latest cwm, cwmclone toy benchmark?
02:58:49 <timbl2> show me the numbers.
02:59:05 <timbl2> pathcross?
02:59:41 <bijan> Yes.
02:59:41 <bijan> Cwm cmd line:
02:59:42 <bijan> time python cwm.py pathCross.n3 ../cwmclone/rdfs-rules.n3 --think --no
02:59:47 <bijan> That's the cwm invoktion.
02:59:54 <timbl2> k
03:00:02 <bijan> Cwm 1.82:
03:00:02 <bijan> 42.870u 1.240s 1:23.38 52.9% 0+0k 5+26io 0pf+0w
03:00:02 <bijan> Latest cwm:
03:00:02 <bijan> 40.170u 0.860s 1:17.08 53.2% 0+0k 0+23io 0pf+0w
03:00:02 <bijan>
03:00:02 <bijan> CwmClone:
03:00:04 <bijan> 9.040u 0.510s 0:27.21 35.0% 0+0k 33+1io 0pf+0w
03:00:06 <bijan> CwmClone with slight assert hack:
03:00:08 <bijan> 7.120u 0.270s 0:19.71 37.4% 0+0k 0+2io 0pf+0w
03:00:40 <bijan> CwmClone is *not* doing builtin shuffling at the moment, but I don't think pathCross hits that.
03:01:14 <bijan> And this is loading and compiling cwmclone each time. Haven't done the "dump and load" thing yet.
03:01:17 <timbl2> So what does cwmclone do?
03:01:32 <bijan> And I'm printing out a bunch of diagnostic stuff along the way.
03:01:33 <bijan> Hmm?
03:01:54 <bijan> It computes that danc pathCross danbri in hawaii :)
03:02:19 <bijan> Oh you mean for builtins?
03:02:24 <bijan> Just has a single ordering.
03:02:33 <timbl2> cwmclone is xsbbased or a hand-coded engine?
03:02:40 <bijan> swi prolog.
03:03:06 <bijan> see: http://www.unc.edu/~bparsia/sw/cwmclone/cwmclone.html
03:03:13 <bijan> Latest version not there yet.
03:03:27 <timbl2> with conversion of { s p o } into (p s o) or (rdfstment p s o)?
03:03:46 <bijan> rdf(S,P,O,C)
03:04:08 <bijan> But rdfdb has some caches to make querying from the prolog prompt nice.
03:04:17 <bijan> Kills asserting performance dead dead dead.
03:04:41 <bijan> I.e., you can do things like rdf(X, Prefix:pathCross, Y).
03:04:48 <bijan> And it will bind the prefix.
03:05:02 <bijan> It does stuff for fast instance testing and class inherience.
03:05:09 <bijan> though I'm not convinced it's fast :)
03:05:39 * tim_gone2 has to go... bad timing.
03:05:44 <tim_gone2> cwmclone is impressive.
03:05:48 <bijan> Thanks.
03:06:01 <tim_gone2> I was going to ask about fwd vs backward reasponing styles.
03:06:05 <bijan> Will get the cmd line thing soon.
03:06:11 <bijan> So it works as a drop in replacement.
03:06:12 <deltab> hmm, I don't think [ is os:argv of "1" ] is right; I think it should be [ is elem:1 of os:argv ]
03:06:14 <tim_gone2> but I don't have time for the answer... another day.
03:06:18 <bijan> K.
03:07:02 <tim_gone2> deltab, os:argv is a current builtin and works the way it works but i am sure there better ways.
03:07:17 <bijan> tim is there a log:hasvars in cwm?
03:07:22 <bijan> is so, what does it do?
03:07:22 <deltab> os:argv has elem:1 "something"
03:07:28 <bijan> If there's a two second answer :)
03:08:30 <tim_gone2> "1" os:argv "--help" is true if the first command line arg after '--with" was "--help".
03:08:47 <tim_gone2> cwm can , given a number, give you the argument string.
03:08:56 <tim_gone2> What it should be abel to do is bind both.
03:09:29 <tim_gone2> { [] os:argv "--verbose } => { :un a :VERBOSE_RUN }.
03:09:39 <tim_gone2> { [] os:argv "--verbose" } => { :un a :VERBOSE_RUN }.
03:09:44 <deltab> ah
03:10:01 <tim_gone2> so currently you would have to check all args.
03:10:24 <deltab> that doesn't make any sense at all to me, but okay
03:10:51 <tim_gone2> BTW a builtin I was th9nking of is x math:zeroUpTo y which would iterate y over range(0..y-1)
03:11:26 * bijan hopes pyprolg works so he doesn't have to back port all these prims...
03:11:26 <tim_gone2> cwm builtins can operate forwards or backwards or both.
03:12:01 * tim_gone2 hopes we will be downloading functions from the web in due course...
03:12:14 * tim_gone2 waves
03:12:24 <bijan> No log:hasvars?
03:12:52 <deltab> the more I read about N3, the less sense it makes :-(
03:12:59 * DanC catches up...
03:13:05 * bijan needs access to the firewire port on tim's skull.
03:13:27 <DanC> yeah... if you figure that one out, bijan, lemme know. ;-)
03:13:35 <bijan> Heh.
03:13:48 <bijan> My luck, it'll be scsi...
03:14:08 <bijan> and I'm the eighth device on teh chain...
03:14:48 <bijan> Lesse, you, sandro, jim, danbri, the japanese emperer, eric miller, TAG...
03:14:59 <bijan> Dang. that's it.
03:16:32 * bijan notes that one of his cats settles on his arm, in fine position to lick his face.
03:17:00 <bijan> DanC, so, is there a log:hasvars or not? :)
03:17:26 * bijan has some folks who using in proof based auth stuff and is supposed to implement it in cwmclone...
03:18:51 <DanC> no, I don't think there's a log:hasvars anywher in the swap code
03:18:58 <bijan> Cool.
03:19:04 <bijan> i'll squeeze them, then.
03:19:21 <bijan> I wasn't finding it, but you never know...
03:19:22 <DanC> proof based auth... you've see timbl's writeup? http://www.w3.org/2000/10/swap/test/crypto/
03:19:30 <DanC> indeed, you never know.
03:19:36 <bijan> No.
03:19:43 <bijan> Have you seen ron and amy's demo?
03:19:51 <DanC> no, don't think so.
03:20:45 * bijan drills over to the site via very slow dialup.
03:21:19 <bijan> Site; http://www.mindswap.org/~aloomis/auth.shtml
03:21:46 <bijan> Hmm. where's the demo...
03:22:09 <bijan> Ah, here: http://www.mindswap.org/~aloomis/proof.shtml
03:22:16 <bijan> The output actually is shown :)
03:22:27 <bijan> They managed to get it speedy enough to avoid timeouts.
03:22:36 <bijan> But you use cwm; you're used to waiting :)
03:23:58 <bijan> Hmm. I see "crypto" and my eyes glaze a bit :(
03:24:34 <bijan> THough for the wrong reasons i think.
03:25:34 <sbp> now we're getting somewhere:-
03:25:35 <sbp> [[[
03:25:36 <sbp> $ echo '@prefix : <#> . "Le Petit Prince"^:fr^:title.:author :name "Fred" .' | cwm
03:25:41 <sbp> [...]
03:25:41 <sbp> [ :author [
03:25:41 <sbp> :name "Fred" ];
03:25:41 <sbp> :title [
03:25:41 <sbp> :fr "Le Petit Prince" ] ].
03:25:42 <sbp> ]]]
03:25:56 <bijan> Hmm. Ok, looking athte pictures...I think they're doing similar stuff.
03:32:26 * DanC catches up again, takes a look at http://www.mindswap.org/~aloomis/proof.shtml
03:33:11 <DanC> do it's thing
03:33:13 <DanC> its
03:33:48 <DanC> where's the namespace binding for Proof: ?
03:34:10 <bijan> Prolly in one of the trustedSite files above
03:34:17 <DanC> ?
03:34:23 <DanC> namespace bindings are lexically scoped.
03:34:28 <bijan> I know.
03:34:29 <DanC> This is some variant of N3, yes?
03:34:42 <bijan> i think they do some sort of textual include
03:34:52 <bijan> Well, yes. It's running on cwm :)
03:35:16 <DanC> well, some other cwm
03:35:28 <DanC> not the cwm defined by swap/test/retest.sh
03:36:40 <bijan> WEll, code is all there for the trawling.
03:37:14 <DanC> all where? I don't see any links from http://www.mindswap.org/~aloomis/proof.shtml
03:37:33 <bijan> see the project page: http://www.mindswap.org/~aloomis/auth.shtml
03:37:43 <bijan> SEcond paragrpah.
03:38:03 * DanC notes "give links into context" http://www.w3.org/Provider/Style/IntoContext.html
03:38:13 <bijan> What?
03:38:33 <DanC> there should be a link from aloomis/proof.shtml to its context, ~aloomis/auth.shtml
03:38:57 <DanC> it shouldn't matter which one I visit first; I should be able to follow links to the oterh
03:39:24 <bijan> Sure. But there isn't. Hence i told you where to go.
03:39:33 <bijan> This is not polished stuff.
03:39:41 * DanC can't find the modified cwm code yet...
03:39:55 <bijan> Why do you think it's modified cwm?
03:40:02 <bijan> Did they say that somewhere?
03:40:10 <DanC> cuz the language it parses is different from the one I'm used to.
03:40:22 <bijan> My gues is that they're preprocessing that witha perl script
03:40:28 <DanC> ah.
03:40:28 <bijan> Sorta like n3s
03:41:11 * DanC discovers a shower didn't get all the sand out of my hair. sigh.
03:41:15 <bijan> They said something about cwm at one point importing variable bindings then stopping.
03:41:23 <bijan> Not quite sure what that meant :)
03:41:35 <bijan> This is what I think the log:hasvars bit is supposed to be.
03:41:41 <DanC> see earlier comment about picnic/volleyball
03:42:15 * bijan doesn't read perl.
03:42:17 <DanC> "Tim Burners-Lee" -- http://www.mindswap.org/~aloomis/auth.shtml
03:42:34 <bijan> That's a bit fragile, however, depending on teh prefix that way.
03:42:37 <bijan> Heh.
03:43:14 <bijan> Hmm. Can tim complain about such a typo? :)
03:43:28 <DanC> ok, well, I'm glad other folks are working on proof stuff. I don't get much out of their write-up so far, but I'm glad they "release early, release often"
03:44:07 <bijan> Yep. Project from an undergrad class I'm trying to revive.
03:44:58 <bijan> (not my undergrad class; if it were I 1) am a prophet as I graduate from college quite a while ago, and 2) missed out big :))
03:55:38 <sbp> Hmm... now that I've implemented L-R parsing, I'm not sure if R-L wouldn't be better
03:57:07 <sbp> author^:title.:fr."Le Petit Prince" is clearer to me than "Le Petit Prince"^:fr^:title.:author
04:03:44 <golbeck_gone> golbeck_gone is now known as golbeck
04:23:36 <sbp> the problem with allowing lists in the path is that it means having to look-ahead: :x :y (?x ?y ?z).:max .
04:24:10 <sbp> unless you stop ignoring whitespace in the tokenizer...
08:41:55 <decoy> decoy is now known as ssyreeni
12:48:53 <ssyreeni> seems that the right people are present, so...
12:49:24 <ssyreeni> a while ago I was going through RDF MT, and coding the closure rules in N3
12:49:55 <ssyreeni> everything else works just fine but how about checking for blank nodes?
12:50:22 <ssyreeni> is that possible in CWM?
13:16:48 * timbl_ just joined, no context .. is what possibel in cwm?
13:20:07 <ssyreeni> checking for blank nodes in the graph
13:20:26 <ssyreeni> trying to do RDF MT closures the Right Way
13:23:17 <timbl_> Hmmm... can the query be made to differentiate betwen blank and labelled nodes, you mean.
13:23:37 <ssyreeni> precisely
13:25:07 <ssyreeni> in the closure rules we have stuff like <a,b,c>, c a uriref, for all a,b,c implies <c,rdf:type,rdfs:Resource>.
13:25:10 <timbl_> Can we turn this into a logical question?
13:25:51 <ssyreeni> implementing checks for c a literal, c a blank node and c a uriref is the trouble I'm having.
13:31:25 <ssyreeni> right now I'm doing { var:s var:p var:o . var:o log:rawType var:o2 . var:o2 log:notEqualTo log:Literal . } log:implies { var:o a rdfs:Resource . } . but that doesn't seem right for anonymous nodes as objects.
13:39:58 <DanC> why not?
13:40:36 <DanC> note that log:rawType checks syntax. it's a level-break, magic kinda thingy.
13:44:03 <ssyreeni> danc: know that. haven't decided yet whether it's evil or not. ;) still, the point is that anonymous resources aren't literals or resources, so I fear the above rule might mark a blank node as being a resource.
13:44:48 <ssyreeni> that's not part of the closure rules, so I'd like to explicitly guard against the possibility.
13:49:46 <ssyreeni> the most relevant parts are likely MT's rules rdfs5 and rdfs6, where the objects are constrained as urirefs. (weirdly enough rdfs4b does permit the object to be a bnode, now that I look at it)
15:05:08 * JibberJim wonders how many DanCon's can be on a channel before it becomes overloaded.
15:06:36 * danbri hopes we never find out :)
15:43:42 <timbl_> ssyreeni's request is a level-breaiking -- syntactic -- request anyway.
15:52:00 <DanCon> log:content shouldn't be in log:
15:52:00 <DanCon> btw
15:52:10 <DanCon> nor should log:racine
15:52:28 <DanCon> well, maybe log:racine
15:53:28 <DanCon> but where do we put URI join and pathTo?
15:53:31 <DanCon> anyway...
15:53:50 <sandro> Actually, with my current axiomatization it can be -- it's not magic at all.
15:54:06 <DanCon> which isn't magic?
15:54:07 <sandro> ... or do you just mean it's conceptually different.....
15:54:14 * DanCon hunts for sandro's current work...
15:54:20 <sandro> log:racine. I'm not sure what log:content is.
15:54:48 <DanCon> log:content is kinda like log:semantics but without the parsing. It just gives you the text contents.
15:54:58 <sandro> Arg - I never sent my two minutes with the links you want, DanC, when the power went out. (and we never got to it in yesterday's meeting.)
15:55:11 <DanCon> I added log:content along with str:scrape for HTML scraping apps.
15:55:41 * DanCon finds http://www.w3.org/2002/05/positive-triples/test/forall-x-abx-and-dex.rdf
15:55:47 <sandro> Ah -- log:content is very different/magic/outside-of-FOL. THe other half of log:semantics is not magic/outside-of-FOL.
15:56:13 <sandro> Excellent finding. THat's the most current test case.
15:56:23 * DanCon loves recent-commits
15:57:00 <sandro> I think ../naming.otter sketches out what I was thinking about names, but it's not all worked out, and not tested yet.
15:59:10 <DanCon> do you have a syllogism test case? when I was working on proof and logic layering, my test case was: fido is a dog; all dogs get fleas; therefore, fido gets fleas.
15:59:49 <DanCon> i.e. show a proof that fido gets fleas from assuming fido's a dog and all dogs get fleas.
16:01:17 * DanCon should tend to webont action items...
16:03:46 <sandro> I don't have that exact case, and the currect v2 axioms dont have the conditional yet -- focusing on quantification. conditional with ground terms worked in v1.
16:07:10 * sandro heads off to MIT via Lunch.
16:37:33 <sbp> so, we were talking about RDF?
16:37:44 <JibberJim> nah, you were talking about N3...
16:38:20 * timbl_ sees two people walk into the room in earnest conversaion
16:38:32 <Morbus> heh, heh.
16:38:41 <Morbus> so, assoc's are always done with anonymous nodes?
16:38:49 <Morbus> can anonynodes contain other anonynodes?
16:38:54 <Morbus> can 'x' be anything you want?
16:39:09 <sbp> no, as I was saying, it's up to you how you model a particular statement; some models are going to be better (easier to query etc.) than others
16:39:10 <Morbus> so _:morbus and _:sbp?
16:39:37 <sbp> yes, although in N3 and NTriples the labels must follow [A-Za-z][A-Za-z0-9]*
16:40:04 <Morbus> why are there so many different RDF formats?
16:40:15 <Morbus> it's like XML all over again.
16:40:26 <Morbus> er, ways of writing RDF, I guess.
16:40:46 <sbp> well, first there was XML RDF, but people found it too verbose, and it had bugs (like the no literals as subjects thing)
16:41:04 <sbp> so then along came various "how to clean up XML RDF" proposals, and eventually N3/NTriples
16:41:15 <sbp> there have been plenty of serialization proposals
16:41:16 <Morbus> well, hold on. RDF was a concept first, and its first implementation was XML RDF?
16:41:22 <sbp> basically, yes
16:41:28 <sbp> although I fear that a lot of people confused the two
16:41:34 <sbp> which is what caused a lot of the problems
16:41:36 <JibberJim> XML RDF is just a way of writing RDF, it's not a different type or anything.
16:41:42 <pixel> you're very right on that one.
16:42:02 <pixel> why can't a subject be a literal?
16:42:09 <sbp> but each serialization often has a sligtly different model associated with it
16:42:16 <sbp> why not: it's a quirk of XML RDF
16:42:42 <sbp> it's just impossible to do, if you look at the BNF; unless you use something like a data:, URI for the subject, and that's not quite right
16:42:55 <pixel> ah.
16:43:24 <sbp> it's not like my views on the alternate serializations are particularly left-wing
16:43:34 <sbp> Sandro and Aaron are amongst those that share my viewpoint
16:43:42 <sbp> and N3 is popping up all over the place
16:44:06 <sbp> as DanC said the other day, people are learning by themselves from the N3 Primer, and then jumping in with really quite advanced questions
16:44:41 <sbp> but it's true that N3 isn't meant for interchange, and it's not a recommendation, and there's no formal definition for it
16:44:56 <sbp> but so what? it's still very useful
16:45:12 <sbp> I think that TODL would be best for interchange
16:45:28 <sbp> or perhaps TODL with QNames, since compression is useful
16:46:45 <JibberJim> compression?
16:46:59 * JibberJim thinks compression is best left to the experts "gzip -9" etc.
16:47:02 <sbp> Morb, are you still there?
16:47:11 <sbp> yeah, it's not 100% necessary
16:47:28 <sbp> HTTP 1.1 being what it is :-)
16:58:34 <pixel> since you can't use a literal, as the subject, and URIs are acceptable, and anyone can create a URI, looking back at the trust example, if I were to translate "I trust Kevin's Music expertise as a 5 on a scale or 1 to 10" to an acceptable subject, the subject could be: dict:/english/music or something similar?
16:59:13 <JibberJim> best not to invent scheme's
16:59:57 <pixel> of course... I meant to state that if there was a dict scheme, say for word definitions, I could use that as the subject.
17:00:38 <pixel> of course, if there wasn't a dict-type scheme, and that's what I wanted to use, I could if I so desired.. the only drawback is obviously no one would know what to do with it.
17:00:41 <JibberJim> no, as you'd be saying "music" trust 5 - not Kevin's music knowledge.
17:02:40 <pixel> hmm.
17:03:19 <pixel> I don't think rdf is goign to allow the flexibility that I need, without adding unnecessary complications.
17:05:07 <JibberJim> I don't see the problem, attract the attention of someone with more experience than me, I'd have to play around for too long...
17:05:37 <pixel> :) I think I should just read more :)
17:05:54 <sbp> certainly at this stage there isn't a great deal to entice people to base their applications on the RDF model rather than something else. but it's changing slowly: there are good and fast query and inference agents emerging, query BOFs springing up sporadically, and an awful lot of funding and support in the background
17:06:43 <sbp> and often you have nothing to lose: it's not that much more complicated basing your data structures on the subject,predicate,object model, and I've found that it can actually help you to think about what you're doing
17:06:50 <sbp> this ratings thing is a very good example of that
17:07:41 <sbp> although it does expose the fact that you do need to have some sort of minimal education in a lot of RDF-related things (you need to learn the model, you need to learn at least one serialization...) before you can really use it at all
17:08:03 <sbp> .google Business Model for the Semantic Web site:www.w3.org
17:08:05 <datum> Business Model for the Semantic Web site:www.w3.org: http://www.w3.org/DesignIssues/Business
17:08:21 <JibberJim> yeah and that cost in initial learning only pays off when you want to aggregrate with data outside your control.
17:08:39 <JibberJim> at least pixel arrived at foaf, so he can already see aggregration going on.
17:09:10 <sbp> "Is this rocket science? Well, not really." Somebody's bound to come up with a rocket powered by data in an RDF form now, thanks to that
17:09:23 <sbp> absolutely
17:09:52 <sbp> FOAF, vapourware that it was, is fast becoming a best-point-of-entry for people learning about the SW
17:10:28 <JibberJim> it's 'cos it's about people I guess.
17:10:47 <pixel> well, I do see some the benefit of having a data model that is being developed by a larger organization, but the learning curve is steep. I think once I more fully understand the underlying concepts, I'll be much better off. and as you said before, I wasn't really aware until very recently that RDf was a much larger concept that the XMl serialization leads you to believe.
17:10:55 <JibberJim> (and has lots of pictures to laugh at)
17:12:01 <sbp> as Jim said, it's best to think about the model and triples first, but it's difficult to do that without learning a serialization. catch-22. and you have to wade through the serialization wars and sit with the serialization that you find the easiest to get along with
17:12:10 <sbp> (like the guy pulling the cart? heh, heh)
17:21:55 <JibberJim> - http://jibbering.com/rdf/group-search.1?person=pixel,sbp,JibberJim
17:21:57 <ssyreeni> jibber: FOAF being about people doesn't hurt, true. however, I'm thinking its popularity has more to do with the fact that non-fetchable but still nameable resources which people want to talk about, today, are few and far between.
17:21:58 <JibberJim> now I just need to hook into the log's rdf and I can have the words coming out of peoples mouths.
17:22:03 <ssyreeni> that's what RDF excels in, with FOAF being one of the first real applications.
17:23:07 <JibberJim> You've got a good point about the lack of "non-fetchable" resources, I use them a lot in my foaf though.
17:24:02 * danbri thinks a beefed up wordnet vocab, plus Jim's image annotator, is the next interesting step re non-fetchables...
17:24:29 * JibberJim is beefing it up with some of Ivan Hermann's positional vocab as we speak...
17:24:41 <danbri> oooh
17:24:53 * danbri is not here, or would be nosing about the details...
17:25:44 <ssyreeni> danbri: wordnet is a killer. I was thinking, with a little bit of extra structure it could very well be used to encode most of what there is to say about the world.
17:27:06 <JibberJim> wordnet is a bit odd though which is off-putting, and you do need to check that the noun you want to use means what you think it means.
17:27:24 <danbri> structurally its a mess, but it does include most words
17:27:43 <danbri> there are some cleanups around, but I'll stick with faithfully reflecting wordnet-as-shipped, for now at least
17:27:58 <JibberJim> 1.7 available yet?
17:28:08 <pixel> cool link, jim!
17:28:22 <danbri> nope. I did a bit at weekend, won't do any more until next...
17:28:22 <ssyreeni> currently I'm saying foaf-ext:is-a, foaf-ext:is-like and foaf-ext:does about persons and wordnet concepts. lotsafun. now, if someone just had the time to code a commonality finder for those, and presto, you've got a matchmaker running on RDF...
17:28:22 * DanCon works on test case involving datatypes and unambiguous properties in OWL...
17:28:36 <JibberJim> I was wondering about an /en/ in the namespace for it so you're ready to put the other languages in when you get them.
17:29:21 <danbri> language negotiation's another option
17:29:24 * danbri really not here now
17:29:29 <danbri> danbri is now known as danb_nothere
17:30:59 <ssyreeni> jibber: one could work with straight literals, too. if I remember correctly, they're supposed to hold a language type, too, now.
17:31:41 <JibberJim> yeah, but wordnet has the nice heirachy thing going for it, which literals don't.
17:32:16 <ssyreeni> that's sort of kluge-like, though. the only place the langauge attributes work is in literals, as you say.
17:33:18 <ssyreeni> but you don't have to break the wordnet structure. even a little bit. all the concepts are encoded as abstract URI's, while the wordforms and glossary entries are separate. you could code the latter two as literals, as they are now, but changing the language. the class hierarchy wouldn't change at all.
17:34:00 <ssyreeni> it's just that most current environments do not permit easy access to the parsetype bit or the language field.
17:34:20 <JibberJim> Could you not create a setup to say that wnenglish:Beer is the same as wnspanish:cervesa
17:35:24 <pixel> what do you do about conceptual written languages such as kanji-based languages?
17:35:27 <ssyreeni> you could, of course. both concepts are denoted by the same URI, but have wordform literals en:Beer and sp:cerveza (faking the langauge tag, of course)
17:35:40 * JibberJim isn't sure of his spanish so apologies to any spanish speakers.
17:36:11 <ssyreeni> pixel: I don't think there is a real difference; jibber: it is. that's the one word I do recognize. ;)
17:36:28 <JibberJim> but the wordnet URI includes the English form, which is unfotunate I think.
17:36:49 <ssyreeni> does it?
17:37:00 * ssyreeni rummaging through some megabytes
17:37:12 * Morbus returns.
17:37:46 <ssyreeni> my nouns file starts with:
17:37:47 <ssyreeni> <!DOCTYPE rdf:RDF [
17:37:48 <ssyreeni> <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
17:37:48 <ssyreeni> <!ENTITY a 'http://www.cogsci.princeton.edu/~wn/concept#'>
17:37:48 <ssyreeni> <!ENTITY b 'http://www.cogsci.princeton.edu/~wn/schema/'>
17:37:48 <ssyreeni> ]>
17:37:49 <ssyreeni> <rdf:RDF xmlns:rdf="&rdf;"
17:37:51 <ssyreeni> xmlns:a="&a;"
17:37:51 <pixel> the problem is what if the language doesn't have something that specific. many languages might not have a concept/word for "beer", only for something more general such as "grain beverage". hmm. I think I just answered my own question - you jsut use the more general term.
17:37:53 <ssyreeni> xmlns:b="&b;">
17:37:55 <ssyreeni> <b:Noun rdf:about="&a;100001740">
17:37:57 <ssyreeni> <b:wordForm>entity</b:wordForm>
17:37:59 <ssyreeni> <b:wordForm>something</b:wordForm>
17:38:01 <ssyreeni> </b:Noun>
17:38:33 <ssyreeni> pixel: quite. it's not as if every concept needs to have a translation in every language.
17:38:56 <ssyreeni> also, one could invent some new structure to give approximate expressions for a concept when the precise thing isn't expressible.
17:39:41 <JibberJim> - http://nipadio.lsi.upc.es/cgi-bin/public/wei1.consult.perl <- euro wordnet english,spanish, basque, catalan.
17:42:34 <ssyreeni> so the euro-version names the concepts differently?
17:44:25 <JibberJim> I'm not sure, I don't know much about it I just dug it out after seeing it ages ago - http://nipadio.lsi.upc.es/wei.html is the homepage if you've not got it.
17:47:59 <ssyreeni> the interface gave the noun identifier for "concept" as <numbers>n . I'm thinking the hierarchy is very much like in the English version. haven't the space to download and unzip one of the actual data files, though...
17:49:04 <ssyreeni> that'd mean they separate the wordforms from the concepts, like the original wordnet does, and that merging multiple languages shouldn't be too difficult. they may have funky properties for the concepts, but that's easily remedied if need be. ;)
18:17:01 <DanCon> pop quiz: what does { :x a :FunctionalProperty } mean to you?
18:17:13 <DanCon> how about { :x a :InverseFunctionalProperty} ?
18:17:13 <ssyreeni> not a darn thing.
18:17:24 <DanCon> how about { :x a :UniqueProperty }?
18:17:37 <Morbus> when I think of Function in code, i think more of a process.
18:17:48 <Morbus> not as a "working something or other"
18:17:50 <ssyreeni> :FunctionalProperty daml:inverseOf :InverseFunctionalProperty . ?
18:17:59 <ssyreeni> UniqueProperties are clearly DAML stuff
18:19:04 <ssyreeni> The semantics are: whenever particular object has two UniqueProperties, the values of these properties must equal.
18:19:56 <ssyreeni> What I means is that if you have:
18:20:17 <ssyreeni> <#a> a daml:UniqueProperty.
18:20:34 <ssyreeni> <#x> <#a> <#b> .
18:20:49 <ssyreeni> <#x> <#a> <#c> .
18:21:04 <ssyreeni> then <#b> = <#c> .
18:21:40 <JibberJim> #x = #x ?
18:21:53 <ssyreeni> jibber: huh?
18:22:07 <JibberJim> does that tell you anything about <#x> ?
18:22:14 <ssyreeni> not really.
18:22:48 <pixel> it says that x has three properties, and two ofthem are the same. But one of these things is not like the other ones.
18:22:48 <ssyreeni> if you work with daml:UnambiguousProperty, you have:
18:23:07 <ssyreeni> <#a> a daml:UnambiguousProperty .
18:23:35 <ssyreeni> <#x> <#a> <#b> .
18:23:46 <ssyreeni> <#y> <#a> <#b> .
18:24:00 <ssyreeni> then <#x> = <#y> .
18:24:17 <ssyreeni> so those to are sorta, maybe, kinda, reverse to each other.
18:24:58 <ssyreeni> unambiguous properties are something which can only apply to a single object given their value
18:25:19 <ssyreeni> unique properties are something which can only apply to a single value given the object
18:25:58 <JibberJim> right, thanks.
18:27:48 <ssyreeni> examples:
18:28:15 <ssyreeni> unambiguous property: an email address of a person (only a single instance can have a given email address; used in FOAF)
18:28:28 <ssyreeni> national identifier: only a single person may possess a given identifier
18:28:47 <ssyreeni> genetic makeup: only a single person can match
18:28:57 <JibberJim> identical twins / clones ?
18:29:07 <ssyreeni> unique property: (having trouble, now...)
18:29:19 <ssyreeni> jibber: likely not. thing mutations.
18:30:06 <ssyreeni> unique: eye color (given a sufficiently clear ontology)
18:30:18 <JibberJim> unique: Father ?
18:30:18 <ssyreeni> national id's, again (a person can have only one)
18:31:05 <ssyreeni> well... I've been troubled by that -- how about biological vs. other fathers?
18:31:17 <ssyreeni> or industrial strength biotechnology? ;)
18:31:22 <ssyreeni> but yes, father.
18:31:43 * JibberJim thinks it's more likely than eye colour when any person has 2 eyes, which are often different colours.
18:32:16 <ssyreeni> mother, wife (in a perfectly monogamous world), current GPS coordinates, and so on
18:33:16 <DanCon> the WG has decided the names UniqueProperty and UnambiguousProperty suck, and is searching for better names. Functional and InverseFunctional have been proposed and 2nded by several.
18:33:30 <ssyreeni> jibber: well, you see, that's precisely the problem every taxonomist/ontologist deals with. it's not really /me -stuff, but a real insight into how things work. ;)
18:33:55 <Seth> how about oneToOne
18:34:18 <ssyreeni> seth: oneToOne suggests unique and unambiguous at the same time. not a good idea, I think.
18:34:27 <DanCon> oneToOne is a different concept altogether. (well, something that's both functional and inversefunctional is oneToOne)
18:34:50 <ssyreeni> dancon: really? those make far less memorable mnemonics, IMHO.
18:34:52 <DanCon> ssyreeni, you're comfortable with unambiguous and unique, as names?
18:35:09 * JibberJim is more comfortable with them than functional.
18:35:13 <pixel> unambiguous is a pain to type :)
18:35:24 <JibberJim> but I wouldn't listen to me...
18:35:25 <ssyreeni> sort of. more so than with functional-somethings.
18:35:26 * MarkB agrees - doesn't know what "functional" refers to
18:35:40 <DanCon>http://lists.w3.org/Archives/Public/www-webont-wg/2002Jul/thread.html#75
18:35:40 <dc_rdfig> B: http://lists.w3.org/Archives/Public/www-webont-wg/2002Jul/thread.html#75 from DanCon
18:36:03 <DanCon> B:|WebOnt searches for better names for UniqueProperty and UnambiguousProperty
18:36:04 <dc_rdfig> titled item B
18:36:07 <Seth> DonCon, isn't mbox oneToOne ?
18:36:14 <DanCon> B:Functional and InverseFunctional seem to be leading candidates
18:36:15 <dc_rdfig> added comment B1
18:36:30 <ssyreeni> the concepts sort of remind me of the concepts of injectivity and surjectivity...
18:36:52 <DanCon> mbox: no, I have a U.Texas mailbox and a W3C mailbox
18:37:05 <pixel> I have multiple mbox's also.
18:37:28 <ssyreeni> I have multiple aliases of the same mailbox. Beat you all!
18:37:35 <Seth> ok ... then try oneToMany
18:37:48 <DanCon> yes, injective/surjective are the relevant concepts... the question is: are those names known to (or: teachable to) webheads?
18:37:58 <Seth> the one applies to the domain .. there must be ony one domain with that key
18:38:07 <DanCon> yes, I like OneToMany and ManyToOne. (or at least: sandro does, and I'm happy enough with them)
18:38:11 * JibberJim prefers them as at least if you enter them in google you get relevant documents back.
18:38:11 <ssyreeni> seth: quite. oneToMany and manyToOne sound quite descriptive.
18:39:27 * DanCon is piqued by JibberJim's mention of google endorsement of OneToMany/ManyToOne...
18:39:28 <ssyreeni> perhaps salted with the Property suffix.
18:39:45 <JibberJim> NO! I was endorsing injectivity surjectivity
18:39:45 <pixel> both concepts are also used frequently in relational databases, which many webbies are familiar with.
18:39:53 <DanCon> oops
18:40:09 <pixel> (I was refering to OneToMany/ManyToOne)
18:40:25 <DanCon> Guus argued that rdb:OneToMany isn't the same as daml:UnambiguousProperty. I don't understand his argument.
18:41:00 <JibberJim> functional etc. gives lots of stuff about "functional" which aren't relevant, the *jectivity whilst going to maths pages at least isn't destracting you with other definitions.
18:42:36 <Seth> ssn type oneToOne
18:42:37 <ssyreeni> dancon: reference? (in debunk mode, now)
18:43:18 * ssyreeni dropping irrelevant channels
18:43:47 <Seth> so we get a whole bunch of easily understood properties ... OneToOne OneToMany ManyToOne and ManyToMany
18:44:06 <JibberJim> I could have many foaf:nicks, but that doesn't make foaf:nick unambigous but does seem to fit "OneToMany" to me.
18:44:45 <MarkB> is oneToOne injection or surjection?
18:44:55 <Seth> acutually ManyToMany in a larger context ... many people use Seth as a nick .. regretably
18:45:15 <DanCon> ssyreeni, reference... ??? Guus's argument was oral, in a telcon
18:45:45 <ssyreeni> dancon: damn.
18:45:53 <ssyreeni> what did he base it on?
18:46:06 <DanCon> I don't know. As I say: I don't understand it.
18:46:37 <DanCon> you're more than welcome to ask him by email; preferably to www-rdf-logic and/or public-webont-comments
18:48:56 <ssyreeni> markb: neither. there is a kind of parallelism, but the concepts do not match. injectivity pretty much matches UniqueProperty as a relation. surjectivity doesn't match anything, because of the asymmetry implicit in the embedding of functions in the more general set of relations.
18:49:39 <ssyreeni> oneToOne matches bijective==surjective&&bijective, though.
18:49:56 <ssyreeni> oops. it matches injective.
18:50:05 <MarkB> yup. thanks.
18:50:34 <MarkB> i was wondering if surjection is, by nature, a closed world construct
18:50:48 <ssyreeni> both injection and surjection are.
18:50:57 <MarkB> hmm
18:51:17 <ssyreeni> they operate on given domains and ranges. extending either one will lead to a whole lot of trouble.
18:51:46 * ssyreeni thinking
18:51:52 * MarkB too
18:52:57 <MarkB> injectivity can survive an extended range
18:53:06 <MarkB> surjectivity cannot
18:53:21 * MarkB realizes it's been 10 years since he thought about this stuff
18:57:36 <ssyreeni> function(f)=>relation(f)
18:58:25 * DanCon reminds MarkB that rdfs:domain and rdfs:range are misnomers, w.r.t. conventional U.S. high school math
18:58:27 <ssyreeni> function(f)&injective(f)=>oneToOne(f)
18:59:08 <ssyreeni> ~(function(f)=>function(f^-1))
18:59:09 * JibberJim reminds DanCon that "math" is a misnomer to the rest of the English world.
18:59:48 <DanCon> from { ?x in ?S. ?f usmath:domain ?S } we can conclude { ?x ?f ?y} for some ?y. not so for rdfs:domain
18:59:53 <ssyreeni> function(f^-1)&injective(f^-1)=>oneToMany(f)
19:00:32 * DanCon reviews http://lists.w3.org/Archives/Public/www-webont-wg/2002Jul/att-0031/01-specification.html
19:00:39 <ssyreeni> ?
19:00:48 * DanCon suffers evo mail hang
19:01:00 <ssyreeni> yes. that's it.
19:01:36 <ssyreeni> the problem is that injective basically refers to properties of a function, while surjective refers to the properties of its inverse, when taking both as generalized relations.
19:03:08 * timbl_ thinks the chat logs need "previous day" and "next day" buttons at top and bottom
19:03:24 <Morbus> <link>!
19:03:24 <Morbus> ;)
19:04:16 <ssyreeni> a relation being a function means that it is oneToMany and vice versa, per definition. a relation being ManyToOne means that its inverse is a function, and vice versa.
19:04:40 <dajobe> timbl_: noted
19:04:40 <ssyreeni> no, the other way around.
19:05:07 * ssyreeni is frustrated and ashamed
19:08:39 <Seth> easy to remeber .... what is on the left goes with the domain ... to the right goes with the range ... OneToMany ... one domain, many ranges .... noboy will have a prob here, cept logicians
19:16:07 <JibberJim> timbl - I use javascript bookmarklets for next/previous of dated pages.
19:16:16 <JibberJim> javascript:str=location.href;LZ=new Function("n","n=n+''; return (n.length==1?'0'+n:n)");str.match(/((\d\d\d\d)-(\d\d)-(\d\d))/gim);s=new Date(RegExp.$2,RegExp.$3,+RegExp.$4+1);location.href=str.replace(RegExp.$1,LZ(s.getYear())+'-'+LZ(s.getMonth())+'-'+LZ(s.getDate()))
19:16:38 <JibberJim> is next day. (change the +1 in the middle there to -1 for previous.)
19:17:39 * sbp preferred the original UniqueProperty and UnambiguousProperty names
19:18:03 * Seth can never remember which is which
19:18:20 * Seth or why it is which
19:18:27 <sbp> OneToMany and ManyToOne are good too, though
19:18:46 <ssyreeni> I still think OneToMany and ManyToOne are more descriptive. It's just the connection with surjective and injective that's bothering me.
19:18:58 <sbp> 2c
19:19:49 <Seth> ssyreeni, what sepcifically is the problem?
19:21:29 <timbl_> I preferred teh Unambiguous and Unique too. They may not be trad math but thay are trad naming. From a Cliff lynch glossary many years ago.
19:21:45 <ssyreeni> seth: how to express one-to-many and many-to-one in terms of surjectivity and injectivity.
19:21:52 <ssyreeni> the fact seems to be, it cannot be done.
19:22:24 <timbl_> It is a question of getting real people making ontologie sto be able to remember what these mean, and both Un* words are english used correctly.
19:25:21 <ssyreeni> timbl: precisely. *my* current dilemma, on the other hand, is separate, and is more about explaining why these two un-properties remind me of injectivity and surjectivity. doing it in ZF is a serious pain in the ass. ;)
19:32:53 <Seth> timbl, i find UniqueProperty and UnambiguousProperty very hard to grok ... maybe because its not the property that is unique or Unambiguous ... all properties are unique cause they got uri .. all properties are unambigjuous if they are used correctly. so see my prob in groking what they actually mean.
19:34:28 <timbl_> Oh.
19:34:56 <timbl_> You feel that "unique" applies to the value rather than the property.
19:35:23 <timbl_> A car has a unique registration number.
19:35:28 <Seth> well it could ... i know it dont .. but unless you invented the name you really dont know .. do you?
19:35:31 * timbl_ is thinkng of english usage.
19:36:39 <timbl_> I find these two to first order confusing, but to second order i can figure out by thinking ... hoa a unambiguous property allows me to unambiguously idenitify things, and there is only one value of a unique property.
19:36:46 <Seth> if i say a property is unique .. i may mean that it is the only such property ever concieved of ... not that its value is unique to a node
19:36:56 <timbl_> That's fair.
19:37:14 <timbl_> PrpertyWhoseValuesAreUnique would be betterthen.
19:37:40 <Seth> yep
19:38:25 <timbl_> UniqueValuedProperty
19:39:08 <timbl_> PropertyWhoseValuesAreUnambiguous. Hmmm
19:39:18 <Morbus> uhhh.
19:39:27 <Seth> what's the prob with oneToMany ... assuming the bijecting and injecting stuff can be figured ?
19:39:33 <Morbus> PropertyNotForSale is shorter.
19:39:51 <timbl_> I admit I alwayshave had trouble with domain and range becauase there is no ennglish reason for useing one vs the other .. I just remember they are alphbetical order.
19:40:54 <timbl_> (Does oneToMany exclude oneToOne? presumably not -- you can be oneToMany and OneToOne. OneToOne just means OneToMany and manyToOne)
19:41:05 <Seth> well with oneToMany hyou dont have to even remember what is the domain and the range ...
19:41:16 <Seth> foo oneToMany bar.
19:41:32 * timbl_ once had arrows "left <---> right" stuck onhis terminal to cut down on assembler coding errors ;-)
19:41:35 <Seth> one foo, many bar, they are next to each other in the syntax
19:43:33 <sbp> unless you use an o, p, s serialization. ahem
19:44:12 <sbp> I think Hebrew has O-P-S structures
19:44:18 <timbl_> Anyone know wher dancon's vcalendar to RDF-XML script was?
19:44:56 <Seth> alass .. i think as an Englishman ... so should the world ;)
19:46:31 <sbp> Tim: /2001/palmagent/vcal2xml.pl
19:47:02 <sbp> hang on, is that the right one?
19:47:14 <timbl_> tx i think so
19:51:30 <timbl_> 404
19:51:34 <timbl_> not incvs
19:52:13 <xover> Huh? http://dev.w3.org/cvsweb/2001/palmagent/
19:52:33 <sbp> yep, sorry I meant dev.w3.org, not www.
19:53:13 <xover> But IIRC Dan keeps it in internal CVS (synced to dev.w3.org as per usual).
19:53:53 <timbl_> It's not in internal cvs. Maybe he put it into dev only.
19:57:42 <Morbus> anyone willing to talk about RDF parsers?
19:58:18 <Morbus> specifically ones that look at XML RDF
19:58:30 <Morbus> but the underlying should be generic enough to understand the core priniciples.
19:58:30 <JibberJim> What about them?
19:58:49 <Morbus> heh, that's the thing. i know nothing about them. i want to understand how they work.
19:59:10 <Morbus> you've mentioned a few times in foaf to treat wordnet:Person and foaf:Person the same.
19:59:12 <Morbus> but how does that work?
19:59:29 <Morbus> give <foaf:nick>Morbus</foaf:nick>, how would an RDF parser turn that into a triple?
19:59:46 <JibberJim> In mine I treat them the same by just renaming all the wn:Person to foaf:Person...
20:00:42 <sbp> Morbus, have you read the RDF M&S specification?
20:00:42 <JibberJim> but that isn't part of the parser, that's part of the qurying.
20:01:00 <sbp> or perhaps the revised one is better
20:01:00 <sbp> http://www.w3.org/TR/rdf-syntax-grammar/
20:01:12 <sbp> that defines the grammar for XML RDF, and thus how to parse it
20:01:20 <Seth> morbus, redfoot is shaping up to be a great rdf/xml parser !!
20:01:59 <Morbus> Seth: i'd like one in perl, actually.
20:02:07 <sbp> [20:59] <sbp> http://rdfstore.sourceforge.net/
20:02:07 <sbp> [20:59] <sbp> http://xml.jrc.it/rdfapi_perl/
20:02:07 <sbp> [20:59] <sbp> via. http://www.w3.org/RDF/
20:02:08 <Morbus> but i'm more concerned with how it internally works.
20:02:11 <Morbus> not a pretty frontend.
20:02:25 <Seth> oh, cant help there, but i hear that you can run python from perl
20:02:28 <Morbus> if I can understand how the computer does it, it'll help me understand how I should think ;)
20:04:14 <sbp> Morbus, this may help: http://www.w3.org/2001/10/stripes/
20:04:51 <Morbus> alright.
20:06:56 <sbp> mega-quick overview, may be inaccurate in places:-
20:07:06 <sbp> basically, an XML RDF document is a collection of nodes, to some extent. the element for creating a node is <rdf:Description>
20:07:25 <sbp> you know that all triples are comprised of subject, predicate, and object
20:07:52 <sbp> so the basic structure is: <rdf:Description rdf:about="subject"><predicate>object</predicte></rdf:Description>
20:07:58 <sbp> (for when the object is a literal)
20:08:06 <dajobe> why not just skim the primer on syntax section or the doc above? They have pictures! :)
20:08:17 <sbp> oh, forgot about the primer
20:08:41 <dajobe> all this is explained, that's why we wrote them...
20:09:02 <sbp> <rdf:Description rdf:about="subject"><predicate rdf:descource="object"/></rdf:Description> for when the object is a URI, to wrap up that thought
20:09:17 <sbp> wow, I can't spell resource
20:09:41 <Morbus> sbp: so, how does foaf:nick fit into that?
20:09:56 <sbp> well, say that the subject is http://www.disobey.com/people#Morbus
20:10:06 <sbp> and the subject is foaf:nick, and the object "Morbus"
20:10:27 * niq finds that subject vaguely offensive
20:10:36 <sbp> you'd do: <rdf:Description rdf:about="http://www.disobey.com/people#Morbus"><foaf:nick>Morbus</foaf:nick></rdf:Description>
20:10:41 <dajobe> s/and the subject/and the predicate/
20:10:49 <sbp> oops, yes, sorry
20:11:11 <Morbus> ... so, foaf doesn't have those rdf:Descriptions aroudn it.
20:11:15 <Morbus> so, how is that valid RDF?
20:11:38 <Morbus> er, rather, how does that become a triple in the ether?
20:11:43 <sbp> well, the foaf:nick thing is a predicate, and you generally put the predicates within your rdf:Description elements
20:12:27 <sbp> how that becomes a triple: you look for all the child elements of the rdf:Description elements, and whether their contents are a text string or they have an rdf:resource attribute
20:13:30 <Morbus> "child elements"? so a parser would say "foaf:nick" has a value of Morbus, which is a string, so it's an rdf:Description?
20:13:33 * dajobe prefers the striped explanation, but whatever, i hear some people were confused by that
20:13:40 <Morbus> haven't read it yet.
20:13:56 <dajobe> it's got whole paragraphs, full examples and pictures. I recommend it :)
20:13:59 <sbp> no, it's not an rdf:Description; the subject is given by rdf:about
20:14:10 <sbp> yeah, the primer is probably better than this crummy IRC description
20:15:38 <sbp> so <rdf:Description rdf:about="...#Morbus"><foaf:nick>Morbus</foaf:nick><foaf:email rdf:resource="mailto:morbus@d[...].com" /></rdf:Description> becomes <...#Morbus> foaf:nick "Morbus" . <...#Morbus> foaf:email <mailto:morbus@[...].com> . (two triples, because there are two sub elements there). the subject is in the rdf:about attribute, note that it's the first term in both the triples
20:15:55 <sbp> argh, IRC is not great for explaining stuff
20:16:06 <niq> s/not//
20:16:09 * bijan is the one easily confused by striped expanation...
20:16:10 <sbp> http://www.w3.org/TR/rdf-primer/
20:16:15 <bijan> I tend to mistake them for zebras.
20:16:55 <sbp> heh
20:17:07 <sbp> Morbus: section 3. is about XML RDF in that document
20:17:23 <Morbus> i dunno if i'm ever gonna get this.
20:19:20 <dajobe> sorry to bang on about the primer. But it is meant to be a starting point for someone familiar with web and XML. If you read it and are confused then, that would be a problem.
20:19:46 <bijan> Yep.
20:19:51 <Morbus> the Striped?
20:19:59 <dajobe> no http://www.w3.org/TR/rdf-primer/
20:20:02 <dajobe> "RDF Primer"
20:20:20 <dajobe> skip to 2.3 or so if you want to go from triples
20:20:25 <Morbus> yeah, i read that a bit ago.
20:21:29 <dajobe> so say, fig 6 - do you see how that graph is written as XML?
20:21:51 * bijan wants the rdf specs to switch to which ever notation you like.
20:22:17 <bijan> (Except for obvious thinks like the RDF/XML examples illustrating the RDF/XML syntax)
20:26:15 <Seth> one way you could approach this, morbus, is to just think as rdf as labeled directed graphs, and let the parser build them for you
20:26:56 <Seth> that way ya dont need to grok the rdf/xml stuff at all
20:27:29 <dajobe> but I thought Morbus wanted to understand the XML and parsing, hence the questions
20:27:34 <niq> Hi Seth, did you sort out those bnodes?
20:28:03 <Seth> yep ... eikon fixed them in the parser :)
20:28:33 <niq> so if I download sailor now, it'll do the Right Thing?
20:30:07 <rreck> hey chris check the other window
20:31:13 <Seth> well ... aaaah... not exactly .. it was fixed in .o91 not yet published .. the current zip file wont even read rdf .. if you want a version though i could make one ... the way it is now you would need to install .9.3 (the latest redfoot) first, then the new sailor .. im gonna distribute the redfoot parser with the next zip so you wont need to do that .. but if you want to work on it i could walk you through it in the #sailor channel
20:31:48 <niq> ah ..
20:32:31 <niq> my todo list oppresses me already
20:33:33 * JibberJim sends niq another todo.
20:34:06 <Seth> i should have a new cleaner release out in next couple of days or so ... prob should wait for that ... trying to arrive at a good failsafe way to determin the baseUri for rdf/xml documents is got me stummped .. so im fishing for that solution
20:34:08 <niq> Jim, if that's what I suspect, it goes straight to the top of the list
20:35:23 <niq> Base URL? We've solved that one:
20:36:04 <Seth> oh ... given a url for a xml file, whaat is the baseURI to give to the parser ?
20:37:19 * niq searches lists.w3.org
20:37:58 <Seth> in many cases its just xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
20:38:34 <Seth> in other words its whatever the xmlns with no qualification is
20:38:47 <niq> howbout http://lists.w3.org/Archives/Public/www-rdf-validator/2002Jun/0025.html
20:40:05 <Seth> it's that "However, you could easily
20:40:05 <Seth> make it an optional field in the validation form.
20:40:53 <niq> OK, maybe not relevant to you - just remembered posting re: something RDF ...
20:40:54 <Seth> that is stumping me ... how do i programatically determine that ...is it always user input ... if so then i can store it as a property value like this:
20:41:45 <Seth> <http://www.w3.org/1999/02/22-rdf-syntax-ns> baseUri <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
20:43:00 <Seth> then when someone clicks on <a href="http://www.w3.org/1999/02/22-rdf-syntax-ns"> in the sem web browser, i know to send what to send <http://www.w3.org/1999/02/22-rdf-syntax-ns#> to the parser as the base uri.
20:43:23 <niq> "the sem web browser"?
20:43:46 <Seth> i call sailor agents a sem web browser
20:44:11 <Seth> am trying to make them feel just like browsing the web
20:45:02 <Seth> so when you read a schema that refers to another schema, you will be able to just click the hyperlink in the sem web browser and cause that new schema to be read into the graphs
20:45:16 <Seth> just like on the web
20:45:41 <niq> ah, good. Yes, that's got to be the Right Thing to do
20:45:51 <Seth> :))
20:46:21 <Seth> but to be reliable, i got to handel as many of these exceptions as i can find
20:46:49 <niq> indeedie
20:48:07 <Seth> we got to keep all the different thingies straight .. the url .. the uri to the namespace ... the xml:base .. the xmlns= ... the rdf:about="" .... nobody is making this easy for us
20:48:23 <niq> hehe
20:48:35 <niq> btw, who's "us" in this context?
20:49:54 <Seth> we is me and whomever helps me and\or whomever finds the solutions that are needed
20:50:46 <niq> the royal We .. good :-)
20:50:54 * niq uses we that way, too
20:51:27 <Seth> well from her doesnt feel all that royal today.
20:51:58 <Seth> what are you working on, niq ?
20:52:27 <niq> Well, Site Valet is the big project ...
20:52:58 <niq> mod_xml has two personalities - as a component of Valet and as a Sourceforge project
20:53:05 <Seth> .google Site Valet
20:53:06 <datum> Site Valet: http://valet.htmlhelp.com/
20:56:19 <Seth> are you putting rdf validation in site valet ?
21:03:13 <niq> Maybe sometime. But I'm only really interested if I think I can do a better job than someone else is already doing - and I don't see that with RDF
21:03:59 <niq> Maybe adopting sailor could be the key to that - if such usage is permitted
21:06:28 <Seth> well sailor will write valid rdf/xml ... ill use a validator to prove it .. but sailor will read rdf/xml in lax mode ... i want all the triples i can find .. that's the strategy.
21:07:56 <Seth> making those statagies meet in the middle is of course the trick .. this is the point where you will 'wish me luck'
21:15:52 <niq> well, sailor is good on presentation, so adding strict validation to it would turn it into part of a better validation tool than the W3 one
21:15:59 <niq> - potentially
21:17:54 <Seth> i hope to be able to read in any rdf and print out a screen that shows all the bugs .. the resultant triples should be there too if people want to use them .... if not, well then they would just delete the context and send a email to the author of the rdf. would that work for you?
21:19:27 <Seth> but i can only show the exceptions, if i get them from the lax parser ... hmmm wonder if redfoot is giving me all the exceptions for the lax handler ... eikeon?
21:23:58 * niq needs to test-drive (sail?) sailor before trying to talk intelligently about it
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.